ioBroker – Räume / Funktionen von Datenpunkten bestimmen

Mit dem folgendem JavaScript lässt sich ermitteln welcher Raum einem Datenpunkt DP zugeordnet ist.

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

oder auch

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

Das funktioniert natürlich auch mit Funktionen die einem Datenpunkt zugeordnet werden können.

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

oder auch

let func = getObject(ObjectID, 'functions').enumNames[0];
return func;

Das ganze klappt aber nur so lange, so lange ein Datenpunkt lediglich ein Raum / eine Funktion hat.

Sind mehrere Räume / Funktionen zugeordnet ist ein klein wenig mehr JavaScript zum ermitteln der Räume / Funktionen eines ioBroker Datenpunktes notwendig.

let func = getObject(ObjectID, 'functions').enumNames;
let funcGetName = '';

for (let key in func) {
    funcGetName = '';

    if (typeof func[key] == 'object') {
        funcGetName = func[key].de;
    } else {
        funcGetName = func[key];
    }
    
    log('Funktion: ' + funcGetName);
}

Schreibe einen Kommentar

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