Description
I was looking into a question from a customer, and was testing some things, and it seemed like using zigbee scenes was a valid solution. In my case I was testing with a single bulb, and I had to create a group with the bulb within to add, update, recall the scene. I dug into the zigbee cluster spec and it says you can use '0' to apply the scene to a single device (3.7.23).
However when specifying 0 as the group in the manage device cluster command, it fails because the helper converts it to 0.x0000
see below, as i read the spec, sending just a 0 should allow sending the scene commands unicast to a single device. - maybe someone can test this more easily than i can. Am I even reading the spec correctly?
2025-02-17 00:11:05.437 DEBUG (MainThread) [zha.application.helpers] Converted ZCL schema field(group_id) value from: 0 to: 0x0000
2025-02-17 00:11:05.437 DEBUG (MainThread) [zha.application.helpers] Converted ZCL schema field(scene_id) value from: 5 to: 5
2025-02-17 00:11:05.437 DEBUG (MainThread) [zha.application.helpers] Converted ZCL schema field(transition_time) value from: 0 to: 0
2025-02-17 00:11:05.437 DEBUG (MainThread) [zha.application.helpers] Converted ZCL schema field(scene_name) value from: test to: test
2025-02-17 00:11:05.437 DEBUG (MainThread) [zigpy.zcl] [0x2BFE:1:0x0005] Sending request header: ZCLHeader(frame_control=FrameControl<0x01>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=5, command_id=0, *direction=<Direction.Client_to_Server: 0>)
2025-02-17 00:11:05.438 DEBUG (MainThread) [zigpy.zcl] [0x2BFE:1:0x0005] Sending request: add(group_id=0x0000, scene_id=5, transition_time=0, scene_name='test')
2025-02-17 00:11:05.438 DEBUG (MainThread) [bellows.zigbee.application] Sending packet ZigbeePacket(timestamp=datetime.datetime(2025, 2, 17, 5, 11, 5, 438435, tzinfo=datetime.timezone.utc), priority=<PacketPriority.NORMAL: 0>, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2BFE), dst_ep=1, source_route=[0x6D47, 0x8316], extended_timeout=False, tsn=5, profile_id=260, cluster_id=5, data=Serialized[b'\x01\x05\x00\x00\x00\x05\x00\x00\x04test'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2025-02-17 00:11:05.445 DEBUG (MainThread) [bellows.ash] Received data 366ea1a9602a157d31b6687e
2025-02-17 00:11:05.446 DEBUG (MainThread) [bellows.ash] Received frame DataFrame(frm_num=3, re_tx=0, ack_num=6, ezsp_frame=b',\x80\x014\x00\x00\xa3')
2025-02-17 00:11:05.446 DEBUG (MainThread) [bellows.ash] Sending frame AckFrame(res=0, ncp_ready=0, ack_num=4) + FLAG
2025-02-17 00:11:05.446 DEBUG (MainThread) [bellows.ash] Sending data 8430fc7e
2025-02-17 00:11:05.446 DEBUG (MainThread) [bellows.ezsp.protocol] Received command sendUnicast: {'status': <EmberStatus.SUCCESS: 0>, 'sequence': 163}
2025-02-17 00:11:05.446 DEBUG (MainThread) [bellows.ezsp.protocol] Sending command sendUnicast: () {'type': <EmberOutgoingMessageType.OUTGOING_DIRECT: 0>, 'indexOrDestination': 0x2BFE, 'apsFrame': EmberApsFrame(profileId=260, clusterId=5, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_RETRY|APS_OPTION_ENABLE_ADDRESS_DISCOVERY: 4160>, groupId=0, sequence=5), 'messageTag': 166, 'messageContents': b'\x01\x05\x00\x00\x00\x05\x00\x00\x04test'}
2025-02-17 00:11:05.446 DEBUG (MainThread) [bellows.ash] Sending frame DataFrame(frm_num=6, re_tx=False, ack_num=4, ezsp_frame=b'-\x00\x014\x00\x00\xfe+\x04\x01\x05\x00\x01\x01@\x10\x00\x00\x05\xa6\r\x01\x05\x00\x00\x00\x05\x00\x00\x04test') + FLAG
2025-02-17 00:11:05.446 DEBUG (MainThread) [bellows.ash] Sending data 646f21a9602a154c72904b20aa5493098c4e27ae4bc3668efdc6638cfc7d5e3bd38ebeaa32577e
2025-02-17 00:11:05.479 DEBUG (MainThread) [bellows.ash] Received data 476fa1a9602a151689317e
2025-02-17 00:11:05.479 DEBUG (MainThread) [bellows.ash] Received frame DataFrame(frm_num=4, re_tx=0, ack_num=7, ezsp_frame=b'-\x80\x014\x00\x00\xa4')
2025-02-17 00:11:05.479 DEBUG (MainThread) [bellows.ash] Sending frame AckFrame(res=0, ncp_ready=0, ack_num=5) + FLAG
2025-02-17 00:11:05.479 DEBUG (MainThread) [bellows.ash] Sending data 8520dd7e
2025-02-17 00:11:05.479 DEBUG (MainThread) [bellows.ezsp.protocol] Received command sendUnicast: {'status': <EmberStatus.SUCCESS: 0>, 'sequence': 164}
2025-02-17 00:11:05.560 DEBUG (MainThread) [bellows.ash] Received data 576fb1a97d312a15b658904124ab1592499ca6431e93ae9874f5de2683f77b16c3ebcfb59b7e676fb1a96b2a15f961904b27ad5493098c4e270848ce67856a7e
2025-02-17 00:11:05.560 DEBUG (MainThread) [bellows.ash] Received frame DataFrame(frm_num=5, re_tx=0, ack_num=7, ezsp_frame=b'-\x90\x01E\x00\x00\x04\x01\x04\x0b\x01\x01@\x00\x00\x00\xe8d\xb5~`\xff\xff\x08\x18E\n\x0b\x05)d\x00\x02')
2025-02-17 00:11:05.560 DEBUG (MainThread) [bellows.ash] Sending frame AckFrame(res=0, ncp_ready=0, ack_num=6) + FLAG
2025-02-17 00:11:05.560 DEBUG (MainThread) [bellows.ash] Sending data 8610be7e
2025-02-17 00:11:05.561 DEBUG (MainThread) [bellows.ezsp.protocol] Received command incomingMessageHandler: {'type': <EmberIncomingMessageType.INCOMING_UNICAST: 0>, 'apsFrame': EmberApsFrame(profileId=260, clusterId=2820, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_RETRY: 64>, groupId=0, sequence=232), 'lastHopLqi': 100, 'lastHopRssi': -75, 'sender': 0x607E, 'bindingIndex': 255, 'addressIndex': 255, 'messageContents': b'\x18E\n\x0b\x05)d\x00'}
2025-02-17 00:11:05.562 DEBUG (MainThread) [bellows.ezsp.protocol] Frame contains trailing data: b'\x02'
2025-02-17 00:11:05.562 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=2820, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_RETRY: 64>, groupId=0, sequence=232), 100, -75, 0x607E, 255, 255, b'\x18E\n\x0b\x05)d\x00']
2025-02-17 00:11:05.562 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 2, 17, 5, 11, 5, 562391, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x607E), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=232, profile_id=260, cluster_id=2820, data=Serialized[b'\x18E\n\x0b\x05)d\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=100, rssi=-75)
2025-02-17 00:11:05.563 DEBUG (MainThread) [zigpy.zcl] [0x607E:1:0x0b04] Received ZCL frame: b'\x18E\n\x0b\x05)d\x00'
2025-02-17 00:11:05.563 DEBUG (MainThread) [zigpy.zcl] [0x607E:1:0x0b04] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x18>(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=69, command_id=10, *direction=<Direction.Server_to_Client: 1>)
2025-02-17 00:11:05.564 DEBUG (MainThread) [zigpy.zcl] [0x607E:1:0x0b04] Decoded ZCL frame: ElectricalMeasurement:Report_Attributes(attribute_reports=[Attribute(attrid=0x050B, value=TypeValue(type=int16s, value=100))])
2025-02-17 00:11:05.564 DEBUG (MainThread) [zigpy.zcl] [0x607E:1:0x0b04] Received command 0x0A (TSN 69): Report_Attributes(attribute_reports=[Attribute(attrid=0x050B, value=TypeValue(type=int16s, value=100))])
2025-02-17 00:11:05.565 DEBUG (MainThread) [zigpy.zcl] [0x607E:1:0x0b04] Attribute report received: active_power=100
2025-02-17 00:11:05.565 DEBUG (MainThread) [zha.zigbee.cluster_handlers] [0x607E:1:0x0b04]: cluster_handler[electrical_measurement] attribute_updated - cluster[Electrical Measurement] attr[active_power] value[100]
2025-02-17 00:11:05.565 DEBUG (MainThread) [zha] Emitting event cluster_handler_attribute_updated with data ClusterAttributeUpdatedEvent(attribute_id=1291, attribute_name='active_power', attribute_value=100, cluster_handler_unique_id='94:de:b8:ff:fe:45:9d:0f:1:0x0b04', cluster_id=2820, event_type='cluster_handler_event', event='cluster_handler_attribute_updated') (1 listeners)
2025-02-17 00:11:05.565 DEBUG (MainThread) [zha] Emitting event state_changed with data EntityStateChangedEvent(event_type='entity', event='state_changed', platform=<Platform.SENSOR: 'sensor'>, unique_id='94:de:b8:ff:fe:45:9d:0f-1-2820', device_ieee=94:de:b8:ff:fe:45:9d:0f, endpoint_id=1, group_id=None) (1 listeners)
2025-02-17 00:11:05.565 DEBUG (MainThread) [homeassistant.components.zha.entity] sensor.inovelli_vzm31_sn_active_power: Handling event from entity: EntityStateChangedEvent(event_type='entity', event='state_changed', platform=<Platform.SENSOR: 'sensor'>, unique_id='94:de:b8:ff:fe:45:9d:0f-1-2820', device_ieee=94:de:b8:ff:fe:45:9d:0f, endpoint_id=1, group_id=None)
2025-02-17 00:11:05.567 DEBUG (MainThread) [bellows.ash] Received frame DataFrame(frm_num=6, re_tx=0, ack_num=7, ezsp_frame=b'-\x90\x01?\x00\x00K8\x04\x01\x02\x07\x01\x01@\x10\x00\x00\xa3\xa5\x00\x00')
2025-02-17 00:11:05.567 DEBUG (MainThread) [bellows.ash] Sending frame AckFrame(res=0, ncp_ready=0, ack_num=7) + FLAG
2025-02-17 00:11:05.567 DEBUG (MainThread) [bellows.ash] Sending data 87009f7e
2025-02-17 00:11:05.568 DEBUG (MainThread) [bellows.ezsp.protocol] Received command messageSentHandler: {'type': <EmberOutgoingMessageType.OUTGOING_DIRECT: 0>, 'indexOrDestination': 14411, 'apsFrame': EmberApsFrame(profileId=260, clusterId=1794, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_RETRY|APS_OPTION_ENABLE_ADDRESS_DISCOVERY: 4160>, groupId=0, sequence=163), 'messageTag': 165, 'status': <EmberStatus.SUCCESS: 0>, 'messageContents': b''}
2025-02-17 00:11:05.568 DEBUG (MainThread) [bellows.zigbee.application] Received messageSentHandler frame with [<EmberOutgoingMessageType.OUTGOING_DIRECT: 0>, 14411, EmberApsFrame(profileId=260, clusterId=1794, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_RETRY|APS_OPTION_ENABLE_ADDRESS_DISCOVERY: 4160>, groupId=0, sequence=163), 165, <EmberStatus.SUCCESS: 0>, b'']
2025-02-17 00:11:05.571 DEBUG (Thread-6) [aiosqlite] executing functools.partial(<built-in method execute of sqlite3.Connection object at 0xffff65fc8400>, 'UPDATE devices_v13\n SET last_seen=:ts\n WHERE ieee=:ieee AND :ts - last_seen > :min_update_delta', {'ts': 1739769065.562391, 'ieee': 94:de:b8:ff:fe:45:9d:0f, 'min_update_delta': 30.0})
2025-02-17 00:11:05.572 DEBUG (Thread-6) [aiosqlite] operation functools.partial(<built-in method execute of sqlite3.Connection object at 0xffff65fc8400>, 'UPDATE devices_v13\n SET last_seen=:ts\n WHERE ieee=:ieee AND :ts - last_seen > :min_update_delta', {'ts': 1739769065.562391, 'ieee': 94:de:b8:ff:fe:45:9d:0f, 'min_update_delta': 30.0}) completed
2025-02-17 00:11:05.573 DEBUG (Thread-6) [aiosqlite] executing functools.partial(<built-in method commit of sqlite3.Connection object at 0xffff65fc8400>)
2025-02-17 00:11:05.573 DEBUG (Thread-6) [aiosqlite] operation functools.partial(<built-in method commit of sqlite3.Connection object at 0xffff65fc8400>) completed
2025-02-17 00:11:05.574 DEBUG (Thread-6) [aiosqlite] executing functools.partial(<built-in method execute of sqlite3.Connection object at 0xffff65fc8400>, '\n INSERT INTO attributes_cache_v13\n VALUES (:ieee, :endpoint_id, :cluster_type, :cluster_id, :attr_id, :value, :timestamp)\n ON CONFLICT (ieee, endpoint_id, cluster_type, cluster_id, attr_id) DO UPDATE\n SET value=excluded.value, last_updated=excluded.last_updated\n WHERE\n value != excluded.value\n OR :timestamp - last_updated > :min_update_delta\n ', {'ieee': 94:de:b8:ff:fe:45:9d:0f, 'endpoint_id': 1, 'cluster_type': <ClusterType.Server: 0>, 'cluster_id': 2820, 'attr_id': 1291, 'value': 100, 'timestamp': 1739769065.565162, 'min_update_delta': 30.0})
2025-02-17 00:11:05.574 DEBUG (Thread-6) [aiosqlite] operation functools.partial(<built-in method execute of sqlite3.Connection object at 0xffff65fc8400>, '\n INSERT INTO attributes_cache_v13\n VALUES (:ieee, :endpoint_id, :cluster_type, :cluster_id, :attr_id, :value, :timestamp)\n ON CONFLICT (ieee, endpoint_id, cluster_type, cluster_id, attr_id) DO UPDATE\n SET value=excluded.value, last_updated=excluded.last_updated\n WHERE\n value != excluded.value\n OR :timestamp - last_updated > :min_update_delta\n ', {'ieee': 94:de:b8:ff:fe:45:9d:0f, 'endpoint_id': 1, 'cluster_type': <ClusterType.Server: 0>, 'cluster_id': 2820, 'attr_id': 1291, 'value': 100, 'timestamp': 1739769065.565162, 'min_update_delta': 30.0}) completed
2025-02-17 00:11:05.575 DEBUG (Thread-6) [aiosqlite] executing functools.partial(<built-in method commit of sqlite3.Connection object at 0xffff65fc8400>)
2025-02-17 00:11:05.576 DEBUG (Thread-6) [aiosqlite] operation functools.partial(<built-in method commit of sqlite3.Connection object at 0xffff65fc8400>) completed
2025-02-17 00:11:05.578 DEBUG (MainThread) [bellows.ash] Received data 776fb1a90d2aeb991be023db55726fcdf8fb25c77177a315557e
2025-02-17 00:11:05.578 DEBUG (MainThread) [bellows.ash] Received frame DataFrame(frm_num=7, re_tx=0, ack_num=7, ezsp_frame=b"-\x90\x01Y\x00\xfe+Bti\xfe\xff'\xfd\x84d\xb5\x02l\x9c\xb9\xc4")
2025-02-17 00:11:05.578 DEBUG (MainThread) [bellows.ash] Sending frame AckFrame(res=0, ncp_ready=0, ack_num=0) + FLAG
2025-02-17 00:11:05.578 DEBUG (MainThread) [bellows.ash] Sending data 8070787e
2025-02-17 00:11:05.580 DEBUG (MainThread) [bellows.ezsp.protocol] Received command incomingRouteRecordHandler: {'source': 0x2BFE, 'sourceEui': 84:fd:27:ff:fe:69:74:42, 'lastHopLqi': 100, 'lastHopRssi': -75, 'relayList': [0x9C6C, 0xC4B9]}
2025-02-17 00:11:05.580 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x2BFE, 84:fd:27:ff:fe:69:74:42, 100, -75, [0x9C6C, 0xC4B9]]
2025-02-17 00:11:05.580 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x2BFE, 84:fd:27:ff:fe:69:74:42, 100, -75, [0x9C6C, 0xC4B9])
2025-02-17 00:11:05.580 DEBUG (Thread-6) [aiosqlite] executing functools.partial(<built-in method execute of sqlite3.Connection object at 0xffff65fc8400>, 'INSERT INTO relays_v13 VALUES (:ieee, :relays)\n ON CONFLICT (ieee)\n DO UPDATE SET relays=excluded.relays WHERE relays != :relays', {'ieee': 84:fd:27:ff:fe:69:74:42, 'relays': b'\x02l\x9c\xb9\xc4'})
2025-02-17 00:11:05.580 DEBUG (Thread-6) [aiosqlite] operation functools.partial(<built-in method execute of sqlite3.Connection object at 0xffff65fc8400>, 'INSERT INTO relays_v13 VALUES (:ieee, :relays)\n ON CONFLICT (ieee)\n DO UPDATE SET relays=excluded.relays WHERE relays != :relays', {'ieee': 84:fd:27:ff:fe:69:74:42, 'relays': b'\x02l\x9c\xb9\xc4'}) completed
2025-02-17 00:11:05.581 DEBUG (Thread-6) [aiosqlite] executing functools.partial(<built-in method commit of sqlite3.Connection object at 0xffff65fc8400>)
2025-02-17 00:11:05.581 DEBUG (Thread-6) [aiosqlite] operation functools.partial(<built-in method commit of sqlite3.Connection object at 0xffff65fc8400>) completed
2025-02-17 00:11:05.610 DEBUG (MainThread) [bellows.ash] Received data 076fb1a90d2aeb991be023db55726fcdf8fb25c77177a384177e
2025-02-17 00:11:05.610 DEBUG (MainThread) [bellows.ash] Received frame DataFrame(frm_num=0, re_tx=0, ack_num=7, ezsp_frame=b"-\x90\x01Y\x00\xfe+Bti\xfe\xff'\xfd\x84d\xb5\x02l\x9c\xb9\xc4")
2025-02-17 00:11:05.610 DEBUG (MainThread) [bellows.ash] Sending frame AckFrame(res=0, ncp_ready=0, ack_num=1) + FLAG
2025-02-17 00:11:05.610 DEBUG (MainThread) [bellows.ash] Sending data 8160597e
2025-02-17 00:11:05.611 DEBUG (MainThread) [bellows.ezsp.protocol] Received command incomingRouteRecordHandler: {'source': 0x2BFE, 'sourceEui': 84:fd:27:ff:fe:69:74:42, 'lastHopLqi': 100, 'lastHopRssi': -75, 'relayList': [0x9C6C, 0xC4B9]}
2025-02-17 00:11:05.612 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x2BFE, 84:fd:27:ff:fe:69:74:42, 100, -75, [0x9C6C, 0xC4B9]]
2025-02-17 00:11:05.612 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x2BFE, 84:fd:27:ff:fe:69:74:42, 100, -75, [0x9C6C, 0xC4B9])
2025-02-17 00:11:05.612 DEBUG (Thread-6) [aiosqlite] executing functools.partial(<built-in method execute of sqlite3.Connection object at 0xffff65fc8400>, 'INSERT INTO relays_v13 VALUES (:ieee, :relays)\n ON CONFLICT (ieee)\n DO UPDATE SET relays=excluded.relays WHERE relays != :relays', {'ieee': 84:fd:27:ff:fe:69:74:42, 'relays': b'\x02l\x9c\xb9\xc4'})
2025-02-17 00:11:05.613 DEBUG (Thread-6) [aiosqlite] operation functools.partial(<built-in method execute of sqlite3.Connection object at 0xffff65fc8400>, 'INSERT INTO relays_v13 VALUES (:ieee, :relays)\n ON CONFLICT (ieee)\n DO UPDATE SET relays=excluded.relays WHERE relays != :relays', {'ieee': 84:fd:27:ff:fe:69:74:42, 'relays': b'\x02l\x9c\xb9\xc4'}) completed
2025-02-17 00:11:05.614 DEBUG (Thread-6) [aiosqlite] executing functools.partial(<built-in method commit of sqlite3.Connection object at 0xffff65fc8400>)
2025-02-17 00:11:05.614 DEBUG (Thread-6) [aiosqlite] operation functools.partial(<built-in method commit of sqlite3.Connection object at 0xffff65fc8400>) completed
2025-02-17 00:11:05.627 DEBUG (MainThread) [bellows.ash] Received data 176fb1a97d312a15b658914a24ab1593499c3d431e7d33e59874facf6689797d5e3fa2ed0a2f7e
2025-02-17 00:11:05.627 DEBUG (MainThread) [bellows.ash] Received frame DataFrame(frm_num=1, re_tx=0, ack_num=7, ezsp_frame=b'-\x90\x01E\x00\x00\x04\x01\x05\x00\x01\x01@\x01\x00\x00sd\xb5\xfe+\xff\xff\x07\t\x05\x00\x85\x00\x00\x05\x06')
2025-02-17 00:11:05.627 DEBUG (MainThread) [bellows.ash] Sending frame AckFrame(res=0, ncp_ready=0, ack_num=2) + FLAG
2025-02-17 00:11:05.627 DEBUG (MainThread) [bellows.ash] Sending data 82503a7e
2025-02-17 00:11:05.627 DEBUG (MainThread) [bellows.ezsp.protocol] Received command incomingMessageHandler: {'type': <EmberIncomingMessageType.INCOMING_UNICAST: 0>, 'apsFrame': EmberApsFrame(profileId=260, clusterId=5, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_RETRY|APS_OPTION_ENABLE_ROUTE_DISCOVERY: 320>, groupId=0, sequence=115), 'lastHopLqi': 100, 'lastHopRssi': -75, 'sender': 0x2BFE, 'bindingIndex': 255, 'addressIndex': 255, 'messageContents': b'\t\x05\x00\x85\x00\x00\x05'}
2025-02-17 00:11:05.628 DEBUG (MainThread) [bellows.ezsp.protocol] Frame contains trailing data: b'\x06'
2025-02-17 00:11:05.628 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=5, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_RETRY|APS_OPTION_ENABLE_ROUTE_DISCOVERY: 320>, groupId=0, sequence=115), 100, -75, 0x2BFE, 255, 255, b'\t\x05\x00\x85\x00\x00\x05']
2025-02-17 00:11:05.628 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 2, 17, 5, 11, 5, 628319, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2BFE), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=115, profile_id=260, cluster_id=5, data=Serialized[b'\t\x05\x00\x85\x00\x00\x05'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=100, rssi=-75)
2025-02-17 00:11:05.628 DEBUG (MainThread) [zigpy.zcl] [0x2BFE:1:0x0005] Received ZCL frame: b'\t\x05\x00\x85\x00\x00\x05'
2025-02-17 00:11:05.628 DEBUG (MainThread) [zigpy.zcl] [0x2BFE:1:0x0005] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x09>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=5, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-02-17 00:11:05.629 DEBUG (MainThread) [zigpy.zcl] [0x2BFE:1:0x0005] Decoded ZCL frame: Scenes:add_scene_response(status=<Status.INVALID_FIELD: 133>, group_id=0x0000, scene_id=5)
Zigbee2MQTT seems to support setting a scene on a device or group: