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 -
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); -
@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.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden