Nouvelle vidéo: Intégrer Node-RED avec Gladys Assistant en MQTT!

Bonjour a tous,
Je viens de repartir de zero dans l’installation de gladys sur ma carte SD. J’ai installé le serveur mosquitto par Gladys et j’ai installé Node REd sur cette même carte SD . J’ai un peu cafouiller a l’installation, résultat Node Red ne redémarre pas et on dirait qu’il reboot en permanence. j’aimerai le reinstaller, mais ça ne va du tout.
Avec docker ps je vois que le container est bien lancé, mais la page web refuse la connexion (IP:1880).
J’ai stoppé le container avec docker stop node-red
puis j’ai supprimé le container avec docker rm node_red
j’ai reboot le RPI (des fois que soit utile)
j’ ai verifié avec docker ps (plus de container Node Red) .
je recommence l’installation avec la commande preconisée
docker run -d \
> --log-opt max-size=10m \
> --restart=always \
> --privileged \
> -u root \
> --network=host \
> --name node_red \
> -v /var/lib/node-red:/data \
> nodered/node-red
mais le retour de la commande ressemble a ça : 8d3292ca4b3719a663529f7faa87da2e314dd79f372cfa6b5f7f8d14121e4199et puis revient sur l’invite de putty pi@raspberrypi:~ $
et plus rien. Apparemment ce que je fais n’est pas bon.
Est ce que quelqu’un peut m’aider ? :anguished: :anguished:
Merci d’avance

Si c’est que c’est bon :slight_smile: Tu lance le container avec l’option “-d” ce qui veut dire “detached”, donc le container se lance en arrière plan et pas en premier plan.

Si tu veux voir comment se porte le container, tu peux faire

docker ps

Ou

docker logs 8d329

pour voir les logs du container (l’ID affiché à ton écran est l’ID du container)

Merci Pierre-Gilles pour ta reponse.
Voila ce que ça me renvoit, ça n’a pas l’air d’être saint :frowning_face:
15 Jan 10:52:30 - [info] Starting flows
15 Jan 10:52:31 - [info] Started flows
15 Jan 10:52:31 - [red] Uncaught Exception:
15 Jan 10:52:31 - [error] Error: bind EADDRINUSE 0.0.0.0:9898
at dgram.js:357:20
at processTicksAndRejections (internal/process/task_queues.js:83:21)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-red-docker@2.1.5 start: node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-red-docker@2.1.5 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /data/.npm/_logs/2022-01-15T10_52_31_731Z-debug.log

node-red-docker@2.1.5 start /usr/src/node-red
node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS “–userDir” “/data”

Tu lance le container sur un port qui est déjà utilisé

Fais un:

docker ps

Pour vérifier que tu fais pas tourner 2 fois node-red

Non je n’ai qu’un node redr apparement
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
nodered/node-red “npm --no-update-not…” About an hour ago Up 16 seconds (health: starting) node_red
eclipse-mosquitto:2 “/docker-entrypoint.…” 41 hours ago Up 4 hours eclipse-mosquitto
gladysassistant/gladys:v4 “docker-entrypoint.s…” 41 hours ago Up 4 hours gladys
containrrr/watchtower “/watchtower --clean…” 41 hours ago Up 4 hours 8080/tcp watchtower

Et sur ta machine tu n’as rien lancé d’autre? Tu n’as rien tenté avant de lancer ce container ?

https://www.cyberciti.biz/faq/unix-linux-check-if-port-is-in-use-command/

Le port déjà utiliser 9898, c’est le port que j’ai déclaré dans Node Red pour connecter la gateway Xiaomi. Si si j’ai bien bidouillé :grimacing: j’ai installé un autre conteneur docker Node red , qui a marché, mais je me suis rendu compte que les deux étaient installés donc j’ai désinstallé le second pour garder celui installé avec ta méthode . C’est pour cela que je voulais tout remettre à plat concernant Node Red .
Actuellement le conteneur est installé, je le vois avec docker ps, mais il a l’air de redemarer en permanence, et je n ai plus accès à la page web.
Je regarde ton lien
merci

