La premiùre alpha de Gladys Assistant 4 est disponible ! 🚀

Normalement tu as crĂ©Ă© le conteneur avec l’argument --privileged et le mappage /dev:/dev

Donc tu as juste à indiquer ton périphérique Usb dans les paramÚtres zwave

Je suis pas super au top sur docker su coup je suis passer par ketematic et je ne sais pas comment lancer le container en privileged

Sur Ubuntu en AMD64. Une fois docker installĂ©, y’a juste Ă  copier/coller cette commande:

docker run -d \
--privileged \
-p 80:1443 \
--network=host \
--name gladys \
-e NODE_ENV=production \
-e TZ=Europe/Paris \
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/gladysassistant:/var/lib/gladysassistant \
-v /dev:/dev \
gladysassistant/gladys:4.0.0-alpha-amd64

Et voilà c’est tout

J’ai pas de Windows sous la main là :sweat_smile:

mais je suis sous ubuntu avec kitenic :smile: ok je sais c’est pas trĂ©s pure ! bon je le lance avec la commande et j’arrete de poluer le fils

Et moi je fatigue :sweat_smile: je connais pas l’outil je testerai demain.

merci mais tkt je vais chercher !

Pour ma part :
Mon os:
Linux gladys 4.9.0-7-amd64 #1 SMP Debian 4.9.110-3+deb9u2 (2018-08-13) x86_64 GNU/Linux

Docker:
Docker version 18.06.1-ce, build e68fc7a

les logs:

> gladys-server@ start:prod /src/server
> npm run db-migrate:prod && cross-env NODE_ENV=production node index.js


> gladys-server@ db-migrate:prod /src/server
> cross-env NODE_ENV=production node_modules/.bin/sequelize db:migrate


Sequelize CLI [Node: 10.16.0, CLI: 5.4.0, ORM: 4.42.0]

Loaded configuration file "config/config.js".
Using environment "production".
No migrations were executed, database schema was already up to date.
Initialising OpenZWave 1.4.164 binary addon for Node.JS.
	OpenZWave Security API is ENABLED
	ZWave device db    : /usr/etc/openzwave/
	User settings path : /src/server/services/zwave/node_modules/openzwave-shared/build/Release/../../
	Option Overrides : --Logging false --ConsoleOutput false --SaveConfiguration true
2019-06-26T22:15:58+0200 <info> index.js:20 (Object.start) Starting Dark Sky service
2019-06-26T22:15:58+0200 <info> index.js:18 (Object.start) Starting telegram service
2019-06-26T22:15:58+0200 <info> index.js:13 (Object.start) Starting usb service
2019-06-26T22:15:58+0200 <info> index.js:16 (Object.start) Starting zwave service
2019-06-26T22:15:58+0200 <warn> service.start.js:15 (Service.start) Unable to start service darksky
2019-06-26T22:15:58+0200 <warn> service.start.js:16 (Service.start) { Error: Dark Sky Service not configured
    at Object.start (/src/server/services/darksky/index.js:23:13) message: 'Dark Sky Service not configured' }
2019-06-26T22:15:58+0200 <warn> service.start.js:15 (Service.start) Unable to start service telegram
2019-06-26T22:15:58+0200 <warn> service.start.js:16 (Service.start) Error: No telegram api token found. Not starting telegram service
    at Object.start (/src/server/services/telegram/index.js:21:13)
2019-06-26T22:15:58+0200 <warn> service.start.js:15 (Service.start) Unable to start service zwave
2019-06-26T22:15:58+0200 <warn> service.start.js:16 (Service.start) { Error: ZWAVE_DRIVER_PATH_NOT_FOUND
    at Object.start (/src/server/services/zwave/index.js:19:13) message: 'ZWAVE_DRIVER_PATH_NOT_FOUND' }
2019-06-26T22:15:58+0200 <warn> service.start.js:15 (Service.start) Unable to start service mqtt
2019-06-26T22:15:58+0200 <warn> service.start.js:16 (Service.start) { Error: MQTT is not configured.
    at Object.start (/src/server/services/mqtt/index.js:25:13) message: 'MQTT is not configured.' }
