*gelöst* Sprachsteuerung Alexa & Ledvance Smart+ > Weiss Töne gehen nicht

Begonnen von DJCrazy, 01 Oktober 2023, 10:43:02

Vorheriges Thema - Nächstes Thema

DJCrazy

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"


TomLee

#1
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).

DJCrazy

#2
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

TomLee

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 ?

DJCrazy

#4
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

TomLee

Die Meldungen im Log waren zuvor doch bestimmt auch schon da ?
Nimm mal ReadingsNum statt ReadingsVal.

DJCrazy

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) }


TomLee

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.

DJCrazy

#8
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.

DJCrazy

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

DJCrazy

Wollte nochmals ungeniert nachfragen ob mir jemand bei der Lösung helfen kann?

TomLee

#11
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"}}) }

DJCrazy

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

TomLee


DJCrazy

#14
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