Node-RED-Integration: USB-Ports für Docker-Container freigeben

Hallo @pierre-gilles
entspricht das diesem Befehl?
:sudo chown -R 1000:1000 /var/lib/gladysassistant/node-red

Falls ja
habe ich den Docker run wie folgt geändert und es funktioniert:

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

Aber danach muss man diesen Befehl eingeben:

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

Aber wenn du mir bestätigst, dass er im Node-Red-Integrationscode enthalten ist, sollte es funktionieren.

Mit diesem Befehl --device=/dev/ttyUSB0 wird die Verbindung des Rflink auf den USB0-Port erzwungen? Gibt es dabei ein Problem?

Ja, genau das :slight_smile:

Ja, das ist ein Problem, es ist immer dasselbe Problem, man weiß nicht, welcher Port verwendet wird.

Deshalb schlug mein ursprünglicher PR-Vorschlag einen Ansatz basierend auf Volume-Sharing vor:

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

Zusätzlich mit der Option --privileged, um dem Container zusätzliche Rechte zu geben.

Aber laut deinen Rückmeldungen funktioniert das nicht.

das habe ich schon vor langer Zeit gemacht, was du mir gesagt hast :roll_eyes:
Gladys wird als root gestartet, aber node-red wird vom Benutzer node-red gestartet.

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

Also, gibt es hier ein Problem, wenn ich das richtig verstanden habe?

Ich wollte node-red in die Gruppe dialout im docker run/ des Gladys-Images setzen, aber da der Container node-red noch nicht erstellt wurde, bekomme ich eine Fehlermeldung.

Ich glaube nicht, dass das zusammenhängt. Du vergleichst die Benutzer innerhalb des Containers, das ist nicht dasselbe.

Wenn wir uns das Dockerfile des Node-RED-Projekts ansehen (Quelle), sehen wir, dass sie einen Node-RED-Benutzer erstellen.

Hallo @pierre-gilles
Hier bin ich am Ende meines Wissens und wenn ich keine Hilfe bekomme, um mich zu orientieren, kann ich nichts mehr tun, tut mir leid :thinking:

Ach Mist, stimmt, das ist wirklich ein sehr technisches Thema :smiley:

In diesem Thema, wer hatte „Brauch“ für diese Entwicklung?

Nur du @elfedagger?

