Hallo zusammen,
ich verwende das alexa-fhem und funktioniert auch Wunderbar.
Seit einigen Tagen habe ich mein System um das Zigbee2mqtt erweitert um auch Zigbee Geräte verwenden zu können.
Als farbiges Leiuchtmittel setze ich hier eine Ledvance Smart+ ein die sowohl Farben darstellen kann aber auch die verschiedenen Weiss Töne (Kältweiss, Neutralweiss, Warmweiss)
Über FHEM und das Frontend von Zigbee2mqtt lassen sich sowohl alle Farben und auch die Weiss Töne schalten.
Über Alexa kann ich jedoch nur die Farben schalten. Die Weiss Töne leider nicht - und genau hier brauche ich eure Hilfe. > Was ist an den Attributen falsch bzw. was muss wo ergänzt werden?
Hier mal das verschiedenen List der Lampe.
1. Lampe AUS
Internals:
CID zigbee_FL_Kugel
DEF zigbee_FL_Kugel
FUUID 6515bee1-f33f-c1dd-3ba3-217b55b12fd33ba0
IODev myBroker
LASTInputDev myBroker
MSGCNT 2
NAME MQTT2_zigbee_FL_Kugel
NR 374
STATE off
TYPE MQTT2_DEVICE
eventCount 2
myBroker_CONN myBroker_127.0.0.1_41432
myBroker_MSGCNT 2
myBroker_TIME 2023-10-01 10:35:20
JSONMAP:
color_temp ct
color_temp_startup ct_startup
READINGS:
2023-10-01 10:33:28 IODev myBroker
2023-09-28 19:58:57 associatedWith MQTT2_zigbee_pi
2023-09-30 23:27:23 attrTemplateVersion 20221201
2023-10-01 10:35:20 brightness 45
2023-10-01 10:35:20 color_hue 32
2023-10-01 10:35:20 color_mode color_temp
2023-10-01 10:35:20 color_saturation 82
2023-10-01 10:35:20 color_temp 370
2023-10-01 10:35:20 color_x 0.4599
2023-10-01 10:35:20 color_y 0.4106
2023-09-30 23:27:42 ct 277
2023-09-30 23:27:42 hex F22F23
2023-10-01 10:35:20 linkquality 87
2023-09-30 23:27:03 rgb FFCC58
2023-10-01 10:35:20 state off
2023-10-01 10:35:20 temperature_weather 2.5
2023-10-01 10:35:20 update_installed_version 34891088
2023-10-01 10:35:20 update_latest_version 34891088
2023-09-28 23:25:05 update_progress 100
2023-09-28 23:25:05 update_remaining 11
2023-10-01 10:35:20 update_state idle
Attributes:
alexaName Kugel
alias Lampe <br> Kugel
cmdIcon on:general_an off:general_aus cool:general_an neutral:general_an warm:general_an
comment The specified ct and brightness values in on and warm etc. commands ��can be adjusted at any time via the setList attribute
devStateIcon off:message_socket_off2@grey
on:message_socket_on2@green
{zigbee2mqtt_devStateIcon255($name)}
devicetopic zigbee2mqtt/FL_Kugel
genericDeviceType light
getList power_on_behavior:noArg power_on_behavior $DEVICETOPIC/get {"power_on_behavior": ""}
group Zigbee
homebridgeMapping Brightness=brightness::brightness,maxValue=100,max=100,factor=0.39371,delay=true Hue=color,cmd=huergb
jsonMap color_temp:ct color_temp_startup:ct_startup
model zigbee2mqtt_light_rgbw_rgb
readingList $DEVICETOPIC:.* { my $ret=json2nameValue($EVENT); $ret->{state}=lc($ret->{state}) if defined $ret->{state}; return $ret }
room Flur
setList on:noArg $DEVICETOPIC/set {"state":"ON"}
off:noArg $DEVICETOPIC/set {"state":"OFF"}
cool:noArg $DEVICETOPIC/set {"color_temp": 160}
neutral:noArg $DEVICETOPIC/set {"color_temp": 320}
warm:noArg $DEVICETOPIC/set {"color_temp": 370}
brightness:colorpicker,BRI,0,5,255 $DEVICETOPIC/set {"state":"on","$EVTPART0":"$EVTPART1"}
color:colorpicker,RGB {"$DEVICETOPIC/set ".zigbee2mqtt_RGB2JSON($EVTPART1)}
userReadings temperature_weather { sprintf("%.1f",ReadingsVal($name,"temperature","")+2.5) }
webCmd on:off:brightness:color:cool:neutral:warm
webCmdLabel Ein:Aus
:Helligkeit
:Farbe
:Kalt- <br> Weiss
:Neutral- <br> Weiss:Warm- <br> Weiss
2. Lampe Warmweiss
Internals:
CID zigbee_FL_Kugel
DEF zigbee_FL_Kugel
FUUID 6515bee1-f33f-c1dd-3ba3-217b55b12fd33ba0
IODev myBroker
LASTInputDev myBroker
MSGCNT 5
NAME MQTT2_zigbee_FL_Kugel
NR 374
STATE on
TYPE MQTT2_DEVICE
eventCount 8
myBroker_CONN myBroker_127.0.0.1_41432
myBroker_MSGCNT 5
myBroker_TIME 2023-10-01 10:39:34
JSONMAP:
color_temp ct
color_temp_startup ct_startup
READINGS:
2023-10-01 10:33:28 IODev myBroker
2023-09-28 19:58:57 associatedWith MQTT2_zigbee_pi
2023-09-30 23:27:23 attrTemplateVersion 20221201
2023-10-01 10:39:34 brightness 215
2023-10-01 10:39:34 color_hue 32
2023-10-01 10:39:34 color_mode color_temp
2023-10-01 10:39:34 color_saturation 82
2023-10-01 10:39:34 color_temp 370
2023-10-01 10:39:34 color_x 0.4599
2023-10-01 10:39:34 color_y 0.4106
2023-09-30 23:27:42 ct 277
2023-09-30 23:27:42 hex F22F23
2023-10-01 10:39:34 linkquality 84
2023-09-30 23:27:03 rgb FFCC58
2023-10-01 10:39:34 state on
2023-10-01 10:39:34 temperature_weather 2.5
2023-10-01 10:39:34 update_installed_version 34891088
2023-10-01 10:39:34 update_latest_version 34891088
2023-09-28 23:25:05 update_progress 100
2023-09-28 23:25:05 update_remaining 11
2023-10-01 10:39:34 update_state idle
Attributes:
alexaName Kugel
alias Lampe <br> Kugel
cmdIcon on:general_an off:general_aus cool:general_an neutral:general_an warm:general_an
comment The specified ct and brightness values in on and warm etc. commands ��can be adjusted at any time via the setList attribute
devStateIcon off:message_socket_off2@grey
on:message_socket_on2@green
{zigbee2mqtt_devStateIcon255($name)}
devicetopic zigbee2mqtt/FL_Kugel
genericDeviceType light
getList power_on_behavior:noArg power_on_behavior $DEVICETOPIC/get {"power_on_behavior": ""}
group Zigbee
homebridgeMapping Brightness=brightness::brightness,maxValue=100,max=100,factor=0.39371,delay=true Hue=color,cmd=huergb
jsonMap color_temp:ct color_temp_startup:ct_startup
model zigbee2mqtt_light_rgbw_rgb
readingList $DEVICETOPIC:.* { my $ret=json2nameValue($EVENT); $ret->{state}=lc($ret->{state}) if defined $ret->{state}; return $ret }
room Flur
setList on:noArg $DEVICETOPIC/set {"state":"ON"}
off:noArg $DEVICETOPIC/set {"state":"OFF"}
cool:noArg $DEVICETOPIC/set {"color_temp": 160}
neutral:noArg $DEVICETOPIC/set {"color_temp": 320}
warm:noArg $DEVICETOPIC/set {"color_temp": 370}
brightness:colorpicker,BRI,0,5,255 $DEVICETOPIC/set {"state":"on","$EVTPART0":"$EVTPART1"}
color:colorpicker,RGB {"$DEVICETOPIC/set ".zigbee2mqtt_RGB2JSON($EVTPART1)}
userReadings temperature_weather { sprintf("%.1f",ReadingsVal($name,"temperature","")+2.5) }
webCmd on:off:brightness:color:cool:neutral:warm
webCmdLabel Ein:Aus
:Helligkeit
:Farbe
:Kalt- <br> Weiss
:Neutral- <br> Weiss:Warm- <br> Weiss
2. Lampe Farbe Rot
Internals:
CID zigbee_FL_Kugel
DEF zigbee_FL_Kugel
FUUID 6515bee1-f33f-c1dd-3ba3-217b55b12fd33ba0
IODev myBroker
LASTInputDev myBroker
MSGCNT 6
NAME MQTT2_zigbee_FL_Kugel
NR 374
STATE on
TYPE MQTT2_DEVICE
eventCount 10
myBroker_CONN myBroker_127.0.0.1_41432
myBroker_MSGCNT 6
myBroker_TIME 2023-10-01 10:40:50
JSONMAP:
color_temp ct
color_temp_startup ct_startup
READINGS:
2023-10-01 10:33:28 IODev myBroker
2023-09-28 19:58:57 associatedWith MQTT2_zigbee_pi
2023-09-30 23:27:23 attrTemplateVersion 20221201
2023-10-01 10:40:50 brightness 215
2023-10-01 10:40:50 color_hue 0
2023-10-01 10:40:50 color_mode xy
2023-10-01 10:40:50 color_saturation 99
2023-10-01 10:40:50 color_temp 173
2023-10-01 10:40:50 color_x 0.69
2023-10-01 10:40:50 color_y 0.3019
2023-09-30 23:27:42 ct 277
2023-09-30 23:27:42 hex F22F23
2023-10-01 10:40:50 linkquality 84
2023-09-30 23:27:03 rgb FFCC58
2023-10-01 10:40:50 state on
2023-10-01 10:40:50 temperature_weather 2.5
2023-10-01 10:40:50 update_installed_version 34891088
2023-10-01 10:40:50 update_latest_version 34891088
2023-09-28 23:25:05 update_progress 100
2023-09-28 23:25:05 update_remaining 11
2023-10-01 10:40:50 update_state idle
Attributes:
alexaName Kugel
alias Lampe <br> Kugel
cmdIcon on:general_an off:general_aus cool:general_an neutral:general_an warm:general_an
comment The specified ct and brightness values in on and warm etc. commands ��can be adjusted at any time via the setList attribute
devStateIcon off:message_socket_off2@grey
on:message_socket_on2@green
{zigbee2mqtt_devStateIcon255($name)}
devicetopic zigbee2mqtt/FL_Kugel
genericDeviceType light
getList power_on_behavior:noArg power_on_behavior $DEVICETOPIC/get {"power_on_behavior": ""}
group Zigbee
homebridgeMapping Brightness=brightness::brightness,maxValue=100,max=100,factor=0.39371,delay=true Hue=color,cmd=huergb
jsonMap color_temp:ct color_temp_startup:ct_startup
model zigbee2mqtt_light_rgbw_rgb
readingList $DEVICETOPIC:.* { my $ret=json2nameValue($EVENT); $ret->{state}=lc($ret->{state}) if defined $ret->{state}; return $ret }
room Flur
setList on:noArg $DEVICETOPIC/set {"state":"ON"}
off:noArg $DEVICETOPIC/set {"state":"OFF"}
cool:noArg $DEVICETOPIC/set {"color_temp": 160}
neutral:noArg $DEVICETOPIC/set {"color_temp": 320}
warm:noArg $DEVICETOPIC/set {"color_temp": 370}
brightness:colorpicker,BRI,0,5,255 $DEVICETOPIC/set {"state":"on","$EVTPART0":"$EVTPART1"}
color:colorpicker,RGB {"$DEVICETOPIC/set ".zigbee2mqtt_RGB2JSON($EVTPART1)}
userReadings temperature_weather { sprintf("%.1f",ReadingsVal($name,"temperature","")+2.5) }
webCmd on:off:brightness:color:cool:neutral:warm
webCmdLabel Ein:Aus
:Helligkeit
:Farbe
:Kalt- <br> Weiss
:Neutral- <br> Weiss:Warm- <br> Weiss
Ich vermute es hängt mit dem color_mode zusammen, der wechselt.
Bei Farben ist es "xy" und bei Weisstönen "color_temp"
Dir fehlt der ct-setter, nimm einfach das zigbee2mqtt_light_rgbcct_rgb-Template, welches du ja schonmal angewendet haben musst, da ergänzt dann nur noch dein temperature_weather-userreadings (optimalerweise mit trigger).
und wie muss das temperature_weather-userreadings (optimalerweise mit trigger) genau aussehen?
Wenn ich das Template "zigbee2mqtt_light_rgbcct_rgb" nehme dann funktioniert auch keine Farbauswahl mehr über Alexa.
UserReading sieht dann so aus durch das Template
rgb:color_y.* {Color::xyY2hex(ReadingsVal($name,'color_x',0),ReadingsVal($name,'color_y',0),ReadingsVal($name,'brightness',254))}
Hier das neuste List vom Gerät mit dem Template "zigbee2mqtt_light_rgbcct_rgb"
Internals:
CID zigbee_FL_Kugel
DEF zigbee_FL_Kugel
FUUID 6515bee1-f33f-c1dd-3ba3-217b55b12fd33ba0
IODev myBroker
LASTInputDev myBroker
MSGCNT 136
NAME MQTT2_zigbee_FL_Kugel
NR 374
STATE on
TYPE MQTT2_DEVICE
eventCount 253
myBroker_CONN myBroker_127.0.0.1_41432
myBroker_MSGCNT 136
myBroker_TIME 2023-10-01 12:46:47
JSONMAP:
color_temp ct
READINGS:
2023-10-01 10:33:28 IODev myBroker
2023-09-28 19:58:57 associatedWith MQTT2_zigbee_pi
2023-10-01 12:42:51 attrTemplateVersion 20230410
2023-10-01 12:46:47 brightness 254
2023-10-01 12:46:47 color_hue 35
2023-10-01 12:46:47 color_mode color_temp
2023-10-01 12:46:47 color_saturation 72
2023-10-01 12:09:03 color_temp 370
2023-10-01 12:46:47 color_x 0.4286
2023-10-01 12:46:47 color_y 0.4011
2023-10-01 12:46:47 ct 320
2023-09-30 23:27:42 hex F22F23
2023-10-01 12:46:47 linkquality 75
2023-10-01 12:46:47 rgb FFD262
2023-10-01 12:46:47 state on
2023-10-01 11:15:10 temperature_weather 2.5
2023-10-01 12:46:47 update_installed_version 34891088
2023-10-01 12:46:47 update_latest_version 34891088
2023-09-28 23:25:05 update_progress 100
2023-09-28 23:25:05 update_remaining 11
2023-10-01 12:46:47 update_state idle
hmccu:
Attributes:
alexaName Kugel
alias Lampe <br> Kugel
comment The specified ct and brightness values in on and warm etc. commands ��can be adjusted at any time via the setList attribute
devStateIcon off:message_socket_off2@grey
on:message_socket_on2@green
devicetopic zigbee2mqtt/FL_Kugel
genericDeviceType light
getList power_on_behavior:noArg power_on_behavior $DEVICETOPIC/get {"power_on_behavior": ""}
group Zigbee
homebridgeMapping Brightness=brightness::brightness,maxValue=100,max=100,factor=0.39371,delay=true
jsonMap color_temp:ct
model zigbee2mqtt_light_rgbcct_rgb
readingList $DEVICETOPIC:.* { my $ret=json2nameValue($EVENT,'',$JSONMAP); $ret->{state}=lc($ret->{state}) if defined $ret->{state}; return $ret }
room Flur
setList on:noArg $DEVICETOPIC/set {"brightness": 200 , "state":"ON", "color_temp": 320}
off:noArg $DEVICETOPIC/set {"state":"OFF"}
brightness:colorpicker,BRI,0,5,255 $DEVICETOPIC/set {"state":"on","$EVTPART0":"$EVTPART1"}
ct:colorpicker,CT,154,2,500 $DEVICETOPIC/set {"color_temp":"$EVTPART1"}
warm:noArg $DEVICETOPIC/set {"brightness": 200 , "color_temp": 370}
white:noArg $DEVICETOPIC/set {"brightness": 200, "color_temp": 160}
rgb:colorpicker,RGB {"$DEVICETOPIC/set ".zigbee2mqtt_RGB2JSON($EVTPART1)}
power_on_behavior:on,off,toggle,previous $DEVICETOPIC/set {"power_on_behavior": "$EVTPART1"}
userReadings rgb:color_y.* {Color::xyY2hex(ReadingsVal($name,'color_x',0),ReadingsVal($name,'color_y',0),ReadingsVal($name,'brightness',254))}
webCmd on:off:brightness:ct:rgb
Zitatund wie muss das temperature_weather-userreadings (optimalerweise mit trigger) genau aussehen?
Könnte so aussehen:
rgb:color_y.* {Color::xyY2hex(ReadingsVal($name,'color_x',0),ReadingsVal($name,'color_y',0),ReadingsVal($name,'brightness',254))},
temperature_weather:color_y.* { sprintf("%.1f",ReadingsVal($name,"temperature","")+2.5) }
ZitatWenn ich das Template "zigbee2mqtt_light_rgbcct_rgb" nehme dann funktioniert auch keine Farbauswahl mehr über Alexa.
Ich habs mal bei einem meiner Devices ausprobiert, mal klappt ein Sprachbefehl mit dem rgb-setter mal nicht, genauso verhält es sich aber auch wenn ich den color-setter wieder ergänze. Ich will mich damit aber gar nicht weiter mit beschäftigen und hab jetzt auch keine Zeit. Vlt. kann wer anders was dazu sagen.
Klappt vlt. bei Dir mit dem color-setter weiterhin ?
Hab mal das Device neu angelegt mit deinen Inputs (Template & userreading)
Nun kann ich über Alexa alle Weiss Töne steuern aber bei den Farben geht nichts bzw. Lampe wird immer blau.
Im Log bekomme ich mit diesen Einstellungen auch folgende Fehlermeldungen:
2023.10.01 14:16:41 3: MQTT2_DEVICE set MQTT2_zigbee_FL_Kugel ct 466
2023.10.01 14:16:41 1: PERL WARNING: Argument "" isn't numeric in addition (+) at (eval 2495) line 1.
2023.10.01 14:16:41 3: eval: { sprintf("%.1f",ReadingsVal($name,"temperature","")+2.5) }
2023.10.01 14:16:44 3: MQTT2_DEVICE set MQTT2_zigbee_FL_Kugel ct 190
2023.10.01 14:16:44 1: PERL WARNING: Argument "" isn't numeric in addition (+) at (eval 2506) line 1.
2023.10.01 14:16:44 3: eval: { sprintf("%.1f",ReadingsVal($name,"temperature","")+2.5) }
2023.10.01 14:16:47 3: MQTT2_DEVICE set MQTT2_zigbee_FL_Kugel ct 500
2023.10.01 14:16:47 1: PERL WARNING: Argument "" isn't numeric in addition (+) at (eval 2517) line 1.
2023.10.01 14:16:47 3: eval: { sprintf("%.1f",ReadingsVal($name,"temperature","")+2.5) }
2023.10.01 14:16:52 3: MQTT2_DEVICE set MQTT2_zigbee_FL_Kugel ct 460
2023.10.01 14:16:52 1: PERL WARNING: Argument "" isn't numeric in addition (+) at (eval 2528) line 1.
2023.10.01 14:16:52 3: eval: { sprintf("%.1f",ReadingsVal($name,"temperature","")+2.5) }
2023.10.01 14:16:57 3: MQTT2_DEVICE set MQTT2_zigbee_FL_Kugel rgb ff7236
2023.10.01 14:16:57 1: PERL WARNING: Argument "" isn't numeric in addition (+) at (eval 2541) line 1.
2023.10.01 14:16:57 3: eval: { sprintf("%.1f",ReadingsVal($name,"temperature","")+2.5) }
2023.10.01 14:17:01 3: MQTT2_DEVICE set MQTT2_zigbee_FL_Kugel ct 282
2023.10.01 14:17:01 1: PERL WARNING: Argument "" isn't numeric in addition (+) at (eval 2555) line 1.
2023.10.01 14:17:01 3: eval: { sprintf("%.1f",ReadingsVal($name,"temperature","")+2.5) }
Also genau das Gegentiel zu vorher.
Noch jemand eine Idee?
Neustes List von der Lampe
Internals:
CID zigbee_FL_Kugel
DEF zigbee_FL_Kugel
FUUID 6515bee1-f33f-c1dd-3ba3-217b55b12fd33ba0
IODev myBroker
LASTInputDev myBroker
MSGCNT 26
NAME MQTT2_zigbee_FL_Kugel
NR 374
STATE on
TYPE MQTT2_DEVICE
eventCount 53
myBroker_CONN myBroker_127.0.0.1_33130
myBroker_MSGCNT 26
myBroker_TIME 2023-10-01 14:05:16
JSONMAP:
color_temp ct
READINGS:
2023-10-01 12:59:31 IODev myBroker
2023-09-28 19:58:57 associatedWith MQTT2_zigbee_pi
2023-10-01 13:53:07 attrTemplateVersion 20230410
2023-10-01 14:05:16 brightness 70
2023-10-01 14:05:16 color_hue 38
2023-10-01 14:05:16 color_mode color_temp
2023-10-01 14:05:16 color_saturation 58
2023-10-01 13:28:09 color_temp 370
2023-10-01 14:05:16 color_x 0.3962
2023-10-01 14:05:16 color_y 0.3859
2023-10-01 14:05:16 ct 272
2023-09-30 23:27:42 hex F22F23
2023-10-01 14:05:16 linkquality 78
2023-10-01 14:05:16 rgb FFE387
2023-10-01 14:05:16 state on
2023-10-01 14:05:16 temperature_weather 2.5
2023-10-01 14:05:16 update_installed_version 34891088
2023-10-01 14:05:16 update_latest_version 34891088
2023-09-28 23:25:05 update_progress 100
2023-09-28 23:25:05 update_remaining 11
2023-10-01 14:05:16 update_state idle
hmccu:
Attributes:
alexaName Kugel
alias Lampe <br> Kugel
comment The specified ct and brightness values in on and warm etc. commands ��can be adjusted at any time via the setList attribute
devStateIcon {zigbee2mqtt_devStateIcon255($name)}
devicetopic zigbee2mqtt/FL_Kugel
genericDeviceType light
getList power_on_behavior:noArg power_on_behavior $DEVICETOPIC/get {"power_on_behavior": ""}
group Zigbee
homebridgeMapping Brightness=brightness::brightness,maxValue=100,max=100,factor=0.39371,delay=true
icon hue_filled_white_and_color_e27_b22
jsonMap color_temp:ct
model zigbee2mqtt_light_rgbcct_rgb
readingList $DEVICETOPIC:.* { my $ret=json2nameValue($EVENT,'',$JSONMAP); $ret->{state}=lc($ret->{state}) if defined $ret->{state}; return $ret }
room Flur
setList on:noArg $DEVICETOPIC/set {"brightness": 200 , "state":"ON", "color_temp": 260}
off:noArg $DEVICETOPIC/set {"state":"OFF"}
brightness:colorpicker,BRI,0,5,255 $DEVICETOPIC/set {"state":"on","$EVTPART0":"$EVTPART1"}
ct:colorpicker,CT,154,2,500 $DEVICETOPIC/set {"color_temp":"$EVTPART1"}
warm:noArg $DEVICETOPIC/set {"brightness": 200 , "color_temp": 370}
white:noArg $DEVICETOPIC/set {"brightness": 200, "color_temp": 260}
rgb:colorpicker,RGB {"$DEVICETOPIC/set ".zigbee2mqtt_RGB2JSON($EVTPART1)}
power_on_behavior:on,off,toggle,previous $DEVICETOPIC/set {"power_on_behavior": "$EVTPART1"}
userReadings rgb:color_y.* {Color::xyY2hex(ReadingsVal($name,'color_x',0),ReadingsVal($name,'color_y',0),ReadingsVal($name,'brightness',254))},
temperature_weather:color_y.* { sprintf("%.1f",ReadingsVal($name,"temperature","")+2.5) }
webCmd toggle:on:off:brightness:ct:rgb
Die Meldungen im Log waren zuvor doch bestimmt auch schon da ?
Nimm mal ReadingsNum statt ReadingsVal.
Die Fehlermeldungen hatte ich davor nicht, da temperature_weather nicht eingefügt war.
Ohne die neue Zeile funktioniert es ohne Fehlermeldungen.
Versuch 1.
ReadingsNum nur in der zweiten Zeile = Fehlermeldung im Log, sowie keine Farbänderung über Alexa
rgb:color_y.* {Color::xyY2hex(ReadingsVal($name,'color_x',0),ReadingsVal($name,'color_y',0),ReadingsVal($name,'brightness',254))},
temperature_weather:color_y.* { sprintf("%.1f",ReadingsNum($name,"temperature","")+2.5) }
2023.10.02 15:57:46 3: MQTT2_DEVICE set MQTT2_zigbee_FL_Kugel rgb ff3e17
2023.10.02 15:57:46 1: PERL WARNING: Argument "" isn't numeric in addition (+) at (eval 29571) line 1.
2023.10.02 15:57:46 3: eval: { sprintf("%.1f",ReadingsNum($name,"temperature","")+2.5) }
Versuch 2.
ReadingsNum in beiden Zeilen = Fehlermeldung im Log, sowie keine Farbänderung über Alexa
rgb:color_y.* {Color::xyY2hex(ReadingsNum($name,'color_x',0),ReadingsNum($name,'color_y',0),ReadingsNum($name,'brightness',254))},
temperature_weather:color_y.* { sprintf("%.1f",ReadingsNum($name,"temperature","")+2.5) }
2023.10.02 15:59:26 3: MQTT2_DEVICE set MQTT2_zigbee_FL_Kugel rgb 4033f3
2023.10.02 15:59:26 1: PERL WARNING: Argument "" isn't numeric in addition (+) at (eval 29605) line 1.
2023.10.02 15:59:26 3: eval: { sprintf("%.1f",ReadingsNum($name,"temperature","")+2.5) }
ZitatDie Fehlermeldungen hatte ich davor nicht, da temperature_weather nicht eingefügt war.
Ohne die neue Zeile funktioniert es ohne Fehlermeldungen.
Bin jetzt etwas verwirrt, das temperature_weather-userReadings war doch von dir und wolltest du haben, mein Vorschlag war nur einen trigger zu ergänzen.
Die Fehlermeldung kommt weil es gar kein temperature-Reading gibt.
Das Reading kommt nicht von mir.
Es war in dem ersten Template drin wo ich genommen habe für die Lampe.
Bei dem vorgeschlagenen Template von Dir (welches auch besser ist) ist nur im UserReadings
rgb:color_y.* {Color::xyY2hex(ReadingsVal($name,'color_x',0),ReadingsVal($name,'color_y',0),ReadingsVal($name,'brightness',254))}
Man muss dem Device bzw. Alexa FHEM irgendwie beibringen das er zwischen color_temp Werten & xy Werten Unterscheiden kann.
Hallo zusammen,
hier das neuste List vom Device.
Die Weisstöne lassen sich nun schalten in Alexa und in Alexa zeigt es nun auch den Zustand Ein/Aus richtig an.
Was nun aber weiterhin nicht geht und ich keine Lösung finde ist über die Alexa nun die Farben schalten zu können.
Bisher war es immer nur entweder die Weisstöne oder die Farben.
Jemand noch eine Idee?
Internals:
CID zigbee_FL_Kugel
DEF zigbee_FL_Kugel
FUUID 6515bee1-f33f-c1dd-3ba3-217b55b12fd33ba0
IODev myBroker
LASTInputDev myBroker
MSGCNT 2
NAME MQTT2_zigbee_FL_Kugel
NR 374
STATE off
TYPE MQTT2_DEVICE
eventCount 2
myBroker_CONN myBroker_127.0.0.1_55910
myBroker_MSGCNT 2
myBroker_TIME 2023-10-06 18:40:05
JSONMAP:
color_temp ct
READINGS:
2023-10-06 18:38:45 IODev myBroker
2023-09-28 19:58:57 associatedWith MQTT2_zigbee_pi
2023-10-01 13:53:07 attrTemplateVersion 20230410
2023-10-06 18:40:05 brightness 50
2023-10-06 18:40:05 color_hue 34
2023-10-06 18:40:05 color_mode color_temp
2023-10-06 18:40:05 color_saturation 76
2023-10-01 13:28:09 color_temp 370
2023-10-06 18:40:05 color_x 0.4391
2023-10-06 18:40:05 color_y 0.4048
2023-10-06 18:40:05 ct 336
2023-09-30 23:27:42 hex F22F23
2023-10-06 18:40:05 linkquality 81
2023-10-06 18:40:05 rgb FFCC58
2023-10-06 18:40:05 state off
2023-10-02 16:00:34 temperature_weather 2.5
2023-10-06 18:40:05 update_installed_version 34891088
2023-10-06 18:40:05 update_latest_version 34891088
2023-09-28 23:25:05 update_progress 100
2023-09-28 23:25:05 update_remaining 11
2023-10-06 18:40:05 update_state idle
Attributes:
alexaName Kugel
alias Lampe <br> Kugel
cmdIcon on:general_an off:general_aus
comment The specified ct and brightness values in on and warm etc. commands ��can be adjusted at any time via the setList attribute
devStateIcon off:message_socket_off2@grey
on:message_socket_on2@green
devicetopic zigbee2mqtt/FL_Kugel
genericDeviceType light
getList power_on_behavior:noArg power_on_behavior $DEVICETOPIC/get {"power_on_behavior": ""}
group Zigbee
homebridgeMapping Brightness=brightness::brightness,maxValue=100,max=100,factor=0.39371,delay=true
jsonMap color_temp:ct
model zigbee2mqtt_light_rgbcct_rgb
readingList $DEVICETOPIC:.* { my $ret=json2nameValue($EVENT,'',$JSONMAP); $ret->{state}=lc($ret->{state}) if defined $ret->{state}; return $ret }
room Flur
setList on:noArg $DEVICETOPIC/set {"state":"ON"}
off:noArg $DEVICETOPIC/set {"state":"OFF"}
brightness:colorpicker,BRI,0,5,255 $DEVICETOPIC/set {"state":"on","$EVTPART0":"$EVTPART1"}
ct:colorpicker,CT,154,2,370 $DEVICETOPIC/set {"state":"ON" , "color_temp":"$EVTPART1"}
warm:noArg $DEVICETOPIC/set {"brightness": 200 , "color_temp": 370}
white:noArg $DEVICETOPIC/set {"brightness": 200, "color_temp": 260}
rgb:colorpicker,RGB {my $output=decode_json(zigbee2mqtt_RGB2JSON($EVTPART1));$output->{state}="ON";return "$DEVICETOPIC/set ".encode_json($output);}
power_on_behavior:on,off,toggle,previous $DEVICETOPIC/set {"power_on_behavior": "$EVTPART1"}
userReadings rgb:color_y.* {Color::xyY2hex(ReadingsVal($name,'color_x',0),ReadingsVal($name,'color_y',0),ReadingsVal($name,'brightness',254))}
webCmd on:off:brightness:ct:rgb
webCmdLabel Ein:Aus
:Helligkeit
:Kelvin
:Farbe
Wollte nochmals ungeniert nachfragen ob mir jemand bei der Lösung helfen kann?
Zitatjemand bei der Lösung helfen kann?
Hab einen kleinen Lichtblick dazu, nachdem ich mich wieder mit dem Thema 2 Stunden beschäftigt habe.
Mit Optimierungspotential und eigentlich vielen Fragen (unter anderem ob man die Meldung im LogFile wegen dem 1 Parameter in hsv2hex ignorieren soll oder nicht/teilen) hier ein erster Ansatz was ich mir jetzt zusammenreime:
hue:colorpicker,HUE,0,1,360 {my $hex=Color::hsv2hex($EVTPART1,'100','100');return qq($DEVICETOPIC/set {"color":{"hex":"#$hex"}}) }
Hallo TomLee,
ein toller Ansatz. Er schaltet nun zumindest bei einer Farbe - aber sonst immer Blau.
Ich würde sagen ich belasse es mit den Weiss Tönen und mache die Farbauswahl dann über Frontend statt Sprachsteuerung.
Man kann nicht alles haben. :-)
Vielleicht noch ne Frage zur Helligkeit.
Hier bekomme ich über Alexa immer Werte wie (brightness ffc147) zurück gemeldet zum schalten statt einer Zahl von 0-254.
Braucht es hier ein Übersetzer innerhalb des Devices oder eher ein Dummy?
Gruss, Fabian
Zeig mal ein List von dem Device
Hier das aktuelle List
(mit deinem User Reading)
Es wird mit dem Homebridge Mapping zu tun haben.
Laut den Foren müsste es aber richtig eingestellt sein.
Internals:
CID zigbee_FL_Kugel
DEF zigbee_FL_Kugel
FUUID 6515bee1-f33f-c1dd-3ba3-217b55b12fd33ba0
IODev myBroker
LASTInputDev myBroker
MSGCNT 6
NAME MQTT2_zigbee_FL_Kugel
NR 378
STATE off
TYPE MQTT2_DEVICE
eventCount 11
myBroker_CONN myBroker_127.0.0.1_33830
myBroker_MSGCNT 6
myBroker_TIME 2023-10-30 16:40:16
JSONMAP:
color_temp ct
READINGS:
2023-10-30 16:36:40 IODev myBroker
2023-09-28 19:58:57 associatedWith MQTT2_zigbee_pi
2023-10-01 13:53:07 attrTemplateVersion 20230410
2023-10-30 16:40:16 brightness 35
2023-10-30 16:40:16 color_hue 32
2023-10-30 16:40:16 color_mode color_temp
2023-10-30 16:40:16 color_saturation 82
2023-10-01 13:28:09 color_temp 370
2023-10-30 16:40:16 color_x 0.4599
2023-10-30 16:40:16 color_y 0.4106
2023-10-30 16:40:16 ct 370
2023-09-30 23:27:42 hex F22F23
2023-10-30 16:40:16 linkquality 147
2023-10-30 16:40:16 rgb FFC147
2023-10-30 16:40:16 state off
2023-10-02 16:00:34 temperature_weather 2.5
2023-10-30 16:40:16 update_installed_version 34891088
2023-10-30 16:40:16 update_latest_version 34891088
2023-09-28 23:25:05 update_progress 100
2023-09-28 23:25:05 update_remaining 11
2023-10-30 16:40:16 update_state idle
hmccu:
Attributes:
alexaName Kugel
alias Lampe <br> Kugel
cmdIcon on:general_an off:general_aus
comment The specified ct and brightness values in on and warm etc. commands ��can be adjusted at any time via the setList attribute
devStateIcon off:message_socket_off2@grey
on:message_socket_on2@green
devicetopic zigbee2mqtt/FL_Kugel
genericDeviceType light
getList power_on_behavior:noArg power_on_behavior $DEVICETOPIC/get {"power_on_behavior": ""}
group Zigbee
homebridgeMapping Brightness=brightness::brightness,maxValue=100,max=100,factor=0.39371,delay=true
jsonMap color_temp:ct
model zigbee2mqtt_light_rgbcct_rgb
readingList $DEVICETOPIC:.* { my $ret=json2nameValue($EVENT,'',$JSONMAP); $ret->{state}=lc($ret->{state}) if defined $ret->{state}; return $ret }
room Flur
setList on:noArg $DEVICETOPIC/set {"state":"ON"}
off:noArg $DEVICETOPIC/set {"state":"OFF"}
brightness:colorpicker,BRI,0,5,255 $DEVICETOPIC/set {"state":"on","$EVTPART0":"$EVTPART1"}
ct:colorpicker,CT,154,2,370 $DEVICETOPIC/set {"state":"ON" , "color_temp":"$EVTPART1"}
warm:noArg $DEVICETOPIC/set {"brightness": 200 , "color_temp": 370}
white:noArg $DEVICETOPIC/set {"brightness": 200, "color_temp": 260}
rgb:colorpicker,RGB {my $output=decode_json(zigbee2mqtt_RGB2JSON($EVTPART1));$output->{state}="ON";return "$DEVICETOPIC/set ".encode_json($output);}
power_on_behavior:on,off,toggle,previous $DEVICETOPIC/set {"power_on_behavior": "$EVTPART1"}
userReadings hue:colorpicker,HUE,0,1,360 {my $hex=Color::hsv2hex($EVTPART1,'100','100');return qq($DEVICETOPIC/set {"color":{"hex":"#$hex"}}) }
webCmd on:off:brightness:ct:rgb
webCmdLabel Ein:Aus
:Helligkeit
:Kelvin
:Farbe
Das hast du falsch verstanden, das was ich gezeigt hatte ist ein zusätzlicher Eintrag in setList.
Das rgb userreadings aus dem Template muss weiterhin bestehen bleiben.
defmod MQTT2_zigbee_rgbw_bulb_flur_privat MQTT2_DEVICE zigbee_0x00158d0003e5ee0c
attr MQTT2_zigbee_rgbw_bulb_flur_privat IODev MQTT2_Server
attr MQTT2_zigbee_rgbw_bulb_flur_privat alexaName aprikose
attr MQTT2_zigbee_rgbw_bulb_flur_privat comment The specified ct and brightness values in on and warm etc. commands ��can be adjusted at any time via the setList attribute
attr MQTT2_zigbee_rgbw_bulb_flur_privat devStateIcon {Color::devStateIcon($name,'rgb','rgb','brightness','state')}
attr MQTT2_zigbee_rgbw_bulb_flur_privat devicetopic zigbee2mqtt/0x00158d0003e5ee0c
attr MQTT2_zigbee_rgbw_bulb_flur_privat getList power_on_behavior:noArg power_on_behavior $DEVICETOPIC/get {"power_on_behavior": ""}
attr MQTT2_zigbee_rgbw_bulb_flur_privat homebridgeMapping Brightness=brightness::brightness,maxValue=100,max=100,factor=0.39371,delay=true
attr MQTT2_zigbee_rgbw_bulb_flur_privat icon hue_filled_white_and_color_e27_b22
attr MQTT2_zigbee_rgbw_bulb_flur_privat imageLink /fhem/deviceimages/mqtt2/404000-404005-404012.jpg
attr MQTT2_zigbee_rgbw_bulb_flur_privat jsonMap color_temp:ct
attr MQTT2_zigbee_rgbw_bulb_flur_privat model zigbee2mqtt_light_rgbcct_rgb
attr MQTT2_zigbee_rgbw_bulb_flur_privat readingList $DEVICETOPIC:.* { my $ret=json2nameValue($EVENT,'',$JSONMAP);; $ret->{state}=lc($ret->{state}) if defined $ret->{state};; return $ret }
attr MQTT2_zigbee_rgbw_bulb_flur_privat room Deko,MQTT2_DEVICE,Privat->EG->Flur
attr MQTT2_zigbee_rgbw_bulb_flur_privat setList on:noArg $DEVICETOPIC/set {"brightness": 15 , "state":"ON"}\
off:noArg $DEVICETOPIC/set {"state":"OFF"}\
brightness:colorpicker,BRI,0,5,255 $DEVICETOPIC/set {"state":"on","$EVTPART0":"$EVTPART1"}\
ct:colorpicker,CT,154,2,500 $DEVICETOPIC/set {"color_temp":"$EVTPART1"}\
warm:noArg $DEVICETOPIC/set {"brightness": 120 , "color_temp": 320}\
white:noArg $DEVICETOPIC/set {"brightness": 120, "color_temp": 250}\
rgb:colorpicker,RGB {"$DEVICETOPIC/set ".zigbee2mqtt_RGB2JSON($EVTPART1)}\
power_on_behavior:on,off,toggle,previous $DEVICETOPIC/set {"power_on_behavior": "$EVTPART1"}\
hue:colorpicker,HUE,0,1,360 {my $hex=Color::hsv2hex($EVTPART1,'100',ReadingsNum($NAME,'brightness',0));;return qq($DEVICETOPIC/set {"color":{"hex":"#$hex"}}) }
attr MQTT2_zigbee_rgbw_bulb_flur_privat stateFormat {lc ReadingsVal($name,"state",0)}
attr MQTT2_zigbee_rgbw_bulb_flur_privat userReadings rgb:color_y.* {Color::xyY2hex(ReadingsNum($name,'color_x',0),ReadingsNum($name,'color_y',0),ReadingsNum($name,'brightness',254))}
attr MQTT2_zigbee_rgbw_bulb_flur_privat verbose 2
attr MQTT2_zigbee_rgbw_bulb_flur_privat webCmd rgb:brightness:ct
attr MQTT2_zigbee_rgbw_bulb_flur_privat webCmdLabel RGB\
:Brightness\
:Colortemp
setstate MQTT2_zigbee_rgbw_bulb_flur_privat on
setstate MQTT2_zigbee_rgbw_bulb_flur_privat 2023-10-30 16:58:01 IODev MQTT2_Server
setstate MQTT2_zigbee_rgbw_bulb_flur_privat 2023-10-30 16:58:19 brightness 254
setstate MQTT2_zigbee_rgbw_bulb_flur_privat 2023-10-30 16:58:19 color_mode xy
setstate MQTT2_zigbee_rgbw_bulb_flur_privat 2023-10-30 16:58:19 color_x 0.1492
setstate MQTT2_zigbee_rgbw_bulb_flur_privat 2023-10-30 16:58:19 color_y 0.0462
setstate MQTT2_zigbee_rgbw_bulb_flur_privat 2023-10-30 16:58:19 ct 556
setstate MQTT2_zigbee_rgbw_bulb_flur_privat 2023-10-30 16:58:19 linkquality 231
setstate MQTT2_zigbee_rgbw_bulb_flur_privat 2023-10-30 16:58:19 power_on_behavior off
setstate MQTT2_zigbee_rgbw_bulb_flur_privat 2023-10-30 16:58:19 rgb 0705F9
setstate MQTT2_zigbee_rgbw_bulb_flur_privat 2023-10-30 16:58:19 state on
Neustart von alexa-fhem nicht vergessen.
So wie es aussieht sendet Alexa bei der Helligkeit nun Farbcodes zurück anstatt der Helligkeit zwischen 0-100%
2023.10.30 17:46:01 3: MQTT2_DEVICE set MQTT2_zigbee_FL_Kugel brightness ebb241
2023.10.30 17:46:08 3: MQTT2_DEVICE set MQTT2_zigbee_FL_Kugel brightness 9c762b
2023.10.30 17:46:09 3: MQTT2_DEVICE set MQTT2_zigbee_FL_Kugel brightness 30250d
Good News.
Die Lampe funktioniert nun komplett über Alexa.
(An,Aus,Helligkeit,alle Farben usw.)
Danke für deinen tollen und grossen Support TomLee.
Mit deinem letzten Hinweis ging es nun :-)
Hier das fertige Device als List, falls noch jemand das benötigen wird.
Internals:
CID zigbee_FL_Kugel
DEF zigbee_FL_Kugel
FUUID 6515bee1-f33f-c1dd-3ba3-217b55b12fd33ba0
IODev myBroker
LASTInputDev myBroker
MSGCNT 44
NAME MQTT2_zigbee_FL_Kugel
NR 378
STATE off
TYPE MQTT2_DEVICE
eventCount 90
myBroker_CONN myBroker_127.0.0.1_36260
myBroker_MSGCNT 44
myBroker_TIME 2023-10-30 17:55:47
JSONMAP:
color_temp ct
READINGS:
2023-10-30 17:44:15 IODev myBroker
2023-09-28 19:58:57 associatedWith MQTT2_zigbee_pi
2023-10-01 13:53:07 attrTemplateVersion 20230410
2023-10-30 17:55:47 brightness 254
2023-10-30 17:55:47 color_hue 32
2023-10-30 17:55:47 color_mode color_temp
2023-10-30 17:55:47 color_saturation 82
2023-10-01 13:28:09 color_temp 370
2023-10-30 17:55:47 color_x 0.4599
2023-10-30 17:55:47 color_y 0.4106
2023-10-30 17:55:47 ct 370
2023-09-30 23:27:42 hex F22F23
2023-10-30 17:55:47 linkquality 150
2023-10-30 17:55:47 rgb FFC147
2023-10-30 17:55:47 state off
2023-10-02 16:00:34 temperature_weather 2.5
2023-10-30 17:55:47 update_installed_version 34891088
2023-10-30 17:55:47 update_latest_version 34891088
2023-09-28 23:25:05 update_progress 100
2023-09-28 23:25:05 update_remaining 11
2023-10-30 17:55:47 update_state idle
hmccu:
Attributes:
alexaName Kugel
alias Lampe <br> Kugel
cmdIcon on:general_an off:general_aus
comment The specified ct and brightness values in on and warm etc. commands ��can be adjusted at any time via the setList attribute
devStateIcon off:message_socket_off2@grey
on:message_socket_on2@green
devicetopic zigbee2mqtt/FL_Kugel
genericDeviceType light
getList power_on_behavior:noArg power_on_behavior $DEVICETOPIC/get {"power_on_behavior": ""}
group Zigbee
homebridgeMapping Brightness=brightness::brightness,maxValue=100,max=100,factor=0.39371,delay=true
jsonMap color_temp:ct
model zigbee2mqtt_light_rgbcct_rgb
readingList $DEVICETOPIC:.* { my $ret=json2nameValue($EVENT,'',$JSONMAP); $ret->{state}=lc($ret->{state}) if defined $ret->{state}; return $ret }
room Flur
setList on:noArg $DEVICETOPIC/set {"state":"ON"}
off:noArg $DEVICETOPIC/set {"state":"OFF"}
brightness:colorpicker,BRI,0,5,255 $DEVICETOPIC/set {"state":"on","$EVTPART0":"$EVTPART1"}
ct:colorpicker,CT,154,2,370 $DEVICETOPIC/set {"state":"ON" , "color_temp":"$EVTPART1"}
warm:noArg $DEVICETOPIC/set {"brightness": 200 , "color_temp": 370}
white:noArg $DEVICETOPIC/set {"brightness": 200, "color_temp": 260}
rgb:colorpicker,RGB {my $output=decode_json(zigbee2mqtt_RGB2JSON($EVTPART1));$output->{state}="ON";return "$DEVICETOPIC/set ".encode_json($output);}
power_on_behavior:on,off,toggle,previous $DEVICETOPIC/set {"power_on_behavior": "$EVTPART1"}
hue:colorpicker,HUE,0,1,360 {my $hex=Color::hsv2hex($EVTPART1,'100','100');return qq($DEVICETOPIC/set {"color":{"hex":"#$hex"}}) }
userReadings rgb:color_y.* {Color::xyY2hex(ReadingsVal($name,'color_x',0),ReadingsVal($name,'color_y',0),ReadingsVal($name,'brightness',254))}
webCmd on:off:brightness:ct:rgb
webCmdLabel Ein:Aus
:Helligkeit
:Kelvin
:Farbe