ioBrokerioBroker Blockly

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.

7 Gedanken zu „Blockly – Zeitplanung zur Schaltung von Aktoren

  • Ingo Stäubner

    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
    • Matthias Korte

      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
  • Ingo Stäubner

    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
  • Micha

    Kann man es mit dem Script realisieren, dass Wochentag, Stunde und Minuten in VIS ausgewählt werden? An für sich ist es ja ein super Regelung mit dem Zeitplan.

    Antwort
    • Ja. Ich bastel gerade an einer Heizungssteuerung, das mit der Uhrzeit geht schon, das mit den Wochentagen dank nicht vorhandener Dokumentation dauert noch.

      Antwort
  • Sebastian Nagels

    Hallo Matthias,

    danke für deine interessanten Beiträge. Ich habe mir mittels des Zeitbausteins eine Meldung zum Mülltonnen raustellen erstellt. Alle zwei Wochen Donnerstag soll eine Push-Nachricht via Telegramm erscheinen, „stelle deine gelbe Mültonne raus“. Das selbe habe ich auch nochmal für die graue Mültonnen mit einem Wochen Rhythmus erstellt.
    Das mit der grauen Tonne einmal in der Woche klappt ohne Probleme.
    Das mit der gelben Tonne alle zwei Wochen am Donnerstag funktioniert leider nicht. Hier bekomme ich leider so wie bei der grauen jede Woche eine Push Nachricht via Telegramm. Obwohl anders eingestellt.
    Es wäre schön wenn du dir das mal anschauen könntest

    Lg Sebastian

    Antwort
  • Freddy

    Hallo Matthias,
    Bedächte bitte deine Hilfe.
    Habe das Beispiel 1:1 nachgebaut.
    Möchte um 6:00 ein Relais einschalten (Datenpunkt heißt Power1)
    Und um 19:00 ausschalten.
    Das jeden Tag.
    Wenn ich im IOBroker von Hand auf false oder True setze schaltet das Relay.
    Mit dem Blockly nicht.
    Das Relays ist an einem Tasmota ESP angeschlossen und wird über MQTT gesteuert.
    Hast Du ein Blockly das die Kommunikation zu einem MQTT Device überwacht?
    Z.B. Nur wenn eine Kommunikation läuft soll das Relays geschaltet werden.
    Eine Antwort wäre super.
    Gruß
    Freddy

    Antwort

Schreibe einen Kommentar zu Ingo Stäubner Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht.