FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: SirMarco am 08 August 2018, 11:14:59

Titel: [gelöst]structure und EventMap
Beitrag von: SirMarco am 08 August 2018, 11:14:59
Hallo zusammen

Vielleicht könnt ihr mir helfen oder einen Tipp geben. Folgendes Ziel habe ich: Möchte mir mit structure alle HUEDevices anzeigen die eingeschaltet sind, inkl. die die gedimmt sind als "ON". Dachte es funktioniert mit EventMap, aber die States werden nicht geändert.

Mein structure:

Internals:
   ATTR       HUEDevice1
   CHANGEDCNT 18
   DEF        HUEDevice1 HUEDevice2 HUEDevice4 HUEDevice5 HUEDevice6 HUEDevice7
   NAME       overview_light
   NR         203
   NTFY_ORDER 50-overview_light
   STATE      off
   TYPE       structure
   READINGS:
     2018-08-08 10:21:37   LastDevice      HUEDevice2
     2018-08-08 10:21:37   LastDevice_Abs  HUEDevice2
     2018-08-08 10:21:37   state           off
Attributes:
   clientstate_behavior relative
   clientstate_priority on off
   eventMap   dim.*on on:on off:off
   room       000


Habt ihr einen Vorschlag oder einen bessere Idee? Muss ich über einen Dummy gehen?

Liebe Grüsse
Titel: Antw:structure und EventMap
Beitrag von: Otto123 am 08 August 2018, 11:28:41
Hi,

ob das wirklich geht weiß ich nicht, aber wenn schon musst Du eventMap so definieren wie es vorgesehen ist:
https://commandref.fhem.de/commandref_DE.html#attributes
ZitatJeder Wert ist ein durch Doppelpunkt getrenntes Paar.

hier vermisse ich den : -> dim.*on

Gruß Otto
Titel: Antw:structure und EventMap
Beitrag von: CoolTux am 08 August 2018, 11:38:33
structure verpasst allen eingebundenen Devices einen <struct_type>_map Attribut.
Bei meinen Hues habe ich da
pct:^[1-9][0-9]{0,2}:on pct:^0$:off
Titel: Antw:structure und EventMap
Beitrag von: SirMarco am 08 August 2018, 11:49:15
Zitat von: Otto123 am 08 August 2018, 11:28:41
Hi,

ob das wirklich geht weiß ich nicht, aber wenn schon musst Du eventMap so definieren wie es vorgesehen ist:
https://commandref.fhem.de/commandref_DE.html#attributes
hier vermisse ich den : -> dim.*on

Gruß Otto

Besten Dank, das habe ich natürlich angepasst

Zitat von: CoolTux am 08 August 2018, 11:38:33


structure verpasst allen eingebundenen Devices einen <struct_type>_map Attribut.
Bei meinen Hues habe ich da
pct:^[1-9][0-9]{0,2}:on pct:^0$:off

da kann ich dir leider nicht ganz folgen. in den HueDevices als EventMap eintragen?

So sieht mein Device aus:
Internals:
   CHANGED   
   DEF        5  IODev=hueBridge
   ID         5
   INTERVAL   
   IODev      hueBridge
   NAME       HUEDevice5
   NR         193
   STATE      dim68%
   TYPE       HUEDevice
   desired    1
   manufacturername Philips
   modelid    LCT012
   name       Anke
   productid  Philips-LCT012-1-E14ECLv1
   swconfigid EA9279F9
   swversion  1.29.0_r21169
   type       Extended color light
   uniqueid   00:17:88:01:03:b8:cc:ca-0b
   READINGS:
     2018-08-07 12:01:06   alert           none
     2018-08-08 11:56:40   bri             189
     2018-08-08 09:43:07   colormode       xy
     2018-08-08 10:03:48   ct              153 (6535K)
     2018-08-07 12:01:06   effect          none
     2018-08-08 11:45:48   hue             47104
     2018-08-08 11:47:33   onoff           1
     2018-08-08 11:56:40   pct             74
     2018-08-07 12:01:06   reachable       1
     2018-08-08 11:45:48   rgb             0905f9
     2018-08-08 11:45:48   sat             254
     2018-08-08 11:56:40   state           dim68%
     2018-08-08 11:45:48   xy              0.1532,0.0475
   helper:
     alert      none
     bri        189
     colormode  xy
     ct         153
     devtype   
     effect     none
     hue        47104
     pct        74
     reachable  1
     rgb        0905f9
     sat        254
     update_timeout -1
     xy         0.1532,0.0475