Le message d’erreur est clair: il y a quelque chose qui tourne sur le port, donc d’une manière ou d’une autre tu as du laisser un programme tourner sur le même port !

Dans un premier temps j’ai debranchée la gateway , mais cela n’a rien changé (car le port concerné est celui de la Gateway). il faut dire que je ne maitrise pas grand chose dans ce domaine. Après j’ai été un peu plus bourrin, en passant par filezilla j’ai voulu supprimer le fichier /var/lib/node-red, j’ai eu beaucoup de retour
Commande : rm "/var/lib/node-red/node_modules/@serialport/stream/CHANGELOG.md"
Erreur : rm /var/lib/node-red/node_modules/@serialport/stream/CHANGELOG.md: permission denied
j’ai fais un: docker restart node_red
Et maintenant j’arrive à me connecter a la page web Node RED. Tout fonctionne correctement. Je pense que ça a modifié quelque chose sur ce port 9898, mais quoi ? :innocent:
Merci pour ton aide, tu m’as encore appris des choses

1 Like

Bonjour à tout le monde.

Je suis en pleine découverte de Node-red et je rencontre déjà un souci…!
J’ai suivi le tuto vidéo bien comme il faut, mais lors que je tente d’injecter une valeur pour qu’elle soit récupérée sur le dashboard Gladys (pour faire un test comme dans la vidéo) alors cela n’injecte rien du tout :-/

Je suis bien connecté pourtant, quand j’appuie sur deploy, j’ai un message Successfully deployed mais je n’ai pas Successfully injected : 12 et le dashboard reste sur Aucune valeur enregistrée

Comment puis-je débuguer le soucis d’après vous ?

Oups… ça a fonctionné. Je n’avais pas compris que je devais appuyer sur le bouton bleu situé à gauche de l’inject !

2 Likes

Je reviens ici mais dites moi si je ferai mieux de poster dans le topic que j’ai créé sur l’intégration Solaredge…

J’ai donc réussi à faire communiquer Node-red vers Gladys.

Mais là je cale : les informations remontées par l’API de Solaredge sont au format JSON. J’obtiens toutes ces valeurs :

Celle qui m’interesse pour le moment c’est currentPower.
Mais je ne sais pas comment je dois faire pour l’extraire de ce JSON et l’envoyer à Gladys. Il faut “parser” quelque chose ? Je ne suis même pas sûr que ce soit le bon mot ^^

Bonjour Guim 31
Pour avancer rapidement dans node red, regarde cette serie de video, il explique pas mal de choses qui m’ont servi pour le tuto de la Gateway Xiaomi: [Cours 2.2 Bioautomatique] Interface de Node-RED - YouTube .
Après dans le tuto : Piloter la Gateway Xiaomi chinoise et Node Red - #4 by Psoy
en bas du tuto, dans la section “Partie capteur” , je traite l’ extraction de donnée d’un Json. Tu le trouves dans le “node fonction”. il va falloir que tu adaptes tes données.
ça devrait le faire. :wink:
A toi de jouer.

Génial ces vidéos Bioautomatique !!! J’ai réussi :wink: merci beaucoup

2 Likes

Plutôt que :

docker run -d \
option 1
option n
node:red/node-red

sur Raspberry est-ce que le lancement du script proposé sur la page d’installation officielle de Node-Red n’est pas plus adaptée ?

bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

Si il n’y a pas d’interférences de fonctionnement!

Non, je recommande de faire tourner Node-RED via Docker, hors le script que tu liste ici semble installer Node-RED directement sur l’hôte, ce qui est moins pratique pour plusieurs raisons :

  • Pas de mise à jour automatique
  • Installation des dépendances directement dans l’hôte, ce qui “pollue” le système, et peut causer des interférences
  • Pas de possibilité de définir le dossier ou Node-RED stocke ses données

Au moins avec Docker tu as un container et tout est isolé dedans, je recommande vraiment via Docker :slight_smile:

