Blockly – Zeitplanung zur Schaltung von Aktoren

In dieser Artikelserie möchte ich das Thema Blockly in ioBroker näher erklären. Im Artikel zeige ich, wie Du verschiedene Aktoren (z.B. Leuchtmittel) mittels einem Zeitplan in Blockly steuern kannst.

Für den Artikel möchte ich ein Außenlicht mittels einem Zeitplan steuern. Das Außenlicht soll wie folgt geschaltet werden.

  • Montag – Freitag um 5:00 Uhr einschalten – Ausschalten bei Sonnenaufgang
  • Samstag und Sonntag um 6:00 Uhr einschalten – Ausschalten bei Sonnenaufgang

 

Im ioBroker JavaScript-Adapter gibt es dazu den Block „Zeitplan“. Der Block unterstützt für die Konfiguration verschiedene Einstellungsvarianten. Im ersten Schritt fügen wir nun den Block in unser Script ein. Dazu öffnen wir den Bereich „Trigger“ und ziehen den Block „Zeitplan“ auf unseren Script-Bereich.

 

Nach dem Einfügen im Script können wir den Block nun mit einem Klick auf die Zeitplan-Definition „*****“ bearbeiten. In der Konfiguration können folgende Einstellungen unterschieden werden:

  • Wizzard
  • Einfach
  • CRON

 

Im Artikel beschäftigen wir uns mit dem Wizzard. Im ersten Schritt werden wir uns nun den Wizzard ansehen. Im Wizzard können wir recht komfortabel den Zeitpunkt definieren, an dem der Trigger ausgelöst werden soll. Wir können hier die Zeit sowie den Zeitraum definieren. Für unsere Steuerung wählen wir im ersten Schritt im Bereich Zeitraum die Wochentage Montag bis Freitag aus.

 

Im nächsten Schritt wählen wir im Bereich Zeit eine bestimmt Zeit und setzen den Wert auf „05:00“ Uhr.

 

Nach der Einstellung des Zeitraums sowie des Zeitpunkts sehen wir nun oben den Zeitpunkt des Triggers. Damit haben wir jetzt im ersten Schritt die Einschaltzeit der Beleuchtung an Werktagen definiert.

 

Im nächsten Schritt können wir nun die Aktion definieren, die durch den Zeitplan ausgeführt werden soll. Im Artikel setze ich einen eigenen Datenpunkt auf wahr „true“. Hier kannst Du deinen zu schaltenden Datenpunkt auswählen. Optional kannst Du hier noch eine Verzögerung aktivieren, für unser Beispiel würde das aber keinen Sinn machen.

 

Wir können den gerade erstellen Zeitplan-Trigger nun per „copy and paste“ duplizieren und die Wochentage sowie die Zeit für das Wochenende anpassen. Die Konfiguration des Zeitplans sieht nun wie folgt aus.

 

Zur besseren Übersichtlichkeit würde ich hier die beiden Trigger mit einem Kommentar versehen. So siehst Du in der Definition direkt um welchen Trigger es sich handelt. Gerade spätere Anpassungen oder Erweiterungen werden so erleichtert. Ich verwende Kommentare immer dann, wenn es in einem Script mehrere Trigger für verschiedene Zustände oder Zeitpläne gibt. Der Kommentar-Block ist unter System zu finden, und kann einfach am Trigger platziert werden.

 

Die beiden Zeitpläne sehen nun wie folgt aus:

 

Im nächsten Schritt erstellen wir nun noch einen Zeitplan, mit dem das Außenlicht wieder ausgeschalter wird. Dazu setzen wir die Zeit-Einstellung zunächst auf „Bestimmte Zeit“. In der Liste können wir nun die verschiedenen Astrozeiten auswählen. Für das Beispiel benötigen wir den Eintrag „Sonnenaufgang“. Als Zeitraum setzen wir hier „Täglich“.

 

 

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

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.

3 Gedanken zu „Blockly – Zeitplanung zur Schaltung von Aktoren

  • 11. Januar 2020 um 16:49
    Permalink

    Guten Tag Herr Korte,
    ich bin Neuling im iobroker System. Die Funktion aus Ihrem Blogbeitrag „Blockly – Zeitplanung zur Schaltung von Aktoren“ ist genau das was ich gesucht habe.
    Danke für den tollen gut erklärten Blog und endlich mal nicht ein youtube video !

    Tatsächlich wird bei mir die Ansteuerung einer „MQTT-Steckdose“ nicht ausgeführt, wenn ich die Astrofunktion im Wizard nutze.
    Also genau das hier funktioniert bei mir nicht.
    ZITAT:
    Dazu setzen wir die Zeit-Einstellung zunächst auf „Bestimmte Zeit“. In der Liste können wir nun die verschiedenen Astrozeiten auswählen. Für das Beispiel benötigen wir den Eintrag „Sonnenaufgang“. Als Zeitraum setzen wir hier „Täglich“.
    ZITAT ENDE
    Auch ein Debug output innerhalb oder außerhalb des Zeitplanes wird nicht aufgerufen, als würde die Zeitplan/Astrofunktion gar nicht aufgerufen.
    Eine Zeitplan zu einer bestimmten Uhrzeit funktioniert einwandfrei.
    siehe Bild: https://sabingos.de/tmp/AstroProblem.jpg
    Haben Sie eine Idee was falsch sein könnte (Raspi4 piVCCU3 und java version 4.1.12 stable) ?
    LG aus dem Ruhrgebiet
    Ingo Stäubner

    Antwort
    • 11. Januar 2020 um 19:41
      Permalink

      Hallo Ingo,

      ich dutze Dich einfach mal, ist einfacher 😉
      Hast Du in den ioBroker Einstellungen Deinen Standort (Breitengrad und Längengrad) hinterlegt?
      Diese Einstellung ist für die Astro-Berechnung erforderlich, ich vermute hier liegt das Problem.

      Viele Grüße,
      Matthias

      Antwort
  • 15. Januar 2020 um 13:56
    Permalink

    Hallo Matthias,
    Danke für die Rückmeldung, tatsächlich habe ich den Standort festgelegt und der Java adapter bestätigt das auch (Systemeinstellung ist korrekt).
    Warum auch immer hatte diese Problem jemand aus dem iobroker-Forum (evtl. liegt’s an der Adaper Version).
    Ich habe es nun anders gelöst:
    Astro Abenddämmerung Trigger
    -dann Abfrage ob Wochentag <=5 (also Mo bis Fr)
    wenn ja : steuere Leuchtenobjekt

    Jetzt klappt es.
    Dennoch Danke für die Antwort.
    Mfg Ingo

    Antwort

Schreibe einen Kommentar

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