Attributes:
   IODev      hueBridge
   alias      Anke
   color-icons 2
   devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
   eventMap   pct:^[1-9][0-9]{0,2}:on pct:^0$:off
   icon       hue_filled_white_and_color_e27_b22
   model      LCT012
   room       02_HUE-Config,15_Bedroom
   subType    extcolordimmer
   userattr   room_map structexclude
   webCmd     rgb:rgb ff0000:rgb DEFF26:rgb 0000ff:ct 490:ct 380:ct 270:ct 160:toggle:on:off


Ah ich glaube ich habe verstanden. Den EventMap setzt er dann bei den Devices die im structure definiert sind. welchen Wert "vergleicht" den structure? Dachte immer den der unten bei "probably...." steht:

Titel: Antw:structure und EventMap
Beitrag von: CoolTux am 08 August 2018, 12:15:41
Lösche eventmap

Setzte bei den Hue Devices das Attribut <struct_type>_map so wie ich es geschrieben habe.
Was Du bei der structure Definition als struct_type angegeben hast weiß ich nicht.
Titel: Antw:structure und EventMap
Beitrag von: SirMarco am 08 August 2018, 12:38:28
darf ich fragen wie man das setzt "<struct_type>_map"?

mein structure heisst overview_light


Besten dank
Titel: Antw:structure und EventMap
Beitrag von: CoolTux am 08 August 2018, 12:45:22
Gib mir mal ein list der structure.
Und bitte lese Dir auch die Commandref zu structure durch. Für die Zukunft
Titel: Antw:structure und EventMap
Beitrag von: SirMarco am 08 August 2018, 12:46:42
Das habe ich bereits, irgendwo hängt es da bei mir

Hier die List:

Internals:
   ATTR       HUEDevice1
   CHANGEDCNT 0
   DEF        HUEDevice1 HUEDevice2 HUEDevice4 HUEDevice5 HUEDevice6 HUEDevice7
   NAME       overview_light
   NR         203
   NTFY_ORDER 50-overview_light
   STATE      off
   TYPE       structure
   READINGS:
     2018-08-08 11:56:40   LastDevice      HUEDevice5
     2018-08-08 11:56:40   LastDevice_Abs  HUEDevice5
     2018-08-08 11:56:40   state           off
Attributes:
   clientstate_behavior relative
   clientstate_priority on off
   room       000
 


Zitat<struct_type>_map
Mit diesem Attribut, das dem Struktur-Mitglied zugewiesen werden muss, koennen die Werte, die die einzelnen Struktur- Mitglieder melden, umdefiniert werden, damit man unterschiedliche Geraeteklassen zusammenfassen kann. Es existieren drei Varianten:
readingName
nehme den Wert von readingName anstatt von state
oldVal:newVal
falls der Wert der state Reading oldVal (als regex) ist, dann ersetze diesen mit newVal.
readingName:oldVal:newVal
falls der Wert der readingName oldVal (als regex) ist, dann ersetze diesen mit newVal.
Beispiel:
define tuer OWSWITCH <ROMID>
define lampe1 dummy
attr lampe1 cmdlist on off
define kueche structure struct_kitchen lamp1 door
attr kueche clientstate_priority An|on OK|Aus|off
attr lampe1 struct_kitchen_map on:An off:Aus
attr tuer struct_kitchen_map A:open:on A:closed:off
attr tuer2 struct_kitchen_map A

<struct_type>_map habe ich gar nicht in meiner attr dropdown
Titel: Antw:structure und EventMap
Beitrag von: CoolTux am 08 August 2018, 12:54:29
DEF        HUEDevice1 HUEDevice2 HUEDevice4 HUEDevice5 HUEDevice6 HUEDevice7

Da ist ein kleiner Fehler drin.

DEF        alleHues HUEDevice1 HUEDevice2 HUEDevice4 HUEDevice5 HUEDevice6 HUEDevice7

Wenn du es so machst passt es und du hast mit alleHues Dein struct_Type

Und dann setzt du das Attribut bei den Hue Lampen

attr HUEDevice1 alleHues_map
Titel: Antw:structure und EventMap
Beitrag von: SirMarco am 08 August 2018, 13:05:45
So ist das genial!!

Ich danke  ;D