NEWS
MQTT Datenpunkte ohne Anzeigewert (IR-Lesekopf, Stromzähler)
-
an Alle
kann im Moment nicht weiter machen aber ich komme da morgen drauf zurück!Danke für eure Hilfe das, war wieder sehr aufschlussreich!!!
-
@mickym
Hallo! Ich versuche gerade in NodeRed den String zu zerlegen
Aber komme da noch nicht weiter!Ich bekomme dort keinen Wert angezeit!
-
@bastel2021 ich sehe nicht was du in der Change Node definiert hast. Am besten ist, wenn du hinter die iobroker in Node auch eine debug node machst und einfach den Pfad kopierst von dem Wert, der Dich interessant.
Und du setzt die payload nicht auf einen Strign, sondern auf eine Nachrichteneigenschaft. Also msg. ….
-
meinst das so? Die erste Node ist aber eine Inject Node
-
@bastel2021 Nun wenn Du es als String rauskopierst - dann bzw. nicht über die mqtt-Nodes ausliest (da sind es schon Objekte dann machst Du eine JSON Node noch dahinter.
Hier mal ein Beispiel - kannst den Flow mal importieren.
-
@mickym
also das beste wäre die mqtt in node zu wählen? -
@bastel2021 oder einfach ein JSON Node dahinter.
Ich hab dir einfach das Beispiel so zum Import zur Verfügung gestellt.
Die JSON Node musst nicht mal konfigurieren, die erkennt automatisch was für ein Datentyp rein kommt und konvertiert den.
Bei Dir macht die mqtt Node keinen großen Sinn, da Du den iobroker als mqtt Broker verwendest. Du könnst zwar theoretisch auch die mqtt-Nodes nutzen.
Bei den mqtt-Nodes ist die JSON Node halt einfach schon eingebaut - mehr nicht:
Wie gesagt, mach einfach eine JSON Node dahinter und kopiere immer den Pfad aus dem Debug Fenster, wenn es ein Objekt ist und dann bist Du auf der sicheren Seite.
-
Habe jetzt nur in der Inject den String rein kopiert sonst noch nichts geändert
Passt das so? -
@bastel2021 Nein in Deiner Change Node passt das noch nicht. Klapp mal im Debug Fenster das Objekt auf und kopiere den Pfad in die Change Node.
Pder kopiere mal den String hier in CodeTags, dann übernehme ich das in meinen Flow.
Mach mal einen Screen shot vom Inhalt Deiner Change Node.
-
-
{"Time":"2023-01-28T14:51:52","ED300L ":{"Total_in":3164.3,"Total_out":0,"Power_curr":190.8}}
-
@mickym Na da steht ja noch [mqtt1] drin.
wie gesagt geh ins Debug Fenster mach das Objekt auf - und kopieren den Pfad in die Change Node, in dem Du neben den Wert mit der Maus gehst der Dich interessiert und dort kopierst Du den Pfad.
-
Jetzt sieht es auf jeden Fall erstmal richtig aus!
Wenn ich den Pfad kopiere dann kopiere ich: 190.8
Es sollte aber das sein;["ED300L "].Power_curr oder? -
@bastel2021
und welches Debug Fenster meinst du? Das hinter der json node? -
@bastel2021
ja natürlich, da sind die werte ja getrennt. Blöde Frage
Aber wie gesagt wenn ich den Pfad kopiere dann steht da nur der Wert -
@bastel2021 sagte in MQTT Datenpunkte ohne Anzeigewert (IR-Lesekopf, Stromzähler):
@bastel2021
und welches Debug Fenster meinst du? Das hinter der json node?Ja Du kopierst den Pfad neben dem Wert, der Dich interessiert in Deine Change Node:
-
@mickym
Hm, Fehler gefunden! Sorry nicht Wert kopieren sondern Pfad -
@bastel2021 sagte in MQTT Datenpunkte ohne Anzeigewert (IR-Lesekopf, Stromzähler):
@mickym
Hm, Fehler gefunden! Sorry nicht Wert kopieren sondern Pfad -
@mickym
Hm habe das nochmals nachgebaut und bei mir bekomme ich den Wert nicht raus!
Irgendwas ist noch falsch!
Wenn ich in der Inject Node den Pfad kopiere steht da nur; payload
Kopiere ich den Wert dann: {"Time":"2023-01-28T15:46:52","ED300L ":{"Total_in":3164.5,"Total_out":0,"Power_curr":202.2}}
D.h. in der Inject muss ich den Wert kopieren, richtig?
Und trotzdem Wird bei dem was ich nachgebaut habe kein Wert in der letzten Debug angezeigt -
Merkwürdigerweise kommt aus der debug9 nichts raus. Aber warum?