ioBroker: Name und Raum eines Geräts mit Blockly auslesen

Damit du den Namen und zugeordneten Raum eines Datenpunkts in Blockly auslesen kannst, benötigst du ein kleines Script als Funktion, das diese Attribute ausliest.

Blockly-Script

Namen eines Objekts auslesen

Erstelle zuerst eine “JS-Funktion mit Ergebnis” aus dem Bereich “Funktionen”. Über das blaue Zahnrad kannst du eine Variable einfügen. Benenne diese “ObjectID” und die Funktion als solche “Name”:

Blockly-Beispiel: Name und Raum von Datenpunkten mit Blockly auslesen

Über die 3 Punkte “…” öffnest du den Funktions-Editor. In diesen fügst du folgenden Code ein:

let name = getObject(ObjectID).common.name;
return name;

Anschließend speicherst du die Funktion und schließt den Editor. Dann kannst du dir einen “debug”-Block aus dem Bereich “System” unter die Funktion ziehen. An den Eingang des Blocks setzt du den Funktionsblock “Name mit ObjectID”. Als Wert nimsmt du aus dem Bereich “System” den Block “Objekt ID” mit einem Datenpunkt nach Wahl:

Blockly-Beispiel: Name und Raum von Objekten mit Blockly auslesen

Wenn du das Script nun startest, erhältst du im Debug-Log den Namen des Objekts.

Raum eines Objekts auslesen

Die Vorgehensweise ist gleich mit “Namen eines Objekts auslesen”, jedoch mit folgendem Code:

let room = getObject(ObjectID, 'rooms').enumNames[0];
return room.de;

Hinweis: je nach Version deines Javascript-Adapters musst du folgenden Code verwenden:

let room = getObject(ObjectID, 'rooms').enumNames[0];
return room;

Benenne die Funktion am besten “Raum” und lasse dir das Ergebnis wieder mit einem “debug”-Block ausgeben:

Blockly-Beispiel: Name und Raum von Objekten mit Blockly auslesen

Einsatz in einem Trigger-Block

Wenn du innerhalb eines Trigger-Blocks den Namen einer Objekt-ID auslesen möchtest, setzt du an den Eingang des des Funktionsblock einfach einen “Objekt ID”-Block aus dem Bereich “Trigger”:

Blockly-Beispiel: Name und Raum von Objekten mit Blockly auslesen

Du kannst den Funktionsblock nach Belieben in anderen Listen oder Schleifen verwenden oder einem Text- oder SendTo-Block etc hinzufügen:

Blockly-Beispiel: Name und Raum von Objekten mit Blockly auslesen

ioBroker: Mit Blockly und dem ID-Selektor auf systemweite Änderungen reagieren

War dieser Beitrag hilfreich?
Hat dir der Beitrag geholfen?
Die mit Sternchen (*) gekennzeichneten Links sind sogenannte Affiliate-Links. Wenn du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekomme ich von dem betreffenden Online-Shop oder Anbieter eine Provision. Für dich verändert sich der Preis nicht.

3 Kommentare

Kommentieren

Schreibe einen Kommentar