FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: Pf@nne am 09 März 2019, 10:02:44

Titel: colorpicker und MQTT_DEVICE
Beitrag von: Pf@nne am 09 März 2019, 10:02:44
Moin,

für meine Küchenschubladenbeleuchtung habe ich mir eine ESP-Device gebastelt.
Das Device ist vollständig über MQTT steuerbar.
An das Device können bis zu 16 WS2811-RGB-LED-Stripes angeschlossen werden.

Jetzt möchte ich das Device an FHEM anbinden.
Hierzu habe ich ein MQTT_DEVICE angelegt, was grundsätzlich auch schon läuft.


define drawer MQTT_DEVICE
attr drawer IODev MQTT_Broker
attr drawer publishSet_color Drawer_01/set/device/drawer3/color
attr drawer publishSet_drawer3 Drawer_01/set/device/drawer3/state
attr drawer publishSet_fillDashboard Drawer_01/set/device/fillDashboard x
attr drawer room 02_Küche
attr drawer stateFormat state
attr drawer subscribeReading_drawer1 Drawer_01/event/device/drawer1/state
attr drawer subscribeReading_drawer2 Drawer_01/event/device/drawer2/state
attr drawer subscribeReading_drawer3 Drawer_01/event/device/drawer3/state
attr drawer verbose 5


Jetzt möchte ich die Farbe der einzelnen Kanäle über einen ColorPicker einstellen und auch EIN bzw. AUS-Schalten können.
Das kann z.B. für den Kanal 3 (drawer3) über die Topics:

Drawer_01/set/device/drawer3/color FF0000
Drawer_01/set/device/drawer3/state 1
Drawer_01/set/device/drawer3/state 0

erfolgen.

Für den ColorPicker habe ich:

define colorInit notify global:INITIALIZED {use Color}
attr colorInit room 02_Küche

hinzugefügt.

Weiterhin habe ich den drawer um folgendes ergänzt:

attr drawer webCmd hue:rgb:rgb ff0000:rgb 98FF23:rgb 0000ff:on 1:off 0
attr drawer widgetOverride rgb:colorpicker,RGB

attr drawer publishSet_rgb Drawer_01/set/device/drawer3/color
attr drawer publishSet_on Drawer_01/set/device/drawer3/state
attr drawer publishSet_off Drawer_01/set/device/drawer3/state


Im Grunde funktioniert damit schon einiges, nur nicht besonder hübsch (siehe Anhang) und funktionell.
Daher meine Fragen:


Danke für eure Unterstützung.

Gruß
Pf@nne