structure <struct_type>_map

Begonnen von holzwurm83, 22 September 2018, 19:54:14

Vorheriges Thema - Nächstes Thema

holzwurm83

Hallo zusammen,

ich habe das Problem das mein device im state immer nur die Werte 0-100 anzeigt und ich für meine structure allerdings on oder off benötige. Nun habe ich in dem Device für die structure ein <struct_type>_map gesetzt

Ich wollte das beim Wert 0 off übergeben wird und bei allen anderen Werten on. Allerdings funktioniert es schon mit 0 nicht. Es wird weiterhin der Wert 0 vom state übergeben und nicht off.

attr WZ_Licht_Sessel LI_WZ_map 0:off

defmod WZ_Licht_Sessel HM485 0001D81D_03
attr WZ_Licht_Sessel userattr LI_WZ LI_WZ_map structexclude
attr WZ_Licht_Sessel LI_WZ WZ_Licht_Alle
attr WZ_Licht_Sessel LI_WZ_map 0:off
attr WZ_Licht_Sessel alias Sessel
attr WZ_Licht_Sessel devStateIcon {Log 1, $state;;;; return ".*:$state" if($state=~ /^(on|off)$/);;;; $state=~s/[^0-9]//g;;;; Log 1, "X:$state";;;; $state=~m/^$/||$state<=6?".*:off":sprintf(".*:dim%02d%%",6.25*int($state/6.25))}
attr WZ_Licht_Sessel group Licht
attr WZ_Licht_Sessel icon light_floor_lamp
attr WZ_Licht_Sessel room HM485,Homekit,Wohnzimmer
attr WZ_Licht_Sessel subType dimmer
attr WZ_Licht_Sessel userReadings state {ReadingsVal($name,"level","") }
attr WZ_Licht_Sessel webCmd level
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

CoolTux

Du musst ihm schon das Reading mit geben.
LI_WZ_map 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

holzwurm83

Danke dir,

ich habe das jetzt im Device der Lampe ergänzt, aber es ändert sich dadurch nichts.

LI_WZ_map level:^[1-9][0-9]{0,2}:on level:^0$:off

Habe das mit pct, state und level als reading versucht. Wobei ich pct gar nicht habe...
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

CoolTux

Du kannst das natürlich nur mit einem Reading machen was auch die entsprechenden Werte liefert.
Gib mal bitte ein list vom Device.
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

holzwurm83

Sorry, es funktioniert doch. Also der state von der structure wird richtig erkannt und gesetzt, nur unten bei "Probably associated with" steht weiterhin der Zahlenwert hinter dem entsprechenden Device.

Danke dir
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

CoolTux

Es geht ja auch um die Darstellung der structure. Nur dafür ist dieses Attribut da.
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

holzwurm83

weißt du warum die Attr. einer structure immer nach unten auf die Devise durchgroutet werden? Kann man das auch irgendwie abstellen?
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

rudolfkoenig

Zitatweißt du warum die Attr. einer structure immer nach unten auf die Devise durchgroutet werden?
Ist eine unglueckliche Designentscheidung aus den Zeiten, wo devspec noch nicht so maechtig war.

ZitatKann man das auch irgendwie abstellen?
Leider nicht, man kann nur Geraete in structexclude aufnehmen, aber damit wird auch get und set abgestellt. Immerhin werden eine Menge von "Standardattributen" nicht weitergereicht.