Seite 1 von 2

Node Red Docker mit MQTT

Verfasst: Do Mai 13, 2021 9:52 pm
von pbm
N'abend zusammen,

hat jemand MQTT im Node Red Docker am laufen?

ich kriege es nicht zum laufen... bzw. der Client will sich nicht connecten.

MacVLAN ist aktivert. Der Container hat ne eigene Adresse.
Hatte vorher auf "publish all exposed ports" = 1. Hat nicht geholfen.
Jetzt hab ich den Port 1883 gemapped. hilft auch nichts.

Ich hab das Gefühl, der gemappte Port kommt da nicht an... Aber ist das Port-Mappen bei MacVLAN überhaupt nötig?!

Hat jemand ne Idee, was ich noch prüfen/ändern könnte?
nodered1.jpg
nodered2.jpg

Re: Node Red Docker mit MQTT

Verfasst: Do Mai 13, 2021 10:34 pm
von danik
Hi

War vor einigen Tagen am selben Ort und habe es nicht hinbekommen. Mit "node-red-contrib-aedes" (MQTT Broker for Node-RED) ging es dann bei mir problemlos. Schicke damit nun Infos von Sonos über NodeRed zur Edomi-Visu über MQTT.

Gruss
Dani

Re: Node Red Docker mit MQTT

Verfasst: Fr Mai 14, 2021 12:02 am
von pbm
Hi Dani,

und schon geht's! Danke für den Hinweis!

Re: Node Red Docker mit MQTT

Verfasst: Fr Mai 14, 2021 8:10 am
von StefanW
Hallo Peer,

nur zur Ergänzung: Einen MQTT Broker kann man starten, wo man das möchte, es müssen nur alle vorgesehenen MQTT Clients sich per TCP darauf verbinden können. (Wobei man notfalls, das auch über Broker-zu-Broker-Verbindungen lösen könnte, aber das ist dann ein Experten-Thema).

Bedeutet: Man kann Node-Red, io:Broker, Edomi usw. auch mit einem separaten MQTT Broker benutzen, der im TWS als Container läuft. Das hat den Vorteil, dass man diesen Service als separat (austauschbare) Komponente hat und nicht als eine, die in einem anderem System integriert ist.


Wenn man MQTT als Container im Timberwolf Server starten möchte, dann braucht es dafür nur fünf Angaben:


  • Name des Container (frei wählbar)
  • Name des Container Images (wir empfehlen derzeit "eclipse-mosquitto:1.6" - funktioniert für AMD64 genauso wie für ARM)
  • Port-Mapping Host 1883
  • Port-Mapping Container 1883 (es werden also die Standard Ports genutzt)
  • TCP

Fertig. Dann einfach deployen.

Mehr ist nicht zu machen. Der MQTT Broker ist dann unter der IP des Timberwolf Servers über Standard Port 1883 zu erreichen.

2021-05-01_MQTT_Broker_Container.png

Jedoch bitte folgendes beachten:

1. MacVLAN beachten: MacVLAN braucht es für diese Funktion im Container nicht, weil das Port-Mapping ist völlig ausreichend. NUR WENN der Timberwolf Server auf Ressourcen in einem Container zugreifen soll UND der betreffende Container über ein MacVLAN Netz angeschlossen ist, dann MUSS auch die Ethernet-Schnittstelle des Timberwolf Server EBENFALLS auf MacVLAN laufen. Also entweder beide KEIN MacVLAN oder BEIDE MacVLAN (falls der TWS auf Dienste des Container zugreifen soll.)

2. Mac-Adresse bei MacVLAN beachten: FALLS MacVLAN eingesetzt wird, dann bitte darauf achten, dass es keinen Mac-Adressen-Konflikt bei den Containern gibt. Hierzu empfehlen wir, sich eine MAC-Adresse generieren zu lassen mit diesem Tool hier: https://www.hellion.org.uk/cgi-bin/rand ... pe=unicast

3. Jeder MQTT Client benötigt eine EIGENE ID: MQTT Broker sind automatisierte Verteiler, die ohne jede Konfiguration auskommen können. Starten genügt. Mit dieser Default-Konfig nimmt ein MQTT Broker alles an was publiziert wird und sendet es an jeden Teilnehmer, der sich auf das Topic subscribed. Dies macht es erforderlich, dass jeder Teilnehmer sich mit einem EINDEUTIGEN beim MQTT Broker registriert. Möchte man also NodeRed und ein anderes Gerät via MQTT verbinden, dann MUSS der Client-Name unterschiedlich sein!


lg

Stefan

Re: Node Red Docker mit MQTT

Verfasst: Fr Mai 14, 2021 1:17 pm
von danik
Dankte Stefan für diesen aufgezeigten Weg. Hat bei mir auf Anhieb geklappt.

Gruss
Dani

Re: Node Red Docker mit MQTT

Verfasst: Mi Mai 26, 2021 11:49 am
von Sun1453
Hallo Stefan,

ihr habt ja über den Proxy eine automatische Anmeldung an Grafana realisiert und dabei unterscheidet ihr ja zwischen Anoynm also ohne PW und den Nutzern des TWS. Könnte man diese Authentifizierung auch für Node Red nutzen? Nur mal als Gedanken Richtung. Eventuell hat es ja auch einer eurer Entwickler im Einsatz.

Re: Node Red Docker mit MQTT

Verfasst: Mi Mai 26, 2021 2:04 pm
von StefanW
Hallo Michael,
Sun1453 hat geschrieben: Mi Mai 26, 2021 11:49 amihr habt ja über den Proxy eine automatische Anmeldung an Grafana realisiert und dabei unterscheidet ihr ja zwischen Anoynm also ohne PW und den Nutzern des TWS. Könnte man diese Authentifizierung auch für Node Red nutzen?
Nein. Tatsächlich erfolgt auch bei "anonymen Zugriff" eine Authentifzierung gegenüber Grafana, wobei dies der Proxy automatisch vornimmt. Das geht nur, weil das speziell - sowohl in Grafana als auch im Proxy - so eingerichtet hat.

Wenn man das auch für andere Webseiten möglich machen müsste, dann müsste man die Konfiguration des Reverse-Proxy beträchtlich erweitern. Das mag technisch denkbar sein, ist jedoch kein Hauptleistungsmerkmal und zunächst würden wir hier Verbesserungen erbringen wollen

lg

Stefan

Re: Node Red Docker mit MQTT

Verfasst: Mi Mai 26, 2021 4:37 pm
von Sun1453
Aber es wäre sozusagen technisch möglich und man könnte das in Zukunft umsetzen. So ab 2022 oder 2023 je nachdem wie ihr mit dem anderen vorankommt.

Re: Node Red Docker mit MQTT

Verfasst: Mi Mai 26, 2021 5:09 pm
von gbglace
Was brächte das im Arbeitsablauf für Vorteile?

Re: Node Red Docker mit MQTT

Verfasst: Do Jun 10, 2021 7:41 pm
von gurumeditation
Ich sehe das Feature der Authentifizierung bei Node-RED nicht beim TWS, da es eines der Standard-"Probleme" bei Node-RED ist. Vielleicht ist es dir wichtig genug, dass du einen Workaround bei einer Suchmaschine deines Vertrauens findest. Ist aber wahrscheinlich eher nicht in 10 min erledigt.
Je nach deiner Ausstattung im Bereich Router/Firewall kannst du die Node-RED Konfiguration auf bestimmte Clients oder Subnetze einschränken.