ioBrokerioBroker Blockly

ioBroker – Stündliche Aktion ausführen

In diesem Artikel zeige ich Dir, wie Du stündlich eine Aktion ausführen kannst.

Für die Steuerung einer kleinen Infrarot-Heizung benötigte ich ein Script, welches den Aktor jede Stunde für z.B. 5 Minuten einschaltet und dann wieder ausschaltet. Diese Steuerung ist mit Blockly relativ einfach und schnell umgesetzt. Im Artikel zeige ich Dir die Vorgehensweise in Blockly sowie in JavaScript.

Im ersten Schritt möchte ich Dir die Vorgehensweise mit Blockly zeigen.

Wir erstellen daher nun ein neues Blockly Script und fügen im ersten Schritt den Trigger-Block Zeitplan ein. Mit diesem Block können relativ einfach und komfortabel Zeit-Steuerungen realisiert werden.

Mit einem Klick auf den eingefügten Zeitplan-Trigger können wir dann mit der Konfiguration beginnen. Ich habe mich für dieses Anwendungsbeispiel für die Art „Einfach“ entschieden. Als Wiederholung wird hier Intervall aktiviert. Zudem hier 60 Minuten, sodass der Trigger jede Stunde aktiviert wird. Dann sind wir mit der ersten Anforderung „Jede Stunde“ auch schon fertig und können mit der eigentlichen Implementierung des Scrips fortfahren.

Innerhalb des Trigger-Bodys wird zunächst mit dem Block „Steuere“ der entsprechende Aktor eingeschalten. Anschließend wird mit dem Ausführen Block nach 5 Minuten der Aktor wieder ausgeschalten. Hier nun das fertige Script. Ich habe zudem zur besseren Kontrolle noch Telegram-Benachrichtigungen implementiert. Diese werden aber noch einer erfolgreichen Test-Zeit wieder entfernt.

Neben der Lösung als Blockly-Script kann diese Steuerung natürlich auch direkt per JavaScript Code umgesetzt werden. Im folgenden Script-Code wird die selbe Steuerung umgesetzt. Hier wird dann über den schedule Block der Zeitplan umgesetzt. Im nächsten Schritt wird dann per setState der Aktor aktiviert. Um den Aktor nach 5 Minuten wieder ausschalten zu können, wird hier dann per setTimeout() das Ausschalten des Aktors gesteuert.

var heizung_aus;


schedule("*/60 * * * *", async function () {
  setState("sonoff.0.DVES_83753E.POWER"/*DVES_83753E POWER*/, true);
  sendTo("telegram", "send", {
      text: 'Heizung ein'
  });
  heizung_aus = setTimeout(async function () {
    setState("sonoff.0.DVES_83753E.POWER"/*DVES_83753E POWER*/, false);
    sendTo("telegram", "send", {
        text: 'Heizung aus'
    });
  }, 300000);
});

Hier noch Beispiele für die Anwendung des Scripts:

  • Stromverbrauch überprüfen: Überwachen des Energieverbrauchs und Benachrichtigungen bei ungewöhnlich hohem Verbrauch.
  • Automatische Bewässerung: Starten der Gartenbewässerung zur vollen Stunde.
  • Heizung: Aktivierung von IR-Heizungen.

Ich hoffe Dir gefällt der Artikel. Ich freue mich über Deinen Kommentar oder Fragen zum Thema.

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.