NEWS
Objektdaten eines States per JavaScript ändern / Name ändern
-
Hallo,
ich bräuchte mal kurze Hilfe bei meinem Problem.
Ich möchte die den Namen eines States, der sich in den Objektdaten (.common,name )befindet per Javascript abändern.{ "type": "device", "common": { "name": "ZBMINI", "type": "ZBMINI", "icon": "img/ZBMINI.png", "color": null, } }, }
Auslesen funktioniert wunderbar per:
log(getObject("zigbee.0.StateName").common.name);
Versucht habe ich es über setObject allerdings ist mein Syntax wohl nicht ganz richtig
setObject("zigbee.0.StateName",).common.name="Test";
Wer kann mir auf die Sprünge helfen wie's richtig geht?
Michael -
@mbartsch sagte: Wer kann mir auf die Sprünge helfen wie's richtig geht?
Mit extendObject(). In der Konfiguration der JS-Instanz muss "setObject" freigegeben sein.
-
@paul53 Ich vermute du meinst "Kommando setObject erlauben". Das hatte ich schon gemacht.
Ich hab noch weiter rum probiert und eine Lösung gefunden.
Ich vermute mein Fehler war, dass den Objektwert selbst mit übergeben muss; setObject gibt mir keine Referenz auf das Objekt zurück, das ich verwenden könnte, um den Namen direkt zu ändern.
Bitte korrigiert mich falls ich hier falsch liege, lerne gerne dazu.Hier meine Lösung die funktioniert:
let TestObject=getObject("zigbee.0.`xxx"); log (TestObject); TestObject.common.name="Neuer Name"; setObject("zigbee.0.xxx",TestObject);
-
-
@ofri2607 sagte in Objektdaten eines States per JavaScript ändern / Name ändern:
@mbartsch
So wie im Link von @paul53 gezeigt, sollte es eigentlich so auch funktionieren:log (TestObject); extendObject('zigbee.0.xxx', {common: {name: "Neuer Name"}});
Das ist auch zu bevorzugen, weil man weniger kaputt machen kann.