[gelöst]structure und EventMap

Begonnen von SirMarco, 08 August 2018, 11:14:59

Vorheriges Thema - Nächstes Thema

SirMarco

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

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

CoolTux

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
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

SirMarco

#3
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:


CoolTux

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.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

SirMarco

darf ich fragen wie man das setzt "<struct_type>_map"?

mein structure heisst overview_light


Besten dank

CoolTux

Gib mir mal ein list der structure.
Und bitte lese Dir auch die Commandref zu structure durch. Für die Zukunft
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

SirMarco

#7
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

CoolTux

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
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

SirMarco

So ist das genial!!

Ich danke  ;D