FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: Klouse am 09 Januar 2018, 10:12:23

Titel: WifiLight - DOIF Farbverlaufsgenerator
Beitrag von: Klouse am 09 Januar 2018, 10:12:23
Hallo,

ich weiß nicht ob es nicht schon einen besseren Weg dafür gibt, aber vielleicht interessiert meine Lösung auch andere WifiLight-Benutzer:

Folgende Werte können gesetzt werden:
define doif_KlouseLED1_grad_gen DOIF (["$SELF:start: on"] or [KlouseLED1:"programm:.grad_gen.100"]) ((set KlouseLED1 HSV [$SELF:color1_hsv] [$SELF:ramp] [$SELF:mode];;set KlouseLED1 HSV [$SELF:color2_hsv] [$SELF:ramp] [$SELF:mode]q grad_gen))
attr doif_KlouseLED1_grad_gen do always
attr doif_KlouseLED1_grad_gen readingList start ramp mode color1_rgb color2_rgb
attr doif_KlouseLED1_grad_gen setList start:on ramp:slider,1,1,60 mode:s,l color1_rgb:colorpicker,RGB color2_rgb:colorpicker,RGB
attr doif_KlouseLED1_grad_gen userReadings color1_hsv:color1_rgb.* {my ($r,$g,$b) = Color::hex2rgb(ReadingsVal($name,'color1_rgb','0'));; \
                         my ($h,$s,$v) = Color::rgb2hsv($r/255.0,$g/255.0,$b/255.0);; \
                         (sprintf("%d", $h*360)).','.(sprintf("%d", $s*100)).','.(sprintf("%d", $v*100))},\
color2_hsv:color2_rgb.* {my ($r,$g,$b) = Color::hex2rgb(ReadingsVal($name,'color2_rgb','0'));; \
                         my ($h,$s,$v) = Color::rgb2hsv($r/255.0,$g/255.0,$b/255.0);; \
                         (sprintf("%d", $h*360)).','.(sprintf("%d", $s*100)).','.(sprintf("%d", $v*100))}


So sieht das ganze bei mir im FTUI aus: Screenshot (http://images.devs-on.net/Image/7rLzuHSitwESM6hS-Bereich.png) (Popups mit Colorpicker für die Farben und Volume für die Sekunden, der mode ist ein Switch und start ein Push)



LG,

Klaus
Titel: Antw:WifiLight - DOIF Farbverlaufsgenerator
Beitrag von: saschae am 29 März 2018, 04:16:31
ich benutze für den Farbverlauf einfach ein Notify

defmod n_LED1_bsp notify WZ_LED_RING:programm:.LED1_RING.100 \
set WZ_LED_RING HSV 240,100,20 60 q;; \
set WZ_LED_RING HSV 320,100,20 60 q;;\
set WZ_LED_RING HSV 0,100,20 60 q LED1_RING