Colorpicker-Auswahlergebnis als RGBW?

Begonnen von Reinerlein, 30 Januar 2018, 17:32:48

Vorheriges Thema - Nächstes Thema

Reinerlein

Hallo,

habe gerade ein RGBW-Leuchtband in Betrieb genommen. Leider bekomme ich vom Colorpicker-Modul immer nur 3-farbige HEX-Werte, z.B. für Rot also "FF0000". Für mein RGBW-Band brauche ich aber "FF000000", bzw. wenn ich in der HSV-Auswahl den Weißwert höher setze, z.B. ein "FF0000AA".
Also immer einen weiteren Hex-Wert für Weiß.

Da ich davon ausgehe, dass ich nicht der erste mit einem RGBW-Band bin, wäre hier die Frage, wie ihr das mit der Auswahl auf der Oberfläche gelöst habt?
Gibt es eine Weiterentwicklung des Color-Moduls dazu?

Danke schon mal...

Grüße
Reinerlein

Amenophis86

Na da hat einer doch schon meine Frage gestellt, die ich auch gerade stellen wollte. Bleibt zu hoffen, dass bald eine Antwort kommt :)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

dev0

Zitat von: Reinerlein am 30 Januar 2018, 17:32:48
brauche ich aber "FF000000"
Ich bin nicht wirklich "sattelfest" in dem Thema, aber ich meine, dass dieser RGB+W "Standard" eher unüblich ist bzw. es ihn so gar nicht gibt. Das 4. Byte ist, wenn vorhanden, dann (laut Standard) der Alpha Kanal. Siehe: https://de.wikipedia.org/wiki/RGB-Farbraum#RGBA-Erweiterung
Wenn Du 2 (oder sogar 3) weiße Kanäle hast, würdest Du dann 5 oder 6 Bytes an den Controller schicken wollen? mMn gehört die dazugehörige Logic in die Controller Firmware.

Ich habe es in meiner Controller-Software so gelößt, dass ich:

- wenn rgb Werte geschickt werden, dann lasse ich den Weißanteill, aus dem RGB-Wert, rausrechnen und steuere damit die weißen LEDs an. Wenn getrennte cw/ww LEDs vorhanden sind, dann je 50% auf einen Strang. Ggf. kann man noch die gewünschte Farbtemperatur und die Gammakorrektur mitberücksichtigen. Im RGBWW Projekt hier im Forum gibt es auch guten Ansatz dazu. Leider mit dem Sming Framework (konnte ich mich nicht mit anfreunden).

- wenn ein ct Wert geschickt wird, dann schalte ich die RGB Leds aus und nutze nur die Weißen

- wird ein bri Wert geschickt, dann wird jeweils nur die Helligkeit der aktiven LEDs angepasst.

ZitatDa ich davon ausgehe, dass ich nicht der erste mit einem RGBW-Band bin, wäre hier die Frage, wie ihr das mit der Auswahl auf der Oberfläche gelöst habt?
In FHEMWEB habe ich das mit ct, bri und HSVp Slidern nebeneinander gelößt. Leider lassen sich die Widgets nicht untereinander, sondern nur nebeneinander positionieren. Nutze ich aber auch nur zur Administration.
In der Praxis benutze ich nur ct zur Beleuchtung im Haus, da das RGB-Weiß mich nie zufrieden gestellt hat. Für Effekte ist farbiges Lich mal ganz nett...

Amenophis86

Ich bin überhaupt nicht in der Materie drinnen und gebe dir mal ein Beispiel, warum ich es mir wünsche. Ich habe auf einem H801 Tasmota installiert. An den H801 ist ein RGBW Stripe angeschlossen. Eigentlich könnte der H801 auch RGBWW. Tasmota möchte nun per MQTT den RGB Wert in folgendem Format haben: 00000000 wobei die ersten 6 Werte der RGB Wert sind und die letzten beiden der Wert für die White-LEDs.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Reinerlein

Hi,

