Intégration Node-RED: Donner accès aux ports USB au container Docker

Bonjour @pierre-gilles
ça correspond a cette instruction ?
:sudo chown -R 1000:1000 /var/lib/gladysassistant/node-red

Si c’est ça
j’ai modifier le Docker run comme ça et ça fonctionne:

sudo docker run -d \
-u node-red:dialout \
  --name gladys-node-red \
  --restart always \
  -p 1881:1880 \
  -v /var/lib/gladysassistant/node-red:/data \
  --log-opt max-size=10m \
--device=/dev/ttyUSB0 \
  nodered/node-red:3.1

Mais il faut taper, apres, cette commande :

sudo chown -R 1000:1000 /var/lib/gladysassistant/node-red

Mais si tu me confirmes qu’elle est dans le code de l’intégration node red ça devrait fonctionner.

Avec cette commande --device=/dev/ttyUSB0, on impose le branchement du Rflink sur le ports USB0? est ce que ça pose un probleme ?

C’est ça :slight_smile:

Oui ça pose un problème, c’est toujours le même souci, on ne sait pas quel port va être utilisé.

C’est pour ça qu’à la base ma PR initiale proposait une approche basée sur un partage de volumes:

-v /dev:/dev \
-v /run/udev:/run/udev:ro \

Avec en plus l’option --privileged pour donner des droits supplémentaires au container.

Mais d’après tes retours, ça ne marche pas.

j’ai reussi a faire ce que tu m as demandé, il y a longtemps :roll_eyes:
Gladys est bien lancé en root, mais node-red est lancé par l’utilisatuer node -red.

pi@rasp3b:~ $ docker exec -it gladys-node-red bash
eeb32d757218:~$ whoami
node-red
eeb32d757218:~$ groups
node-red
eeb32d757218:~$ exit


pi@rasp3b:~ $ docker exec -it gladys bash
root@rasp3b:/src/server# whoami
root
root@rasp3b:/src/server# groups
root

Donc la il ya un probleme ? si j’ai bien compris .

Je voulais mettre node-red dans le groups dialout, dans le docker run/ de l’image Gladys, mais comme le container node-red n’est pas encore créé , ça me renvoie une erreur

Je ne pense pas que ce soit lié, tu compares les utilisateurs à l’intérieur du container, ce n’est pas la même chose.

Si on regarde le Dockerfile du projet Node-RED (Source), on voit qu’ils créént un utilisateur Node-RED.

Bonsoir @pierre-gilles
La je suis au bout de mes connaissances et si je n’ai pas un d’aide pour m’orienter , je ne pourrai plus rien faire, désolé :thinking:

1 « J'aime »

Ah mince, bon c’est vrai que c’est un sujet très technique :smiley:

Dans ce topic, qui avait « besoin » de ce développement ?

Juste toi @elfedagger ?

Je vois que tu parles de volet roulant Somfy plus haut, je ne sais pas si tu as suivi, mais je développe une intégration Matter, qui support Matterbridge, qui lui même a un plugin somfy-tahoma, qui a été testé par @mutmut, et ça fonctionne ( 🚀 Matter & Gladys Assistant : C’est parti! - #69 par mutmut )

Donc la solution est peut-être autre part !

1 « J'aime »

Bonsoir, je pense que ceux qui utilisent des arduinos , le Rflink, le RXcom, apres effectievement lancé un sondage serait interréssant !
C’est dommage de ne pas contiuner a checher, car Node Red interne a Gladys est quand meme plus pratique a installer et si en plus on pouvait lancer une sauvegarde que l’on pourrait recuper comme zigbee ça serait super. Pour ma part je suis toujours sur NodeRed externe, qui une fois lancé fonctionne tres bien et pour sauvegarder j’exporte le fichier dans les telechargements de Windows que je mets de coté au cas ou.

1 « J'aime »

Bonjour,

ça m’intéresserait bien de pouvoir gérer mes volet Somfy directement dans Gladys. Je crains avec les montages et paramétrages de tout perdre ou de tout dérégler alors je reste avec le pilotage de base avec la télécommande. C’est problématique lorsque je m’absente.

@Jluc tu as quoi comme matériel Somfy ?
volet, store, rideau, Vélux ?
IO, RTS ?
box (laquelle), télécommande ?
Si besoin on peut se faire un nouveau topic pour parler de cette partie et éviter de poluer ce feed.

je suis aussi repasser sur Node Red externe, mais lorsqu’il y a une coupure de courant et que Gladys s’arrête, au redémarrage les ports USB s’inverse et plus rien ne fonctionne. Plus de zigbee et plus de RFlink, c’est une galère à tout redémarrer. Quand à Mater J’attend de voir. Avec le RFlink aucune intervention sur mes volets. Mes volets sont solaire donc hors de question de leur rajouter du matériel ou d’investir dans une box hors de prix pour qu’ils fonctionnent avec Mater.

Bonjour a tous ,
c’est vrai j’avais oublié ce problème egalement d’où l’interet de ce tuto

Merci pour ton retour @elfedagger :slight_smile:

Pour le coup on peut regarder ça ensemble, c’est pas très compliqué à changer, il n’y a rien de lié à cette demande si c’est juste ça qui te gêne !

Est-ce qu’il y a un sujet dédié où on pourrait parler de ça ?

1 « J'aime »

Bonjour @pierre-gilles,

J’ai repris mes tests pour ouvrir les ports USB afin que le RFLink puisse se connecter à Node-RED. Voici un docker run qui fonctionne. Quand tu auras un peu de temps, peux-tu regarder si ça te convient et me faire une image Gladys-Node-RED avec ce Docker intégré ? Pour que je puisse le tester en réel.
Merci d’avance et passe de bonnes fêtes de fin d’année.

docker run -d \
  --name gladys-node-red \
  --restart always \
  --network host \
  --privileged \
  -e "PORT=1881" \
  --group-add dialout \
  -v /dev:/dev \
  -v /var/lib/gladysassistant/node-red:/data \
  --log-opt max-size=10m \
  nodered/node-red:3.1
1 « J'aime »

J’avais pas vu cette question.

J’ai surtout besoin que Node Red intégré à Gladys reconnaisse les ports USB pour que je puisse l’utiliser avec mon RFlink et ça l’air en bonne vois. Quand aux port USB qui s’inversent sur Nodered externe, j’ai mis une procédure de redémarrage de mon mini pc en place et ça me conviens . J’ai surtout hâte de pouvoir supprimer Node Red externe pour tout les avantages que Psoy à énoncé plutôt.

1 « J'aime »

Bonsoir @elfedagger,

Tu peux m’expliquer ce que tu as fait ? Car pour moi, ça s’inverse toujours.

Bonsoir, quand mon mini pc s’arrête à cause d’une coupure de courant, avant de redémarrer je débranche ce qui est branché sur mes ports USB en ne laissant branché que mon dongle zigbee. Lorsque Gladys démarre le port usb0 est attribué au zigbee2mqttt et ensuite je peu rebrancher mon RFlink et le port usb1 lui est attribué. Je redémarre Node-RED externe et tout refonctionne chez moi. C’est très contraignant mais c’est le seul moyen que j’ai en attendant que Node-RED interne reconnaisse les ports USB de mon mini pc. mon RFlink ne sert qu’a automatiser mes volets somfy,je me demande si je ne vais pas me trouver un tahoma mini et automatiser mes volets à l’extérieur de Gladys, peut etre avec Alexa pour supprimer ce problème.

bonsoir @elfedagger
On a la meme methode, je pensais que tu avais nommé tes ports!
merci pour ta reponse
bonne soirée

Merci @Psoy pour les tests !

Est-ce que tu peux m’expliquer chaque paramètre que tu as modifié ?

Notamment --network host \ + -e "PORT=1881" \ ?

Actuellement, on était en mapping de port, est-ce que tu as changé ça pour pouvoir faire du scan de réseau par exemple ?

Bonjour @pierre-gilles,
Juste avant de m’attaquer au problème des ports USB, j’essayais de reconnecter ma passerelle Xiaomi et comme j’avais deux Node-RED en fonction, l’IA m’a préconisé "--network host \" + -e « PORT=1881 » `". Je viens de tester en revenant sur -p 1881:1880 `, ça fonctionne mais il faut ces lignes : --privileged \ --group-add dialout \ -v /dev:/dev \

Voici le docker run :

docker run -d \
  --name gladys-node-red \
  --restart always \
  -p 1881:1880 \
  --privileged \
  --group-add dialout \
  -v /dev:/dev \
  -v /var/lib/gladysassistant/node-red:/data \
  --log-opt max-size=10m \
  nodered/node-red:3.1

C’est pour ça que je demandais de vérifier, si ces commandes ne posaient pas de problème.
Pour tout te dire c’est l’IA qui bosse, moi j’essaie de comprendre et je teste :grinning:
Merci d’avance de reprendre ce sujet

1 « J'aime »

Ok merci du retour !

Du coup en fait dans ma PR initiale, il ne manquait que --group-add dialout :slight_smile:

J’ai mis à jour la PR du coup :

Je viens de relancer un build qui sera dispo sur gladysassistant/gladys:node-red-usb-ports d’ici une vingtaine de minutes, preneur de ton retour :wink:

1 « J'aime »