NEWS
Mehrere Datenpunkte + Wenn Wert seit x nicht geändert
-
Hallo zusammen,
leider stehe ich vor der nächsten Herausforderung. Ich würde gerne je Raum die Helligkeit der NSPanels verringern, wenn der Wert der Bewegungsmelder seit X min keine Aktivität zeigt.
@paul53 hat mir schon sehr geholfen, dies für die Heizungssteuerung umzusetzen.
Ich würde in diesem Fall nun aber die Daten von zuletzt geändert des DP heranziehen, habe aber nur die Möglichkeit gefunden mit einem timeout zu arbeiten. Dabei habe dann aber natürlich das Problem, dass das Blockly Skript beschäftigt ist solange und sich nicht um die anderen Displays kümmern kann.Gibt es hierzu eine schöne Lösung?
Was ich noch loswerden muss: Umstieg von FHEM und ich bin wirklich begeistert!
-
Niemand eine Idee?
-
@cdn sagte: nur die Möglichkeit gefunden mit einem timeout zu arbeiten.
Dann benötigt jeder Datenpunkt einen eigenen Timeout.
-
@cdn said in Mehrere Datenpunkte + Wenn Wert seit x nicht geändert:
Dabei habe dann aber natürlich das Problem, dass das Blockly Skript beschäftigt ist solange und sich nicht um die anderen Displays kümmern kann.
Das verstehe ich nicht - der Code in einer Timeout-Klammerung wird in einen asynchronen Callback gepackt - soweit ich weiß bedeutet das nicht blockierendes Warten auf den Timeout.
-
@martinp sagte: Das verstehe ich nicht
Wenn jeder BWM einzeln auf Inaktivität überwacht werden soll, benötigt auch jeder BWM seinen eigenen Timeout.
@cdn
letzte Änderung
kann man nur verwenden, wenn der BWM triggert, was er bei Inaktivität gerade nicht macht.
Ausweg: Zeitplan-Trigger und in einer Schleife die Differenz "aktuelle Zeit" - "letzte Änderung" aller BWM prüfen. -
@cdn sagte: Niemand eine Idee?
-
@paul53
Danke. Wenn ich das richtig verstehe, habe ich dann also 2 Skripte, korrekt? Weil bei Anwesenheit sollten diese ja gerne sofort angehen. -
@cdn sagte: 2 Skripte, korrekt? Weil bei Anwesenheit sollten diese ja gerne sofort angehen.
Zwei Trigger, denn dann muss auf die Datenpunkte getriggert werden. Den DP-Trigger kann man im gleichen Skript unterbringen und so die beiden Listen mit verwenden.
-
@paul53 said in Mehrere Datenpunkte + Wenn Wert seit x nicht geändert:
s auf die Datenpunkte getriggert werden. De
Okay, ich würde dann quasi an den DP-Trigger auch an die Listen andocken (was soweit ich weiß nicht geht, da man nur einen andocken kann). Oder ist das egal, da die listen "global" für das Skript gelten?
-
@cdn sagte: die listen "global" für das Skript gelten?
Die Listen sind global im Skript. Sie können mehrmals verwendet werden.
-
@paul53
Ahh d.h. auch wenn der DP nicht triggert, wird der Zeitplan ausgeführt? -
@cdn sagte: auch wenn der DP nicht triggert, wird der Zeitplan ausgeführt?
Der Zeitplan wird immer ausgeführt.
Wenn der DP triggert, ändert sich "Letzte Änderung" des DP auf die aktuelle Zeit. -
@paul53 Danke. Ich teste es mal