NEWS
Node Red schreibt keine Datenpunkte
-
@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. -
@joeysch nein bei Node-Red legt er das schon an - auch wenn nicht als folder deklariert.
Du kannst das Muster noch wie folgt ändern:
.*\/\d+\/(.*)$
Dann erkennt er also Gruppe das an und der vollständige Pfad enthält dann System als folder.
damit wird dann alles erkannt, was nach der Batterie eine Zahl ist - also egal ob 1024, 0,1,2 usw.
Die Hierachie wird in der iobroker-out Node automatisch angelegt, wenn sie nicht existiert. Ich habe das damals nämlich moniert, als diese Strukturen eingeführt wurden und zumindest unter 0_userdata - wird das von der Node automatisch erstellt.
-
@mickym
Der Suchstring funktioniert wie gewünscht.
Die Ordner haben aber nicht den Typ "folder". Wenn das so nicht deklariert ist lassen sich auch manuell keine DP's darin anlegen. Egal, ich habe sie nochma überschrieben und jetzt läuft alles.
Nochmal vielen Dank!