Je fais tourner sur un nuc (Beelink BT3 PRO) en ayant suivi les tutos sur une install ubuntu lite pour le moment (debian mini après)
-Le docker Gladys(installé par tuto)
-Le docker Node-Red(installé par tuto pour le moment)
-Le docker Mosquito (installé par Gladys)
et maj avec WatchTower
Et ca marches nickel, c’est super fluide !
Pourquoi le nuc ? Bah au final même ordre de prix, même fonctionnalités, même consommation ! :wink:
Et comme dit par @pierre-gilles, maj et isolation des containers !
Je rajoute l’audio in/out de base (reco vocale et message parlé) !

2 Likes

Merci pour la mise au point, y a plus de questions à se poser pour faire fonctionner node-red avec Gladys! :grinning:

Salut @VonOx,
J’essaie node-red avec le z-wave.
J’arrive à utiliser un capteur de mouvement mais je ne sais pas comment utiliser mes modules Qubino ZMNHJD1 pour mon chauffage.
J’aimerai avoir le fonctionnement suivant :
un commutateur, ou variateur linéaire, dans Gladys
Soit avec des noms configurés (arrêt, hors gel, éco, confort), soit avec des plages de valeurs qui correspondraient aux modes (0-10 ; 11-20 ; 21-30 ; 51-99)
Je n’arrive pas à fournir le bon format de valeur pour commander le module.
Voilà mon flow:

[{"id":"01fe132fef966f2d","type":"zwave-device","z":"7959e8a82acb9798","name":"Chauffage Salon","filteredNodeId":"4","multicast":false,"datamode":"Send/Receive","messagesPerMS":1,"messageInterval":250,"isolated":true,"outputs":1,"inputs":1,"showStatus":true,"x":530,"y":360,"wires":[["cb0441e46d20adfc","f5c50f059ef52333"]]},{"id":"cb0441e46d20adfc","type":"debug","z":"7959e8a82acb9798","name":"Chauffage Salon info","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":960,"y":360,"wires":[]},{"id":"6ff9420543cda2e3","type":"inject","z":"7959e8a82acb9798","name":"Temp consigne","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"25","payloadType":"num","x":120,"y":360,"wires":[["5be347ca8b64c438"]]},{"id":"f5c50f059ef52333","type":"event-filter","z":"7959e8a82acb9798","name":"Consigne actuelle","filters":[{"index":0,"name":"Consigne actuelle","valueIds":[{"commandClassName":"Multilevel Switch","commandClass":38,"endpoint":0,"property":"currentValue","propertyName":"currentValue"}],"events":["VALUE_UPDATED"],"strict":false,"id":"546440"}],"outputs":1,"changeDate":"2022-02-09T15:36:45.225Z","showStatus":true,"x":550,"y":480,"wires":[["a01129b65ac7c238"]]},{"id":"a01129b65ac7c238","type":"debug","z":"7959e8a82acb9798","name":"Consigne actuelle","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":810,"y":420,"wires":[]},{"id":"5be347ca8b64c438","type":"cmd-factory","z":"7959e8a82acb9798","name":"ZWave CMD Factory","node":"4","endpoint":"","cc":"Multilevel Switch","method":"set","params":"async setValue(\t   valueId: currentValue,\t   value: 25,\t   ): Promise<boolean>","noEvent":false,"forceUpdate":"forceUpdate","api":"CCAPI","vapiMode":"setValue","vapiValue":"payload","vapiValueId":"valueId","vapiOptions":"options","x":320,"y":360,"wires":[["01fe132fef966f2d"]]}]

J’obtiens l’erreur : Error: Syntax error: “setValue”

Si quelqu’un a des idées, je suis preneur.
Merci d’avance

EDIT du 10/02/2022
J’ai réussi à activer mon chauffage avec 4 modes différents :grin:
Reste plus qu’à trouver comment faire une programmation journalière :thinking:

EDIT du 16/02/2022
Programmation journalière réalisée :grin:
Maintenant j’aimerai faire

  • un mode AUTO / MANU, ou PAUSE de la programmation (soirée où il faut laisser le chauffage plus longtemps ; aération des pièces -capteur d’ouverture de porte/fenêtre aussi-)
  • un mode ABSENCE

Merci @cce66
Tu peux supprimer tes 2 messages, j’ai modifié le mien