Blockly – Abends Türen und Fenster prüfen
In dieser Artikelserie möchte ich das Thema Blockly in ioBroker näher erklären. Im Artikel zeige ich, wie Du abends den Status von Türen und Fenstern überprüfen kannst.
Bestimmt ging es euch auch einmal so, ihr liegt abends im Bett und kurz vor dem Schlafen gehen taucht die Frage auf, sind auch wirklich alle Fenster und Türen geschlossen? Natürlich könnten wir jetzt unsere Smart-Home App öffnen und einfach nachschauen, viel cooler wäre es aber doch, wenn uns das smarte Zuhause einfach darüber informiert. In diesem Artikel zeige ich, wie ich dieses Thema bei uns ganz einfach über ein kleines Blockly-Script gelöst habe.
Im ersten Schritt habe ich nun ein neues Blockly-Script angelegt. Im Script fügen wir nun einen Trigger auf den Zeitplan ein. Mit einem Klick auf die Zeitplan-Definition können wir im nächsten Schritt den genauen Zeitpunkt definieren, an dem der Trigger und somit der Inhalt des Triggers ausgeführt werden soll.
In der Konfiguration des Zeitplans habe ich hier die Art Wizzard ausgewählt. Im Bereich Zeit habe ich die Einstellung Bestimmt Zeit gewählt. Als Uhrzeit habe ich hier 21:00 Uhr eingestellt. In den Einstellungen des Zeitraums habe ich hier Täglich mit der Zusatzeinstellung Jeden Tag gewählt. Mit der Schaltfläche Ok können wir dann die Konfiguration beenden und speichern.
Der Zeitplan-Trigger wird nun wie folgt im Script dargestellt.
Wir haben nun die Zeitsteuerung abgeschlossen und können nun die einzelnen Prüfungen auf die offenen Türen oder Fenster implementieren. Hierzu habe ich zunächst zwei Variablen angelegt, welche die Anzahl offener Türen und Fenster speichert sowie den Namen des offenen Elements. Im nächsten Schritt wird dann vom jeweiligen Sensor der Zustand ausgelesen und abgefragt ob das Fenster oder die Tür offen ist. In diesem Beispiel frage ich über einen Falls-Block ab, ob der jeweilige Datenpunkt auf true (wahr) für offen steht. Ist dem so, wird die Variable openCount um eins erhöht und an die Variable openNames der jeweilige Element-Name angehängt.
Nach den wir nun die Elemente geprüft und die entsprechende Zählervariable sowie die Variable mit dem Bezeichnungen der offenen Elementen der erstellt haben, versenden wir im nächsten Schritt noch die Informationen per Telegram-Adapter. Dazu prüfen wir zunächst ob die Variable openCount größer Null ist. Nur dann wollen wir die Informationen über die offenen Türen oder Fenster versenden.
Hier das Blockly-Script als Download:
Blockly - Abends Türen und Fenster prüfen (1181 Downloads )
Ich hoffe Dir gefällt der Artikel. Ich freue mich über Deinen Kommentar oder Fragen 🙂
Hallo Matthias,
das ist sehr brauchbares Skript für die Abfrage der Fenster- und Türenkontakte.
Könntest Du eine uns auch eine Variante erstellen: wenn es zahlreiche FK und TK gibt, ist das Script am Ende sehr unübersichtlich, weil ja alle einzeln enthalten sind. Könnte man nicht über die Definition des Raumes oder Funktion (siehe verfügbare Elemente in den Objekten/States) nicht alle bestehenden abfragen, so dass dann auch bei veränderungen der FK oder TK nicht immer manuell im Skrpit nachgearbeitet werden muss?
Du hast ja an anderer Stelle auch ein Tutorial, wie Blockly Skripte möglichst schlank gehalten werden…;-)
Grüße
Reiner