ioBroker Blockly exec Funktion nutzen

In diesem Post zeige ich euch, wie ihr die ioBroker Blockly exec Funktion für eure Einsätze nutzen könnt. Die exec Funktion von Blockly erlaubt es, auf dem lokalen oder einem remote System Befehle auszuführen. Damit auf einem Remotesystem der Befehl ausgeführt werden kann, muss zwingend SSH ohne Passwort konfiguriert sein. In dem folgenden Beispiel zeige ich euch, wie ich mir die IPv6 Adresse von meinem Raspberry Pi 4 hole.

ssh pi@192.168.0.163 ip addr show dev eth0 | sed -e's/^.<em>inet6 ([^ ]</em>)\/.*$/\1/;t;d' | grep 2a00

Der Befehl sieht kompliziert aus, jedoch soll er nur der Veranschaulichung dienen. Da seit ihr gefragt, was für Informationen von euren Systemen von Bedeutung sind. Hier findest du ein paar einfache Beispiele, insofern dir nichts einfallen sollte.

vcgencmd measure_temp // Aktuelle CPU-Temperatur

free -m // Freier Arbeitsspeicher (RAM)

df -h // Freier und verfügbarer Speicherplatz (SD-Card)

Hier zeige ich euch den Aufbau des Blockly Skripts, damit ihr endlich was zu tun habt.

Blockly excec Funktion

Alle vorhandenen Blöcke findet ihr auf der linken Seite in der Navigation sortiert nach Kategorien. Diese Blöcke können angeklickt oder per Drag & Drop auf die Arbeitsfläche gezogen werden. Also puzzeln wir uns den Quellcode zusammen, ohne eine Zeile Code schreiben zu müssen. Einfach SUPER!

Datenpunkt erzeugen


Als erstes brauchen wir den Block System -> Datenpunkt erzeugen. In das Feld Objekt ID tragen wir den zu erstellenden Datenpunkt ein. Hier ist es: 0_userdata.0.PiHole.ipv6. Ist der Datenpunkt nicht vorhanden wird er generiert, respektive ist er vorhanden wird er nicht überschrieben.

Bitte beachten: Eigene Datenpunkte werden ausschließlich in dem dafür vorgesehenen Ordner: 0_userdata.0 erstellt, doch inzwischen ist das Erstellen von eigenen Datenpunkten nur noch hier erlaubt!

Trigger Zeitplan und excec Funktion


Als nächstes nehmen wir uns den Block: Trigger -> Zeitplan und zu Testzwecken kann hier ein geringer Intervall eingestellt werden z.B. alle 5 Minuten. Anschließend ziehen wir den excec-Block (Aktionen -> excec) in den Zeitplan-Block. Unter Befehl tragt ihr das weiter oben im Text beschriebene Kommando ein oder ein eigenes. Wir wollen unbedingt eine Ausgabe des Kommandos haben, um es in einem Datenpunkt zu speichern. So setzt bitte das Häkchen bei „mit Ergebnissen„.

Variablen erstellen

Damit das Ergebnis der ioBroker Blockly exec Funktion gespeichert wird, benötigen wir eine Variable. Diese können unter dem Punkt Variablen erstellt werden. Wir brauchen die Variable results, um das Ergebnis in den Datenpunkt und den Debug Output übertragen zu können. Ist die Variable erstellt, lässt sie sich einfach als Puzzleteil in den Arbeitsbereich ziehen.

Debug Output

Der Debug Output-Block erzeugt eine Ausgabe des Ergebnisses in der Konsole vom JavaScript Adapter. Das hilft mir persönlich sehr gut bei der Entwicklung, bevor ich die Datenpunkte befülle.

Steuere Objekt ID

Das Steuerobjekt findet ihr unter System. Der erstellte Datenpunkt muss ausgewählt sowie der Baustein Variable reingezogen werden.

Nun aktualisiert sich je nach Einstellung des Zeitplans der Datenpunkt, sofern ihr alles richtig gemacht habt.

Weitere Informationen zur ioBroker Blockly excec Funktion.

Schreibe einen Kommentar

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

* Bitte akzeptiere die Bestimmungen zum Datenschutz.