FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Ralli am 16 Oktober 2014, 10:18:03

Titel: Dimmer HM-LC-Dim1TPBU-FM stateFormat
Beitrag von: Ralli am 16 Oktober 2014, 10:18:03
Hallo,

der Homematic-Dimmer HM-LC-Dim1TPBU-FM gibt je nach physischer Betätigung und/oder Steuerung über Kanal 1 (oder sogar 2 und 3) den state nicht nur mit "on", "off", "25" an sondern auch z.B. mit "chn:off phys:25". Das erschwert eine automatische Icon-Darstellung mit devStateIcon.

Faktisch ist bei obigen Beispiel das Licht aus. Ich würde nun gerne mit stateFormat den Status entsprechend anpassen.

Kann mir ein Perl-Experte mal eine entsprechende attr-Zeile basteln, in der nur der Wert hinter chn: als Status gesetzt wird?

Oder ist das der falsche Weg?

Vielen Dank im Voraus!
Titel: Antw:Dimmer HM-LC-Dim1TPBU-FM stateFormat
Beitrag von: frank am 16 Oktober 2014, 19:26:41
tippe mal "version" in deine eingabezeile und poste das ergebnis. meiner tut das nicht.

edit: sorry jetzt habe ich es auch gesehen. hm...

es funktioniert zb so:

set <dev> userReadings status:level {ReadingsVal($name,"level","")?"on":"off"}
set <dev> stateFormat status


gruss frank
Titel: Antw:Dimmer HM-LC-Dim1TPBU-FM stateFormat
Beitrag von: mchris am 16 Oktober 2014, 20:03:38
Hab das nachfolgende Beispiel hier im Forum gefunden und es so für mich gelöst.

define Licht_Wohnzimmer_icon notify Licht_Wohnzimmer:pct.* {\
  my $pctwz = int(%EVTPART1/10)*10;;\
  $pctwz = "00" if (!$pctwz);;\
  fhem("attr Licht_Wohnzimmer devStateIcon .*:light_light_dim_$pctwz");;\
}


Gruß, Chris
Titel: Antw:Dimmer HM-LC-Dim1TPBU-FM stateFormat
Beitrag von: Ralli am 16 Oktober 2014, 21:03:14
Danke Euch beiden!
Titel: Antw:Dimmer HM-LC-Dim1TPBU-FM stateFormat
Beitrag von: justme1968 am 16 Oktober 2014, 21:08:37
du kannst auch direkt im stateFormat perl verwenden. also z.b. so:attr <device> stateFormat {ReadingsVal($name,"phyLevel",0)} und dann mit devStateIcon die passenden icons für die dimmstufen zuweisen. dafür gibt es viele beispiele für rolläden.

gruss
  andre
Titel: Antw:Dimmer HM-LC-Dim1TPBU-FM stateFormat
Beitrag von: Ralli am 17 Oktober 2014, 08:25:14
Hallo Andre,

auch Dir danke. Aber genau diesen phyLevel will ich ja eben nicht haben sondern den von vom chn.
Titel: Dimmer HM-LC-Dim1TPBU-FM stateFormat
Beitrag von: justme1968 am 17 Oktober 2014, 08:54:41
gleiches prinzip. du verwendest level statt physLevel. ohne umweg über einen dummy oder notify.

gruß
  andre
Titel: Antw:Dimmer HM-LC-Dim1TPBU-FM stateFormat
Beitrag von: Ralli am 17 Oktober 2014, 09:37:48
Danke.

Das ist nun mein funktionierendes stateFormat:

{if(ReadingsVal($name,"level",0)==0) {"off"} elsif (ReadingsVal($name,"level",0)==100) {"on"} else {ReadingsVal($name,"level",0)}}
Titel: Antw:Dimmer HM-LC-Dim1TPBU-FM stateFormat
Beitrag von: frank am 19 Oktober 2014, 23:43:26
martin hat am modul nachgebessert. http://forum.fhem.de/index.php/topic,17012.0.html (http://forum.fhem.de/index.php/topic,17012.0.html)
Titel: Antw:Dimmer HM-LC-Dim1TPBU-FM stateFormat
Beitrag von: Ralli am 20 Oktober 2014, 06:39:31
Danke für den Hinweis!