Gladys big UI upgrade is here 🚀

Hey everyone!

We’ve been working since a long time with @C4rlit0 & @LepetitGeek on a big upgrade of Gladys UI.

I’m happy to announce that Gladys 3.8 is here, with a complete upgrade of the Raspbian image which is now based on :

  • Raspbian Strech
  • Node.js 8
  • MariaDB latest
  • Nginx latest
  • OpenZwave latest

:rocket::rocket:

All informations are available in my latest blog post, either in French :

Or in English :

https://gladysproject.com/en/article/major-ui-upgrade-is-here

Happy reading, and don’t hesitate if you have issues while upgrading :wink:

10 « J'aime »

Comme je disais sur Twitter, il n’est pas possible de mettre à jour de cette maniùre, car l’objectif de cette version est de faire migrer tout le monde vers une base propre, Raspbian Stretch, Node 8, Nginx latest, etc
 :slight_smile: ça fait du bien de temps en temps de repartir d’une base propre!

2 « J'aime »

Les devices n’ont jamais Ă©tĂ© modifiable ^^

Oui ! AprĂšs c’est normal tu as rĂ©installĂ© l’OS entier donc
 :slight_smile:

C’est notĂ©! Je verrais en fonction de la demande

ça je suis moins sûr, a voir sur internet si des gens ont déjà transformé une Playtation eye en caméra IP !

Mmm no, it’s live still since yesterday! Are you on Gladys installation page ?

For me it’s good =>

Otherwise, here is the download link if you want it directly => https://bit.ly/gladys-raspbian-image-3-8-0

@pierre-gilles petite question Ă  la lecture du blog pour la v3.8 (Bravo pour cette release), avant il y avait des soucis avec le character set et la collation de la BDD. Par dĂ©faut MariaDB est en utf8 alors que Gladys avait besoin du latin1, du coup un simple CREATE DATABASE ne fonctionnait pas correctement et il fallait une commande du type “CREATE DATABASE IF NOT EXISTS gladys CHARACTER SET latin1 COLLATE latin1_swedish_ci;”.
Bref, est-ce que Gladys fonctionne dorénavant avec le utf8 de base ?

1 « J'aime »

Hello! Alors je crois que tu as pointĂ© un petit problĂšme, effectivement dans le tutoriel sur le blog j’ai oubliĂ© de remettre « CREATE DATABASE gladys CHARACTER SET utf8 COLLATE utf8_general_ci; Â». ( bon l’image Raspbian 3.8 a bien Ă©tĂ© crĂ©Ă© avec cette commande, c’est juste le tuto de migration ). My bad, sur la fin on oublie toujours des trucs
 C’est corrigĂ©, live dans quelques minutes sur le site !

1 « J'aime »

Au passage, puisque Gladys semble franchir les frontiĂšres, Ă  l’avenir ce serait peut ĂȘtre judicieux de basculer en utf8 qui est un character set plus gĂ©nĂ©ral et permissif :wink:

For me it’s 3-8-0. maybe it just need to refresh the pages(browsers often keeps an old version in cache)

Je ne comprends pas ta remarque du coup
 ^^ Gladys est en utf8 et à toujours été en utf8 !

We are using Cloudflare as a CDN, but I cleared the whole cache after deploying so it shouldn’t be an issue. Are you sure it’s not client side cache on your side ? Tried Cmd + R ?

Btw, as I said, the image is located here => https://bit.ly/gladys-raspbian-image-3-8-0

Effectivement je pense que la mise Ă  jour de l’UI a Ă©tĂ© basĂ©e sur la version avant ta PR, c’est donc une rĂ©gression non voulue, on va corriger ça!

Je ne parlais que de la partie BDD. Il semble surprenant de justement devoir définir une BDD avec un charset latin1 en particulier si toute la solution supporte ut8.

Relis mon message plus haut! Gladys n’a jamais Ă©tĂ© dĂ©fini en charset latin1, toujours en utf8, que ce soit avant ou maintenant.

Cf la ligne pour créer la DB =>

La diffĂ©rence entre MariaDB et MySQL est juste que mariaDB par dĂ©faut crĂ©Ă© les bases de donnĂ©e en utf8mb4, lĂ  ou nous on utilise de l’utf8 tout simple, donc il faut dĂ©sormais le spĂ©cifier, c’est tout. Mais Gladys n’est pas en latin1 ^^

C’est dĂ©jĂ  possible dans les paramĂštres, non ?

Quel type de périphériques ? Radioemitter la version officielle ou modifiée ?

ah pardon j’avais mal lu.

C’est peut ĂȘtre quelque chose qui n’a plus lieu d’ĂȘtre, mais c’était un des Ă©lĂ©ments de rĂ©ponse sur d’anciens posts (cf la rĂ©ponse de Pti_Nico dans ce vieux post : https://community.gladysassistant.com/t/resolu-installation-gladys-from-scratch-depuis-github-sur-debian-stretch/1509) et c’est Ă©galement mentionnĂ© dans la procĂ©dure de Carlito : https://community.gladysassistant.com/t/tutoriel-installation-gladys-from-scratch-sur-raspbian-lite/1811.
Du coup, j’étais restĂ© lĂ -dessus peut ĂȘtre Ă  tort, au moins j’ai la bonne information maintenant, merci.

Effectivement tu as raison, my bad Ă  cette Ă©poque l’image Ă©tait en latin1 !

Par contre ta question est intĂ©ressante, en recherchant un peu, je me suis rendu compte que utf8mb4 est bien mieux qu’un utf8 classique car il permet de stocker l’utf8 complet ( emoji inclus ). Je ne suis pas expert MySQL j’utilise plutĂŽt PostgreSQL en gĂ©nĂ©ral, j’ai appris des choses! Il faudrait plutĂŽt du coup passer Ă  utf8mb4 plutĂŽt que de rester en utf8, mais la migration demande quelques petites modifications afin d’éviter la fameuse erreur de « maximum length of columns and index keys Â» qu’on a eu en testant utf8mb4.

Cf =>

https://mathiasbynens.be/notes/mysql-utf8mb4

Je vais regarder ce week-end pour modifier l’image de base, mais surtout voir comment on peut migrer les bases de donnĂ©es actuelles

ComplĂštement, ça serait possible, n’hĂ©site pas Ă  faire une PR :slight_smile:

ça m’aide pas Ă©normĂ©ment :smiley: Je me doute!
Quel marque ? ModĂšle ? Qu’est ce qui ne marche pas ? Donne des dĂ©tails !

est ce normal que je n’arrive plus a supprimer un scĂ©nario?

de mĂȘme que je n’ai aucune action lors de la crĂ©ation d’un scenario?

voila les logs :

/home/pi/.pm2/logs/gladys-error-0.log last 15 lines:
0|gladys | at Protocol._parsePacket (/home/pi/gladys/node_modules/mysql/lib/protocol/Protocol.js:280:23)
0|gladys | at Parser.write (/home/pi/gladys/node_modules/mysql/lib/protocol/Parser.js:73:12)
0|gladys | at Protocol.write (/home/pi/gladys/node_modules/mysql/lib/protocol/Protocol.js:39:16)
0|gladys | at Socket. (/home/pi/gladys/node_modules/mysql/lib/Connection.js:96:28)
0|gladys | at emitOne (events.js:116:13)
0|gladys | at Socket.emit (events.js:211:7)
0|gladys | at addChunk (_stream_readable.js:263:12)
0|gladys | at readableAddChunk (_stream_readable.js:250:11)
0|gladys | at Socket.Readable.push (_stream_readable.js:208:10)
0|gladys | at TCP.onread (net.js:594:20)
0|gladys | code: ‘ER_NO_SUCH_TABLE’,
0|gladys | errno: 1146,
0|gladys | sqlState: ‘42S02’,
0|gladys | index: 0,
0|gladys | originalError: [Circular] } }

Top ! Merci pour le compliment, ça fait plaisir :slight_smile:

Ah non c’est pas normal


D’ailleurs l’erreur est un peu inquiĂ©tante, visiblement il manque une table chez toi =>

