smarthome-tricks.de

ioBroker JavaScript – Systemfunktionen

In diesem Artikel zeige ich Dir die wichtigsten ioBroker Systemfunktionen.

ioBroker liefert bereits einige JavaScript Systemfunktionen, mit denen auf die Objektstruktur, das Scheduling oder das Logging zugegriffen werden kann. Im Artikel werden wir uns diese Systemfunktionen genauer ansehen und anhand von Beispielen erklären.

 

Inhaltsverzeichnis

1. Zugriff auf Objektstruktur

2. Logging

 

1. Zugriff auf Objektstruktur

Über die ioBroker Objektstruktur (Datenpunkte) werden die verwalteten Objekte der einzelnen Instanzen abgelegt. Zudem können hier auch eigene Daten z.B. Sensordaten gespeichert werden. Der JavaScript Zugriff auf die Objekte erfolgt über die beiden Funktionen getState und setState.

 

getState

Mit getState kann ein Objekt aus der ioBroker Objektstruktur ausgelesen werden. Mit der Punktnotation sowie dem Member val kann nun der Wert des Objektes ausgelesen werden.

var Status = getState("hm-rpc.0.OEQ0167091.1.STATE").val;

if ( Status ) {
  // Anweisung
}

 

Wenn wir uns einmal das von getState() zurückgegebene Objekte genauer ansehen, sehen wir neben dem Val-Member noch weitere Member, welche wir auf dem selben Weg (Punktnotation) auslesen können. Mit dem inspect-Util habe ich hier den Wert ausgegeben:

 

 

setState

Mit setState kann ein Wert der Objektstruktur von ioBroker gesetzt werden.

setState("hue.0.Philips_hue.Hue_white_lamp_1.on",true);

 

 

2. Logging

Für die Fehlersuche oder für Info-Ausgabe kann direkt mit der log() Funktion in das ioBroker Log geschrieben werden. Der 1. Parameter gibt die Zeichenfolge an, die in das Log geschrieben wird. Mit dem 2. Parameter der log() Funktion können wir die Art des Eintrags schreiben. Folgende Arten stehen zur Verfügung:

 

Hier ein Beispiel-Script für einen Fehler im Log:


function testlog() {
log("test 123", "error");
}

testlog();

Ansicht im Log:

 

 

Ich hoffe euch gefällt dieser Artikel. Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer ?

Die mobile Version verlassen