smarthome-tricks.de

ioBroker Zeitsteuerung via Script

In diesem Artikel zeige ich Dir, wie Zeitsteuerungen per Script ausgeführt werden können.In einem anderen Artikel habe ich bereits gezeigt, wie einfache Zeitsteuerungen via Kalender erstellt werden können. In diesem Artikel erstellen wir eine Zeitsteuerung via Script, in dem wir flexibler und einfacher auf verschiedene Objektzustände reagieren können. Im ersten Schritt gehen wir dazu in der ioBroker Administrationsoberfläche auf die Tab-Lasche „Skripte“.

Unter dem Bereich Common erstellen wir dann ein neues Script, welches wir zur Zeitsteuerung einsetzen.

 

Im nächsten Schritt wählen wir als Engine-Typ „JavaScript“ aus. Zudem können wir hier noch den Namen des Scripts anpassen.

 

Für die Zeitsteuerung soll die schedule Funktion verwendet werden. Die schedule() Funktion besitzt folgende Parameter-Signatur:

 

schedule (pattern, callback)

Der Parameter pattern beschreibt die Cron-Syntax, als callback wird die Funktion definiert, welche zum definierten Zeitpunkt ausgeführt werden soll. Im folgenden Bild ist der Cron-Syntax beschrieben, ich gehe auf diesen Syntax aber nicht näher ein, da wir hier eine andere Form nutzen werden.

 

Anstatt des Cron-Syntax verwenden wir folgende Schreibweise um unsere Zeitsteuerung zu realisieren:

schedule({hour: 20, minute: 15}, RunDailyScript );

function RunDailyScript() {
  log("Skript wird jeden Tag um 20:15 ausgeführt");
}

 

Mit dem schedule haben wir nun definiert, dass das Skript jeden Tag um 20:15 ausgeführt werden soll. In der Funktion RunDailyScript() können wir nun unsere eigene Logik integrieren, mit dem das Skript auf entsprechende Objektzustände reagiert.

Die schedule Funktion besitzt weitere Parameter:

 

Beispiel:

schedule({hour: 14, minute: 30, dayOfWeek: 0}, function(){
  console.log('Sonntag Mittag 14:30 - Zeit für einen Kaffee ;-)');
  drinkCoffee();});

 

Im Beispiel-Code wird die Funktion „drinkCoffee“ immer Sonntags um 14:30 ausgeführt.

 

Ich hoffe euch gefällt dieser Artikel. Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer 🙂

Die mobile Version verlassen