Blockly – System-Blöcke

In dieser Artikelserie möchte ich das Thema Blockly in ioBroker näher erklären. Im Artikel werden wir uns gemeinsam die System-Blöcke ansehen.

1. Debug output

Im ersten kleinen Beispiel zeige ich Dir, wie Du Dir die aktuelle Uhrzeit in einem Script ausgeben kannst. Im Beispiel habe ich dazu einen Trigger auf den Datenpunkt Sensor.Bodenfeuchtigkeit angelegt, der bei einer Veränderung die aktuelle Uhrzeit über den Debug output Block in das ioBroker Log ausgibt. Als Art des Log-Eintrags kann zwischen info, debug, warn und error unterschieden werden.

2. Kommentar

Mit dem Kommentar-Block kannst Du im Blockly-Script eigene Kommentare und Informationen integrieren. Im folgenden Script verwende ich den Kommentar-Block für die Beschriftung von Triggern.

3. Steuere

Der Steuere Block wird verwendet um ein Gerät zu steuern (ack=true). Über den Block kann zum Beispiel ein Gerät ein- oder ausgeschaltet werden. Für den zu schreibenden Wert können feste Werte (true/false) oder auch eigene Variablen verwendet werden. Im folgenden Beispiel verwende ich den Block zur Steuerung eines Lichts über den Astro-Block.

Des weiteren kann hier auch eine Verzögerung des Steuerns-Vorgang aktiviert werden. Damit ist es möglich den Steuern-Vorgang zeitlich zu verzögern.

4. Umschalten

Mit dem Umschalten-Block wird der Wert eines Datenpunktes umgeschaltet. In meinem Beispiel funktioniert der Taster als Ein- und Ausschalter für eine Lampe. Wird der Taster gedrückt wenn die Lampe ausgeschaltet ist, so wird die Lampe eingeschaltet. Ist die Lampe eingeschaltet, so wird sie ausgeschaltet. Auch hier kann wieder eine Verzögerung für den Schaltvorgang aktiviert werden.

5. Aktualisieren

Mit dem Block aktualisieren wird der Wert eines Datenpunkt gesetzt. Im folgenden Beispiel verwende ich wieder den Taster um damit den Zeitpunkt des Tastendrucks in einem eigenen Datenpunkt zu dokumentieren. Im Datenpunkt wird der Zeitstempel des Tastendrucks vermerkt.

6. Binde Object

Mit dem Block Binde Object kann zwei Datenpunkte synchronisiert werden. Mit dem hier dargestellten Beispiel-Script wird das State des Fernsehers mit dem State der Stehlampe synchronisiert. Wenn der Fernseher eingeschaltet wird, wird automatisch auch die Stehlampe eingeschaltet. Mit der Einstellung „nur Änderungen“ wird die Synchronisierung nur für Wert-Änderungen aktiviert.

7. Schreibe

Der Block Schreibe steuert oder aktualisiert den angegebenen Datenpunkt mit übergebenen Wert. Zudem kann hier ebenfalls eine Verzögerung in Millisekunden hinterlegt werden. Die Einstellung löschen falls läuft wird verwendet um die Verzögerung zu beenden, falls der Wert nochmals geändert wurde.

8. Datenpunkt erzeugen

Mit dem Block Datenpunkt erzeugen können wir über ein Script einen eigenen Datenpunkt anlegen. Hierfür muss die Objekt ID fest im Block hinterlegt werden. Mit der Einstellung Init-Wert wird der Wert nach der Erzeugung initialisiert. Über die Common Einstellung können zusätzliche Definitionen über ein JSON-Zeichenkette mitgegeben werden. Im Beispiel verwende ich hier folgende Einstellungen für das Setzen des minimalen, maximalen und der Einheit des Datenpunkts:

{ "type": "number", "min": 0, "max": 100, "unit": "%" }

Innerhalb des Blocks können dann noch weitere Blöcke hinterlegt werden, die nach Fertigstellung der Datenpunkt Erzeugung ausgeführt werden.

9. Wert von Objekt ID

Mit dem Block „Wert vom Objekt ID“ können wir im Script einen beliebigen Datenpunkt auslesen und den Wert zurückgeben. Über das DropDown-Menü können wir hier den eigentlichen Wert, den Zeitstempel der letzten Änderung sowie auch die Quelle oder das Ack-Flag auslesen. Im folgenden Beispiel sende ich mir den aktuellen Zisternen Füllstand über den Taster.

Grundlagen Trigger System-Blöcke Zeichenfolgen   Datum und Uhrzeit Konvertierungen Farben   Listen   Schleifen   Timeout   Mathematik   Kommunikation   Hue / Yeelight Leuchtmittel steuern   Beispiele  

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. Erforderliche Felder sind mit * markiert.