genau, ich habe auch die Tasmota-Software auf einem H801 drauf. Wenn man dort den ersten optionalen Kanal mit PWM4 belegt (und den zweiten optionalen Kanal leer läßt oder auf PWM5i, "i" für independent, setzt), dann sind die Farbwerte eben nicht mehr 3 Byte, sondern 4 Byte lang.
Tasmota-Commandref :) : https://github.com/arendst/Sonoff-Tasmota/wiki/Commands#ws2812-ailight-sonoff-led-b1-bn-sz01-h801-and-magichome

Das bedeutet alle Nachrichten hin und zurück vom Device (mittels MQTT dann) enthalten diese 4 Byte im Hex-Format.
Alternativ, wenn man PWM4i für den Kanal festlegt, dann kann man den weißen Kanal unabhängig von der gewählten Farbe steuern. Das entspricht wohl ungefähr dem, wie du es verwendest.

Wenn ich das also selber zerlegen muss, muss ich das alles im Fhem-MQTT-Device machen. Geht natürlich, ist aber eigentlich eher unschön.

Gerade HSV läßt sich doch eigentlich viel besser in RGBW umrechnen, als in RGB.
Leider kann Tasmota kein direktes HSV entgegennehmen... Das wäre vielleicht noch was, was man dort mal anbringen könnte... Die verwenden ja sicherlich auch nur die FastLED-Library...

Gibt es denn diese Umrechnungen von HSV -> RGBW und RGBW -> HSV irgendwo?

Ich bin halt noch auf der Suche nach der bestmöglichen Lösung in diesem Zusammenspiel... Das ist irgendwie schwerer als gedacht :)
Wie wird das denn eigentlich für den Homematic RGBWW-Controller gelöst? Der hat doch auch diese 4- bzw 5-Kanäle...

Grüße
Reinerlein

dev0

Zitat von: Reinerlein am 18 Februar 2018, 00:01:39
Gibt es denn diese Umrechnungen von HSV -> RGBW und RGBW -> HSV irgendwo?
rgb->hsv und hsv->rgb gibt es bereits in der .FHEM/Color.pm. hsv2fourChannel findest Du zB. im WifiLight Modul.

ZitatLeider kann Tasmota kein direktes HSV entgegennehmen... Das wäre vielleicht noch was
Genau da gehört es mMn hin.

Amenophis86

Dann müssen wir wohl mal den Entwickler von Tasmota darum bitten, ob er es aufnehmen kann.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Amenophis86

Aber jetzt nochmal für mich zum Verständnis, wenn es doch ein hsv2fourChannel gibt, dann gibt es doch quasi die Funktion, welche colorpick bräuchte um das Ergebnis in 8 Werten als RGBW auszugeben, oder nicht?
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Reinerlein

Ja, aber man braucht es auch zurück (für die Anzeige des realen Schaltzustands des Devices auf der Fhem-Oberfläche).

Ich bastel da gerade mal dran rum, mal schauen, ob es was wird...

Olly

Hallo,

ich krame das hier mal raus, da ich meinen RGBW Controller auch mit Tasmota betreibe und auch die 4 Werte für R G B und W aus dem Colorpicker gebrauchen könnte.
Ist hier an dieser Stelle schon jemand weiter gekommen?

Gruß

      Olly
BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2

Cube

Auch ich suche eine Antwort auf diese Frage. Ich habe lange Zeit Espurna auf meinem LED-Controller verwendet, dort konnte man einstellen, dass der Weißkanal automatisch zu den anderen Farben dazu gemischt wird. Jetzt wollte ich Tasmota umsteigen, weil sämtliche andere Hardware auch Tasmota nutzt. Bei Tasmota muss man aber den Weißkanal (bzw. die Weißkanäle falls man RGBWW nutzt) separat in der Form RRGGBBWW oder RRGGBBCWWW angeben. Leider habe ich bisher keine Möglichkeit gefunden das irgendwie in FHEM zu integrieren.

Cube

Ich habe übrigens bei Tasmota folgenden Feature-Request gefunden:
Change calculation of white on RGBW LED strips
Wenn das implementiert wird, dann könnte man das Problem zumindest über diese Option in Tasmota umgehen.

dev0

Wenn dieser change request noch cw/ww berücksichtigen würde, dann wäre es mMn der richtige Weg damit umzugehen. Der Code dafür ist kein Hexenwerk.