Liebe FHEM-Fans,
ich möchte einen Colorpicker zunächst als Dummy bauen, aber er funktioniert nicht.
define RGBLampe dummy
attr RGBLampe room LED
attr RGBLampe webCmd rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:toggle:on:off
attr RGBLampe widgetOverride RGB:colorpicker,RGB
define colorInit notify global:INITIALIZED {use Color}
Sieht jemand gleich den Fehler?
du brauchst ein setList attribut damit dein dummy ein rgb kommando bekommt und du musst im widgetOverride auch den kommando namen rgb verwenden statt RGB:attr RGBLampe setList rgb
attr RGBLampe widgetOverride rgb:colorpicker,RGB
bei einem dummy kannst du aber beides zusammen fassen und brauchst widgetOverride nicht:attr RGBLampe setList rgb:colorpicker,RGB
falls der rgb wert in ein rgb reading soll und nicht in state musst du noch readingList setzen.
Woher wusstest Du das es funktioniert ;)
Vielen DANK!!!
jetzt muss ich noch für das richtige Device (Eigenbau) eine classdef schreiben. Da ich bisher nur "on/off" -Fälle von Lampen hatte, denke ich, dass ich nun ein RGB-Commando einbinden muss in Form von:
set on cmd {hier der individuelle Befehl} # für das Anschalten...
set off cmd {hier der individuelle Befehl} # für das Ausschalten
set rgb cmd {hier der individuelle Befehl, der den Picker berücksichtigt} # für das Setzen der RGB-Werte
Stimmt meine Annahme?
LG Mirko
da ich dein device nicht kenne kann ich dir nicht sagen was du genau tun musst...
Verstehe ich.
Es ist ein Eigenbaudevice. Ich muss dem folgenden String in ASCII senden:
#T!ledabczx(13)(10)
# = Mastererkennung; T = T_Modul; ! = Busadresse
led = Helligkeit mit 255 Schritten aller Ausgänge
a = Helligkeit Ausgang 1
b = Helligkeit Ausgang 2
c = Helligkeit Ausgang 3
z = Geschwindigkeit der Änderung von 0 bis 255
x = Funktionsbyte (bit1 aktiviert die Rückantwort, bit2 schaltet Ausgang ein)
(13)(10) = Abschlusszeichen
Also im Falle von "set rgb 75FF91"
Aus meiner Sicht also:
set rgb cmd {chr(35).chr(84).chr(33).chr(108).chr(101).chr(100).chr(117).chr(255.chr(145).chr(255).chr(255).chr(13).chr(10)}
Da ich aber die Werte noch dem Picker anpassen muss, denke ich eher an sowas:
set rgb cmd {chr(35).chr(84).chr(33).chr(108).chr(101).chr(100).chr(hex(substr(_$,0,2))).chr(hex(substr(_$,2,2))).chr(hex(substr(_$,4,2))).chr(255).chr(255).chr(13).chr(10)}
weiß aber auch nicht ob die _$ in dem Fall den rgb-Wert enthält?
Aber vlt. ist das auch ein neues Thema?