NEWS
ENUM (Aufzählung) auf einen Datenpunkt setzen bzw. löschen
-
Kann mir jemand sagen wie ich auf einem Datenpunkt Enums setzen und löschen kann?
Ich würde bsp. gerne alle zugewiesenen Enums hier löschen:
var raeume = getObject('0_userdata.0.roborock.raumtest', 'rooms').enumNames
Wie kann ich per Javascript dem Datenpunkt "0_userdata.0.roborock.raumtest" ein ENUM hinzufügen?
-
@flo-0 sagte: Wie kann ich per Javascript dem Datenpunkt "0_userdata.0.roborock.raumtest" ein ENUM hinzufügen?
Beispiel:
const kueche = getObject('enum.rooms.kitchen'); kueche.common.members.push("0_userdata.0.roborock.raumtest"); setObject('enum.rooms.kitchen', kueche);
-
@paul53 vielen Dank. Hat 1A funktioniert. Wenn du mir jetzt noch zeigen könntest wie ich bei kitchen den Eintrag 0_userdata.0.roborock.raumtest wieder rausnehmen kann wäre ich dir echt dankbar :-).
ginge das etwa so: kueche.common.members.pop("0_userdata.0.roborock.raumtest"); ?
Bin da etwas vorsichtig weil ich heute bereits mal die recovery Option anwenden durfte ^^.
-
@flo-0 sagte: bei kitchen den Eintrag 0_userdata.0.roborock.raumtest wieder rausnehmen kann
const kueche = getObject('enum.rooms.kitchen'); let pos = kueche.common.members.indexOf("0_userdata.0.roborock.raumtest"); if(pos != -1) { kueche.common.members.splice(pos, 1); setObject('enum.rooms.kitchen', kueche); }
-
@paul53 vielen Dank werde es morgen implementieren. Das hilft mir echt weiter Herzlichen Dank.
Yuhuu! Funktioniert genau so wie ich mir das vorgestellt habe Endlich kann ich die Raumclean Funktion gut umsetzen. Falls jemand anders das gleiche sucht, so habe ich es umgesetzt:
var enumname; async function setenum(enumname) { const room = getObject(enumname); room.common.members.push("0_userdata.0.roborock.raumtest"); setObject(enumname, room); } async function delenum(enumname) { const room = getObject(enumname); let pos = room.common.members.indexOf("0_userdata.0.roborock.raumtest"); if(pos != -1) { room.common.members.splice(pos, 1); setObject(enumname, room); } } on({id: '0_userdata.0.roborock.zimmer.flo', val: true}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; await setenum('enum.rooms.Flo'); }); on({id: '0_userdata.0.roborock.zimmer.flo', val: false}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; await delenum('enum.rooms.Flo'); }); ... => und das gleiche für alle weiteren Räume ....