Seite 1 von 1

LED Farbeinstellung

Verfasst: 7. Feb 2022 08:35
von manes
Hi,
ich habe hier zwar einiges gefunden, verstehe aber irgendwie nur Bahnhof. Ich versuche mich gerade in Sachen LED Ansteuerung. (ist einfach nur ein LED RIng, der an einem ESP läuft über MQTT) Ich habe zunächst ein Item als Dimmer angelegt, mit dem ich über die 100% Skala die Helligkeit der LED einstellen kann. Umgerechnet auf 0-254 klappt das prima. Jetzt würde ich aber ein weitere Item anlegen, mit dem ich die Farben mischen kann. Ein Bekannter meinte ich solle mir für die RGB Farben je ein Item anlegen und dann die Werte zusammenbauen. Das halte ich aber für ein wenig ungelenk, weil ich ja so das fertige Ergebnis nicht sehen kann und wer weiß schon welche Farbe bei 115,2,64 rauskommen würde? Gibt es die Möglichkeit ein Item einzurichten, das wie ein echter Colorpicker funktioniert und man einfach nur auf einer Fläche mit den Farbverläufen klickt und die Zahlenkombination wird angegeben/weitergegeben? Oder wie muß man sowas angehen?

Re: LED Farbeinstellung

Verfasst: 7. Feb 2022 17:04
von udo1toni
openHAB arbeitet intern mit dem HSB Farbmodell (Hue, Saturation, Brightness), der Farbton (Hue) wird in ° angegeben (Winkel im Farbkreis), die Saturation wird in % angegeben (0% ist die Mitte des Farbkreises, 100% der Rand des Farbkreises), die Brightness wird ebenfalls in % angegeben.

In openHAB kannst Du einfach ein Color Item anlegen und mit dem passenden Widget verbinden, schon hast Du einen Farbkreis zum Steuern eines Color Geräts.
Logischerweise musst Du das Color Item auch mit einem Color Channel verbinden. Mindestens im mqtt Binding hast Du dabei die Wahl, wie die eigentliche Lampe angesteuert wird, ob mit HSB, RGB oder xyY. Es gibt noch weitere Farbmodelle, z.B. HSV, wobei ich bis heute den Unterschied zu HSB nicht verstanden habe, aber ich habe auch keine solchen Lampen und muss mir folglich darum keinen Kopf machen.

Allen Systemen gemein ist, dass sie nur drei Kanäle ansteuern können, ein zusätzlicher Weiß-Channel bleibt immer außen vor, genau wie ein Farbtemperaturchannel gesondert angesteuert werden muss.

Wenn Du den ESP selbst programmierst, kannst Du Dir letztlich selbst aussuchen, welches Farbmodell Du verwenden willst, das ist im Zweifel vor allem eine Frage der verwendeten Bibliotheken und/oder Hardware (ich habe z.B. ein BlinkM Max Modul, welches über I2C gesteuert eine RGB-Lichterkette treiben kann, die Bibliothek unterstützt verschiedene Farbmodelle).
Wichtig ist vor allem, dass der Wertebereich passt und die Werte als Tupel übergeben werden, oder wahlweise z.B. in JSON verpackt. Wie genau die Werte übergaben werden, kannst Du dann über die Channelkonfiguration vorgeben.

Jedenfalls reicht ein Channel für RGB aus und in der UI hast Du dann einen Colorpicker vom Feinsten :)

Re: LED Farbeinstellung

Verfasst: 7. Feb 2022 17:15
von manes
das hatte ich befürchtet. Ehrlich gesagt habe ich fast nichts verstanden. :?
Wie macht man denn diese Verbindung zwischen Item und Widget?

Re: LED Farbeinstellung

Verfasst: 7. Feb 2022 23:15
von udo1toni
Du geht ist die UI und erstellst das Widget. Das ist unter openHAB3 Klicki-Bunti. ;) ein bisschen Forscherdrang schadet nicht, Du sollst ja kein Raumschiff bauen...

Re: LED Farbeinstellung

Verfasst: 5. Apr 2022 06:43
von freeman121083
Hallo,

würde ganz gerne das Thema noch einmal aufgreifen. Ich habe über die Suche leider nichts gefunden, im Bezug auf Openhab 3.x und meinem KNX MDT RGB Aktor.

Wenn ich über die UI einen Thing "Color" anlege, muss ich 4 Werte (GAs) angeben.

- Color Value (Nr. 64 Farbeinstellungen?)
- on/off (Das ist natürlich klar/ Nr. 64 schalten)
- position color (Nr. 81 3Byte Dimmwert?)
- decrease color (Relativ Dimmen? aber wo welches?

Mir ist nicht ganz klar welche Gruppenadressen das sind. Wenn mir kurz jemand helfen könnet?

Danke

Re: LED Farbeinstellung

Verfasst: 5. Apr 2022 10:39
von udo1toni
Nein, Du musst gar nichts eintragen, jeder der Werte ist optional. Natürlich stehen bestimmte Funktionen nur zur Verfügung, wenn eine passende GA hinterlegt ist.
Interessanterweise ist der color Channel Typ in der Dokumentation bisher nicht erwähnt. Ich meine aber, dass der seit langem mit an Bord ist, mindestens seit OH2.5.x (in 2.5.12 ist der Color Channel enthalten, gerade geprüft).
Da hat leider jemand quick&dirty gearbeitet, wodurch die Parameter in der UI nicht korrekt beschrieben sind.
Leider habe ich selbst kein passendes Gerät, weshalb ich nur Vermutungen äußern kann, was die Realität betrifft (aber die Mutmaßungen sind nicht ganz unbegründet, immerhin...):

Code: Alles auswählen

UID: knx:device:bridge:test
label: Test
thingTypeUID: knx:device
configuration:
  pingInterval: 600
  readInterval: 0
  fetch: false
bridgeUID: knx:ip:bridge
channels:
  - id: ch1
    channelTypeUID: knx:color
    label: Channel 1
    description: ""
    configuration:
      increaseDecrease: 0/0/5
      position: 0/0/2
      hsb: 0/0/3+<0/0/4
      switch: 0/0/1
Dieses Thing samt color Channel habe ich testweise mal angelegt. Hier kann man sehen, wie die einzelnen Parameter heißen. Vollständig konfiguriert benötigst Du meiner Theorie gemäß fünf GA.
  • switch: DPT1.001, GA zum Ein- und Ausschalten der Leuchte mit einem einfachen Taster. Je nach Konfiguration des Dimmers geht das Licht auf einer bestimmten Helligkeit und einem bestimmten Farbton an, oder es wird der zuletzt gewählte Farbton und die zuletzt gewählte Helligkeit verwendet.
  • position: entspricht bei einem normalen Dimmer der Helligkeit, das würde ich hier ebenfalls erwarten, also entgegen der Beschreibung würde ich hier DPT5.001 setzen (8 Bit Prozentwert ohne Vorzeichen), rein Helligkeit.
  • hsb: Der hsb Wert, DPT 232.600 (24 Bit bzw. 3 x 8 Bit RGB(!)) das knx Binding sollte sich selbst darum kümmern, den Wert nach RGB zu wandeln. Stand 2021 unterstützt knx nur RGB, RGBW und xyY, aber kein hsb. Das knx Binding unterstützt derzeit nur 232.600 als Datenpunkt für Color.
    Da der vollständige Status des Dimmers ausschließlich über den hsb Parameter abgebildet werden kann, weil auch nur dieser Punkt alle informationen hält, muss hier auch die Rückmeldung verankert werden. Deshalb gibt es hier zwei GA, die zweite ist die Status-GA (bzw. Rückmelde-GA).
  • increaseDecrease: wäre für relatives Dimmen zu verwenden, ich wage zu behaupten, dass dieser Parameter vollkommen sinnfrei ist. Aber wie gesagt kannst Du jeden der Parameter unparametriert lassen, unter Verlust eines Details der Steuer-Funktion. Im Fall von increaseDecrease dürfte es schwer werden, diesen Verlust nachzuweisen, da der Dimmer von openHAB ohnehin immer absolut angesteuert wird.
Vermutlich tut es auch nicht weh, position komplett unkonfiguriert zu lassen, switch ist aber wegen der Default Stellung des Dimmers interessant. Wenn Du an das Color Item ein ON schickst, sollte der Dimmer automatisch auf die Default Farbe/Helligkeit dimmen.

Die im Beispiel verwendeten GA sind :
0/0/1 -> ON-OFF Funktion des Dimmers (nur Command, keine Rückmeldung)
0/0/2 -> Dimmwert, Helligkeit der Leuchte (nur Command, keine Rückmeldung)
0/0/3 -> Befehl RGB-Wert absolut (3 x 0 - 255, Command)
0/0/4 -> Rückmelde-GA RGB-Wert absolut (3 x 0 - 255, Status, lesbar)
0/0/5 -> DPT3.007, 4-Bit nur der Vollständigkeit halber, wird mutmaßlich nicht gebraucht)

Re: LED Farbeinstellung

Verfasst: 6. Apr 2022 10:17
von freeman121083
Klappt, Danke