Hallo zusammen,
ich würde gerne per devStateIcon die Farbe eines Thermometer-Icons in Abhängigkeit der gemessenen Temperatur darstellen,
bekomme aber die regular expression nicht hin. Ich habe schon ein paar Dinge ausprobiert, leider ohne Erfolg.
Folgendes ist mein letzter Wurf:
state<20.0*:temp_frost@blue state>=20.0*:temp_temperature@red
Was ist daran falsch?
Internals:
CFGFN
DEF CarportTuer:temperature
DEVICE CarportTuer
NAME CarportTemp
NR 25915
NTFY_ORDER 50-CarportTemp
READING temperature
STATE 19.5 C
TYPE readingsProxy
Content:
CarportTuer 1
Readings:
2016-09-07 23:23:11 state 19.5 C
Attributes:
devStateIcon state<20.0*:temp_frost@blue state>=20.0*:temp_temperature@red
room Carport,Temperaturen
Das Device ist ein Proxy. Liegt es daran, dass es nicht funktioniert?
Gruß
Markus
ZitatWas ist daran falsch?
Mit einfach
state geht's nicht. Ausserdem ist ein Vergleich kein
regex.
{return '.*:temp_frost@blue' if (Value("CarportTemp")<20); return '.*:temp_temperature@red'}
Viel charmanter ist aber eine Einfärbung wie in diesem Artikel (http://www.fhemwiki.de/wiki/Color).
{my $color = substr(Color::pahColor(20,30,40,Value("CarportTemp"),2),0,6);return '.*:temp_frost@'.$color if (Value("CarportTemp")<20); return '.*:temp_temperature@'.$color }
Gruß
Hans
Hallo Hans,
vielen Dank für deine Antwort!
Funktioniert einwandfrei!
Du hast recht, die Color-Funktion hat Charme, da sie universeller ist.
Leider ist mir, jetzt wo es funktioniert, mein Irrtum aufgefallen:
Das devStateIcon ersetzt ja das Reading und damit habe ich jetzt statt der numerischen Temperaturausgabe ein buntes Icon. Schön wäre es das DevStateIcon wie ein normales Icon vor dem Device-Namen zu haben und dahinter nachwievor die Zahlenwerte.
Gruß
Markus
auch das geht. entweder nimmst du devStateStyle oder du gibst statt dem icon namen direkt einen string mit etwas html code zurück der ein den wert in ein div mit
passender farbe steckt.
gruss
andre