Ich sehe, dass du weiter oben über den Somfy-Rollo sprichst, ich weiß nicht, ob du das verfolgt hast, aber ich entwickle eine Matter-Integration, die Matterbridge unterstützt, das wiederum ein Plugin somfy-tahoma hat, das von @mutmut getestet wurde und es funktioniert (🚀 Matter & Gladys Assistant : C’est parti! - #69 par mutmut)

Vielleicht gibt es also die Lösung woanders!

Guten Abend, ich denke, dass diejenigen, die Arduinos, Rflink, RXcom verwenden, nach der Durchführung einer Umfrage interessant wären! Es ist schade, dass man nicht weitersucht, denn Node Red intern in Gladys ist schließlich einfacher zu installieren und wenn man zusätzlich ein Backup starten könnte, das man wie Zigbee wiederherstellen könnte, wäre das super. Für mich persönlich bin ich immer noch bei NodeRed extern, das einmal gestartet sehr gut funktioniert und zum Sichern exportiere ich die Datei in die Downloads von Windows, die ich zur Seite lege für den Fall der Fälle.

Hallo,

ich würde gerne meine Somfy-Rolladen direkt in Gladys steuern können. Ich habe Angst, dass ich bei der Installation und Konfiguration alles verliere oder durcheinanderbringe, deshalb bleibe ich bei der Grundsteuerung mit der Fernbedienung. Das ist problematisch, wenn ich weg bin.

@Jluc was hast du für Somfy-Material?
Rolladen, Markise, Vorhang, Dachfenster?
IO, RTS?
Box (welche), Fernbedienung?
Falls nötig können wir ein neues Thema erstellen, um über diesen Teil zu sprechen und diesen Feed nicht zu verschmutzen.

Ich bin auch wieder auf externes Node Red umgestiegen, aber wenn es einen Stromausfall gibt und Gladys sich ausschaltet, werden beim Neustart die USB-Ports vertauscht und nichts funktioniert mehr. Kein Zigbee und kein RFlink mehr, es ist ein Albtraum, alles neu zu starten. Was Mater angeht, warte ich mal ab. Mit dem RFlink muss ich mich nicht um meine Rollläden kümmern. Meine Rollläden sind solarbetrieben, also kommt es nicht infrage, ihnen zusätzliches Material hinzuzufügen oder in eine teure Box zu investieren, damit sie mit Mater funktionieren.

Hallo zusammen,
das stimmt, ich hatte dieses Problem auch vergessen, daher ist dieses Tutorial interessant

Danke für dein Feedback @elfedagger :slight_smile:

Das können wir zusammen anschauen, das ist nicht so kompliziert zu ändern, da ist nichts mit dieser Anfrage verbunden, wenn es nur das ist, was dich stört!

Gibt es ein eigenes Thema, in dem wir darüber sprechen können?

Hallo @pierre-gilles,

Ich habe meine Tests zur Freigabe der USB-Ports wieder aufgenommen, damit sich der RFLink mit Node-RED verbinden kann. Hier ist ein funktionierender Docker Run. Wenn du etwas Zeit hast, kannst du bitte prüfen, ob es für dich in Ordnung ist, und mir ein Gladys-Node-RED-Image mit diesem Docker integriert erstellen? Damit ich es in der Praxis testen kann. Vielen Dank im Voraus und frohe Feiertage.

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

Die Frage hatte ich gar nicht gesehen.

Ich brauche vor allem, dass Node Red in Gladys die USB-Ports erkennt, damit ich es mit meinem RFlink verwenden kann, und das scheint auf einem guten Weg zu sein. Was die sich umkehrenden USB-Ports bei externem Node Red angeht, habe ich ein Neustartverfahren für meinen Mini-PC eingerichtet und das reicht mir. Am meisten freue ich mich darauf, externen Node Red löschen zu können, um alle Vorteile zu nutzen, die Psoy genannt hat.

Guten Abend @elfedagger,

Kannst du mir erklären, was du gemacht hast? Denn bei mir klappt es nie.

Guten Abend, wenn mein Mini-PC aufgrund eines Stromausfalls herunterfährt, trenne ich vor dem Neustart alles, was an meinen USB-Ports angeschlossen ist, und lasse nur meinen Zigbee-Dongle angeschlossen. Wenn Gladys startet, wird der USB0-Port dem zigbee2mqtt zugewiesen, und dann kann ich meinen RFlink wieder anschließen, dem der USB1-Port zugewiesen wird. Ich starte Node-RED extern neu und alles funktioniert wieder bei mir. Es ist sehr umständlich, aber es ist die einzige Lösung, die ich habe, bis Node-RED intern die USB-Ports meines Mini-PCs erkennt. Mein RFlink dient nur dazu, meine Somfy-Rolladen zu automatisieren. Ich frage mich, ob ich mir nicht einen Tahoma Mini besorgen und meine Rolladen außerhalb von Gladys automatisieren soll, vielleicht mit Alexa, um dieses Problem zu lösen.

guten abend @elfedagger
wir haben die gleiche Methode, ich dachte, du hättest deine Ports benannt!
Danke für deine Antwort
Gute Nacht

Danke @Psoy für die Tests!

Kannst du mir erklären, welchen Parameter du verändert hast?

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

Aktuell waren wir beim Port-Mapping, hast du das geändert, um z. B. Netzwerk-Scans durchzuführen?

Hallo @pierre-gilles,
Bevor ich mich dem USB-Port-Problem widmete, versuchte ich, mein Xiaomi-Gateway wieder zu verbinden. Da ich zwei Node-RED-Instanzen laufen hatte, empfahl mir die KI "--network host \" + -e « PORT=1881 » `". Ich habe gerade mit -p 1881:1880 ` getestet, es funktioniert, aber man braucht diese Zeilen: --privileged \ --group-add dialout \ -v /dev:/dev \

Hier ist der Docker-Befehl:

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

Deshalb fragte ich, ob diese Befehle Probleme verursachen könnten.
Um ehrlich zu sein, ist es die KI, die arbeitet, ich versuche nur zu verstehen und zu testen :grinning:
Vielen Dank im Voraus, dass du dich diesem Thema widmest

Ok danke für das Feedback!

In meinem ursprünglichen PR fehlte nur noch --group-add dialout :slight_smile:

Ich habe die PR aktualisiert:

Ich habe gerade einen Build neu gestartet, der in etwa 20 Minuten unter gladysassistant/gladys:node-red-usb-ports verfügbar sein wird. Ich freue mich auf dein Feedback :wink: