Alexa: Helligkeit auf 50% -> brightness -> 807347?!

Begonnen von binford6000, 21 April 2025, 19:37:02

Vorheriges Thema - Nächstes Thema

binford6000

Hallo Zusammen,
ich habe in den letzten Wochen meinen alten deconz/HUEDevice-Zoo erfolgreich auf zigbee2mqtt umgestellt.
Fast alles funktioniert wie vorher oder sogar noch besser (zB. Szenen).

Warum fast alles? Das einzige Problemchen das ich noch habe ist bei der Sprachsteuerung via Alexa:
  • "Alexa, Helligkeit auf 50%" bewirkt nichts. Die aktuelle Helligkeit bleibt gleich.
  • Im Alexa-Log findet sich allerdings Interessantes dazu:
    [21.4.2025, 19:03:01] [FHEM] bu_talpa_licht-brightness not a number: 254
    [21.4.2025, 19:03:01] [FHEM] bu_talpa_licht: executing set cmd for Brightness with value 50
      2025-04-21 19:03:01 caching: bu_talpa_licht-brightness: 807347
    [21.4.2025, 19:03:01] [FHEM]     caching: Brightness: 50 (as number; from '807347')
    [21.4.2025, 19:03:01] [FHEM]   value converted to 807347
    [21.4.2025, 19:03:01] [FHEM]   executing: https://10.3.3.14:8885/fhem?cmd=set%20bu_talpa_licht%20brightness%20807347&fwcsrf=csrf_442357857989424&XHR=1
    [21.4.2025, 19:03:01] [FHEM]     caching: On: 1 (as number; from 'brightness')
  • brightness wird auch auf '807347' gesetzt - was natürlich nichts bewirkt da es außerhalb des Wertebereichs von 0-254 liegt.

Hier noch ein List des Devices aus dem Log-Auszug. Das 'homebridgeMapping'-Attribut wurde nicht geändert - es kommt direkt aus dem attrTemplate.
Internals:
  CID        zigbee_bu_talpa_licht
  DEF        zigbee_bu_talpa_licht
  FUUID      67f2a32d-f33f-0308-55fe-015e2d6f857bf418
  FVERSION  10_MQTT2_DEVICE.pm:0.295280/2025-01-16
  IODev      mqtt2_client
  LASTInputDev mqtt2_client
  MSGCNT    60
  NAME      bu_talpa_licht
  NR        470
  STATE      on
  TYPE      MQTT2_DEVICE
  eventCount 92
  mqtt2_client_MSGCNT 60
  mqtt2_client_TIME 2025-04-21 19:13:59
  JSONMAP:
    color_temp ct
  READINGS:
    2025-04-21 13:02:21  IODev          mqtt2_client
    2025-04-06 17:54:33  associatedWith  z2m.home.lan
    2025-04-06 17:52:40  attrTemplateVersion 20240108
    2025-04-09 09:53:31  availability    online
    2025-04-21 19:13:59  brightness      807347
    2025-04-13 10:45:16  brightness_move 0
    2025-04-21 18:48:45  brightness_percent 40
    2025-04-21 18:28:26  color_mode      color_temp
    2025-04-21 18:41:44  color_temp      265
    2025-04-06 17:52:14  color_temp_startup 370
    2025-04-21 18:41:44  color_x        0.3911
    2025-04-21 18:41:44  color_y        0.3831
    2025-04-21 18:41:44  ct              265
    2025-04-21 18:47:02  json2nameValueErrorText error parsing (#2) 'ffe68e'
    2025-04-21 18:47:02  json2nameValueInput {"state":"on","brightness":ffe68e}
    2025-04-21 19:12:22  linkquality    24
    2025-04-06 17:52:14  power_on_behavior previous
    2025-04-21 18:41:44  rgb            FFE68E
    2025-04-21 19:13:59  state          on
    2025-04-09 01:59:29  transition      3
Attributes:
  alexaName  Talpa
  cmdIcon    on:15px-blue@blue off:15px-red
  comment    The specified ct and brightness values in on and warm etc. commands can be adjusted at any time via the setList attribute
  devStateIcon on|ON:15px-yellow off|OFF:15px-grey undefined:15px-red
  devicetopic zigbee2mqtt/bu_talpa_licht
  event-on-change-reading .*
  genericDeviceType light
  getList    power_on_behavior:noArg power_on_behavior $DEVICETOPIC/get {"power_on_behavior": ""}
  group      Licht
  hcl        full
  hcl_ct_max 6500
  hcl_ct_min 1800
  homebridgeMapping Brightness=brightness::brightness,maxValue=100,factor=0.39216,delay=true
  icon      💡
  jsonMap    color_temp:ct
  lichter    bu_lichter
  model      zigbee2mqtt_light_rgbcct_rgb
  readingList $DEVICETOPIC:.* { my $ret=json2nameValue($EVENT,'',$JSONMAP); $ret->{state}=lc($ret->{state}) if defined $ret->{state}; return $ret }
  $DEVICETOPIC/set:.* { json2nameValue($EVENT) }
  $DEVICETOPIC/availability:.* { availability=>(json2nameValue($EVENT))->{state} }
  room      20_Licht->21_Lampen
  setList    on:noArg $DEVICETOPIC/set {"brightness": 120 , "state":"ON", "color_temp": 320}
  off:noArg $DEVICETOPIC/set {"state":"OFF"}
  brightness:colorpicker,BRI,0,5,255 $DEVICETOPIC/set {"state":"on","$EVTPART0":$EVTPART1}
  brightness_percent:colorpicker,BRI,0,10,100 $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"}
  scene $DEVICETOPIC/set {"scene_recall": $EVTPART1}
  hcl_on:noArg {hcl_on($NAME)}
  hcl_ct $DEVICETOPIC/set {"color_temp":$EVTPART1,"transition": $EVTPART2}
  hcl_bri $DEVICETOPIC/set {"brightness":$EVTPART1,"transition": $EVTPART2}
  dimDown:noArg $DEVICETOPIC/set {"brightness_move": -80}
  dimUp:noArg $DEVICETOPIC/set {"brightness_move": 80}
  dimStop:noArg $DEVICETOPIC/set {"brightness_move": 0}
  timestamp-on-change-reading .*
  userReadings rgb:color_y.* {Color::xyY2hex(ReadingsVal($name,'color_x',0),ReadingsVal($name,'color_y',0),ReadingsVal($name,'brightness',254))}
  userattr  lichter lichter_map structexclude
  verbose    2
  webCmd    on:off:brightness:ct
  widgetOverride scene:1,2,3 

Falls das Thema hier falsch sein sollte kann ich es auch gerne verschieben... ;-)

VG Sebastian

binford6000

#1
Update:
  • Ich kann das Verhalten auf alle RGB Leuchtmittel eingrenzen. Leuchtmittel ohne RGB funktionieren mit dem Homebriodgemapping aus dem attrTemplate einwandfrei.
  • Die Frage ist jetzt warum bei RGB Leuchtmitteln rgb Werte gesendet werden:
    [22.4.2025, 09:17:48] [FHEM]     caching: Brightness: 100 (as number; from 'ffd262')
    [22.4.2025, 09:17:48] [FHEM]   value converted to ffd262
  • Beim Nicht.RGB-Leuchtmittel sieht es normal aus:
    [22.4.2025, 09:53:01] [FHEM]     caching: Brightness: 80 (as number; from '204')
    [22.4.2025, 09:53:01] [FHEM] wc_floalt_licht: executing set cmd for Brightness with value 100

binford6000


roseblack

Zitat von: binford6000 am 21 April 2025, 19:37:02Hallo Zusammen,
ich habe in den letzten Wochen meinen alten deconz/HUEDevice-Zoo erfolgreich auf zigbee2mqtt umgestellt.
Fast alles funktioniert wie vorher oder sogar noch besser (zB. Szenen).

Warum fast alles? Das einzige Problemchen das ich noch habe ist bei der Sprachsteuerung via Alexa:
  • "Alexa, Helligkeit auf 50%" bewirkt nichts. Die aktuelle Helligkeit bleibt gleich.
  • Im Alexa-Log findet sich allerdings Interessantes dazu:
    [21.4.2025, 19:03:01] [FHEM] bu_talpa_licht-brightness not a number: 254
    [21.4.2025, 19:03:01] [FHEM] bu_talpa_licht: executing set cmd for Brightness with value 50
      2025-04-21 19:03:01 caching: bu_talpa_licht-brightness: 807347
    [21.4.2025, 19:03:01] [FHEM]    caching: Brightness: 50 (as number; from '807347')
    [21.4.2025, 19:03:01] [FHEM]  value converted to 807347
    [21.4.2025, 19:03:01] [FHEM]  executing: https://10.3.3.14:8885/fhem?cmd=set%20bu_talpa_licht%20brightness%20807347&fwcsrf=csrf_442357857989424&XHR=1
    [21.4.2025, 19:03:01] [FHEM]    caching: On: 1 (as number; from 'brightness')
  • brightness wird auch auf '807347' gesetzt - was natürlich nichts bewirkt da es außerhalb des Wertebereichs von 0-254 liegt.

Hier noch ein List des Devices aus dem Log-Auszug. Das 'homebridgeMapping'-Attribut wurde nicht geändert - es kommt direkt aus dem attrTemplate.
Internals:
  CID        zigbee_bu_talpa_licht
  DEF        zigbee_bu_talpa_licht
  FUUID      67f2a32d-f33f-0308-55fe-015e2d6f857bf418
  FVERSION  10_MQTT2_DEVICE.pm:0.295280/2025-01-16
  IODev      mqtt2_client
  LASTInputDev mqtt2_client
  MSGCNT    60
  NAME      bu_talpa_licht
  NR        470
  STATE      on
  TYPE      MQTT2_DEVICE
  eventCount 92
  mqtt2_client_MSGCNT 60
  mqtt2_client_TIME 2025-04-21 19:13:59
  JSONMAP:
    color_temp ct
  READINGS:
    2025-04-21 13:02:21  IODev          mqtt2_client
    2025-04-06 17:54:33  associatedWith  z2m.home.lan
    2025-04-06 17:52:40  attrTemplateVersion 20240108
    2025-04-09 09:53:31  availability    online
    2025-04-21 19:13:59  brightness      807347
    2025-04-13 10:45:16  brightness_move 0
    2025-04-21 18:48:45  brightness_percent 40
    2025-04-21 18:28:26  color_mode      color_temp
    2025-04-21 18:41:44  color_temp      265
    2025-04-06 17:52:14  color_temp_startup 370
    2025-04-21 18:41:44  color_x        0.3911
    2025-04-21 18:41:44  color_y        0.3831
    2025-04-21 18:41:44  ct              265
    2025-04-21 18:47:02  json2nameValueErrorText error parsing (#2) 'ffe68e'
    2025-04-21 18:47:02  json2nameValueInput {"state":"on","brightness":ffe68e}
    2025-04-21 19:12:22  linkquality    24
    2025-04-06 17:52:14  power_on_behavior previous
    2025-04-21 18:41:44  rgb            FFE68E
    2025-04-21 19:13:59  state          on
    2025-04-09 01:59:29  transition      3
Attributes:
  alexaName  Talpa
  cmdIcon    on:15px-blue@blue off:15px-red
  comment    The specified ct and brightness values in on and warm etc. commands can be adjusted at any time via the setList attribute
  devStateIcon on|ON:15px-yellow off|OFF:15px-grey undefined:15px-red
  devicetopic zigbee2mqtt/bu_talpa_licht
  event-on-change-reading .*
  genericDeviceType light
  getList    power_on_behavior:noArg power_on_behavior $DEVICETOPIC/get {"power_on_behavior": ""}
  group      Licht
  hcl        full
  hcl_ct_max 6500
  hcl_ct_min 1800
  homebridgeMapping Brightness=brightness::brightness,maxValue=100,factor=0.39216,delay=true
  icon      💡
  jsonMap    color_temp:ct
  lichter    bu_lichter
  model      zigbee2mqtt_light_rgbcct_rgb
  readingList $DEVICETOPIC:.* { my $ret=json2nameValue($EVENT,'',$JSONMAP); $ret->{state}=lc($ret->{state}) if defined $ret->{state}; return $ret }
  $DEVICETOPIC/set:.* { json2nameValue($EVENT) }
  $DEVICETOPIC/availability:.* { availability=>(json2nameValue($EVENT))->{state} }
  room      20_Licht->21_Lampen
  setList    on:noArg $DEVICETOPIC/set {"brightness": 120 , "state":"ON", "color_temp": 320}
  off:noArg $DEVICETOPIC/set {"state":"OFF"}
  brightness:colorpicker,BRI,0,5,255 $DEVICETOPIC/set {"state":"on","$EVTPART0":$EVTPART1}
  brightness_percent:colorpicker,BRI,0,10,100 $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"}
  scene $DEVICETOPIC/set {"scene_recall": $EVTPART1}
  hcl_on:noArg {hcl_on($NAME)}
  hcl_ct $DEVICETOPIC/set {"color_temp":$EVTPART1,"transition": $EVTPART2}
  hcl_bri $DEVICETOPIC/set {"brightness":$EVTPART1,"transition": $EVTPART2}
  dimDown:noArg $DEVICETOPIC/set {"brightness_move": -80}
  dimUp:noArg $DEVICETOPIC/set {"brightness_move": 80}
  dimStop:noArg $DEVICETOPIC/set {"brightness_move": 0}
  timestamp-on-change-reading .*
  userReadings rgb:color_y.* {Color::xyY2hex(ReadingsVal($name,'color_x',0),ReadingsVal($name,'color_y',0),ReadingsVal($name,'brightness',254))}
  userattr  lichter lichter_map structexclude
  verbose    2
  webCmd    on:off:brightness:ct
  widgetOverride scene:1,2,3

Falls das Thema hier falsch sein sollte kann ich es auch gerne verschieben... ;-)
Agario
VG Sebastian
Eventuell müsste das Homebridge-Mapping oder die JSON-Konvertierung im attrTemplate speziell für RGB-Leuchtmittel angepasst werden, damit Helligkeit und Farbe getrennt und korrekt verarbeitet werden. Hast du schon versucht, die Zuordnung in homebridgeMapping oder im JSON-Parsing für RGB-Geräte zu ändern?

binford6000

Hallo roseblack,
danke für dein Kommentar.

ZitatEventuell müsste das Homebridge-Mapping oder die JSON-Konvertierung im attrTemplate speziell für RGB-Leuchtmittel angepasst werden, damit Helligkeit und Farbe getrennt und korrekt verarbeitet werden. Hast du schon versucht, die Zuordnung in homebridgeMapping oder im JSON-Parsing für RGB-Geräte zu ändern?
Nein das habe ich noch nicht probiert. Ich bin aber dennoch ein Stückchen weiter gekommen und einen Workaround gefunden.
Ich habe einfach den RGB-Setter im Device auskommentiert und danach funktioniert der Sprachbefehl für die Helligkeit mit dem originalen homebridgeMapping.

Vermutlich also irgendetwas in der RGB-Konvertierung nicht in Ordnung für RGB Leuchtmittel.

VG Sebastian