NEWS
[Frage] zwei Trigger erlaubt?
-
Hallo,
ich habe folgende Konstellation. Ein Skrip soll laufen, wenn ein Datenpunkt geändert wird (in dem Fall, wenn der DP "Pool Modus" geändert wird). Spätestens um 10:00 Uhr soll das Skript aber auch laufen, falls der DP schon vor 10:00 Uhr geändert wurde und sich dann nicht mehr ändert und somit das Skript nicht mehr anstößt. Darf ich da einen Trigger im Trigger machen?
Grüße AndreasEdit: darf ich dann noch mit dem Baustein "Wert" und "vorheriger Wert" arbeiten?
-
@weimaraner sagte in [Frage] zwei Trigger erlaubt?:
Darf ich da einen Trigger im Trigger machen?
Nein. So erzeugst du jeden Tag im 10 eine neue Kopie des inneren Triggers, der dann jeden Tag 1x mehr ausgeführt wird als am Vortag.
Was du machen kannst, ist die eigentliche Logik in eine Funktion kapseln, die beiden Trigger auf oberster Ebene anordnen (nicht schachteln) und darin jeweils nur die Funktion aufrufen.
Etwas schwieriger wird es dadurch, dass du die Werte des Objekts verwendest. Die müsstest du an die Funktion übergeben, damit es mit den beiden verschiedenen Triggern funktioniert.Habe gerade kein Blockly zur Hand, vielleicht findet sich ja jemand, der im Detail helfen kann.
-
@AlCalzone ...und das geht auch nicht?
-
@weimaraner sagte:
das geht auch nicht?
Nein.
@weimaraner sagte in [Frage] zwei Trigger erlaubt?:
darf ich dann noch mit dem Baustein "Wert" und "vorheriger Wert" arbeiten?
Beim Zeittrigger um 10:00 Uhr steht "vorheriger Wert" nicht zur Verfügung. Man kann ihn aber in einer Funktion auswerten, wenn er in einer Variable gespeichert ist.
-
@paul53
Uihhh, jetzt raucht der Kopf...
Mir ist noch der Gedanke gekommen, einen zweiten Trigger zu platzieren, der die Poolheizung startet, wenn der DP "PoolModus" vor 10:00 schon auf true gegangen ist, dann meine Variable "Count" mit bedient und falls es danach bewölkt wird, dann greift mein ursprünglicher Trigger "Objekt wurde geändert" und meine Variable "Count" wird von dort gestoppt und wieder gestartet, wenn es wieder sonnig wird.
Ein bißchen "unschlank" das ganze, aber ich kann es verstehen.Das müßte doch funktionieren?
-
@weimaraner sagte:
Das müßte doch funktionieren?
Im Prinzip ja, nur vermisse ich ein Rücksetzen von count auf 0.
Die Abfrage auf "vorheriger Wert" ist überflüssig, da auf Wertänderung getriggert wird und der Datenpunkt nur 2 Werte (false/true) annehmen kann.@weimaraner sagte in [Frage] zwei Trigger erlaubt?:
Ein bißchen "unschlank" das ganze
Ja, deshalb packt gleiche Abläufe in eine Funktion. Dann braucht man auch nur ein Intervall.
-
Danke schön, für deine Hilfe und Antwort.
@paul53 sagte in [Frage] zwei Trigger erlaubt?:
Im Prinzip ja, nur vermisse ich ein Rücksetzen von count auf 0.
Das Rücksetzen war im screenshot nicht zu sehen. Das erfolgt 00:00 Uhr mit extra Trigger
Grüße Andreas -
-
Oh Mann! Klasse!!!
Das baue ich nach (und habe es verstanden )
Danke und Grüße
Andreas