Blockly – Grundlagen – Trigger

In dieser Artikelserie möchte ich das Thema Blockly in ioBroker näher erklären. Der Artikel beschreibt die Funktionsweise von Triggern.

1. Einführung

2. Arten von Triggern

2.1 Falls Objekt (Trigger auf Datenpunkte

2.2 Zeitplan-Trigger

2.3 Astro-Trigger (Sonnenaufgang, …)

2.4 CRON

3. Beispiele

 



 

1. Einführung

Ein Trigger ist ein sogenannter Auslöser, mit dem eine Aktion ausgelöst wird, wenn der vorher definierte Zustand eingetreten ist. In ioBroker existieren verschiedene Arten von Triggern, welche für die Haus-Automatisierung verwendet werden können.

 

2. Arten von Triggern

In den folgenden Abschnitten werde ich nun die verschiedenen Arten von Triggern erklären.

 

2.1 Falls Objekt (Trigger auf Datenpunkte)

Für Datenpunkt-Trigger stehen zwei verschiedene Trigger zur Auswahl.

Trigger für einen Datenpunkt       

 

Trigger für mehrere Datenpunkte

Über einen Klick auf das blaue Konfigurations-Symbol können weitere Datenpunkte hinzugefügt werden.
Dazu einfach das Feld Objekt ID in den Trigger rechts schieben (siehe roter Pfeil).

Um den Datenpunkt zu definieren, klicken wir auf das Feld „Object ID“. Nun öffnet sich die Ansicht der Objekte, auf der wir den zu überwachenden Datenpunkt auswählen können. Wenn der Trigger für mehrere zu überwachende Datenpunkte verwendet wird muss der Vorgang mit der Datenpunkt-Zuweisung für jedes Feld durchgeführt werden.

 

Im nächsten Schritt können wir die Auslöse-Genauigkeit definieren. Hierzu steht eine Auswahl von verschiedenen Möglichkeiten zur Verfügung. Für eine einfache Überwachung von einem Datenpunkt wird die Genauigkeit auf „wurde geändert“ eingestellt.

 

Zusätzlich kann das „Acknowledge“ Flag (ack) abgefragt werden. Ich lasse es in der Regel auf „egal“ stehen.

 

 

2.2 Zeitplan-Trigger

Mit dem Zeitplan-Trigger lassen sich Ereignisse nach einem erstellen Zeitplan auslösen.  Auf der Konfiguration des Zeitplan lässt sich ein Cron-Ausdruck erstellen.

 

So lassen sich z.B. Trigger definieren, welche alle X-Sekunden, Minuten oder Stunden ausgeführt werden sollen. Zudem kann der Monatstag, Monat sowie der Wochentag definiert werden.

 

 

2.3 Astro-Trigger (Sonnenaufgang, …)

Über die Astro-Trigger können Aktionen zu gewissen Astro-Tageszeiten ausgeführt werden. So kann z.B. ein Blockly-Script zum Zeitpunkt des Sonnenaufgangs oder zur Morgendämmerung getriggert werden. Bevor wir die Astro-Trigger einsetzen können, müssen wir unbedingt die korrekten Standort-Informationen in den ioBroker Einstellungen definieren.

 

Zusätzlich muss in den Instanzen auf der Konfiguration des „JavaScript“ Adapters unter Astro-Einstellungen die Einstellung aktiv sein, oder es hier alternative GPS-Koordinaten eingetragen sein.

 

Nach dem wir nun die Standort-Konfiguration abgeschlossen haben, können wir nun den Astro-Trigger einsetzen. In der Liste der Astro-Zeiten können wir nun den gewünschten Zeitpunkt wählen. Wird z.B. Sonnenaufgang eingestellt, dann wird der Block zum Zeitpunkt des Sonnenaufgangs einmalig ausgeführt. Über den Versatz in Minuten können wir den Zeitpunkt noch verschieben. Positive Werte verschieben den Zeitpunkt nach hinten, mit einem negativen Wert wird dieser vorgezogen.

 

2.4 CRON

Siehe Zeitplan-Trigger (Abschnitt 2.2)

 



 

3. Beispiele

Wir haben nun die verschiedenen Arten von Triggern kennengelernt. Im nächsten Schritt wollen wir einen Trigger in einer einfachen Lichtsteuerung einsetzen. Die Steuerung soll so aufgebaut werden, dass in der Abenddämmerung ein Licht eingeschalten wird. Sobald das Astro-Ereignis Nacht eintritt, soll das Licht wieder ausgeschaltet werden.

Dafür füge ich nun den Astro-Trigger in das Script ein. Als Astro-Art wählen wir hier Abenddämmerung aus. Die Aktion, die beim Eintreffen des Ereignisses „Abenddämmerung“ ausgeführt werden soll setzen wir nun in den gelb markierten Bereich des Triggers.

Als Aktion wollen wir ein Licht einschalten. Das Licht hängt in unserem Smart-Home an einem HomeMatic Steckdosen Zwischenstecker. Daher muss der Datenpunkt „STATE“ des Zwischensteckers auf „true“ (wahr) gesetzt werden. Das steuern von Aktoren wird mittels dem Block „steuere“ umgesetzt. Dazu ziehen wir den Block „steuere“ in den Aktionsbereich des Triggers.

Nun müssen wir die zu schaltende Object ID des HomeMatic Aktors (HM-LC-Sw1-… 1.STATE) auswählen. Als Wert für den Block „steuer“ nehmen wir aus der dem Bereich „Logik“ den wahr/falsch block.

Diesen fügen wir nun und und definieren den Wert mit „wahr“, da wir das Licht einschalten möchten.

Für den Bereich Nacht können wir die bestehenden Blöcke kopieren, erneut einfügen und die Astro-Arten auf Nacht sowie den Block „steuere“ auf unwahr umstellen. Der folgende Screenshot zeigt nun die beiden Trigger mit den jeweiligen Blöcken für die Steuerung des Licht.

 

So einfach können wir ein mit Blockly Steuerungen aufgrund von Ereignissen erstellen.

 

Ich hoffe Dir gefällt der Artikel 🙂 Ich freue mich über Deinen Kommentar!

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.

Schreibe einen Kommentar

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

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich akzeptiere