Blockly – Beispiel – Fernsterüberwachung

In dieser Artikelserie möchte ich das Thema Blockly in ioBroker näher erklären. Im zweiten Teil möchte ich mit Triggern und Logik beginnen. 

Mit Blockly lassen sich einfach und schnell eigene Steuerungen für ioBroker implementieren. In diesem Teil der Artikelserie möchte ich das Thema Trigger und Logik vertiefen. Dazu erstellen wir uns eine kleine Beispiel-Steuerung zur Überwachung von einem Fenster. Das Blockly-Script soll folgende triviale Implementierung besitzen:

  • Fensterstatus im Esszimmer geändert – Fenster geöffnet
  • Prüfen ob es Nacht ist über die Astrofunktion
  • Licht im Esszimmer per setState() einschalten
  • Benachrichtigung per Telegram-Adapter versenden

Im nächsten Schritt zeige ich euch das Blockly-Script, mit dem ich diese Steuerung implementiert habe. Das Script dazu sieht folgendermaßen aus:

 

Erklärung des Scripts
Das Blockly-Script wird über den „falls Object“ Block getriggert und somit gestartet. Im Trigger Block wird der Datenpunkt „isopen“ des Xiaomi Fensterkontakt überwacht. Wenn dieser auf „ist wahr“ (true) springt, wird das im Trigger-Body eingefügte Script ausgeführt. Da wir nur während der Nacht eine Benachrichtigung versenden und das Licht im Zimmer einschalten wollen, wird nun im ersten Schritt die Aktuelle Zeit über die Astro-Zeitpunkte „Sonnenaufgang“ und „Sonnenuntergang“ abgefragt. Hierbei wird geprüft, ob sich die aktuelle Uhrzeit nicht in diesem Zeitraum befindet, sprich es Nacht sein muss. Wenn diese Bedingung zutrifft, wird die eigentliche Aktion gestartet. Über den Block „steuere“ wird zunächst das Licht eingeschaltet und eine Benachrichtigung über den Telegram-Adapter versendet.

Ich hoffe ich konnte Dir mit diesem Artikel das Thema Blockly ein wenig näher bringen. Ich freue mich über eure Fragen, Kritik oder Anregungen per Kommentar oder E-Mail.

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

Ein Gedanke zu „Blockly – Beispiel – Fernsterüberwachung

  • 26. Januar 2020 um 12:17
    Permalink

    Hallo Matthias,
    man hat ja eigentlich mehrere Fenster mit solche Xiaomi Fensterkontakt SChalter… ICh würde gerne aus dem obigen Beispiel eine Funktion machen… Übergabe wäre ja dann der Xiaomi Fensterkontaktschalter oder der Küchenfenserschalter etc…… Leider bekomme ich das nicht hin, weil in Funktionen nur Variablen übergeben werden können und keine Datenpunkte… Hast DU eine Idee wie man das realisieren kann…
    Kai

    Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.