NEWS
Schalten wenn Wert X innerhalb von 2 min nach Wert Y
-
Hallo Leute,
ich würde gerne ein Blockly Script erstellen aber ich habe nichts passendes gefunden und weiß auch ehrlich gesagt ob sich das über Blockly überhaupt so erstellen lässt.
Folgendes Szenario würde ich gerne umsetzen: Wenn jemand anläutet und der Bewegungsmelder oder der Türkontakt innerhalb der nächsten 2 Minuten eine Bewegung bzw eine Öffnung registriert soll sich eine Steckdose mit einem LED Strahler einschalten und dann nach 2 Minuten wieder ausschalten.
Die Reolink Türglocke sendet beim anläuten den Wert "On" den ich abgreifen kann, dieser geht aber nach 15 Sekunden wieder auf "Off"
Ist sowas in Blockly umsetzbar?
Danke euch
Patrick -
@psimon Schau Dir die Sachen im Timeouts Reiter an ...
Alles, was man in den "Mund" dieses Bausteins einfügt, wird nach Ablauf der oben im Baustein konfigurierten Zeit ausgeführt.
Im markierten Block ist "timeout" der Name der Kontrollstruktur. Falls während der Laufzeit des Timeouts Bedingungen eintreffen, dass das, was im Timeout-Block passieren soll unnötig wird, kann man mit dem stop Baustein den Timeout stoppen.
-
@martinp Ja die habe ich eh schon gesehen danke, aber wie du sagst der Baustein macht ja eigentlich nichts anderes als einfach die z.B. 5 Sekunden zu warten und dann erst alles abzuarbeiten.
Ich bräuchte aber etwas was sagt "wenn innerhalb der nächsten 2 Minuten nach einer anderen Wertänderung"
Hintergrund: Die Glocke ist nicht neben der Gartentüre. Das heißt wenn jemand anläutet muss die Person dann noch 5 Meter durchs Carport um dann durch die Gartentüre zu gehen. In dieser Zeit hat die Glocke den Besucherwert aber gegebenenfalls schon wieder von "On" auf "Off" gesetzt. Somit Nutzt mir der normale "und" Baustein nichts weil da die Glocke ja noch auf "On" stehen muss wenn sich der Bewegungsmelderwert ändert um dann die Steckdose zu schalten.
Ich hoffe du verstehst was ich meine
EDIT: So schaut der Block jetzt aus, das funktioniert auch soweit aber natürlich nur wenn er die Bewegung innerhalb der 15 Sekunden erkennt in der der Besucherwert der Glocke noch auf "On" steht.
-
@psimon Habe mal eben etwas gebastelt ...
EDIT: Diese Version ist besser, Trigger nur auf true -> false
Block 1 zieht den Timer auf, und in Block 2 wird beim Aufruf des zweiten Triggers geprüft, ob der Timer, der in Block 1 gestartet wurde noch aktiv ist...
EDIT2: Meine erste Idee war mit einer Variablen "TimerAktiv" zu arbeiten, die direkt im Trigger-Block 1 auf "true" gesetzt wird, und im Timer im Block 1 wieder auf false...
Diese Variable hätte man in Block 2 dann abfragen können - da man aber den Zustand des Timers selber abfragen kann, braucht man keine Variable
-
@psimon sagte: Wert "On" den ich abgreifen kann, dieser geht aber nach 15 Sekunden wieder auf "Off"
Davon ausgehend, dass "On" größer als "Off" ist (String-Vergleich), sollte es so funktionieren:
@martinp sagte in Schalten wenn Wert X innerhalb von 2 min nach Wert Y:
etwas gebastelt ...
Wenn jemand mehrmals hintereinander klingelt, lässt sich der Timeout nicht mehr stoppen.