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:

  • ack
    Ack-State gesetzt
  • ts
    Zeitstempel der letzten Aktualisierung
  • q
    Quality des Wertes
  • from
    Adapter-Nme der letzten Aktualisierung
  • lc
    Zeitstempel der letzten Wert-Änderung

 

 

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:

  • debug
  • info (default)
  • warn
  • error

 

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 ?

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.

2 Gedanken zu „ioBroker JavaScript – Systemfunktionen

  • 12. April 2021 um 22:59
    Permalink

    Für Neu anfänger nicht geeignet, dei Beschreibungen sind uralt teilweise von 2018 usw.
    Die Adapter wurden in der Zeit weiter entwickelt , sehen teilweise im Aufbau der Ansicht und Funktionen ganz anders aus.

    Wenn man solche Webseite mit Blog betreibt sollte man auch auf dem neusten Stand sein.
    versuche vergeblich eine Beschreibung zu finden wie ich ein Script einfügen kann .
    Iobroker version 4.2.1
    JS Version 5.0.14

    Antwort
    • 13. April 2021 um 20:33
      Permalink

      Hallo,

      was ist denn genau das Problem? Was funktioniert denn bei Dir nicht? Die Systemfunktionen getState(), setState() oder auch das Logging haben sich nicht verändert. Warum sollte ich hier eine Anpassung vornehmen?
      Ein wenig mehr Details was genau nicht funktioniert wäre viel hilfreicher als Dein aktueller Kommentar.

      LG Matthias

      Antwort

Schreibe einen Kommentar

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