NEWS
Blockly: Warten auf anhaltenden "false" Objekt-Zustand (?)
-
Ich habe ein Blockly Script erstellt, das einen Überschwemmungs-Sensor überwacht, und bei Überschwemmung eine "Signal" Nachricht verschicken soll. Bis dahin funktioniert es (nicht wirklich, da ich den Signal-CMB mit Anfragen flute).
Wo ich (blutiger Anfänger mit iob / blockly) aber keine Idee habe ist das Zurücksetzen des "Überschwemmungszustandes". Problem dabei ist, dass der Sensor während einer Überschwemmung andauernd im Sekundentakt (?) den "detected" Zustand ändert true/false/true/false...
Das heißt, ich muss sagen wir mal ein paar Minuten warten, in denen kein "true" mehr auftritt, und dann erst den Überschwemmungszustand zurücksetzen.
Ich habe einfach keine Idee wie man das macht und auch kein Beispiel gefunden. Ich hoffe mir kann geholfen werden
-
@purehunter sagte: ein paar Minuten warten, in denen kein "true" mehr auftritt
Versuche es mal so:
-
Danke für die schnelle Antwort!
Das funktioniert! Jetzt muss ich nur noch herausbekommen warum
Die Logik hinter den timeout Blocks ist mir noch nicht klar.Eine Frage noch: im Block "Ausführen" kann ich nur eine Zahl für ms eintragen, wie kommt bei dir ein Dropdown für die Einheit da rein?
Gruß
Reiner -
@purehunter sagte: im Block "Ausführen" kann ich nur eine Zahl für ms eintragen
Es gibt einen zweiten Block "Ausführen timeout" (über dem mit nur ms).
-
Danke, schon wieder einen Schritt weiter.
Den habe ich nicht genommen/ausprobiert, weil da statt "timeout" schon "Intervall" drinsteht. War mir nicht klar dass man da "was anderes reinschreiben" kann. An der Stelle wundert es mich, dass man die vermutlich wenigen Optionen nicht auch in einem Dropdown findet.Mittlerweile komme ich auch hinter die Logik dieses Timeouts Danke nochmals.
Gruß
Reiner -
@purehunter sagte: weil da statt "timeout" schon "Intervall" drinsteht.
Das ist sicherlich der falsche Block. Der zweite Block von oben ist der richtige:
-
@purehunter Ich kenne den Signal Adapter nicht - wenn man mit dem auch einen Datenpunkt schreiben kann, könnte man den Alarm "bestätigen", und erst dadurch dann einen weiteren Alarm ermöglichen...
Falls Alarmsperre == false -> Sende Alarm, Setze Alarmsperre
Später über Signal Reset Alarmsperre
-
@paul53
Ja, richtig. Ich konnte da zwar den Eintrag "Intervall" in "timeout" ändern, aber durch die Wahl der falschen Funktion haben sich auch die Inhalte der anderen verwendeten grünen Blocks verändert. Das konnte dann nicht mehr gehen. -
@martinp
Mit den Datenpunkten eines Adapters kenne ich mich leider auch noch gar nicht aus.
Deshalb wollte ich in meinem Ansatz im ersten Post eine Funktionalität in dieser Richtung mit der Variable "Überschwemmung" einbauen.
Aber so funktioniert es erst mal.