New Ikea Somrig button, not able to connect zha

Problem description
Hello :slight_smile:
I bought the new Ikea Somrig buttons and would like to connect them to my HomeAssistant with Zigbee Dongle.
During the search of a new device, HA identifies the button but is not able to configure it.
Although the configuration process does not finish, the device is part of the device list. Sometimes there is a battery and identify entity and sometimes not. I can not control any entity.
Solution description
Is anybody aware if there is a way to connect a device which is currently not fully supported or do you know if there will be an integration?
Screenshots/Video

Device signature
IEEE: 5c:c7:c1:ff:fe:87:35:e2
Nwk: 0x046e
Device Type: EndDevice
LQI: 108
RSSI: Unbekannt
Zuletzt gesehen: 2023-12-12T20:13:52
Energiequelle: Battery or Unknown
Diagnostic information
zha-e958911dd7b4b0c8793c91dc810d16d3-IKEA of Sweden SOMRIG shortcut button-7dfa14459bf34ecb1709bcf1e8686b31.json.txt
Logs
Logs
[Paste the logs here]

Custom quirk
Custom quirk
[Paste your custom quirk here]

Additional information
No response

Its looks like your device is paired OK but its sending manufacture specific commands and need one quirk for getting  the events from it OK.
SYMFONISK II is using the same command so its shall not being so large problem getting  it done but i cant then im not at home for the moment.

Thanks for your response!
I will try to find a solution but to be honest I‘m a total newbie. So maybe it will take some time or i need your help. 😃

is there any news about this ? would also be very interested.
Thanks for the effort you put into it.

Unfortunatly not from my side. So I still need help to integrate it..

How do you pair it? I didn’t find any info about how to do it

I have a similar problem with the Somrig button.
I had to reset the button (4 clicks on the link button) for it to enter pairing mode.
Then it seemed to pair successfully, but now I have only entities for Identity and battery.

Thank you Funder75, was loosing my mind. Tried long pressing, and pressing together with button 1 and even reading the manual. Thought the device was broken :D
Now paired but only the same entities battery and identify

Indeed, IKEA lists no procedure to get into pairing mode, discovered yesterday by chance.. :(
Same issue in current HA, Bat + Identify but nothing else.

I am working on a quirk for the remote, I have some issues contributing (its my first time).
It works as a custom quirk in my setup, so if you know how to add custom quirks you can copy my code for now.

Thank you! Is it possible to use z2mqtt and zha simultaneously?
Currently I use zha and for the somrig button and your code I need to install z2mqtt right?
Or do I need to change my whole set up to z2mqtt?

No, the point is to get it to work with ZHA (and it does :) )

WOULD love this to work soon toooo. No Idea how to accomplisch :)

you have to create a new folder e.g.
/config/custom_zha_quirks
in which you save the "somrigsmartbtn.py".
Then add the following to "configuration.yaml"
zha:
  enable_quirks: true
  custom_quirks_path: /config/custom_zha_quirks/

Restart HA and add the button again.

Hi, I'm trying to get this to work, but the button keeps on configuring after connecting.
I made the file with the name mentioned, put in all the code, added the text to the configuration.yaml but it keeps on configuring

@Bluefarmer you don't need to add a custom quirk for this anymore as it's been merged. I set mine up today. I pressed the pairing button 4 times and it then showed up in ZHA on the add device page.

Did you get it to work @Bluefarmer ?
I removed Somrig from my devices, updated HA to the latest version, added zigbee devices and it just keeps configuring

it does show up in devices but no button presses are shown in the logbook or battery information etc.

{
"node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4476, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
"endpoints": {
"1": {
"profile_id": "0x0104",
"device_type": "0x0006",
"input_clusters": [
"0x0000",
"0x0001",
"0x0003",
"0x0004",
"0x0020",
"0x1000",
"0xfc7c",
"0xfc80"
],
"output_clusters": [
"0x0003",
"0x0004",
"0x0006",
"0x0008",
"0x0019",
"0x1000",
"0xfc80"
]
},
"2": {
"profile_id": "0x0104",
"device_type": "0x0006",
"input_clusters": [
"0x0000",
"0x0003",
"0x0004",
"0xfc80"
],
"output_clusters": [
"0x0003",
"0x0004",
"0x0006",
"0x0008",
"0xfc80"
]
}
},
"manufacturer": "IKEA of Sweden",
"model": "SOMRIG shortcut button",
"class": "zhaquirks.ikea.somrigsmartbtn.IkeaSomrigSmartButton"
}

If the device is getting problem then being paired its not getting  OK configured..
Try reconfigure from the device card and waking it up then sending commands to it.
If not working restart HA and try agen. Dome new devices need potting the battery out and doing the reconfigure then its being putted back in for getting it OK and other times deleting it and wait one minute / or restart HA and adding it new.

I still have the same issue if I connect the device the normal way, without quirks. After the interview is complete, it stays on configuring for a very long time. After this, the buttons are not available. This happens with two separate devices...

Okay, never mind. Updated to latest version (wasn't correctly triggered...) and now everything works

Thank you, now I also get something in the log after reconfiguring.

This worked perfectly for me. Will somrigsmartbtn.py be included in a future release?

It is included in the most recent release of HA (2024.1). For those that have added it as custom quirk, it is best to:

remove the custom quirk
remove the somrig device
install 2024.1
reboot
add the device again.

This worked perfectly for me. Will somrigsmartbtn.py be included in a future release?

Its in HA 2024.1

Seem this issue is still persist after I updated and restarted HA 2024.1.5. I tried remove and pair it. I do not have custom quirk on HA.

Here are log:
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 12, 328276, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=7, profile_id=0, cluster_id=32822, data=Serialized[b'\x07\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=None, rssi=None)
[0x0000:zdo] ZDO request ZDOCmd.Mgmt_Permit_Joining_rsp: [<Status.SUCCESS: 0>]
[0x0000:zdo] No handler for ZDO request:ZDOCmd.Mgmt_Permit_Joining_rsp([<Status.SUCCESS: 0>])
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 13, 808150, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x451F), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1794, data=Serialized[b'\x08$\n\x00\x00%\xb3\xab\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=28, non_member_radius=0, lqi=165, rssi=None)
[0x451F:1:0x0702] Received ZCL frame: b'\x08$\n\x00\x00%\xb3\xab\x00\x00\x00\x00'
[0x451F:1:0x0702] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=36, command_id=10, *direction=<Direction.Client_to_Server: 1>)
[0x451F:1:0x0702] Decoded ZCL frame: Metering:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint48_t, value=43955))])
[0x451F:1:0x0702] Received command 0x0A (TSN 36): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint48_t, value=43955))])
[0x451F:1:0x0702] Attribute report received: current_summ_delivered=43955
[0x451F:1:0x0702] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=36, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
[0x451F:1:0x0702] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>)
[0x35BF](E11-N1G): Device seen - marking the device available and resetting counter
[0x35BF](E11-N1G): Update device availability -  device available: True - new availability: True - changed: False
[0xDDE3](E11-N1G): last_seen is 19457349.267830133 seconds ago and ping attempts have been exhausted, marking the device unavailable
[0xDDE3](E11-N1G): Update device availability -  device available: False - new availability: False - changed: False
[0x37C9](TH01): Device seen - marking the device available and resetting counter
[0x37C9](TH01): Update device availability -  device available: True - new availability: True - changed: False
[0x9F1D](TS011F): Device seen - marking the device available and resetting counter
[0x9F1D](TS011F): Update device availability -  device available: True - new availability: True - changed: False
[0xF6F6](TS0202): Device seen - marking the device available and resetting counter
[0xF6F6](TS0202): Update device availability -  device available: True - new availability: True - changed: False
sensor.plug_02_active_power: polling for updated state
[0xCC8E:1:0x0b04]: async_update
[0xCC8E:1:0x0b04]: Reading attributes in chunks: ['active_power', 'rms_current', 'rms_voltage']
[0xCC8E:1:0x0b04] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=19, command_id=<GeneralCommand.Read_Attributes: 0>, *direction=<Direction.Server_to_Client: 0>)
[0xCC8E:1:0x0b04] Sending request: Read_Attributes(attribute_ids=[1291, 1288, 1285])
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 14, 138297, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xCC8E), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=2820, data=Serialized[b'\x18\x13\x01\x0b\x05\x00!\x10\x00\x08\x05\x00!\xe5\x00\x05\x05\x00!}\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=84, rssi=None)
[0xCC8E:1:0x0b04] Received ZCL frame: b'\x18\x13\x01\x0b\x05\x00!\x10\x00\x08\x05\x00!\xe5\x00\x05\x05\x00!}\x00'
[0xCC8E:1:0x0b04] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=19, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0xCC8E:1:0x0b04] Decoded ZCL frame: TuyaZBElectricalMeasurement:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x050B, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=16)), ReadAttributeRecord(attrid=0x0508, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=229)), ReadAttributeRecord(attrid=0x0505, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=125))])
[0xDB47](E21-N1EA): Device seen - marking the device available and resetting counter
[0xDB47](E21-N1EA): Update device availability -  device available: True - new availability: True - changed: False
Device 0x19ee (5c:c7:c1:ff:fe:89:2d:b5) left the network
sensor.plug_02_summation_delivered: polling for updated state
[0xCC8E:1:0x0702]: async_update
[0xCC8E:1:0x0702]: Reading attributes in chunks: ['current_summ_delivered']
[0xCC8E:1:0x0702] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=20, command_id=<GeneralCommand.Read_Attributes: 0>, *direction=<Direction.Server_to_Client: 0>)
[0xCC8E:1:0x0702] Sending request: Read_Attributes(attribute_ids=[0])
sensor.plug_04_summation_delivered_2: polling for updated state
[0xA19A:1:0x0702]: async_update
[0xA19A:1:0x0702]: Reading attributes in chunks: ['current_summ_delivered']
[0xA19A:1:0x0702] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=20, command_id=<GeneralCommand.Read_Attributes: 0>, *direction=<Direction.Server_to_Client: 0>)
[0xA19A:1:0x0702] Sending request: Read_Attributes(attribute_ids=[0])
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 23, 148698, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xCC8E), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1794, data=Serialized[b'\x18\x14\x01\x00\x00\x00%/\t\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=81, rssi=None)
[0xCC8E:1:0x0702] Received ZCL frame: b'\x18\x14\x01\x00\x00\x00%/\t\x00\x00\x00\x00'
[0xCC8E:1:0x0702] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=20, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0xCC8E:1:0x0702] Decoded ZCL frame: TuyaZBMeteringClusterWithUnit:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0000, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint48_t, value=2351))])
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 23, 243427, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xA19A), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1794, data=Serialized[b'\x18\x14\x01\x00\x00\x00%\xf4\x00\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=28, non_member_radius=0, lqi=42, rssi=None)
[0xA19A:1:0x0702] Received ZCL frame: b'\x18\x14\x01\x00\x00\x00%\xf4\x00\x00\x00\x00\x00'
[0xA19A:1:0x0702] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=20, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0xA19A:1:0x0702] Decoded ZCL frame: TuyaZBMeteringClusterWithUnit:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0000, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint48_t, value=244))])
[0xCC8E](TS011F): Device seen - marking the device available and resetting counter
[0xCC8E](TS011F): Update device availability -  device available: True - new availability: True - changed: False
[0xA19A](TS011F): Device seen - marking the device available and resetting counter
[0xA19A](TS011F): Update device availability -  device available: True - new availability: True - changed: False
[0x8856](TS0601): last_seen is 11395332.55866146 seconds ago and ping attempts have been exhausted, marking the device unavailable
[0x8856](TS0601): Update device availability -  device available: False - new availability: False - changed: False
Device 0x43a7 (5c:c7:c1:ff:fe:89:2d:b5) joined the network
Device 5c:c7:c1:ff:fe:89:2d:b5 changed id (0x19ee => 0x43a7)
[0x43a7] Skipping initialization, device is fully initialized
Device is initialized <IkeaSomrigSmartButton model='SOMRIG shortcut button' manuf='IKEA of Sweden' nwk=0x43A7 ieee=5c:c7:c1:ff:fe:89:2d:b5 is_initialized=True>
device - 0x43A7:5c:c7:c1:ff:fe:89:2d:b5 entering async_device_initialized - is_new_join: True
device - 0x43A7:5c:c7:c1:ff:fe:89:2d:b5 has joined the ZHA zigbee network
[0x43A7](SOMRIG shortcut button): started configuration
[0x43A7:ZDO](SOMRIG shortcut button): 'async_configure' stage succeeded
[0x43A7:1:0x0003]: Configuring cluster attribute reporting
[0x43A7:1:0x0003]: finished cluster handler configuration
[0x43A7:1:0x0001]: Performing cluster binding
[0x43a7] Extending timeout for 0x11 request
[0x43A7:1:0x0000]: Configuring cluster attribute reporting
[0x43A7:1:0x0000]: finished cluster handler configuration
[0x43A7:1:0x0020]: Performing cluster binding
[0x43a7] Extending timeout for 0x12 request
[0x43A7:1:0x1000] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=19, command_id=65, *direction=<Direction.Server_to_Client: 0>)
[0x43A7:1:0x1000] Sending request: get_group_identifiers(start_index=0)
[0x43a7] Extending timeout for 0x13 request
[0x43A7:1:0xfc80]: Performing cluster binding
[0x43a7] Extending timeout for 0x14 request
[0x43A7:1:0x0008]: Performing cluster binding
[0x43a7] Extending timeout for 0x15 request
[0x43A7:1:0x0006]: Performing cluster binding
[0x43a7] Extending timeout for 0x16 request
[0x43A7:1:0x0019]: finished cluster handler configuration
[0x43A7:2:0x0003]: Configuring cluster attribute reporting
[0x43A7:2:0x0003]: finished cluster handler configuration
[0x43A7:2:0x0000]: Configuring cluster attribute reporting
[0x43A7:2:0x0000]: finished cluster handler configuration
[0x43A7:2:0xfc80]: Performing cluster binding
[0x43a7] Extending timeout for 0x17 request
[0x43A7:2:0x0008]: Performing cluster binding
[0x43a7] Extending timeout for 0x18 request
[0x43A7:2:0x0006]: Performing cluster binding
[0x43a7] Extending timeout for 0x19 request
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 27, 873665, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x43A7), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=4096, data=Serialized[b'\x19\x13A\x01\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=195, rssi=None)
[0x43A7:1:0x1000] Received ZCL frame: b'\x19\x13A\x01\x00\x00'
[0x43A7:1:0x1000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), tsn=19, command_id=65, *direction=<Direction.Client_to_Server: 1>)
[0x43A7:1:0x1000] Decoded ZCL frame: LightLink:get_group_identifiers_rsp(total=1, start_index=0, group_info_records=[])
[0x0000:2] Cannot add 0x0000 group, no groups cluster
[0x0000:1] Cannot add 0x0000 group, no groups cluster
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 27, 877675, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x43A7), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.Broadcast: 15>, address=<BroadcastAddress.ALL_ROUTERS_AND_COORDINATOR: 65532>), dst_ep=0, source_route=None, extended_timeout=False, tsn=129, profile_id=0, cluster_id=19, data=Serialized[b'\x81\xa7C\xb5-\x89\xfe\xff\xc1\xc7\\\x80'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=None, rssi=None)
Device 0x43a7 (5c:c7:c1:ff:fe:89:2d:b5) joined the network
[0x43a7:zdo] ZDO request ZDOCmd.Device_annce: [0x43A7, 5c:c7:c1:ff:fe:89:2d:b5, 128]
[0x43A7:1:0x0004] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=26, command_id=2, *direction=<Direction.Server_to_Client: 0>)
[0x43A7:1:0x0004] Sending request: get_membership(groups=[])
[0x43a7] Extending timeout for 0x1a request
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 28, 242416, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x43A7), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=17, profile_id=0, cluster_id=32801, data=Serialized[b'\x11\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=None, rssi=None)
[0x43A7:1:0x0001]: bound 'power' cluster: Status.SUCCESS
[0x43A7:1:0x0001]: Configuring cluster attribute reporting
[0x43A7:1:0x0001] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=27, command_id=<GeneralCommand.Configure_Reporting: 6>, *direction=<Direction.Server_to_Client: 0>)
[0x43A7:1:0x0001] Sending request: Configure_Reporting(config_records=[AttributeReportingConfig(direction=0, attrid=0x0020, datatype=32, min_interval=3600, max_interval=10800, reportable_change=1), AttributeReportingConfig(direction=0, attrid=0x0021, datatype=32, min_interval=3600, max_interval=10800, reportable_change=1)])
[0x43a7] Extending timeout for 0x1b request
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 28, 891142, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x43A7), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=4, data=Serialized[b'\x19\x1a\x02\xff\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=195, rssi=None)
[0x43A7:1:0x0004] Received ZCL frame: b'\x19\x1a\x02\xff\x00'
[0x43A7:1:0x0004] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), tsn=26, command_id=2, *direction=<Direction.Client_to_Server: 1>)
[0x43A7:1:0x0004] Decoded ZCL frame: Groups:get_membership_response(capacity=255, groups=[])
[0x43A7:2:0x0004] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=28, command_id=2, *direction=<Direction.Server_to_Client: 0>)
[0x43A7:2:0x0004] Sending request: get_membership(groups=[])
[0x43a7] Extending timeout for 0x1c request
[0x451F](E21-N1EA): Device seen - marking the device available and resetting counter
[0x451F](E21-N1EA): Update device availability -  device available: True - new availability: True - changed: False
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 29, 142860, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x43A7), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1, data=Serialized[b'\x18\x1b\x07\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=192, rssi=None)
[0x43A7:1:0x0001] Received ZCL frame: b'\x18\x1b\x07\x00'
[0x43A7:1:0x0001] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=27, command_id=7, *direction=<Direction.Client_to_Server: 1>)
[0x43A7:1:0x0001] Decoded ZCL frame: PowerConfig1AAACluster:Configure_Reporting_rsp(status_records=[ConfigureReportingResponseRecord(status=<Status.SUCCESS: 0>)])
[0x43A7:1:0x0001]: Successfully configured reporting for '{'battery_voltage': (3600, 10800, 1), 'battery_percentage_remaining': (3600, 10800, 1)}' on 'power' cluster: [ConfigureReportingResponseRecord(status=<Status.SUCCESS: 0>)]
[0x43A7:1:0x0001]: finished cluster handler configuration
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 29, 471225, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xE5B6), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=0, data=Serialized[b'\x18K\n\x01\x00 @\xe2\xff \x16'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=126, rssi=None)
[0xE5B6:1:0x0000] Received ZCL frame: b'\x18K\n\x01\x00 @\xe2\xff \x16'
[0xE5B6:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=75, command_id=10, *direction=<Direction.Client_to_Server: 1>)
[0xE5B6:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=64)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=22))])
[0xE5B6:1:0x0000] Received command 0x0A (TSN 75): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=64)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=22))])
[0xE5B6:1:0x0000] Attribute report received: app_version=64, 0xFFE2=22
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 30, 841454, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x43A7), src_ep=2, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=4, data=Serialized[b'\x19\x1c\x02\xff\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=192, rssi=None)
[0x43A7:2:0x0004] Received ZCL frame: b'\x19\x1c\x02\xff\x00'
[0x43A7:2:0x0004] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), tsn=28, command_id=2, *direction=<Direction.Client_to_Server: 1>)
[0x43A7:2:0x0004] Decoded ZCL frame: Groups:get_membership_response(capacity=255, groups=[])
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 31, 286420, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x43A7), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1, data=Serialized[b'\x18\x1b\x07\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=195, rssi=None)
[0x43A7:1:0x0001] Received ZCL frame: b'\x18\x1b\x07\x00'
[0x43A7:1:0x0001] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=27, command_id=7, *direction=<Direction.Client_to_Server: 1>)
[0x43A7:1:0x0001] Decoded ZCL frame: PowerConfig1AAACluster:Configure_Reporting_rsp(status_records=[ConfigureReportingResponseRecord(status=<Status.SUCCESS: 0>)])
[0x43A7:1:0x0001] Received command 0x07 (TSN 27): Configure_Reporting_rsp(status_records=[ConfigureReportingResponseRecord(status=<Status.SUCCESS: 0>)])
Feeding watchdog
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 37, 133584, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x6F3E), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1026, data=Serialized[b'\x18\xbe\n\x00\x00)Y\x08'], tx_options=<TransmitOptions.NONE: 0>, radius=28, non_member_radius=0, lqi=39, rssi=None)
[0x6F3E:1:0x0402] Received ZCL frame: b'\x18\xbe\n\x00\x00)Y\x08'
[0x6F3E:1:0x0402] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=190, command_id=10, *direction=<Direction.Client_to_Server: 1>)
[0x6F3E:1:0x0402] Decoded ZCL frame: TemperatureMeasurement:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int16s, value=2137))])
[0x6F3E:1:0x0402] Received command 0x0A (TSN 190): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int16s, value=2137))])
[0x6F3E:1:0x0402] Attribute report received: measured_value=2137
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 38, 427815, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x596E), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1794, data=Serialized[b'\x087\n\x00\x00%\xa5\xa2\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=27, non_member_radius=0, lqi=165, rssi=None)
[0x596E:1:0x0702] Received ZCL frame: b'\x087\n\x00\x00%\xa5\xa2\x00\x00\x00\x00'
[0x596E:1:0x0702] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=55, command_id=10, *direction=<Direction.Client_to_Server: 1>)
[0x596E:1:0x0702] Decoded ZCL frame: Metering:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint48_t, value=41637))])
[0x596E:1:0x0702] Received command 0x0A (TSN 55): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint48_t, value=41637))])
[0x596E:1:0x0702] Attribute report received: current_summ_delivered=41637
[0x596E:1:0x0702] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=55, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
[0x596E:1:0x0702] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>)
sensor.plug_04_active_power_2: polling for updated state
[0xA19A:1:0x0b04]: async_update
[0xA19A:1:0x0b04]: Reading attributes in chunks: ['active_power', 'rms_current', 'rms_voltage']
[0xA19A:1:0x0b04] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=21, command_id=<GeneralCommand.Read_Attributes: 0>, *direction=<Direction.Server_to_Client: 0>)
[0xA19A:1:0x0b04] Sending request: Read_Attributes(attribute_ids=[1291, 1288, 1285])
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 39, 195963, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xA19A), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=2820, data=Serialized[b'\x18\x15\x01\x0b\x05\x00!\x00\x00\x08\x05\x00!\x00\x00\x05\x05\x00!}\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=28, non_member_radius=0, lqi=162, rssi=None)
[0xA19A:1:0x0b04] Received ZCL frame: b'\x18\x15\x01\x0b\x05\x00!\x00\x00\x08\x05\x00!\x00\x00\x05\x05\x00!}\x00'
[0xA19A:1:0x0b04] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=21, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0xA19A:1:0x0b04] Decoded ZCL frame: TuyaZBElectricalMeasurement:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x050B, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=0)), ReadAttributeRecord(attrid=0x0508, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=0)), ReadAttributeRecord(attrid=0x0505, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=125))])
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 40, 442400, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xE215), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\x19\xab\x01\x00\xbc\x01\x02\x00\x04\x00\x00\x00\xc9'], tx_options=<TransmitOptions.NONE: 0>, radius=27, non_member_radius=0, lqi=162, rssi=None)
[0xE215:1:0xef00] Received ZCL frame: b'\x19\xab\x01\x00\xbc\x01\x02\x00\x04\x00\x00\x00\xc9'
[0xE215:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), tsn=171, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0xE215:1:0xef00] Decoded ZCL frame: TemperatureHumidityManufCluster:get_data(data=TuyaCommand(status=0, tsn=188, datapoints=[TuyaDatapointData(dp=1, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\xc9', *payload=201))]))
[0xE215:1:0xef00] Received command 0x01 (TSN 171): get_data(data=TuyaCommand(status=0, tsn=188, datapoints=[TuyaDatapointData(dp=1, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\xc9', *payload=201))]))
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 41, 153737, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xDE75), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\x19z\x01\x00\xae\x01\x02\x00\x04\x00\x00\x00\xb8'], tx_options=<TransmitOptions.NONE: 0>, radius=28, non_member_radius=0, lqi=162, rssi=None)
[0xDE75:1:0xef00] Received ZCL frame: b'\x19z\x01\x00\xae\x01\x02\x00\x04\x00\x00\x00\xb8'
[0xDE75:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), tsn=122, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0xDE75:1:0xef00] Decoded ZCL frame: TemperatureHumidityManufCluster:get_data(data=TuyaCommand(status=0, tsn=174, datapoints=[TuyaDatapointData(dp=1, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\xb8', *payload=184))]))
[0xDE75:1:0xef00] Received command 0x01 (TSN 122): get_data(data=TuyaCommand(status=0, tsn=174, datapoints=[TuyaDatapointData(dp=1, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\xb8', *payload=184))]))
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 43, 45141, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xA19A), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=6, data=Serialized[b'\x08!\n\x00\x00\x10\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=28, non_member_radius=0, lqi=162, rssi=None)
[0xA19A:1:0x0006] Received ZCL frame: b'\x08!\n\x00\x00\x10\x00'
[0xA19A:1:0x0006] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=33, command_id=10, *direction=<Direction.Client_to_Server: 1>)
[0xA19A:1:0x0006] Decoded ZCL frame: TuyaZBOnOffAttributeCluster:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=<Bool.false: 0>))])
[0xA19A:1:0x0006] Received command 0x0A (TSN 33): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=<Bool.false: 0>))])
[0xA19A:1:0x0006] Attribute report received: on_off=<Bool.false: 0>
[0xA19A:1:0x0006] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=33, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
[0xA19A:1:0x0006] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>)
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 43, 912580, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x43A7), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.Broadcast: 15>, address=<BroadcastAddress.ALL_ROUTERS_AND_COORDINATOR: 65532>), dst_ep=2, source_route=None, extended_timeout=False, tsn=0, profile_id=49246, cluster_id=3, data=Serialized[b'\x11\x04\x01'], tx_options=<TransmitOptions.NONE: 0>, radius=11, non_member_radius=0, lqi=192, rssi=None)
[0x43A7:1:0x0003] Received ZCL frame: b'\x11\x04\x01'
[0x43A7:1:0x0003] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 0>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), tsn=4, command_id=1, *direction=<Direction.Server_to_Client: 0>)
[0x43A7:1:0x0003] Decoded ZCL frame: Identify:identify_query()
[0x43A7:1:0x0003] Received command 0x01 (TSN 4): identify_query()
[0x43A7:1:0x0003] No explicit handler for cluster command 0x01: identify_query()
[0x43A7:1:0x0003]: received 'identify_query' command with identify_query() args on cluster_id '3' tsn '4'
[0xAAA6](45856): Device seen - marking the device available and resetting counter
[0xAAA6](45856): Update device availability -  device available: True - new availability: True - changed: False
[0x14D1](STARKVIND Air purifier table): Device seen - marking the device available and resetting counter
[0x14D1](STARKVIND Air purifier table): Update device availability -  device available: True - new availability: True - changed: False
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 43, 936174, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x43A7), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.Broadcast: 15>, address=<BroadcastAddress.ALL_ROUTERS_AND_COORDINATOR: 65532>), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=3, data=Serialized[b'\x11\x04\x01'], tx_options=<TransmitOptions.NONE: 0>, radius=11, non_member_radius=0, lqi=192, rssi=None)
[0x43A7:1:0x0003] Received ZCL frame: b'\x11\x04\x01'
[0x43A7:1:0x0003] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 0>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), tsn=4, command_id=1, *direction=<Direction.Server_to_Client: 0>)
[0x43A7:1:0x0003] Decoded ZCL frame: Identify:identify_query()
[0x43A7:1:0x0003] Received command 0x01 (TSN 4): identify_query()
[0x43A7:1:0x0003] No explicit handler for cluster command 0x01: identify_query()
[0x43A7:1:0x0003]: received 'identify_query' command with identify_query() args on cluster_id '3' tsn '4'
[0xDBEA](VINDSTYRKA): Device seen - marking the device available and resetting counter
[0xDBEA](VINDSTYRKA): Update device availability -  device available: True - new availability: True - changed: False
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 45, 637160, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xE215), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\x19\xac\x01\x00\xbd\x02\x02\x00\x04\x00\x00\x01D'], tx_options=<TransmitOptions.NONE: 0>, radius=27, non_member_radius=0, lqi=162, rssi=None)
[0xE215:1:0xef00] Received ZCL frame: b'\x19\xac\x01\x00\xbd\x02\x02\x00\x04\x00\x00\x01D'
[0xE215:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), tsn=172, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0xE215:1:0xef00] Decoded ZCL frame: TemperatureHumidityManufCluster:get_data(data=TuyaCommand(status=0, tsn=189, datapoints=[TuyaDatapointData(dp=2, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x01D', *payload=324))]))
[0xE215:1:0xef00] Received command 0x01 (TSN 172): get_data(data=TuyaCommand(status=0, tsn=189, datapoints=[TuyaDatapointData(dp=2, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x01D', *payload=324))]))
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 46, 350647, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xDE75), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\x19{\x01\x00\xaf\x02\x02\x00\x04\x00\x00\x01\x8a'], tx_options=<TransmitOptions.NONE: 0>, radius=28, non_member_radius=0, lqi=162, rssi=None)
[0xDE75:1:0xef00] Received ZCL frame: b'\x19{\x01\x00\xaf\x02\x02\x00\x04\x00\x00\x01\x8a'
[0xDE75:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), tsn=123, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0xDE75:1:0xef00] Decoded ZCL frame: TemperatureHumidityManufCluster:get_data(data=TuyaCommand(status=0, tsn=175, datapoints=[TuyaDatapointData(dp=2, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x01\x8a', *payload=394))]))
[0xDE75:1:0xef00] Received command 0x01 (TSN 123): get_data(data=TuyaCommand(status=0, tsn=175, datapoints=[TuyaDatapointData(dp=2, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x01\x8a', *payload=394))]))
[0x6F3E](TH01): Device seen - marking the device available and resetting counter
[0x6F3E](TH01): Update device availability -  device available: True - new availability: True - changed: False
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 50, 838495, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xE215), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\x19\xad\x01\x00\xbe\x04\x02\x00\x04\x00\x00\x00d'], tx_options=<TransmitOptions.NONE: 0>, radius=27, non_member_radius=0, lqi=159, rssi=None)
[0xE215:1:0xef00] Received ZCL frame: b'\x19\xad\x01\x00\xbe\x04\x02\x00\x04\x00\x00\x00d'
[0xE215:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), tsn=173, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0xE215:1:0xef00] Decoded ZCL frame: TemperatureHumidityManufCluster:get_data(data=TuyaCommand(status=0, tsn=190, datapoints=[TuyaDatapointData(dp=4, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00d', *payload=100))]))
[0xE215:1:0xef00] Received command 0x01 (TSN 173): get_data(data=TuyaCommand(status=0, tsn=190, datapoints=[TuyaDatapointData(dp=4, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00d', *payload=100))]))
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 51, 552821, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xDE75), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\x19|\x01\x00\xb0\x04\x02\x00\x04\x00\x00\x00+'], tx_options=<TransmitOptions.NONE: 0>, radius=28, non_member_radius=0, lqi=162, rssi=None)
[0xDE75:1:0xef00] Received ZCL frame: b'\x19|\x01\x00\xb0\x04\x02\x00\x04\x00\x00\x00+'
[0xDE75:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), tsn=124, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0xDE75:1:0xef00] Decoded ZCL frame: TemperatureHumidityManufCluster:get_data(data=TuyaCommand(status=0, tsn=176, datapoints=[TuyaDatapointData(dp=4, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00+', *payload=43))]))
[0xDE75:1:0xef00] Received command 0x01 (TSN 124): get_data(data=TuyaCommand(status=0, tsn=176, datapoints=[TuyaDatapointData(dp=4, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00+', *payload=43))]))
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 25, 54, 662494, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x451F), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1794, data=Serialized[b'\x08%\n\x00\x00%\xb4\xab\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=27, non_member_radius=0, lqi=162, rssi=None)
[0x451F:1:0x0702] Received ZCL frame: b'\x08%\n\x00\x00%\xb4\xab\x00\x00\x00\x00'
[0x451F:1:0x0702] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=37, command_id=10, *direction=<Direction.Client_to_Server: 1>)
[0x451F:1:0x0702] Decoded ZCL frame: Metering:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint48_t, value=43956))])
[0x451F:1:0x0702] Received command 0x0A (TSN 37): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint48_t, value=43956))])
[0x451F:1:0x0702] Attribute report received: current_summ_delivered=43956
[0x451F:1:0x0702] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=37, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
[0x451F:1:0x0702] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>)
[0x43A7:1:0x0020]: Failed to bind 'poll_control' cluster:
[0x43A7:1:0x0020]: Configuring cluster attribute reporting
[0x43A7:1:0x0020]: Performing cluster handler specific configuration
Tries remaining: 3
[0x43A7:1:0x0020] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=29, command_id=<GeneralCommand.Write_Attributes: 2>, *direction=<Direction.Server_to_Client: 0>)
[0x43A7:1:0x0020] Sending request: Write_Attributes(attributes=[Attribute(attrid=0x0000, value=TypeValue(type=uint32_t, value=13200))])
[0x43a7] Extending timeout for 0x1d request
[0x43A7:1:0xfc80]: Failed to bind 'None' cluster:
[0x43A7:1:0xfc80]: Configuring cluster attribute reporting
[0x43A7:1:0xfc80]: finished cluster handler configuration
[0x43A7:1:0x0008]: Failed to bind 'level' cluster:
[0x43A7:1:0x0008]: finished cluster handler configuration
[0x43A7:1:0x0006]: Failed to bind 'on_off' cluster:
[0x43A7:1:0x0006]: finished cluster handler configuration
[0x43A7:2:0xfc80]: Failed to bind 'None' cluster:
[0x43A7:2:0xfc80]: Configuring cluster attribute reporting
[0x43A7:2:0xfc80]: finished cluster handler configuration
[0x43A7:2:0x0008]: Failed to bind 'level' cluster:
[0x43A7:2:0x0008]: finished cluster handler configuration
[0x43A7:2:0x0006]: Failed to bind 'on_off' cluster:
[0x43A7:2:0x0006]: finished cluster handler configuration
[0x43A7:2:0x0003]: 'async_configure' stage succeeded
[0x43A7:2:0x0000]: 'async_configure' stage succeeded
[0x43A7:2:0xfc80]: 'async_configure' stage succeeded
[0x43A7:2:0x0008]: 'async_configure' stage succeeded
[0x43A7:2:0x0006]: 'async_configure' stage succeeded
[0xDE75](TS0601): Device seen - marking the device available and resetting counter
[0xDE75](TS0601): Update device availability -  device available: True - new availability: True - changed: False
[0x43A7](SOMRIG shortcut button): Device seen - marking the device available and resetting counter
[0x43A7](SOMRIG shortcut button): Update device availability -  device available: True - new availability: True - changed: False
[0x0645](TH01): Device seen - marking the device available and resetting counter
[0x0645](TH01): Update device availability -  device available: True - new availability: True - changed: False
sensor.plug_01_active_power: polling for updated state
[0x9F1D:1:0x0b04]: async_update
[0x9F1D:1:0x0b04]: Reading attributes in chunks: ['active_power', 'rms_current', 'rms_voltage']
[0x9F1D:1:0x0b04] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=19, command_id=<GeneralCommand.Read_Attributes: 0>, *direction=<Direction.Server_to_Client: 0>)
[0x9F1D:1:0x0b04] Sending request: Read_Attributes(attribute_ids=[1291, 1288, 1285])
sensor.plug_03_active_power: polling for updated state
sensor.plug_03_summation_delivered: polling for updated state
[0xDF03:1:0x0b04]: async_update
[0xDF03:1:0x0b04]: Reading attributes in chunks: ['active_power', 'rms_current', 'rms_voltage']
[0xDF03:1:0x0b04] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=20, command_id=<GeneralCommand.Read_Attributes: 0>, *direction=<Direction.Server_to_Client: 0>)
[0xDF03:1:0x0b04] Sending request: Read_Attributes(attribute_ids=[1291, 1288, 1285])
[0xDF03:1:0x0702]: async_update
[0xDF03:1:0x0702]: Reading attributes in chunks: ['current_summ_delivered']
[0xDF03:1:0x0702] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=21, command_id=<GeneralCommand.Read_Attributes: 0>, *direction=<Direction.Server_to_Client: 0>)
[0xDF03:1:0x0702] Sending request: Read_Attributes(attribute_ids=[0])
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 26, 2, 227023, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x9F1D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=2820, data=Serialized[b'\x18\x13\x01\x0b\x05\x00!\x0b\x00\x08\x05\x00!\x9c\x00\x05\x05\x00!}\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=153, rssi=None)
[0x9F1D:1:0x0b04] Received ZCL frame: b'\x18\x13\x01\x0b\x05\x00!\x0b\x00\x08\x05\x00!\x9c\x00\x05\x05\x00!}\x00'
[0x9F1D:1:0x0b04] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=19, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0x9F1D:1:0x0b04] Decoded ZCL frame: TuyaZBElectricalMeasurement:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x050B, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=11)), ReadAttributeRecord(attrid=0x0508, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=156)), ReadAttributeRecord(attrid=0x0505, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=125))])
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 26, 2, 231957, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xDF03), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=2820, data=Serialized[b'\x18\x14\x01\x0b\x05\x00!\x00\x00\x08\x05\x00!\x00\x00\x05\x05\x00!}\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=135, rssi=None)
[0xDF03:1:0x0b04] Received ZCL frame: b'\x18\x14\x01\x0b\x05\x00!\x00\x00\x08\x05\x00!\x00\x00\x05\x05\x00!}\x00'
[0xDF03:1:0x0b04] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=20, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0xDF03:1:0x0b04] Decoded ZCL frame: TuyaZBElectricalMeasurement:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x050B, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=0)), ReadAttributeRecord(attrid=0x0508, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=0)), ReadAttributeRecord(attrid=0x0505, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=125))])
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 26, 2, 235742, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xDF03), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1794, data=Serialized[b'\x18\x15\x01\x00\x00\x00%\x8a\t\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=141, rssi=None)
[0xDF03:1:0x0702] Received ZCL frame: b'\x18\x15\x01\x00\x00\x00%\x8a\t\x00\x00\x00\x00'
[0xDF03:1:0x0702] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=21, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0xDF03:1:0x0702] Decoded ZCL frame: TuyaZBMeteringClusterWithUnit:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0000, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint48_t, value=2442))])
Feeding watchdog
[0x5231](E11-N1G): Device seen - marking the device available and resetting counter
[0x5231](E11-N1G): Update device availability -  device available: True - new availability: True - changed: False
[0x06D2](Remote Control N2): last_seen is 48031.23101854324 seconds ago and ping attempts have been exhausted, marking the device unavailable
[0x06D2](Remote Control N2): Update device availability -  device available: False - new availability: False - changed: False
sensor.plug_02_summation_delivered: polling for updated state
[0xCC8E:1:0x0702]: async_update
[0xCC8E:1:0x0702]: Reading attributes in chunks: ['current_summ_delivered']
[0xCC8E:1:0x0702] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=21, command_id=<GeneralCommand.Read_Attributes: 0>, *direction=<Direction.Server_to_Client: 0>)
[0xCC8E:1:0x0702] Sending request: Read_Attributes(attribute_ids=[0])
sensor.plug_04_summation_delivered_2: polling for updated state
[0xA19A:1:0x0702]: async_update
[0xA19A:1:0x0702]: Reading attributes in chunks: ['current_summ_delivered']
[0xA19A:1:0x0702] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=22, command_id=<GeneralCommand.Read_Attributes: 0>, *direction=<Direction.Server_to_Client: 0>)
[0xA19A:1:0x0702] Sending request: Read_Attributes(attribute_ids=[0])
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 26, 4, 164308, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xCC8E), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1794, data=Serialized[b'\x18\x15\x01\x00\x00\x00%/\t\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=87, rssi=None)
[0xCC8E:1:0x0702] Received ZCL frame: b'\x18\x15\x01\x00\x00\x00%/\t\x00\x00\x00\x00'
[0xCC8E:1:0x0702] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=21, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0xCC8E:1:0x0702] Decoded ZCL frame: TuyaZBMeteringClusterWithUnit:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0000, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint48_t, value=2351))])
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 26, 4, 195996, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xA19A), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1794, data=Serialized[b'\x18\x16\x01\x00\x00\x00%\xf4\x00\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=28, non_member_radius=0, lqi=162, rssi=None)
[0xA19A:1:0x0702] Received ZCL frame: b'\x18\x16\x01\x00\x00\x00%\xf4\x00\x00\x00\x00\x00'
[0xA19A:1:0x0702] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=22, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0xA19A:1:0x0702] Decoded ZCL frame: TuyaZBMeteringClusterWithUnit:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0000, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint48_t, value=244))])
sensor.plug_01_summation_delivered: polling for updated state
[0x9F1D:1:0x0702]: async_update
[0x9F1D:1:0x0702]: Reading attributes in chunks: ['current_summ_delivered']
[0x9F1D:1:0x0702] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=20, command_id=<GeneralCommand.Read_Attributes: 0>, *direction=<Direction.Server_to_Client: 0>)
[0x9F1D:1:0x0702] Sending request: Read_Attributes(attribute_ids=[0])
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 26, 7, 148688, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x9F1D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1794, data=Serialized[b'\x18\x14\x01\x00\x00\x00%\x8c\x05\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=156, rssi=None)
[0x9F1D:1:0x0702] Received ZCL frame: b'\x18\x14\x01\x00\x00\x00%\x8c\x05\x00\x00\x00\x00'
[0x9F1D:1:0x0702] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=20, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0x9F1D:1:0x0702] Decoded ZCL frame: TuyaZBMeteringClusterWithUnit:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0000, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint48_t, value=1420))])
[0xE1F0](E11-N1G): last_seen is 19457436.273515224 seconds ago and ping attempts have been exhausted, marking the device unavailable
[0xE1F0](E11-N1G): Update device availability -  device available: False - new availability: False - changed: False
[0xBF5B](45856): Device seen - marking the device available and resetting counter
[0xBF5B](45856): Update device availability -  device available: True - new availability: True - changed: False
[0x4F62](TH01): Device seen - marking the device available and resetting counter
[0x4F62](TH01): Update device availability -  device available: True - new availability: True - changed: False
[0xDDE3](E11-N1G): last_seen is 19457409.26816845 seconds ago and ping attempts have been exhausted, marking the device unavailable
[0xDDE3](E11-N1G): Update device availability -  device available: False - new availability: False - changed: False
[0xDFC8](TRADFRI bulb E26 WW 806lm): Device seen - marking the device available and resetting counter
[0xDFC8](TRADFRI bulb E26 WW 806lm): Update device availability -  device available: True - new availability: True - changed: False
[0x37C9](TH01): Device seen - marking the device available and resetting counter
[0x37C9](TH01): Update device availability -  device available: True - new availability: True - changed: False
[0xE215](TS0601): Device seen - marking the device available and resetting counter
[0xE215](TS0601): Update device availability -  device available: True - new availability: True - changed: False
[0x9F1D](TS011F): Device seen - marking the device available and resetting counter
[0x9F1D](TS011F): Update device availability -  device available: True - new availability: True - changed: False
[0x7F36](Remote Control N2): Device seen - marking the device available and resetting counter
[0x7F36](Remote Control N2): Update device availability -  device available: True - new availability: True - changed: False
sensor.plug_02_active_power: polling for updated state
[0xCC8E:1:0x0b04]: async_update
[0xCC8E:1:0x0b04]: Reading attributes in chunks: ['active_power', 'rms_current', 'rms_voltage']
[0xCC8E:1:0x0b04] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=22, command_id=<GeneralCommand.Read_Attributes: 0>, *direction=<Direction.Server_to_Client: 0>)
[0xCC8E:1:0x0b04] Sending request: Read_Attributes(attribute_ids=[1291, 1288, 1285])
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 26, 14, 150770, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xCC8E), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=2820, data=Serialized[b'\x18\x16\x01\x0b\x05\x00!\x10\x00\x08\x05\x00!\xe5\x00\x05\x05\x00!}\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=87, rssi=None)
[0xCC8E:1:0x0b04] Received ZCL frame: b'\x18\x16\x01\x0b\x05\x00!\x10\x00\x08\x05\x00!\xe5\x00\x05\x05\x00!}\x00'
[0xCC8E:1:0x0b04] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=22, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0xCC8E:1:0x0b04] Decoded ZCL frame: TuyaZBElectricalMeasurement:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x050B, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=16)), ReadAttributeRecord(attrid=0x0508, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=229)), ReadAttributeRecord(attrid=0x0505, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=125))])
Tries remaining: 2
[0x43A7:1:0x0020] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=30, command_id=<GeneralCommand.Write_Attributes: 2>, *direction=<Direction.Server_to_Client: 0>)
[0x43A7:1:0x0020] Sending request: Write_Attributes(attributes=[Attribute(attrid=0x0000, value=TypeValue(type=uint32_t, value=13200))])
[0x43a7] Extending timeout for 0x1e request
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 26, 18, 34566, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x35BF), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1794, data=Serialized[b'\x18\x02\n\x00\x00%\x8a\x8b\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=27, non_member_radius=0, lqi=42, rssi=None)
[0x35BF:1:0x0702] Received ZCL frame: b'\x18\x02\n\x00\x00%\x8a\x8b\x00\x00\x00\x00'
[0x35BF:1:0x0702] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=2, command_id=10, *direction=<Direction.Client_to_Server: 1>)
[0x35BF:1:0x0702] Decoded ZCL frame: Metering:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint48_t, value=35722))])
[0x35BF:1:0x0702] Received command 0x0A (TSN 2): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint48_t, value=35722))])
[0x35BF:1:0x0702] Attribute report received: current_summ_delivered=35722
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 26, 18, 633860, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x451F), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=768, data=Serialized[b'\x08&\n\x03\x00!\xcc,'], tx_options=<TransmitOptions.NONE: 0>, radius=27, non_member_radius=0, lqi=162, rssi=None)
[0x451F:1:0x0300] Received ZCL frame: b'\x08&\n\x03\x00!\xcc,'
[0x451F:1:0x0300] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=38, command_id=10, *direction=<Direction.Client_to_Server: 1>)
[0x451F:1:0x0300] Decoded ZCL frame: Color:Report_Attributes(attribute_reports=[Attribute(attrid=0x0003, value=TypeValue(type=uint16_t, value=11468))])
[0x451F:1:0x0300] Received command 0x0A (TSN 38): Report_Attributes(attribute_reports=[Attribute(attrid=0x0003, value=TypeValue(type=uint16_t, value=11468))])
[0x451F:1:0x0300] Attribute report received: current_x=11468
[0x451F:1:0x0300] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=38, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
[0x451F:1:0x0300] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>)
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 26, 18, 639459, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x451F), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=768, data=Serialized[b"\x08'\n\x04\x00!v\xbe"], tx_options=<TransmitOptions.NONE: 0>, radius=27, non_member_radius=0, lqi=162, rssi=None)
[0x451F:1:0x0300] Received ZCL frame: b"\x08'\n\x04\x00!v\xbe"
[0x451F:1:0x0300] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=39, command_id=10, *direction=<Direction.Client_to_Server: 1>)
[0x451F:1:0x0300] Decoded ZCL frame: Color:Report_Attributes(attribute_reports=[Attribute(attrid=0x0004, value=TypeValue(type=uint16_t, value=48758))])
[0x451F:1:0x0300] Received command 0x0A (TSN 39): Report_Attributes(attribute_reports=[Attribute(attrid=0x0004, value=TypeValue(type=uint16_t, value=48758))])
[0x451F:1:0x0300] Attribute report received: current_y=48758
[0x451F:1:0x0300] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=39, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
[0x451F:1:0x0300] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>)
[0xE5B6](TS0207): Device seen - marking the device available and resetting counter
[0xE5B6](TS0207): Update device availability -  device available: True - new availability: True - changed: False
[0x3812](TS0042): Device seen - marking the device available and resetting counter
[0x3812](TS0042): Update device availability -  device available: True - new availability: True - changed: False
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 26, 20, 765836, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xCC8E), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1794, data=Serialized[b'\x08>\n\x00\x00%0\t\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=84, rssi=None)
[0xCC8E:1:0x0702] Received ZCL frame: b'\x08>\n\x00\x00%0\t\x00\x00\x00\x00'
[0xCC8E:1:0x0702] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=62, command_id=10, *direction=<Direction.Client_to_Server: 1>)
[0xCC8E:1:0x0702] Decoded ZCL frame: TuyaZBMeteringClusterWithUnit:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint48_t, value=2352))])
[0xCC8E:1:0x0702] Received command 0x0A (TSN 62): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint48_t, value=2352))])
[0xCC8E:1:0x0702] Attribute report received: current_summ_delivered=2352
[0xCC8E:1:0x0702] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=62, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
[0xCC8E:1:0x0702] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>)
[0xDB47](E21-N1EA): Device seen - marking the device available and resetting counter
[0xDB47](E21-N1EA): Update device availability -  device available: True - new availability: True - changed: False
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 26, 22, 338002, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x596E), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1794, data=Serialized[b'\x088\n\x00\x00%\xa6\xa2\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=27, non_member_radius=0, lqi=162, rssi=None)
[0x596E:1:0x0702] Received ZCL frame: b'\x088\n\x00\x00%\xa6\xa2\x00\x00\x00\x00'
[0x596E:1:0x0702] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=56, command_id=10, *direction=<Direction.Client_to_Server: 1>)
[0x596E:1:0x0702] Decoded ZCL frame: Metering:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint48_t, value=41638))])
[0x596E:1:0x0702] Received command 0x0A (TSN 56): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint48_t, value=41638))])
[0x596E:1:0x0702] Attribute report received: current_summ_delivered=41638
[0x596E:1:0x0702] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=56, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
[0x596E:1:0x0702] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>)
Tries remaining: 1
[0x43A7:1:0x0020] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=31, command_id=<GeneralCommand.Write_Attributes: 2>, *direction=<Direction.Server_to_Client: 0>)
[0x43A7:1:0x0020] Sending request: Write_Attributes(attributes=[Attribute(attrid=0x0000, value=TypeValue(type=uint32_t, value=13200))])
[0x43a7] Extending timeout for 0x1f request
[0xCC8E](TS011F): Device seen - marking the device available and resetting counter
[0xCC8E](TS011F): Update device availability -  device available: True - new availability: True - changed: False
[0xA19A](TS011F): Device seen - marking the device available and resetting counter
[0xA19A](TS011F): Update device availability -  device available: True - new availability: True - changed: False
[0x8856](TS0601): last_seen is 11395394.559090614 seconds ago and ping attempts have been exhausted, marking the device unavailable
[0x8856](TS0601): Update device availability -  device available: False - new availability: False - changed: False
[0x43A7:1:0x0003]: 'async_configure' stage succeeded
[0x43A7:1:0x0001]: 'async_configure' stage succeeded
[0x43A7:1:0x0000]: 'async_configure' stage succeeded
[0x43A7:1:0x0020]: 'async_configure' stage failed: Failed to send request: Request failed after 5 attempts: <Status.MAC_NO_ACK: 233>
[0x43A7:1:0x1000]: 'async_configure' stage succeeded
[0x43A7:1:0xfc80]: 'async_configure' stage succeeded
[0x43A7:1:0x0008]: 'async_configure' stage succeeded
[0x43A7:1:0x0006]: 'async_configure' stage succeeded
[0x43A7:1:0x0019]: 'async_configure' stage succeeded
[0x43A7](SOMRIG shortcut button): completed configuration
Tries remaining: 3
[0x43A7:1:0x0003] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=32, command_id=64, *direction=<Direction.Server_to_Client: 0>)
[0x43A7:1:0x0003] Sending request: trigger_effect(effect_id=<EffectIdentifier.Okay: 2>, effect_variant=<EffectVariant.Default: 0>)
[0x43a7] Extending timeout for 0x20 request
[0xDF03](TS011F): Device seen - marking the device available and resetting counter
[0xDF03](TS011F): Update device availability -  device available: True - new availability: True - changed: False
Feeding watchdog
Tries remaining: 2
[0x43A7:1:0x0003] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=33, command_id=64, *direction=<Direction.Server_to_Client: 0>)
[0x43A7:1:0x0003] Sending request: trigger_effect(effect_id=<EffectIdentifier.Okay: 2>, effect_variant=<EffectVariant.Default: 0>)
[0x43a7] Extending timeout for 0x21 request
sensor.plug_04_active_power_2: polling for updated state
[0xA19A:1:0x0b04]: async_update
[0xA19A:1:0x0b04]: Reading attributes in chunks: ['active_power', 'rms_current', 'rms_voltage']
[0xA19A:1:0x0b04] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=23, command_id=<GeneralCommand.Read_Attributes: 0>, *direction=<Direction.Server_to_Client: 0>)
[0xA19A:1:0x0b04] Sending request: Read_Attributes(attribute_ids=[1291, 1288, 1285])
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 26, 34, 181681, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xA19A), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=2820, data=Serialized[b'\x18\x17\x01\x0b\x05\x00!\x00\x00\x08\x05\x00!\x00\x00\x05\x05\x00!}\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=28, non_member_radius=0, lqi=42, rssi=None)
[0xA19A:1:0x0b04] Received ZCL frame: b'\x18\x17\x01\x0b\x05\x00!\x00\x00\x08\x05\x00!\x00\x00\x05\x05\x00!}\x00'
[0xA19A:1:0x0b04] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=23, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0xA19A:1:0x0b04] Decoded ZCL frame: TuyaZBElectricalMeasurement:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x050B, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=0)), ReadAttributeRecord(attrid=0x0508, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=0)), ReadAttributeRecord(attrid=0x0505, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint16_t, value=125))])
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 26, 35, 534292, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x451F), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1794, data=Serialized[b'\x08(\n\x00\x00%\xb5\xab\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=27, non_member_radius=0, lqi=162, rssi=None)
[0x451F:1:0x0702] Received ZCL frame: b'\x08(\n\x00\x00%\xb5\xab\x00\x00\x00\x00'
[0x451F:1:0x0702] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=40, command_id=10, *direction=<Direction.Client_to_Server: 1>)
[0x451F:1:0x0702] Decoded ZCL frame: Metering:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint48_t, value=43957))])
[0x451F:1:0x0702] Received command 0x0A (TSN 40): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint48_t, value=43957))])
[0x451F:1:0x0702] Attribute report received: current_summ_delivered=43957
[0x451F:1:0x0702] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=40, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
[0x451F:1:0x0702] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>)
[0x596E](E21-N1EA): Device seen - marking the device available and resetting counter
[0x596E](E21-N1EA): Update device availability -  device available: True - new availability: True - changed: False
Tries remaining: 1
[0x43A7:1:0x0003] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=34, command_id=64, *direction=<Direction.Server_to_Client: 0>)
[0x43A7:1:0x0003] Sending request: trigger_effect(effect_id=<EffectIdentifier.Okay: 2>, effect_variant=<EffectVariant.Default: 0>)
[0x43a7] Extending timeout for 0x22 request
[0x35BF](E11-N1G): Device seen - marking the device available and resetting counter
[0x35BF](E11-N1G): Update device availability -  device available: True - new availability: True - changed: False
[0x451F](E21-N1EA): Device seen - marking the device available and resetting counter
[0x451F](E21-N1EA): Update device availability -  device available: True - new availability: True - changed: False
[0xF6F6](TS0202): Device seen - marking the device available and resetting counter
[0xF6F6](TS0202): Update device availability -  device available: True - new availability: True - changed: False
sensor.plug_02_summation_delivered: polling for updated state
[0xCC8E:1:0x0702]: async_update
[0xCC8E:1:0x0702]: Reading attributes in chunks: ['current_summ_delivered']
[0xCC8E:1:0x0702] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=23, command_id=<GeneralCommand.Read_Attributes: 0>, *direction=<Direction.Server_to_Client: 0>)
[0xCC8E:1:0x0702] Sending request: Read_Attributes(attribute_ids=[0])
sensor.plug_04_summation_delivered_2: polling for updated state
[0xA19A:1:0x0702]: async_update
[0xA19A:1:0x0702]: Reading attributes in chunks: ['current_summ_delivered']
[0xA19A:1:0x0702] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=24, command_id=<GeneralCommand.Read_Attributes: 0>, *direction=<Direction.Server_to_Client: 0>)
[0xA19A:1:0x0702] Sending request: Read_Attributes(attribute_ids=[0])
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 26, 45, 151946, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xCC8E), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1794, data=Serialized[b'\x18\x17\x01\x00\x00\x00%0\t\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=90, rssi=None)
[0xCC8E:1:0x0702] Received ZCL frame: b'\x18\x17\x01\x00\x00\x00%0\t\x00\x00\x00\x00'
[0xCC8E:1:0x0702] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=23, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0xCC8E:1:0x0702] Decoded ZCL frame: TuyaZBMeteringClusterWithUnit:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0000, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint48_t, value=2352))])
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 26, 45, 222987, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xA19A), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1794, data=Serialized[b'\x18\x18\x01\x00\x00\x00%\xf4\x00\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=28, non_member_radius=0, lqi=111, rssi=None)
[0xA19A:1:0x0702] Received ZCL frame: b'\x18\x18\x01\x00\x00\x00%\xf4\x00\x00\x00\x00\x00'
[0xA19A:1:0x0702] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=24, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0xA19A:1:0x0702] Decoded ZCL frame: TuyaZBMeteringClusterWithUnit:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0000, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint48_t, value=244))])
Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 21, 21, 26, 48, 160579, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xE215), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\x19\xae\x01\x00\xbf\x01\x02\x00\x04\x00\x00\x00\xc9'], tx_options=<TransmitOptions.NONE: 0>, radius=27, non_member_radius=0, lqi=162, rssi=None)
[0xE215:1:0xef00] Received ZCL frame: b'\x19\xae\x01\x00\xbf\x01\x02\x00\x04\x00\x00\x00\xc9'
[0xE215:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), tsn=174, command_id=1, *direction=<Direction.Client_to_Server: 1>)
[0xE215:1:0xef00] Decoded ZCL frame: TemperatureHumidityManufCluster:get_data(data=TuyaCommand(status=0, tsn=191, datapoints=[TuyaDatapointData(dp=1, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\xc9', *payload=201))]))
[0xE215:1:0xef00] Received command 0x01 (TSN 174): get_data(data=TuyaCommand(status=0, tsn=191, datapoints=[TuyaDatapointData(dp=1, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\xc9', *payload=201))]))
[0x14D1](STARKVIND Air purifier table): Device seen - marking the device available and resetting counter
[0x14D1](STARKVIND Air purifier table): Update device availability -  device available: True - new availability: True - changed: False

Seem this issue is still persist after I updated and restarted HA 2024.1.5. I tried remove and pair it. I do not have custom quirk on HA.

Here are highlighted log
Edit: I was able to pair between Somrig device and HA by spamming pair buttons (i don't know why red LED was off while pair mode it have new brand battery too) but pressing both two buttons do not works when it became unknown. I already replaced the battery two times.

Exact same issue here, also running HA 2024.1.5.

Same problem here. Device pairs and shows battery and Identify but is unable to bind the buttons.

@RASTRILL0 This device can only being bond if its using in ZLL mode (direct paring with light without coordinator) the its sending On/Off light commands.
Then being paired with one coordinator its only sending short double and long press / release in matter standard commands for switches and lights is not understanding this commands.
You shall using automatons triggered from the events the remote is sending and defining actions they shall doing in the automations.

Same problem here. Device pairs and shows battery and Identify but is unable to bind the buttons.

Same problem here. Device pairs and shows battery and Identify but is unable to bind the buttons.

Tap the pair button 4 times to initiate the pairing process (red blinking light) then keep tapping the pair button until it’s complete. I think the remote is going to sleep before the process finishes. I got mine working.

Same problem here. Device pairs and shows battery and Identify but is unable to bind the buttons.

Pleas explaining wot you meaning with  binding then its only used with light controllers and not "other" controllers (and this is NOT one light controller like Rodret is).
And if being paired OK it shall being  OK sending the commands t the system but can need being reconfigured for doing it OK.

Same problem here. Device pairs and shows battery and Identify but is unable to bind the buttons.

Tap the pair button 4 times to initiate the pairing process (red blinking light) then keep tapping the pair button until it’s complete. I think the remote is going to sleep before the process finishes. I got mine working.

I linked succesfully after 4 times click. I also added quirk and tried to run OTA (device is already latest version 1.0.20.
battery and identify works, but i just cannot see events from clicking the buttons. Still not solved

I also have trouble pairing these, first few times I did not get any entities at all, now I get these

When I subscribe to zha_events in the developer tools I don't see anything

As mentioned here you have to enforce ZLL. For me this just worked by pairing Somrig via a Light device.
Not sure if one can enforce ZLL otherwise.

After pairing that way I receive the events

The comment of ZLL  is ti getting it sending Light Command like On/Off and dimming up and down.
4 press and the LED is start blinking its going in normal paring mode and if being OK its sending commands with press from both button.
If not getting events try reconfigure and waking it up then sending commands. If not working restart HA and next is taking the battery out and putting it in and fast starting reconfigure.

As mentioned here you have to enforce ZLL. For me this just worked by pairing Somrig via a Light device.
Not sure if one can enforce ZLL otherwise.

I removed Somrig from HA and I tried pair Somrig again via devices I have:

Ikea TRADFRI bulb E26 WW 806lm
Jasco Enbrighten Zigbee Switch (it is acting as light device)
Ikea STARKVIND Air purifier table
TuYa TS011F smart plugs

Seem HA is not detecting Somrig with all of the device on the list. Weird thing is, it was able to detect and configurate Somrig with direct zigbee hub (Sonoff Zigbee 3.0 USB Dongle Plus with Texas Instruments CC2652).
P.S. What do 'enforce ZLL' mean? Google is not helping me.

I've managed to pair it succesfully now through an zigbee lightbulb

P.S. What do 'enforce ZLL' mean? Google is not helping me.´

It was the first Zigbee standard for lights (Zigbee Light Link) but its now one part or Zigbee 3 and have some extra functionality like touch link paring and the device is making its own network (IKEA standalone device / direct paring with lights and Trädfri hub is using it) and Dirigera is using "normal" paring with coordinator that is doing all security.
Your IKEA light shall not have any problem if its running current production firmware and not one old ZLL version.

Is it just me or is only button1 working as of now? Nothing happens in the log when pressing button 2

Is it just me or is only button1 working as of now? Nothing happens in the log when pressing button 2

I have the same with 2 of my 3 somrig's, with the first one I managed to pair, everything seems to be working, I thought probably something went wrong while paring, so maybe i'll try to re-pair them later

If getting anything from the controller more then the checking every 50 minutes  do one reconfigure of the device from the device card and waking the device then sending somthing to it then its sleeping nearly all the time.
No events from button 2 and also being one hardware fault not likely one software problem.

These Ikea Zigbee devices Somrig and E2002 seem to be a pain. Never had any issues with Zigbee devices before. Tried to reconfigure but now back to no buttons working and when trying to pair its stuck on interview and if trying to reconfigure it just failes despite trying to wake the device in different ways. Seems to be up to luck if you get the bindings to work. I'll leave this as is for now. Have to try to pair it again some other time and just hope for the best.

Is it just me or is only button1 working as of now? Nothing happens in the log when pressing button 2

I have the same problem. Button 1 works perfectly, but the second one seems to do nothing. Is there a possibility of debugging? To see if anything is sent by button 2?

As mentioned here you have to enforce ZLL. For me this just worked by pairing Somrig via a Light device. Not sure if one can enforce ZLL otherwise.
After pairing that way I receive the events

I can confirm that. I was trying everything to connect SOMRIG via my Sonoff Zigbee dongle and even if I went through the configuration step somehow the buttons never worked. I've connected Ikea TRADFRI lighbulb first and then used it to connect the remote and suddenly everything works perfectly.

Always have 3 or more good routers for end devices then the router part of all coordinators is very bad and being offline then restarting the  system.
If not you have not one mesh network but one star network with one point of (complete) failure and you is misusing the systems architecture / functionality.

I just bought one of these and once I figured out how to put it in pairing mode it seems to pair ok but I don't get any buttons showing up for the device in Home Assistant. What I find odd is that when I click either button events show up in the logbook but I don't know how to trigger automations based on that. I'm running Home Assistant 2024.2.4 and an ezsp coordinator connected via usb.

I have been able to get this working using this blueprint: https://community.home-assistant.io/t/ikea-somrig-remote-e2213-zha/668671 but I feel like it would be better if this functionality was directly exposed through home assistant.

Oh, there they are. I thought I tried that before and didn't see anything. Thanks!

For information is one firmware update in the pipe for Somrig its just being certificated by CSA so very likely its being released in some weeks.
https://csa-iot.org/csa_product/somrig-shortcut-button-2/
Its only bug fix then its jumping from 1.0.20 to 1.0.21.

As mentioned here you have to enforce ZLL. For me this just worked by pairing Somrig via a Light device.
Not sure if one can enforce ZLL otherwise.

I removed Somrig from HA and I tried pair Somrig again via devices I have:

Ikea TRADFRI bulb E26 WW 806lm
Jasco Enbrighten Zigbee Switch (it is acting as light device)
Ikea STARKVIND Air purifier table
TuYa TS011F smart plugs

Seem HA is not detecting Somrig with all of the device on the list. Weird thing is, it was able to detect and configurate Somrig with direct zigbee hub (Sonoff Zigbee 3.0 USB Dongle Plus with Texas Instruments CC2652).
P.S. What do 'enforce ZLL' mean? Google is not helping me.

I updated HA today then I was setting up STARKVIND Air purifier table and SOMRIG. I left them for over 10 minutes and they quietly completed pairing setup.

I'm a little confused here, some are saying it works with the latest HA, some are saying you need the blueprint, some are saying spam the pairing button, some are saying the thing just pairs after an age, some are saying it needs to be forced into ZLL whereas other comments indicate a successful pairing so does it need ZLL? I am confused :)
With the exception of ZLL I have tried everything repeatedly with no luck. Occasionally I can get it to configure far enough that it at least reports battery status, occasionally I can see a button press event that fires whilst pairing but beyond that point.... nothing.

I'm a little confused here, some are saying it works with the latest HA, some are saying you need the blueprint, some are saying spam the pairing button, some are saying the thing just pairs after an age, some are saying it needs to be forced into ZLL whereas other comments indicate a successful pairing so does it need ZLL? I am confused :)
With the exception of ZLL I have tried everything repeatedly with no luck. Occasionally I can get it to configure far enough that it at least reports battery status, occasionally I can see a button press event that fires whilst pairing but beyond that point.... nothing.

You need to pair it through ZLL (through a light bulb) for the buttons to work, sometimes you'll need to try a few times for all the button events to work

ZLL pairing (10 sec pushing paring button) is only used for TF and direct paring to lights.
For Dirigeraa and all open Zigbee system use normal Zigbee 3 paring (4 click paring button) and both DG and ZHA is working well but can getting time out and need reoving the battery for getting it working.

Did anyone manage to add any SOMRIG buttons via ZHA? Currently running Core 2024.9.2 and none of my 3 buttons are able to finish pairing:

Sometimes they are added to the list of devices, but not functional at all (not triggering any events in the log, etc). I've tried all the tips on this thread (adding via TRADFRI lamp, adding the custom quirk, clicking pair button continuously, etc) and no luck.

What is weird is that one of my buttons was working fine (probably on a previous version), and now I've removed it to test and it also cannot be added anymore. Maybe something is broken in the newly added quirk? Thanks for any tips!

Same issue as the previous poster. Maybe this issue should be reopened?

I eventually gave up and bought a Rodret (https://www.ikea.com/nl/en/p/rodret-wireless-dimmer-power-switch-smart-white-20528128/), which looks exactly the same but does work in ZHA.

Update: I manage to pair it via IKEA Tradfri bulb, 10 cm distance, after the 3rd or 4th try. Still, I think there is some room for improvement.

@TheJulianJES @casparz seems like something broke pairing with Ikea Somrig buttons. Do you mind reopening this issue?

Was deleting one and restarting HA and adding it new without problems and its sending all commands and doing checking every 55 minutes.
What coordinator is you using in ZHA ?
TI or deCONZ ?
Also good Zigbee3 routers or CE ones ?
(CE = China  Export not EU cert)

@MattWestb maybe there are different revisions of the Somrig devices? I bought mine a few weeks ago in Austria.

What coordinator is you using in ZHA ?

Dresden Elektronik ConBee II on USB 2 port with extension cable.

Also good Zigbee3 routers or CE ones ?

 No "no name" or CE as far as I can tell.
Maybe also worth mentioning, I never had pairing issues with any another Zigbee devices.

W1110 here and IKEA have only one hardware version if the Sommrig if looking on FCC and CSA.-OT docks.
And more then likely we have the same batch of device that IKEA AT is have getting.
IKEA reaprter is old (first gen) but is updated to true Zogbee 3 and is working OK for me.
Osram if older version is normally very bad routers and runs some old Zigbee 1/2.X. stack
Conbee II shall working OK but must running on the latest firmware for not having problems.
If you can only the Conbee and updated IKEA routers and trying pairing the remote with one router and not direct to the Conbee.
For trying paring:
1 delete the device in ZHA.
2 restart HA.
3 start add Zigbee device (bed from one good router and add device thru this. . .) and press the pairing button on Sommring 4 times (in 5 seconds).
PS: Conbee is having very strong power output so making its dominant / like have all devices direct to it self = not good in one mesh network.

Has anyone had any luck trying it? As someone suggested here, I went to Ikea and also bought the RODRET button, hoping this one would work, and seems like any Ikea device is pairing with Zigbee anymore (I even tried a Remote Control N2 as you can see on the screenshot):

Any help on how to fix this is appreciated. Now I have 5 buttons lying around that I cannot use. 😅

I'm having the same issue with a Somrig button. sometimes I can get it to get beyond the configuring but it either has no entities or just battery and Identify, and it doesn't log an button presses.

I've been having the exact same issues as @hugomn with the RODRET.  No idea why this is closed when it's clearly an ongoing issue for many users.

Same issue, without the quirk I could get it to pair 1/10 times, but without any functionality.
With the quirk from this repo, using master (latest commit 263e68c), it is still hard to pair it, but now I only get button 1 to work, not button 2.
Using latest Home Assistant Core (2024.10.4
) and Supervisor (2024.10.3) and OS (13.2).
This has given me a reason to try Z2M. On the first attempt, I could pair it, and both buttons worked, so this rules out being a hardware issue.

You dont need and quirk for it then its already in ZHA for very long time.
The problem is how your network is configuration and very likely is your coordinator or one router not playing well with the Zigbee 3 sleeping devices (Z2M is normally using more old configure of the network that is not using Zigbee 3 functionality and TI coordinators is very bad configured.)
And for user that trying paring more devices at the same time that is not recommended and normally ending in one chaos and need restarting HA for getting all in sync and working OK.
With  EZSP in ZHA all IKEA controller i have (only KNYCKLAN Open/Close remote (E1841) i dont have) is paring OK but some can being little tricky getting reporting OK but battery out and reconfigure is making them working OK.

I have the same issue and I cannot for the life of me figurer out how to proceed. Can someone clarify current Somrig button device compatibility and procedures?

Just an update here: after weeks trying to make it work and having all my ikea devices idle, O switched to Zigbee2Mqtt and everything worked smoothly on the first try.

I tried everything but found that all I had to do was pair the switch next to an IKEA light bulb and it worked first time.
The network diagram showed it to be connected to the IKEA bulb and not one of my other third party devices.

Worked out for me. Turned out I was pressing the button the wrong number of times. You just need to click it 4 times in a row and it pairs just fine :)