NEWS
Node Red schreibt keine Datenpunkte
-
@mickym
du hattest mir vor geraumer Zeit mal bei einem Datentranfer aus VenusOs in den Iobroker geholfen.
Jetzt, nach einigen Updates habe ich das Problem, dass Node Red keine Daten mehr in die Datenpunkte schreibt bzw. diese erst gar nicht anlegt.
Folgendes hatten wir damals gebastelt:
Die oberste Node hält das Ganze am Leben. In den drei darunter werden die Daten abgefragt. Das funktioniert auch einwandfrei, die Daten kommen und werden angezeigt. Allerding nur unter der Output Node zum IoBroker. Geschrieben im Broker wird nichts.
Hast du eine Idee woran das liegt?Inhalt "Change" Node
"Output" Node
-
@joeysch Na Du schreibst ja auch nur in den iobroker und nicht in mqtt.
-
@mickym
Das hat aber doch bisher funktioniert. Die Adresse wo es hin soll stehht doch hier.
-
@joeysch Ja es wird doch auch in den iobroker geschrieben??? - steht doch was unter den NOdes. Ansonsten musst halt über eine Debug Node nach der Change node - das topic überprüfen.
-
@mickym
Ja, einTeil landet im Node Red Verzeichnis und ein kleiner Teil dahin wo er hingehört.Wie bekommt man das so hin, das alles wieder im Verzeichnis "0_userdata.0.Batterie...." landet?
-
@joeysch Lass Dir mal direkt nach der mqtt-Node das komplette Nachrichtenobjekt ausgeben - also aktiviere die Debug Node im obigen Bild nochmal - und kopieren den Wert einer nicht funktionierenden Nachricht und einer funktionierenden Nachricht hier in CodeTags rein.
Das kopieren der Nachricht aber nicht mit der Maus, sondern über die Schaltfläche Wert kopieren aus dem Debug Fenster hier einstellen und in CodeTags verpacken sonst nützt das nichts:
Also nur das topic kopieren und einstellen.
-
Das müsste ein funktionierender sein:
payload {"value":361.4}
Das einer der nicht geht:
payload 3.343
Mehr steht da nicht!
-
@joeysch Nein - Du sollst Dir in der debug NOde - die direkt an die mqtt-out NOde anschliesst, das vollständige Nachrichtenobjekt ausgeben lassen und dann das topic hier einstellen - also dieses N/dc ....
und dann das kopierte topic hier einstellen:
zigbee2mqtt/bewegungsmelder/kueche/tuer
-
@mickym
Ok der Debug Node stand noch auf msg.

Geht:
topic N/dca632478bdc/battery/1024/Dc/0/Current payload {"value":-29.34} qos 0 retain false _msgid 0916722cd90a2d03
Geht nicht:
topic N/dca632478bdc/battery/1024/System/MinCellVoltage payload {"value":3.312} qos 0 retain false _msgid a045cce46fb7fcc1
-
@joeysch sagte in Node Red schreibt keine Datenpunkte:
Na war zwar nicht ganz was ich wollte, aber geht schon und weiß auch warum es nicht geht - du siehst ja dass da nach einer 0 gesucht wird - kopiere mir bitte noch den Suchstring hier in CodeTags raus.
Also das hier:
-
.*\/0\/(.*)$
-
@mickym
Kannst du den String vielleicht erklären. Dann kann ich mir in Zukunft vielleicht selber helfen. -
@joeysch Ja gleich - Du musst dir halt im klaren sein, wenn Du nicht nach der 0 suchst - sondern nur den Rest - wird halt grundsätzlich der letzte String als topic für Deinen Datenpunkt genommen - ich schick Dir gleich einen Link mit dem Du das immer selbst testen kannst.
-
@mickym
Hab die "0" jetzt durch die "1024", "2", "3" ersetzt und jetzt läufts. -
So ändere in Deiner ChangeNode einfach das Suchmuster und dann wird immer der letzte Teil als topic genommen.
Hier für Deine ChangeNode:
.*\/(.*)$
Zur Erklärung hier:#
https://regex101.com/r/DMVQNH/1
Alles was in Group1 landet wird an Deinen Pfad angehängt.
-
@joeysch sagte in Node Red schreibt keine Datenpunkte:
@mickym
Hab die "0" jetzt durch die "1024", "2", "3" ersetzt und jetzt läufts.Das ist trotzdem nicht korrekt - bzw. Käse. Hab Dir gerade das veränderte Suchmuster gepostet und auch einen Link mit dem Du selbst testen kannst, was in Gruppe 1 landet. Gruppe 1 referenzierst Du ja im Ersetzen Feld durch $1.
-
@mickym
Ok, ich muss mir das mal in Ruhe ansehen und verstehen.
Dir aber erstmal herzlichen Dank für die Hilfe. -
@mickym
So, ich habe das jetzt mal auf dein Suchmuster geändert.
Was jetzt sofort auffällt.
Es gibt keine Unterordner mehr.
Node Red hat jetzt die falsch bzw. ohne Zuweisung "folder" angelegt.
-
@joeysch Nun ja - das ist ja das was ich sagte - entweder Du schreibst alles in ein topic hinter Batterie 0 - dann suchst Du auch ob 0 im topic vorkommt. Wenn aber keine 0 im topic vorkommt, in welchen Unterordner soll dann geschrieben werden? Da musst Du Dir halt im Vorfeld klar werden und ggf. mit switch Nodes aufteilen. Wie gesagt ich hab Dir ja im Grunde gesagt, wie es funktioniert. Du kannst natürlich auch noch 1024 und 2 und 3 suchen und das dann entsprechende einordnen.
Dann mach es so wie Du es ursprünglich hattest:
und ändere die Suchmuster entsprechend.
-
@mickym
Die Ordner und Unterordner legt Node Red aber nicht richtig an. Seid den neueren Admins ist es doch zwingend erforderlich, das als "folder" deklariert wird. Ansonsten erkennt IoBroker ihn nicht als solchen.