[Erledigt] devStateIcon Farbe durch Reading setzen.

Begonnen von globus243, 27 Juli 2016, 22:39:12

Vorheriges Thema - Nächstes Thema

globus243

Guten Abend,

Ich habe einen Dummy der einen LED-RGB Streifen steuert.
Im Anhang ein Bild dazu.

Ich möchte gerne die Status-Lampe in der aktuellen Farbe des LED-Streifens darstellen.
Dafür habe ich das Reading "Farbe" welches die aktuelle Farbe als HEX Wert (z.b. rot=ff0000) beinhaltet.

define dummy_RGB_Strip_Balkon dummy
attr dummy_RGB_Strip_Balkon alias LED Streifen
attr dummy_RGB_Strip_Balkon devStateIcon .*off:light_light_dim_00@Farbe .*on:light_light_dim_100@Farbe .*loop:light_light_dim_100@Farbe .*rgb.*:light_light_dim_100@Farbe
attr dummy_RGB_Strip_Balkon readingList Farbe
attr dummy_RGB_Strip_Balkon room Balkon,Licht
attr dummy_RGB_Strip_Balkon setList on:noArg off:noArg loop:noArg rgb:colorpicker
attr dummy_RGB_Strip_Balkon webCmd rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:loop:on:off

jetzt dachte ich, da devStateIcon über @ eine Farbe übergeben werden kann (unter anderem hex), ich dort einfach mein reading hinter schreibe wie bei stateFormat. Leider lag ich falsch.
Also kurze Frage. Wie?

Als Ergänzung: in anderen Anwendungen habe ich dafür gesorgt das der Hintergrund immer für ausreichend Kontrast sorgt, damit die aktuelle Farbe auch noch bei FFFFFF gut zu erkennen ist.

Ich habe auch gesehen das ich an der Stelle auch CSS einsetzen kann, allerdings habe ich mit der Syntax Probleme da ich ja in dem CSS Schnipsel Perl Code schreiben muss (ReadingsVal).

igami

Du kannst für devStateIcon auch PerlCode angeben

attr dummy_RGB_Strip_Balkon devStateIcon {".*off:light_light_dim_00@Farbe .*(on|loop|rgb).*:light_light_dim_100\@#".ReadingsVal($name, "rgb", "ffffff")}


Grüße
igami
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

justme1968

für die farbigen lampen icons gibt es fertige routinen die du einfach verwenden kannst: http://www.fhemwiki.de/wiki/Color .

wenn du den hintergrund auch beeinflussen willst ist es etwas aufwändiger. du musst dann in dinmer routine direkt ein html div für das icon mit dem passenden hintergrund zurück geben.

wenn du nicht am default style hängst: versuch mal darkstyle.  da ist der kontrast für die aller meisten farben sie bei lampen auftreten sollten deutlich besser.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

globus243

Zitat von: igami am 28 Juli 2016, 06:20:48
Du kannst für devStateIcon auch PerlCode angeben

attr dummy_RGB_Strip_Balkon devStateIcon {".*off:light_light_dim_00@Farbe .*(on|loop|rgb).*:light_light_dim_100\@#".ReadingsVal($name, "rgb", "ffffff")}


Grüße
igami

Super, damit hats geklappt! Wusste gar nicht das man das auch so formulieren kann. FHEM überrascht immer wieder aufs Neue.

Liebe Grüße,
Tim

marvin78