2019-06-26T22:15:58+0200 <info> index.js:63 (Server.server.listen) Server listening on port 1443
2019-06-26T22:15:59+0200 <info> index.js:700 (Socket.socket.emit) Gladys Gateway: connected in websockets
2019-06-26T22:16:04+0200 <warn> index.js:117 (WebSocket.ws.on) { JsonWebTokenError: invalid signature
    at /src/server/node_modules/jsonwebtoken/verify.js:126:19
    at getSecret (/src/server/node_modules/jsonwebtoken/verify.js:80:14)
    at Object.module.exports [as verify] (/src/server/node_modules/jsonwebtoken/verify.js:84:10)
    at Session.validateAccessToken (/src/server/lib/session/session.validateAccessToken.js:15:23)
    at WebSocket.ws.on (/src/server/api/websockets/index.js:109:49)
    at WebSocket.emit (events.js:198:13)
    at Receiver.receiverOnMessage (/src/server/node_modules/ws/lib/websocket.js:789:20)
    at Receiver.emit (events.js:198:13)
    at Receiver.dataMessage (/src/server/node_modules/ws/lib/receiver.js:422:14)
    at Receiver.getData (/src/server/node_modules/ws/lib/receiver.js:352:17)
    at Receiver.startLoop (/src/server/node_modules/ws/lib/receiver.js:138:22)
    at Receiver._write (/src/server/node_modules/ws/lib/receiver.js:74:10)
    at doWrite (_stream_writable.js:415:12)
    at writeOrBuffer (_stream_writable.js:399:5)
    at Receiver.Writable.write (_stream_writable.js:299:11)
    at Socket.socketOnData (/src/server/node_modules/ws/lib/websocket.js:864:35)
    at Socket.emit (events.js:198:13)
    at addChunk (_stream_readable.js:288:12)
    at readableAddChunk (_stream_readable.js:269:11)
    at Socket.Readable.push (_stream_readable.js:224:10)
    at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17) name: 'JsonWebTokenError', message: 'invalid signature' }
root@gladys:~#

Je viens de tester une installation Gladys Alpha sur un Synology avec docker (mode full privilĂšges) :

  • Installation : OK

  • CrĂ©ation Maison + user + piĂšce : OK

  • Edition de l’interface : OK

  • Connection Gladys Plus : OK

  • DarkSky : OK

  • Zwave : Non fonctionnel

    Error, Cannot find a path to the configuration files at /usr/etc/openzwave/, Using config/ instead... Warning, Failed to Parse config/options.xml: Failed to open file Failed to Parse /src/server/services/zwave/node_modules/openzwave-shared/build/Release/../../options.xml : Failed to open file

  • RTSP : Non fonctionnel.

    There was an error while getting the RTSP Flux. Are you sure the provided URL is right and accessible from Gladys instance?
    

Pourtant J’ai testĂ© le flux rstp dans VLC, ça marche et depuis Gladys je peux pinger ma camĂ©ra.

Si tu veux je peux faire la documentation pour installer Gladys sur Synology. et un autre truc qui ne fonctionne pas mais lĂ  je pense que c’est liĂ© Ă  Docker sur synology c’est la remontĂ© d’information dans la vue system :

`System.init: This system doesn't have a docker dameon available.`
1 « J'aime »

Oui sur syno le mappage est différent

/var/run/docker.sock:/var/run/docker.sock a modifié

La doc c’est la clĂ©

Effectivement j’ai bien les infos des containers qui remontent maintenant.

Tout est dans la partie « IntĂ©gration Â»! Dans Gladys 4, la philosophie c’est que les services ont une UI riche et expliquent pas Ă  pas comment les configurer. Tout n’est pas encore prĂȘt dans la v4, mais c’est l’objectif pour la release :slight_smile:

Aaah c’est de ma faute, j’ai oubliĂ© de dĂ©sactiver le français. Je suppose que tu as crĂ©Ă© ton compte en Français? Comme prĂ©cisĂ© dans l’article, le français n’est pas encore dispo, et du coup ça pĂšte les traductions ici. DĂ©solĂ©. Tu peux aller en paramĂštres et mettre ton compte en anglais ce qui devrait fixer l’issue si c’est bien ça.

