Gladys big UI upgrade is here 🚀

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

@samcmoi : Hello ! Je vois le soucis, excuse moi c’est de ma faute lorsque j’ai Ă©cris le tutoriel je n’avais pas mis la bonne commande de CREATE TABLE, je l’ai corrigĂ© assez vite mais toi visiblement tu as fais la migration avant. Peux tu refaire la migration en suivant le tutoriel blog Ă  partir de l’import de la DB ? ( tu verras le CREATE TABLE n’est plus exactement le mĂȘme )

Aha, j’allais te le dire :wink:

Merci ! ça fait plaisir !

hĂ©hĂ©, c’est ça l’open-source, rĂ©activitĂ© :muscle: Merci pour tes retours positifs, ça fait super plaisir :slight_smile:

Ah oui effectivement, j’ai zappĂ© de mettre la migration de donnĂ©e automatique pour ce point, bien vu! :slight_smile:

2 « J'aime »

ah, ça c’est bizarre. Tu peux regarder les logs de Gladys + la console JS du navigateur ?

@HocheA bizarre
 chez moi j’utilise l’image MySQL avec les mĂȘmes paramĂštres et ça fonctionne

pour le logs gladys ok mais la console, comment dois je procéder?

Salut tout le monde !

Je viens de tenter le transfert de ma base de donnée en suivant le tuto de Pierre-Gilles.

  • TĂ©lĂ©chargement de la nouvelle image de Gladys
  • Installation sur une nouvelle carte microSD via Etcher
  • Backup de ma base de donnĂ©e de la misroSD originale
  • Transfert de la sauvegarde situĂ©e dans le rĂ©pertoire /home/pi de la carte originale sur la nouvelle carte dans le mĂȘme dossier : /home/pi
  • Lancer les diffĂ©rentes commandes donnĂ©es dans le tuto.

Depuis maintenant 10 minutes, putty reste muet aprÚs avoir lancé la commande cd gladys && node init.js.
Est-ce normal ?

Une capture d’écran de ce que je vois dans putty (car une image vaut toutes les explications)

Edit : 30 minutes


Edit 2 : Bon, 45 minutes, je recommence toute la procédure car cela ne me semble pas normal (backup de ma base de données, installation de la nouvelle image sur la nouvelle carte etc etc
)

Edit 3 : 2h30 depuis la nouvelle tentative
 toujours le mĂȘme problĂšme
 Je laisse tomber, reviens Ă  ma carte SD originale et vais me coucher en attendant qu’un pro passe par lĂ  et me dise oĂč j’ai merdé  :thinking:

1 « J'aime »

ça peut prendre un peu de temps, mais lĂ  effectivement 45 minutes c’est bizarre
 Par curiositĂ© tu as quel version de Raspberry Pi ?

Sinon, si ton ancienne installation de Gladys Ă©tait en 3.7.4 ( la derniĂšre version avant la 3.8.0 ), tu peux skipper cette Ă©tape, car les migrations de DB sont faite automatiquement entre la 3.7.4 et la 3.8.0. Le node init.js servait Ă  ĂȘtre sur que c’est good mais dans certains cas n’est pas nĂ©cessaire
 Essaie de skipper cette Ă©tape, et dis nous :slight_smile: ( tu peux toujours retenter le node init.js Ă  posteriori si on se rend compte qu’il te manque des Ă©tapes de la migration de DB )

Rien dedans ? Tu as suivi pas Ă  pas le tutoriel, re-importĂ© ta base de donnĂ©e, et rien dedans ? Tu as du oublier des Ă©tapes c’est pas possible


Le wifi tu dois le configurer sur la nouvelle image (normal), et le son je ne vois pas pourquoi il ne fonctionnerait pas


1 « J'aime »

Un RPi 2 (je garde le RPi3 pour ma borne d’arcade :wink: )

C’est le cas, j’ai donc passĂ© l’étape comme tu l’as suggĂ©rĂ© et tout c’est bien passĂ© !

En revanche, mes modules Z-wave contrĂŽlant lumiĂšres et prises ne rĂ©pondaient plus, j’ai donc mis Ă  jour les donnĂ©es de Gladys via les paramĂštres et depuis, tout est rentrĂ© dans l’ordre et fonctionne Ă  merveille !

Merci pour ton aide Pierre-Gilles !

Edit : Ah, ben non, je rencontre un petit problĂšme
 Pas d’évĂšnement « DĂ©part de la maison Â» dans les timeline pour les 2 utilisateurs
 Seul « Utilisateur vu Ă  la maison Â» et durĂ©e de l’absence apparait. (Donc pas de lancement du scĂ©nario mise en route de l’alarme)

Edit 2 : Autre problÚme détecté, à chaque reboot, gladys-bluetooth et gladys-xiaomi-home sont tués, je suis obligé de relancé les commandes pm2 start /home/pi/gladys-xiaomi-home/app.js --name gladys-xiaomi-home et pm2 start /home/pi/gladys-bluetooth/app.js --name gladys-bluetooth

Je n’arrive pas Ă  retrouver sur le forum comment fixer ce problĂšme (j’étais pourtant persuadĂ© d’avoir vu l’info quelque part
)
Quelqu’un pour m’aider ?

C’est à dire ? À quel occasion ?

Il faut faire pm2 save pour enregistrer la conjugation ! :slight_smile: