Hauptmenü

RGB Colorpicker

Begonnen von NeuFehm, 01 März 2017, 12:32:08

Vorheriges Thema - Nächstes Thema

NeuFehm

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?
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul

justme1968

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.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

NeuFehm

Woher wusstest Du das es funktioniert ;)
Vielen DANK!!!
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul

NeuFehm

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
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul

justme1968

da ich dein device nicht kenne kann ich dir nicht sagen was du genau tun musst...
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

NeuFehm

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?
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul