NEWS
Durch enums iterieren?
-
Hallo zusammen,
ich versuche in einem flow über enums zu iterieren, bzw. suche gerade nach einer Möglichkeit dafür. Dachte eigentlich dass ich den ioBroker list node dafür verwenden kann, aber dieser liefert mir immer nur eine leere Liste, egal wie ich den node konfiguriere.
Habe ich den falschen Ansatz gewählt oder wie sollte man mit dem Node-Red Adapter die ioBroker enums nutzen?
Danke für eure Hilfe!
Micha -
@m-schmidt Ja leider ist der NodeRed Adapter hier in der Funktionalität dem Javascript bzw. Blockly unterlegen.
Was Du machen kannst ist über die States der einzelnen Adapter suchen.
In den Objekten der List Node siehst Du dann die enums, die Du dann halt rausfilterst.
{ "_id": "0_userdata.0.homekit.devices.BaDeckenlampen.On", "type": "state", "common": { "name": "On", "role": "switch", "type": "boolean", "desc": "Manuell erzeugt", "read": true, "write": true }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1636298968573, "enums": { "enum.functions.light": "Licht", "enum.rooms.bath": "Bad" } }
Also zum Beispiel:
"enum.functions.light": "Licht",
Die Arrays aus den einzelnen Adaptern kannst, ja dann ggf. wieder mergen.
-
Super, danke für die Hilfe. Ja ist etwas schade, dass es nicht out of the box einen einfachen Weg gibt um mit den Enums zu arbeiten.
Habe mir mit deinen Informationen jetzt einen kleinen Subflow gebastelt, an den ich ein Such-Topic und den gewünschten Enum-Namen übergeben kann. Der Subflow findet dann alle states welche zum gewünschten enum gehören und gibt mir jede ID mit einer eigenen message zurück. Damit kann ich dann sehr einfach in meinen Flows über die entsprechenden messages weiterarbeiten.
Weiterhin kann ich mit dem Subflow auch gleich unerwünschte enums herausfiltern (habe ein enum mit automatisierten states, welche ich ggf. ignorieren möchte) und der Subflow hat auch noch die Möglichkeit nur aktive states zu berücksichtigen. Damit hab ich eine eierlegende Wollmichsau die ich überall in meinen Flows einsetzen kann.
MfG Micha