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!
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
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
Danke Euch beiden!
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
Hallo Andre,
auch Dir danke. Aber genau diesen phyLevel will ich ja eben nicht haben sondern den von vom chn.
gleiches prinzip. du verwendest level statt physLevel. ohne umweg über einen dummy oder notify.
gruß
andre
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)}}
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)
Danke für den Hinweis!