NEWS
Probleme mit createState ..(enums)
-
Hallo ich habe ein Problem beim automatischen erstellen eines Datenpunktes mit der Funktion 'createState'. Ich kann die Datenpunkte erstellen z.b.
createState(name, false, {read: true,write: true, desc: "Beschreibung", type: "boolean", def: false});
Das funktioniert problemlos mit den dan darin entsprechenden Werten. Wie kann ich aber noch die ensprechenden 'Enums' z.b. Raum 'Küche' und Funktion 'Rollosteuerung' angeben?
Wie wäre dann der enstprechend erweiterte Syntax createState (...... enum.Rooms..... enumFunction....)?Danke schön.
-
@lena Diese enums gehören nicht zu den States sondern sind losgelöste Punkte. Ich weiß, mit welcher Funktion Du das modifizierst aber schau mal hier, wenn Du die Objekte Dir im Expert Modus anschaust.
Du findest dann in dem Objektbaum die Räume und Funktionen aufgelistet.
Wenn Du Dir die Rohdaten so eines Datenpunktes anschaust, dann gibst da drin ein Array Members, die die Objekte enthält, den Du diesen Raum zugeordnet hast.
{ "_id": "enum.rooms.bath", "common": { "name": "Bad", "members": [ "0_userdata.0.homekit.devices.MAX_1b13fd", "zigbee.0.00158d0003f4bf3e", "zigbee.0.00158d0004221522", "0_userdata.0.homekit.devices.BaDeckenlampen", "0_userdata.0.homekit.devices.BaAbzug", "0_userdata.0.homekit.devices.BaSpiegel" ], "icon": "", "color": "#357bd4" }, "type": "enum", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1576505102548, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "native": {} }
Vielleicht brauchst Du auch nur die Eigenschaften dieses states verändern und Dein Gerät in das Member Array aufzunehmen.
-
@mickym
Erst mal danke für die schnelle Antwort .. ich schaue mir das mal in Ruhe an. Ich dachte nur weil beim Objekt ja auch die raum und Funktion zuorden bar ist, dass ich das auch über createState rein schreiben kann -
@lena sagte in Probleme mit createState ..(enums):
Ich dachte nur weil beim Objekt ja auch die raum und Funktion zuorden bar ist, dass ich das auch über createState rein schreiben kann
Wenn du dir die Beschreibung der States ansiehst, ist da aber nichts von den Enums drin:
Dieser State
bei dem unter objects Raum und Funktion zugeordnet ist, enthält in der Definition des states nichts davon:
Du musst dir das wie eine relationale Datenbank vorstellen, bei der die Info in verschiedenen Datensätzen vorliegen, in der Ansicht diese aber zusammengeführt werden
-
@homoran
Ja ich habe mich schon gewundert, warum ich in der 'RAW' Ansicht des Objektes das nicht sehe, ja jetzt ist es mir klar,wird quasi in der Übersicht der Objekte angezeigt, aber ist dort nicht abgelegt. Schade, wollte beim anlegen der Objekte über script gleich Funktion und Raum übergeben. Aber da muss ich mir dan irgendwie was anderes ausdenken um das automatisch zuzordenen.