@frankyboy73 Ja diese JOIN Node ist wirklich ein essentieller Bestandteil, der am Anfang nicht so ganz klar ist, wofür man ihn brauchen kann. Die Methode hier zum Überwachen ist deshalb so praktisch, da sich die Objekte langsam aufbauen können.
Wenn Du hier bei den Nachrichtenteilen eine 1 nimmst und bei jeder weiteren Nachricht eine neue Nachricht erzeugen lässt, sortiert dieser Node diese nämlich automatisch ein. Gabs den Topic schon mal, wird der Wert in dem gesamten Objekt aktualisiert, anderenfalls eine neue Eigenschaft dem Objekt hinzugefügt.
1f8fc6d2-17dd-4b7c-81e6-6e0935ce4f71-image.png
Praktisch habe ich es auch nochmal hier angewandt:
https://forum.iobroker.net/topic/42585/function-node-erstellen/7?_=1614235928279
Hier ging es darum aus 3 Einzelwerten im iobroker wieder einen JSON String zu erstellen. Hier war es jedoch wichtig, dass erst alle 3 Eigenschaften gefüllt sind, bevor der JSON String rausgeht. Deshalb ist diese Version eleganter als über eine Flowvariable. Die JOIN-Node ist hier tatsächlich so intelligent programmiert worden, dass die Nachricht nicht rausgeschickt wird, wenn 3 mal das gleiche Topic ankommt, sondern wirklich erst wenn alle Eigenschaften vorliegen. Dann wird allerdings jedesmal eine Nachricht erzeugt, sobald ein Wert aktualisiert wird. Hier wird einem ganz schön viel Programmieraufwand abgenommen. 🙂
Ergänzung:
Zum Thema Überwachung. Nachdem man via Node Red ja leider nicht mehr die Systemadapter direkt überwachen kann - habe ich nun überall Aliases angelegt und kann somit auch bestimmen welche Eigenschaft ich im Adapter als OK nehme oder nicht (also ist NICHT OK bei gelb oder rot).
Im Moment sieht das noch so aus:
b1eac2b2-a824-4ca1-8ff6-8550313968b2-image.png
aber nachdem zumindest am Ende Wildcards (mit * ) am Ende bei mir zumindest auch bei den In-Nodes funktionieren, werde ich das wohl auch vereinfachen. 😉