Thank @VonOx! C’est exactement l’objectif. Dans la v4, le produit EST la documentation. Comme j’écrivais dans le manifeste en dĂ©cembre, personne ne lit de tutoriel avant d’installer une app sur son tĂ©lĂ©phone, je vois pas pourquoi ce serait diffĂ©rent sur une webapp comme Gladys :slight_smile:

@VonOx Merci pour le screenshots, je vois 2 petits bugs d’UI à corriger du coup:

J’ai crĂ©Ă© une issue =>

Merci pour ton retour! C’est l’objectif de cette alpha, voir ce genre de soucis de compatibilitĂ©s. Je vais voir comment corriger ça. J’ai crĂ©Ă© une issue =>

ça c’est de ma faute :sweat_smile: Pour le coup l’image Docker ça a fonctionnĂ© quasi au dernier moment et le RTSP j’avais zappĂ© d’installer la dĂ©pendance ffmpeg inside Docker. J’y ai repensĂ© dans mon lit en me couchant, je vais fixer ça!

« En faisant f5 l’affichage revient Â», c’est quoi ça?

Ah tu as suivi le tuto MacOS/Windows! Si tu es sur Linux, il faut lancer le container en CLI, comme l’a indiquĂ© @Vonox. Tu dois donner Ă  ton container le droit privileged + accĂšs aux /dev pour pouvoir lire les pĂ©riphĂ©riques USB.

Je ne suis pas encore dĂ©cidĂ© lĂ -dessus, tout dĂ©pendra de la stabilitĂ© de ceux-ci :slight_smile: Le problĂšme de speak, c’est que ce service jusque-lĂ  fait appel Ă  des dĂ©pendances natives en C++, et du coup si ça crash car l’audio ne peut pas ĂȘtre jouĂ©, Gladys crash (et on y peut rien, c’est un segfault, ça ne se catch pas). Il va donc falloir faire des tests pour Ă©valuer la solution la plus stable, et la plus simple.

L’idĂ©al pour moi, ce serait que tout tourne dans Gladys.

Si si, il y aura une image Raspbian bien-sûr!

Comme je dis partout, l’objectif n°1 de la v4, c’est qu’il ne faut pas de compĂ©tences de dev pour installer Gladys. L’utilisateur doit pouvoir installer Gladys sans aucunes lignes de commande Ă  lancer, et ce pendant toute la durĂ©e de vie du produit.

Docker permet justement cette facilitĂ© de dĂ©ploiements. Je n’ai pas encore dĂ©cidĂ© le process exact, mais en gros 3 solutions avec chacune des avantages et des inconvĂ©nients:

  1. On créé une image Raspbian avec Docker pré-installé + un script au premier boot qui pull la derniÚre image Gladys + lance Gladys + Watchtower.

Avantage: Tu installes Gladys, tu es garanti d’avoir la latest version de Gladys.
InconvĂ©nient: Si ta connexion internet n’est pas folle (ou pire, que tu n’as pas internet), tu es impuissant tu attends que ton rasp s’installe mais tu ne sais pas ce qui se fasse sous le capot vu que tu ne vois pas de progression, c’est en arriĂšre plan. C’est 100% opaque, et je pense que l’expĂ©rience sera pas folle.

  1. On crĂ©Ă© une image Raspbian avec Docker + l’image Docker Gladys prĂ©-installĂ©e et dĂ©marrĂ©e. Lors du premier screen d’installation, on rajoute un check pour savoir si des mises Ă  jour sont disponibles, et si oui, on proposer Ă  l’utilisateur de mettre Ă  jour.

Avantage: L’utilisateur sait que son installation n’est pas forcĂ©ment Ă  jour, et de bout en bout c’est clair. Lorsqu’il tĂ©lĂ©charge, il voit une progress bar, c’est rassurant.

InconvĂ©nient: L’utilisateur vient de tĂ©lĂ©charger 1.2GB d’image Raspbian, et lĂ  on lui dit qu’il doit re-tĂ©lĂ©charger une maj. C’est un peu frustrant, il pensait avoir la derniĂšre version.

  1. On trouve un moyen de builder automatiquement les images Raspbian. C’est largement faisable, les gars de HypriotOS le font.

C’est juste trĂšs chronophage en recherche, et je manque dĂ©jĂ  pas mal de temps pour le reste dans Gladys


C’est fixĂ©, tu peux faire un docker pull de l’image, relancer un container et retester! DĂ©solĂ© pour l’oubli :slight_smile:

Exemple sous amd64:

docker pull gladysassistant/gladys:4.0.0-alpha-amd64

Impec c’etait ça 

je continue de tester, par contre pour la partie mqtt comment ca se passe ?

Le MQTT n’est pas encore terminĂ© dans cette alpha!

Pour l’instant seul quelques services ont Ă©tĂ© migrĂ© de Gladys 3 Ă  Gladys 4, ça va venir progressivement.

Ils seront rajoutĂ©s au fur et Ă  mesure dans l’interface.

Pour le service Z-Wave, j’ai terminĂ© rĂ©cemment cette premiĂšre implĂ©mentation mais il y a encore pas mal d’amĂ©liorations Ă  faire et de fonctionnalitĂ©s Ă  rajouter!

Niquel ! Ca fonctionne maintenant pour les flux RTSP.

Nickel cette alpha, j’ai juste un soucis avec le chat, quand je pose une question la rĂ©ponse apparait trois ou quatre fois et quand je refresh les rĂ©ponses surnumĂ©raires disparaissent.

Petit retour dessus:

  • ne pas choisir la langue FR car aprĂšs certaines fonctionnalitĂ©s ne fonctionnent pas (impossible de voir les la partie intĂ©grations
  • lorsque le serveur est long pour attendre, le client ne le signale pas, du coup si on est Ă  distance (hors du rĂ©seau local) on a l’impression que la demande n’est pas prise en compte (expĂ©rience utilisateur moins intĂ©ressante)
  • sur la partie Darksky cĂŽtĂ© UI, j’avais copiĂ© sans le vouloir un espace au dĂ©but de la clĂ© api, peu ĂȘtre dire Ă  l’utilisateur qu’il y a un soucis (pas valide car y a pas que des chiffres mais un autre caractĂšre)
  • niveau rapiditĂ© de rĂ©ponse du chat c’est chaud 
 j’ai un temps de rĂ©ponse Ă©norme alors que je suis en fibre c’est bizarre ptet de mon cĂŽtĂ© le problĂšme tout de mĂȘme

A part ça génial !! Merci :slight_smile:

  • le chat rĂ©pond tout le temps deux fois

Génial! Tu as combien de caméras?

J’ai notĂ© ce bug aussi chez moi aussi, c’est les websockets qui se connectent plusieurs fois, rien de grave je vais fixer ça (ref => Fix bug of multiple websocket connection · Issue #498 · GladysAssistant/Gladys · GitHub )

Yes dĂ©solĂ© c’est de ma faute j’aurais du dĂ©sactiver l’option en attendant les traductions!

Tu parles de quels screens? J’ai essayĂ© de mettre des loading state partout, mais il y a peut ĂȘtre des endroits oĂč ça manque, et ça devrait pas ĂȘtre le cas! ça sera corrigĂ©!

Bien vu! Je pense qu’il faudrait dĂ©jĂ  faire un trim sur la clĂ© pour enlever d’éventuels espaces + tester un coup l’API Ă  l’enregistrement pour tester la clĂ© :slight_smile: Merci du retour.

Ah oui? Pas normal.

  • Tu pose quel genre de questions?
  • Tu as quoi comme genre de latence (regarde en console de ton navigateur?)
  • Quel hardware?

Yes comme dit plus haut bug connu, ça sera fixé

Je me disais bien :slight_smile:

[quote=« pierre-gilles, post:40, topic:4781, full:true Â»]
Tu parles de quels screens? J’ai essayĂ© de mettre des loading state partout, mais il y a peut ĂȘtre des endroits oĂč ça manque, et ça devrait pas ĂȘtre le cas! ça sera corrigĂ©![/quote]

Alors par exemple lorsque l’on s’inscrit pour la premiĂšre fois entre les pages si c’est un petit peu long, le message n’est pas pris en compte tout de suite. De mĂȘme que la partie chat oĂč on sait pas ce qu’il se passe et quelques secondes aprĂšs il affiche les informations.

Alors n’importe quel question qu’il comprenne ou pas.

J’ai 80ms environ (c’est pas mal mais pas non plus Ă©normement).

Raspberry pi 4 2Go de RAM branché sur ma box fibre orange en ethernet.