Tu as installé Gladys comment ?

Au pire va dans le dossier gladys et fais :

node init.js

ça devrait corriger ça

1 « J'aime »

@pierre-gilles : j’ai installer gladys comme indiquer dans le blog


copie de l’image avec etcher
 connection en ssh , stop gladys , suppression et crĂ©ation du dossier , copie du backup et voila.

vola les logs aprĂšs le node init.js

pi@gladys:~/gladys $ node init.js
error: A hook (orm) failed to load!
Error (E_UNKNOWN) :: Encountered an unexpected error
: ER_TOO_LONG_KEY: Specified key was too long; max key length is 767 bytes
at Query.Sequence._packetToError (/home/pi/gladys/node_modules/mysql/lib/protocol/sequences/Sequence.js:48:14)
at Query.ErrorPacket (/home/pi/gladys/node_modules/mysql/lib/protocol/sequences/Query.js:83:18)
at Protocol._parsePacket (/home/pi/gladys/node_modules/mysql/lib/protocol/Protocol.js:280:23)
at Parser.write (/home/pi/gladys/node_modules/mysql/lib/protocol/Parser.js:73:12)
at Protocol.write (/home/pi/gladys/node_modules/mysql/lib/protocol/Protocol.js:39:16)
at Socket. (/home/pi/gladys/node_modules/mysql/lib/Connection.js:96:28)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:250:11)
at Socket.Readable.push (_stream_readable.js:208:10)
at TCP.onread (net.js:594:20)
--------------------
at Protocol._enqueue (/home/pi/gladys/node_modules/mysql/lib/protocol/Protocol.js:141:48)
at PoolConnection.query (/home/pi/gladys/node_modules/mysql/lib/Connection.js:201:25)
at DEFINE (/home/pi/gladys/node_modules/sails-mysql/lib/adapter.js:235:20)
at afterwards (/home/pi/gladys/node_modules/sails-mysql/lib/connections/spawn.js:84:5)
at /home/pi/gladys/node_modules/sails-mysql/lib/connections/spawn.js:40:7
at Ping.onOperationComplete [as _callback] (/home/pi/gladys/node_modules/mysql/lib/Pool.js:99:5)
at Ping.Sequence.end (/home/pi/gladys/node_modules/mysql/lib/protocol/sequences/Sequence.js:96:24)
at Ping.Sequence.OkPacket (/home/pi/gladys/node_modules/mysql/lib/protocol/sequences/Sequence.js:105:8)
at Protocol._parsePacket (/home/pi/gladys/node_modules/mysql/lib/protocol/Protocol.js:280:23)
at Parser.write (/home/pi/gladys/node_modules/mysql/lib/protocol/Parser.js:73:12)
at Protocol.write (/home/pi/gladys/node_modules/mysql/lib/protocol/Protocol.js:39:16)
at Socket. (/home/pi/gladys/node_modules/mysql/lib/Connection.js:96:28)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:250:11)
at Socket.Readable.push (_stream_readable.js:208:10)
at TCP.onread (net.js:594:20)

Details: Error: ER_TOO_LONG_KEY: Specified key was too long; max key length is 767 bytes

Super =D c’est du beau boulot !
Je migré sur la new version et tout semble OK a par un message dans les log :

1|gladys-b | noble warning: adapter state unauthorized, please run as root or with sudo
1|gladys-b | or see README for information on running without root/sudo:
1|gladys-b | GitHub - noble/noble: A Node.js BLE (Bluetooth Low Energy) central module
1|gladys-b | Just received 9 devices from Gladys. Saving them locally in RAM.

Gladys ne scan plus mes appareil et ne sait plus si je suis chez moi.
Quelqu’un peut il m’aider ? :smiley:

Oups : j’avais oublier d’executer cette commande :

sudo setcap cap_net_raw+eip $(eval readlink -f which node)

1 « J'aime »

pour ma part, réinstallation complÚte de Gladys, plus de soucis
 majeur

juste la carte qui ne s’affiche pas dans la partie MAP