NEWS
MQTT Daten in Node Red verarbeiten
-
Hallo Leute,
ich brauche dringend Hilfe. Ich habe mir einen von den aktuellen Shellys gekauft, die ja nicht mit dem Shelly Adapter in ioBroker kompatibel sind. Daher dachte ich mir, lasse ich die aktuellen Werte einfach per MQTT an ioBroker senden. Ich denke, dass das soweit auch korrekt funktioniert.
Was habe ich gemacht? Den MQTT Broker/Client Adapter installiert und gestartet (Bild 1). Im Shelly die IP-Adresse des ioBroker mit Port 1883 eingetragen. Die Daten kommen auch als Json-String im ioBroker an. Jedenfalls kann ich sie unter Objekte - mqtt - etc. pp. sehen (Bild 2).
Nun möchte ich diese Daten allerdings in Node-RED (ioBroker Adapter) weiter verarbeiten. Ich bekomme es aber einfach nicht hin, diese Daten in Node-RED zu importieren. Ich versuche es mit der "mqtt in" NODE. Zunächst den anzufragenden MQTT-Server hinterlegt (Bild 3) und anschließend festgelegt welche Topic abgerufen werden soll (Bild 4).
Nichts. Über den Status: "Verbindung wird herstellt" komme ich nicht hinaus. Das steht jetzt schon nach zig Versuchen immer unter der NODE und ich schaffe es einfach nicht, dass dort "verbunden" steht.
Kann mir bitte jemand helfen? Wo kann ich ansetzen???
-
@marcello_effzeh sagte in MQTT Daten in Node Red verarbeiten:
Ich habe mir einen von den aktuellen Shellys gekauft, die ja nicht mit dem Shelly Adapter in ioBroker kompatibel sind
und welche Shellys sollten das sein ??
-
Das ist jetzt ein Shelly PM Mini Gen3.
Dachte hätte irgendwo gelesen dass die neueste Generation nicht kompatibel ist. Stimmt das nicht? -
@marcello_effzeh Mqtt topics haben nichts mit dem Adapter zu tun und haben keine Punkte in den Pfadnamen.
Dein mqtt topic steht im Namen des Datenpunktes.Also trag das mal in die mqtt-in NOde ein und nutze normales 3.11 - mqtt 5 kann der iobroker Adapter nicht.
-
@mickym sagte in MQTT Daten in Node Red verarbeiten:
topic steht im Namen des Datenpunkt
Tatsächlich, jetzt funktioniert es. Vielen Dank!
Könntest du mir vielleicht auch noch dabei helfen, wie ich jetzt aus dem gesamten Json-String einen bestimmten Wert herausfische, um diesen dann in meine influxDB zu schieben? -
@marcello_effzeh Du setzt einfach die payload mit einer ChangeNode auf die Eigenschaft, die Du selektieren mächtest. Am Besten kopierst Du Dir den Pfad aus dem Debugfenster.
Wegen Influx - wenn Du das über den iobroker machst - schreibst es einfach in einen Datenpunkt, den Du dann über den Adapter logst. Ansonsten musst Duch halt mit der Flux Sprache auseinandersetzen dannn kannst auch über NOde-Red direkt schreiben.
-
Habs jetzt so gemacht. Meintest du das so?
-
Zumindest liefert die Debug-NODE jetzt den Wert 0 und nicht mehr den ganzen Aufsatz von vorher ...
-
Ja das ist doch genau richtig.
Und wie gesagt - in die Influx kannst du entweder über den iobroker oder direkt über NodeRed schreiben.
Da kannst Du die influx Nodes nutzen und musst halt die buckets etc erstellen - oder wie gesagt du nimmst den iobroker.
-
Ich schreibe jetzt mit NodeRED in eine Influx, die auf einem anderen Host läuft. Das klappt eigentlich ganz gut, so wie es aussieht.
-
@marcello_effzeh Na dann brauchst ja meine Hilfe nicht.
das heißt Du kennst Dich ja dann mit fields, measurements und tags aus.