Farbfehle an RGB lampe schicken - gelöst

Begonnen von Müller, 27 September 2019, 17:44:55

Vorheriges Thema - Nächstes Thema

Müller

Hallo,

ich habe eine Osram RGB Lampe über MQTT2 eingebunden:

defmod MQTT2_zigbee_0x7cb03eaa00ae3c80 MQTT2_DEVICE zigbee_0x7cb03eaa00ae3c80
attr MQTT2_zigbee_0x7cb03eaa00ae3c80 IODev MQTT2
attr MQTT2_zigbee_0x7cb03eaa00ae3c80 alias Farbbirne
attr MQTT2_zigbee_0x7cb03eaa00ae3c80 devStateIcon {zigbee2mqtt_devStateIcon255($name,'hex')}
attr MQTT2_zigbee_0x7cb03eaa00ae3c80 model zigbee2mqtt_light_rgbw_hex
attr MQTT2_zigbee_0x7cb03eaa00ae3c80 readingList zigbee2mqtt/0x7cb03eaa00ae3c80:.* { json2nameValue($EVENT) }\

attr MQTT2_zigbee_0x7cb03eaa00ae3c80 room MQTT2_DEVICE
attr MQTT2_zigbee_0x7cb03eaa00ae3c80 setList on:noArg zigbee2mqtt/0x7cb03eaa00ae3c80/set {"state":"ON"}\
  off:noArg zigbee2mqtt/0x7cb03eaa00ae3c80/set {"state":"OFF"}\
  warm:noArg zigbee2mqtt/0x7cb03eaa00ae3c80/set {"brightness": 200 , "color_temp": 360}\
  white:noArg zigbee2mqtt/0x7cb03eaa00ae3c80/set {"brightness": 254, "color_temp": 250}\
  color_temp:colorpicker,CT,250,1,454 zigbee2mqtt/0x7cb03eaa00ae3c80/set {"$EVTPART0":"$EVTPART1"}\
  brightness:colorpicker,BRI,0,5,255 zigbee2mqtt/0x7cb03eaa00ae3c80/set {"state":"on","$EVTPART0":"$EVTPART1"}\
  hex:colorpicker,HEX,0,15,255 zigbee2mqtt/0x7cb03eaa00ae3c80/set {"color":{"$EVTPART0":"#$EVTPART1"}}
attr MQTT2_zigbee_0x7cb03eaa00ae3c80 stateFormat {lc ReadingsVal($name,"state",0)}
attr MQTT2_zigbee_0x7cb03eaa00ae3c80 userReadings hex:color_y.* {Color::xyY2hex(ReadingsVal($name,"color_x",0),ReadingsVal($name,"color_y",0),ReadingsVal($name,"brightness",254))}
attr MQTT2_zigbee_0x7cb03eaa00ae3c80 webCmd brightness:hex:color_temp:warm

setstate MQTT2_zigbee_0x7cb03eaa00ae3c80 hex
setstate MQTT2_zigbee_0x7cb03eaa00ae3c80 2019-09-26 08:34:23 associatedWith MQTT2_MQTT2
setstate MQTT2_zigbee_0x7cb03eaa00ae3c80 2019-09-26 15:33:18 brightness 255
setstate MQTT2_zigbee_0x7cb03eaa00ae3c80 2019-09-26 08:33:15 color_b 75
setstate MQTT2_zigbee_0x7cb03eaa00ae3c80 2019-09-26 08:33:15 color_g 204
setstate MQTT2_zigbee_0x7cb03eaa00ae3c80 2019-09-26 12:17:58 color_hex #f824ff
setstate MQTT2_zigbee_0x7cb03eaa00ae3c80 2019-09-26 15:33:18 color_mode 2
setstate MQTT2_zigbee_0x7cb03eaa00ae3c80 2019-09-26 08:33:15 color_r 65
setstate MQTT2_zigbee_0x7cb03eaa00ae3c80 2019-09-26 15:33:18 color_temp 345
setstate MQTT2_zigbee_0x7cb03eaa00ae3c80 2019-09-26 15:33:18 color_x 0.619
setstate MQTT2_zigbee_0x7cb03eaa00ae3c80 2019-09-26 15:33:18 color_y 0.2618
setstate MQTT2_zigbee_0x7cb03eaa00ae3c80 2019-09-26 15:33:18 hex E91232
setstate MQTT2_zigbee_0x7cb03eaa00ae3c80 2019-09-26 15:33:18 linkquality 31
setstate MQTT2_zigbee_0x7cb03eaa00ae3c80 2019-09-27 16:17:05 state hex
setstate MQTT2_zigbee_0x7cb03eaa00ae3c80 2019-09-26 08:33:15 transition 1



Nun würde ich gerne ein paar Schaltoptionen mit Timer, Notify etc umsetzen.
Bspw. Morgens um 10 soll die Lampe angehen mit der Farbe Grün.
Nun wäre die Frage in welcher Weise ich einen Befehl generiere. (Einbindung in WeekDayTimer oder Notify kriege ich hin...)

set MQTT2_zigbee_0x7cb03eaa00ae3c80 ?????  35E92F

Danke & LG


Lösung:
set MQTT2_zigbee_0x7cb03eaa00ae3c80 hex 00FF00
(kann man aus set Liste auch ableiten)
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Müller

set MQTT2_zigbee_0x7cb03eaa00ae3c80 {"color":{"hex":"#00FF00"}}

gibt diese Fehler Meldung:

Unknown argument {"color" choose one of on off warm white color_temp brightness hex on-for-timer off-till off-till-overnight off-for-timer blink on-till-overnight toggle on-till intervals attrTemplate
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Beta-User

Wenn du den string selbst zusammenbauen willst, mußt du das als direktes publish über das IO machen:

set MQTT2 publish zigbee2mqtt/0x7cb03eaa00ae3c80/set {"color":{"hex":"#00FF00"}}
Oder du nutzt halt schlicht den setter aus der setList ;D :

set MQTT2_zigbee_0x7cb03eaa00ae3c80 hex 00FF00
Wenn du gleichzeitig "on" schalten willst, kannst du entweder beide Befehle kurz nacheinander senden (erst den hex, dann on), den hex-setter in der setList umbauen (wie brightness) oder ein weiteres Element einfügen, z.B. "on_hex":
on_hex:colorpicker,HEX,0,15,255 zigbee2mqtt/0x7cb03eaa00ae3c80/set {"state":"on","color":{"$EVTPART0":"#$EVTPART1"}}

Generell würde ich anregen, dass du dich entweder vertiefter einarbeitest, oder sowas halt läßt (die Frage, wie man zwei Befehle in einen Timer (at, Timer, DOIF) packt, ist ein "basic" und z.B. in der cref erläutert, und auf das andere kann man kommen, wenn man sich etwas mit der Darstellung in FHEMWEB bzw. der setList auseinandersetzt; alle Bausteinchen sind da vorhanden...).

Just my2ct.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Müller

hallo beta-user,

du hast Recht, das hätte ich aus der set list herausholen können. ich danke dir für den Hinweis und die Hilfe.

set MQTT2_zigbee_0x7cb03eaa00ae3c80 hex 00FF00
ZitatGenerell würde ich anregen, dass du dich entweder vertiefter einarbeitest, oder sowas halt läßt (die Frage, wie man zwei Befehle in einen Timer (at, Timer, DOIF) packt, ist ein "basic" und z.B. in der cref erläutert, und auf das andere kann man kommen, wenn man sich etwas mit der Darstellung in FHEMWEB bzw. der setList auseinandersetzt; alle Bausteinchen sind da vorhanden...).

Das kriege ich hin: Da habe ich schon ein paar am Laufen (hatte ich oben ja schon gesagt). Ich stand nur auf der Leitung für den Farbbefehl
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung