NEWS
Verfügbarkeit von Sensoren über Node Red überwachen
-
@schmetterfliege Ja das sage ich doch die ganze Zeit. In einer eigenen Variable aber auch mit der ID - als Schlüssel. Du kannst diese an der gleichen Stelle aktualisieren bzw. initialisieren, aber werden zu diesem Zeitpunkt noch nicht in die zigbee Objekte aufgenommen.
-
Erledigt. -
@schmetterfliege Ok - dann sollten die Zigbee Objekte jetzt wieder ohne Zeitangaben sein? Und möchtest Du die ts denn in der Tabelle als UNIX ts haben oder formatiert?
-
@mickym said in Verfügbarkeit von Sensoren über Node Red überwachen:
@schmetterfliege Ok - dann sollten die Zigbee Objekte jetzt wieder ohne Zeitangaben sein?
Genau, die Timestamps sind da nicht mehr drin.
Nur die berechnete Zeitdifferenz. -
@schmetterfliege Na die brauchst auch nicht da drin - das machen wir jetzt - Du willst die doch über alle Objekte haben - dachte ich.
-
@mickym said in Verfügbarkeit von Sensoren über Node Red überwachen:
@schmetterfliege Na die brauchst auch nicht da drin - das machen wir jetzt - Du willst die doch über alle Objekte haben - dachte ich.
Okay, die hab ich jetzt auch rübergeschoben:
ich bin ehrlich: ich verstehe nicht so ganz wieso ich die in einem eigenen Objekt speichern soll.
Was für einen Unterschied macht das ob die in Zigbee gespeichert sind oder unter einem eigenen Objekt? -
@schmetterfliege Du musst die Zeitdifferenz da nicht rüberschieben - das machen wir erst jetzt. Wir brauchen nur eine Flow Variable ausserhalb der Tabelle die die aktuellen Zeitstempel enthält.
Mach bitte einfach vor der letzten function Node eine split und eine join Node. Die join Node kann auf automatisch bleiben. Hinter die Split Node nur noch mal schauen, ob da quasi jedes Zigbee Objekt als eigene payload auftaucht. Als Debug Fenster posten.
Also da wo debug 11 ist nochmal ein split und eine join node und die debug 11 an die split node.
-
@mickym
Nevermind, bin schon dabei -
@schmetterfliege Ja wo die debug 11 in Deinem bild ist:
-
So richtig? Die einzelnen Zigbee Objekte sind ein eigener Payload und enthalten keine Timestamps, aber die Zeitdifferenzen
-
Aber wieso nochmal die Split und die Join Node?
Da kommt exakt das gleiche Ergebnis raus wie bei Split und Join davor:
-
@schmetterfliege Passt.
- Bei einer ist zwar schon wieder lastupdate drin - aber das wird eh jetzt überschrieben - aber machs halt weg, wo Du es reingeschrieben hast.
Im Prinzip kommt dazwischen nun die Change Node rein, die ich unten gepostet habe. Ich passe das gerade an.
-
@schmetterfliege sagte in Verfügbarkeit von Sensoren über Node Red überwachen:
Aber wieso nochmal die Split und die Join Node?
Da kommt exakt das gleiche Ergebnis raus wie bei Split und Join davor:
Wartest Du bitte bis ich die Change Node fertig habe?
-
Klar
Bezüglich der Zeitdifferenz: Also das LastUpdate schmeiße ich vorher komplett raus? -
@schmetterfliege Ja - Du willst doch für alle berechnen . Wichtig ist doch nur dass am Anfang bzw. beim Aktualisieren die timestamp Variable die aktuellen Timestamps enthält.
So zwischen die neue split und join node hängst die folgende Change Node - die sollte Dir dann alle Timestamps und Differenzen in die zigbee Objekte mit einfügen.
-
Nur für mein Verständnis: Dafür muss ich alles in einem Flow haben, korrekt?
Denn die FlowVariablen sind in dem Link Flow und da übergebe ich ja nur das Zigbee Objekt.
Aber dann packe ich eben alles in einen Flow. -
@schmetterfliege Ja - in Deinem Fall - wenn Du alles nur in einer Tabelle haben willst - macht es keinen Sinn, dass zu trennen. Deswegen sagte ich auch für Dich lohnt sich das call Gedöns und das alles nicht.
Ich versuche nur gerade die Change Node noch etwas zu optimieren.
-
Okay
Hab alles in einen Flow gepackt, aber die LastUpdates tauchen nicht auf.
In deiner ChangeNode suchst du im ersten Punkt nach payload.id.
Soweit ich das verstehe existiert das aber nicht, denn ich speichere ja in "timestamps" keine ID.
Ist diese Vermutung korrekt? Denn dann speichere ich auch noch die ID in timestamps. -
-
Klappt doch nicht: