zigpy / zha-device-handlers

ZHA device handlers bridge the functionality gap created when manufacturers deviate from the ZCL specification, handling deviations and exceptions by parsing custom messages to and from Zigbee devices.
Apache License 2.0
743 stars 681 forks source link

[BUG] Aqara Contact Sensor E1 not showing state & battery #2224

Closed dodekaphilist closed 1 year ago

dodekaphilist commented 1 year ago

Describe the bug I connected the Aqara Door & Window Sensor E1 via ZHA which was successful and it's showing up in the dashboard. The Identify button works, but the state is always off and the battery is always unavailable. I tried it with a second sensor with the same behaviour.

To Reproduce Steps to reproduce the behavior:

  1. Pair Sensor
  2. State & Battery info not updating

Expected behavior Actual sensor information available

Screenshots image

Device signature ```yaml { "node_descriptor": "NodeDescriptor(logical_type=, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=, mac_capability_flags=, manufacturer_code=4447, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=, *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": 260, "device_type": "0x0402", "in_clusters": [ "0x0000", "0x0001", "0x0003", "0x0500", "0xfcc0" ], "out_clusters": [ "0x0003", "0x0019" ] } }, "manufacturer": "LUMI", "model": "lumi.magnet.acn001", "class": "zhaquirks.xiaomi.aqara.magnet_acn001.MagnetE1" } ```
Diagnostic information ```yaml { "home_assistant": { "installation_type": "Home Assistant Container", "version": "2023.2.5", "dev": false, "hassio": false, "virtualenv": false, "python_version": "3.10.7", "docker": true, "arch": "x86_64", "timezone": "Europe/Berlin", "os_name": "Linux", "os_version": "4.4.180+", "run_as_root": true }, "custom_components": { "openrgb": { "version": "2.2", "requirements": [ "openrgb-python==0.2.10" ] }, "rki_covid": { "version": "1.5.8", "requirements": [ "rki-covid-parser==1.3.3" ] }, "jellyfin": { "version": "1.1.1", "requirements": [ "jellyfin-apiclient-python==1.7.2" ] }, "var": { "version": "0.15.0", "requirements": [] }, "hochwasserportal": { "version": "0.0.1", "requirements": [ "requests>=2.23.0,<3" ] }, "pyscript": { "version": "1.3.3", "requirements": [ "croniter==1.3.4", "watchdog==2.1.6" ] }, "entity_controller": { "version": "9.6.0", "requirements": [ "transitions==0.8.8" ] }, "scheduler": { "version": "v0.0.0", "requirements": [] }, "hass_agent": { "version": "2022.11.9", "requirements": [] }, "hacs": { "version": "1.30.1", "requirements": [ "aiogithubapi>=22.10.1" ] }, "schedule_state": { "version": "0.18.0", "requirements": [ "portion==2.3.0" ] }, "better_thermostat": { "version": "1.0.1", "requirements": [] }, "google_home": { "version": "1.9.16", "requirements": [ "glocaltokens==0.6.9" ] } }, "integration_manifest": { "domain": "zha", "name": "Zigbee Home Automation", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/zha", "requirements": [ "bellows==0.34.7", "pyserial==3.5", "pyserial-asyncio==0.6", "zha-quirks==0.0.92", "zigpy-deconz==0.19.2", "zigpy==0.53.0", "zigpy-xbee==0.16.2", "zigpy-zigate==0.10.3", "zigpy-znp==0.9.2" ], "usb": [ { "vid": "10C4", "pid": "EA60", "description": "*2652*", "known_devices": [ "slae.sh cc2652rb stick" ] }, { "vid": "1A86", "pid": "55D4", "description": "*sonoff*plus*", "known_devices": [ "sonoff zigbee dongle plus v2" ] }, { "vid": "10C4", "pid": "EA60", "description": "*sonoff*plus*", "known_devices": [ "sonoff zigbee dongle plus" ] }, { "vid": "10C4", "pid": "EA60", "description": "*tubeszb*", "known_devices": [ "TubesZB Coordinator" ] }, { "vid": "1A86", "pid": "7523", "description": "*tubeszb*", "known_devices": [ "TubesZB Coordinator" ] }, { "vid": "1A86", "pid": "7523", "description": "*zigstar*", "known_devices": [ "ZigStar Coordinators" ] }, { "vid": "1CF1", "pid": "0030", "description": "*conbee*", "known_devices": [ "Conbee II" ] }, { "vid": "10C4", "pid": "8A2A", "description": "*zigbee*", "known_devices": [ "Nortek HUSBZB-1" ] }, { "vid": "0403", "pid": "6015", "description": "*zigate*", "known_devices": [ "ZiGate+" ] }, { "vid": "10C4", "pid": "EA60", "description": "*zigate*", "known_devices": [ "ZiGate" ] }, { "vid": "10C4", "pid": "8B34", "description": "*bv 2010/10*", "known_devices": [ "Bitron Video AV2010/10" ] } ], "codeowners": [ "@dmulcahey", "@adminiuga", "@puddly" ], "zeroconf": [ { "type": "_esphomelib._tcp.local.", "name": "tube*" }, { "type": "_zigate-zigbee-gateway._tcp.local.", "name": "*zigate*" }, { "type": "_zigstar_gw._tcp.local.", "name": "*zigstar*" }, { "type": "_slzb-06._tcp.local.", "name": "slzb-06*" } ], "dependencies": [ "file_upload" ], "after_dependencies": [ "onboarding", "usb", "zeroconf" ], "iot_class": "local_polling", "loggers": [ "aiosqlite", "bellows", "crccheck", "pure_pcapy3", "zhaquirks", "zigpy", "zigpy_deconz", "zigpy_xbee", "zigpy_zigate", "zigpy_znp" ], "is_built_in": true }, "data": { "ieee": "**REDACTED**", "nwk": 59409, "manufacturer": "LUMI", "model": "lumi.magnet.acn001", "name": "LUMI lumi.magnet.acn001", "quirk_applied": true, "quirk_class": "zhaquirks.xiaomi.aqara.magnet_acn001.MagnetE1", "manufacturer_code": 4447, "power_source": "Battery or Unknown", "lqi": 215, "rssi": -67, "last_seen": "2023-02-25T14:50:05", "available": true, "device_type": "EndDevice", "signature": { "node_descriptor": "NodeDescriptor(logical_type=, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=, mac_capability_flags=, manufacturer_code=4447, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=, *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": 260, "device_type": "0x0402", "in_clusters": [ "0x0000", "0x0001", "0x0003", "0x0500", "0xfcc0" ], "out_clusters": [ "0x0003", "0x0019" ] } } }, "active_coordinator": false, "entities": [ { "entity_id": "binary_sensor.lumi_lumi_magnet_acn001_iaszone", "name": "LUMI lumi.magnet.acn001" }, { "entity_id": "button.lumi_lumi_magnet_acn001_identify", "name": "LUMI lumi.magnet.acn001" }, { "entity_id": "sensor.lumi_lumi_magnet_acn001_battery", "name": "LUMI lumi.magnet.acn001" }, { "entity_id": "sensor.lumi_lumi_magnet_acn001_rssi", "name": "LUMI lumi.magnet.acn001" }, { "entity_id": "sensor.lumi_lumi_magnet_acn001_lqi", "name": "LUMI lumi.magnet.acn001" } ], "neighbors": [], "routes": [], "endpoint_names": [ { "name": "IAS_ZONE" } ], "user_given_name": "Aqara Contact Sensor E1", "device_reg_id": "581c1bb796bf3ca4fdfdc8f846361434", "area_id": "8eb0d1b349d445289c60a3dbd8309a33", "cluster_details": { "1": { "device_type": { "name": "IAS_ZONE", "id": 1026 }, "profile_id": 260, "in_clusters": { "0x0000": { "endpoint_attribute": "basic", "attributes": { "0x0001": { "attribute_name": "app_version", "value": 9 }, "0x0004": { "attribute_name": "manufacturer", "value": "LUMI" }, "0x0005": { "attribute_name": "model", "value": "lumi.magnet.acn001" } }, "unsupported_attributes": {} }, "0x0001": { "endpoint_attribute": "power", "attributes": { "0x0031": { "attribute_name": "battery_size", "value": 11 }, "0x0033": { "attribute_name": "battery_quantity", "value": 1 } }, "unsupported_attributes": { "0x0020": { "attribute_name": "battery_voltage" }, "0x0021": { "attribute_name": "battery_percentage_remaining" } } }, "0x0003": { "endpoint_attribute": "identify", "attributes": {}, "unsupported_attributes": {} }, "0x0500": { "endpoint_attribute": "ias_zone", "attributes": { "0x0001": { "attribute_name": "zone_type", "value": 22 } }, "unsupported_attributes": {} }, "0xfcc0": { "endpoint_attribute": "manufacturer_specific", "attributes": {}, "unsupported_attributes": {} } }, "out_clusters": { "0x0003": { "endpoint_attribute": "identify", "attributes": {}, "unsupported_attributes": {} }, "0x0019": { "endpoint_attribute": "ota", "attributes": {}, "unsupported_attributes": {} } } } } } } ```
Pairing logs ``` [0x142A](lumi.weather): Device seen - marking the device available and resetting counter [0x142A](lumi.weather): Update device availability - device available: True - new availability: True - changed: False [0xD8D2](lumi.sensor_switch.aq2): Device seen - marking the device available and resetting counter [0xD8D2](lumi.sensor_switch.aq2): Update device availability - device available: True - new availability: True - changed: False [0xAF51:1:0x0500]: failed to get attributes '['zone_state']' on 'ias_zone' cluster: [0xAF51:1:0x0500]: async_initialize: retryable request #3 failed: . Retrying in 3.4s Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0xE811), src_ep=0, dst=AddrModeAddress(addr_mode=, address=), dst_ep=0, source_route=None, extended_timeout=False, tsn=None, profile_id=0, cluster_id=19, data=Serialized[b'\x00\x11\xe8\xa0\xe8}\x00\x10D\xefT\x80'], tx_options=, radius=0, non_member_radius=0, lqi=199, rssi=-69) Device 0xe811 (54:ef:44:10:00:7d:e8:a0) joined the network Device 54:ef:44:10:00:7d:e8:a0 changed id (0xaf51 => 0xe811) [0xe811] Skipping initialization, device is fully initialized Device is initialized [0xe811:zdo] ZDO request ZDOCmd.Device_annce: [0xE811, 54:ef:44:10:00:7d:e8:a0, 128] device - 0xE811:54:ef:44:10:00:7d:e8:a0 entering async_device_initialized - is_new_join: True device - 0xE811:54:ef:44:10:00:7d:e8:a0 has joined the ZHA zigbee network [0xAF51](lumi.magnet.acn001): started configuration [0xAF51:ZDO](lumi.magnet.acn001): 'async_configure' stage succeeded [0xAF51:1:0x0001]: Performing cluster binding [0xAF51:1:0x0001]: bound 'power' cluster: Status.SUCCESS [0xAF51:1:0x0001]: Configuring cluster attribute reporting [0xAF51:1:0x0001]: Successfully configured reporting for '{'battery_voltage': (3600, 10800, 1), 'battery_percentage_remaining': (3600, 10800, 1)}' on 'power' cluster: [ConfigureReportingResponseRecord(status=)] [0xAF51:1:0x0001]: finished channel configuration [0xAF51:1:0x0000]: Configuring cluster attribute reporting [0xAF51:1:0x0000]: finished channel configuration [0xAF51:1:0x0003]: Configuring cluster attribute reporting [0xAF51:1:0x0003]: finished channel configuration [0xAF51:1:0x0500] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=False), tsn=146, command_id=, *direction=, *is_reply=False) [0xAF51:1:0x0500] Sending request: Read_Attributes(attribute_ids=[1]) [0xaf51] Extending timeout for 0x92 request [0xAF51:1:0xfcc0]: Performing cluster binding [0xaf51] Extending timeout for 0x94 request [0xAF51:1:0x0019]: finished channel configuration [0xAF51:1:0x0500]: initializing channel: from_cache: False [0xAF51:1:0x0500]: initializing cached channel attributes: ['zone_status', 'zone_type'] [0xAF51:1:0x0500]: Reading attributes in chunks: ['zone_status', 'zone_type'] [0xAF51:1:0x0500]: initializing uncached channel attributes: ['zone_state'] - from cache[False] [0xAF51:1:0x0500]: Reading attributes in chunks: ['zone_state'] [0xAF51:1:0x0500] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=False), tsn=150, command_id=, *direction=, *is_reply=False) [0xAF51:1:0x0500] Sending request: Read_Attributes(attribute_ids=[0]) [0xaf51] Extending timeout for 0x96 request [0xD7D2](Plug 01): last_seen is 4319105.059901476 seconds ago and ping attempts have been exhausted, marking the device unavailable [0xD7D2](Plug 01): Update device availability - device available: False - new availability: False - changed: False [0x142A](lumi.weather): Device seen - marking the device available and resetting counter [0x142A](lumi.weather): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0xE811), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=0, data=Serialized[b'\x18\xc5\n\x01\x00 \t\x05\x00B\x12lumi.magnet.acn001'], tx_options=, radius=0, non_member_radius=0, lqi=207, rssi=-68) [0xE811:1:0x0000] Received ZCL frame: b'\x18\xc5\n\x01\x00 \t\x05\x00B\x12lumi.magnet.acn001' [0xE811:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=197, command_id=10, *direction=, *is_reply=True) [0xE811:1:0x0000] Decoded ZCL frame: BasicCluster:Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=9)), Attribute(attrid=0x0005, value=TypeValue(type=CharacterString, value='lumi.magnet.acn001'))]) [0xE811:1:0x0000] Received command 0x0A (TSN 197): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=9)), Attribute(attrid=0x0005, value=TypeValue(type=CharacterString, value='lumi.magnet.acn001'))]) [0xE811:1:0x0000] Attribute report received: app_version=9, model='lumi.magnet.acn001' [0xAF51:1:0x0003]: command failed: 'trigger_effect' args: '()' kwargs '{'effect_id': , 'effect_variant': }' exception: '' [0xAF51](lumi.magnet.acn001): started initialization [0xAF51:ZDO](lumi.magnet.acn001): 'async_initialize' stage succeeded [0xAF51:1:0x0001]: initializing channel: from_cache: False [0xAF51:1:0x0001]: initializing uncached channel attributes: ['battery_voltage', 'battery_percentage_remaining'] - from cache[False] [0xAF51:1:0x0001]: Reading attributes in chunks: ['battery_voltage', 'battery_percentage_remaining'] [0xAF51:1:0x0001]: Performing channel specific initialization: ['battery_voltage', 'battery_percentage_remaining'] [0xAF51:1:0x0001]: Reading attributes in chunks: ['battery_size', 'battery_quantity'] [0xAF51:1:0x0001]: finished channel initialization [0xAF51:1:0x0000]: initializing channel: from_cache: False [0xAF51:1:0x0000]: finished channel initialization [0xAF51:1:0x0003]: initializing channel: from_cache: False [0xAF51:1:0x0003]: finished channel initialization [0xAF51:1:0x0500]: initializing channel: from_cache: False [0xAF51:1:0x0500]: initializing cached channel attributes: ['zone_status', 'zone_type'] [0xAF51:1:0x0500]: Reading attributes in chunks: ['zone_status', 'zone_type'] [0xAF51:1:0x0500]: initializing uncached channel attributes: ['zone_state'] - from cache[False] [0xAF51:1:0x0500]: Reading attributes in chunks: ['zone_state'] [0xAF51:1:0x0500] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=False), tsn=152, command_id=, *direction=, *is_reply=False) [0xAF51:1:0x0500] Sending request: Read_Attributes(attribute_ids=[0]) [0xaf51] Extending timeout for 0x98 request [0xAF51:1:0xfcc0]: initializing channel: from_cache: False [0xAF51:1:0xfcc0]: Performing channel specific initialization: [] [0xAF51:1:0xfcc0]: finished channel initialization [0xAF51:1:0x0019]: initializing channel: from_cache: False [0xAF51:1:0x0019]: finished channel initialization [0xAF51](lumi.magnet.acn001): Device seen - marking the device available and resetting counter [0xAF51](lumi.magnet.acn001): Update device availability - device available: True - new availability: True - changed: False [0xFF97](GL-C-007): Device seen - marking the device available and resetting counter [0xFF97](GL-C-007): Update device availability - device available: True - new availability: True - changed: False [0x6DA2](TS0505B): Device seen - marking the device available and resetting counter [0x6DA2](TS0505B): Update device availability - device available: True - new availability: True - changed: False [0xFDE3](lumi.remote.b286acn01): Device seen - marking the device available and resetting counter [0xFDE3](lumi.remote.b286acn01): Update device availability - device available: True - new availability: True - changed: False [0xFFEF](SYMFONISK Sound Controller): Device seen - marking the device available and resetting counter [0xFFEF](SYMFONISK Sound Controller): Update device availability - device available: True - new availability: True - changed: False [0x5770](lumi.sen_ill.mgl01): last_seen is None, marking the device unavailable [0x5770](lumi.sen_ill.mgl01): Update device availability - device available: False - new availability: False - changed: False [0xAF51:1:0x0500]: started IASZoneChannel configuration [0xaf51] Extending timeout for 0x9a request [0xAF51:1:0xfcc0]: Failed to bind 'manufacturer_specific' cluster: [0xAF51:1:0xfcc0]: Configuring cluster attribute reporting [0xAF51:1:0xfcc0]: finished channel configuration [0x5770](lumi.sen_ill.mgl01): last_seen is None, marking the device unavailable [0x5770](lumi.sen_ill.mgl01): Update device availability - device available: False - new availability: False - changed: False [0xD7D2](Plug 01): last_seen is 4319130.696783543 seconds ago and ping attempts have been exhausted, marking the device unavailable [0xD7D2](Plug 01): Update device availability - device available: False - new availability: False - changed: False [0xFFEF](SYMFONISK Sound Controller): Device seen - marking the device available and resetting counter [0xFFEF](SYMFONISK Sound Controller): Update device availability - device available: True - new availability: True - changed: False [0xAF51:1:0x0500]: failed to get attributes '['zone_state']' on 'ias_zone' cluster: [0xAF51:1:0x0500]: async_initialize: all attempts have failed: [TimeoutError(), TimeoutError(), TimeoutError(), TimeoutError()] [0xAF51:1:0x0001]: 'async_initialize' stage succeeded [0xAF51:1:0x0000]: 'async_initialize' stage succeeded [0xAF51:1:0x0003]: 'async_initialize' stage succeeded [0xAF51:1:0x0500]: 'async_initialize' stage succeeded [0xAF51:1:0xfcc0]: 'async_initialize' stage succeeded [0xAF51:1:0x0019]: 'async_initialize' stage succeeded [0xAF51](lumi.magnet.acn001): power source: Battery or Unknown [0xAF51](lumi.magnet.acn001): completed initialization Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x6DA2), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=8, data=Serialized[b'\x18\t\n\x00\x00 \xfe'], tx_options=, radius=0, non_member_radius=0, lqi=255, rssi=-52) [0x6DA2:1:0x0008] Received ZCL frame: b'\x18\t\n\x00\x00 \xfe' [0x6DA2:1:0x0008] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=9, command_id=10, *direction=, *is_reply=True) [0x6DA2:1:0x0008] Decoded ZCL frame: LevelControl:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint8_t, value=254))]) [0x6DA2:1:0x0008] Received command 0x0A (TSN 9): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint8_t, value=254))]) [0x6DA2:1:0x0008] Attribute report received: current_level=254 [0x6DA2:1:0x0008]: received attribute: 0 update with value: 254 Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x6DA2), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=768, data=Serialized[b'\x18\n\n\x03\x00!\x00\x00\x04\x00!\x00\x00'], tx_options=, radius=0, non_member_radius=0, lqi=255, rssi=-52) [0x6DA2:1:0x0300] Received ZCL frame: b'\x18\n\n\x03\x00!\x00\x00\x04\x00!\x00\x00' [0x6DA2:1:0x0300] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=10, command_id=10, *direction=, *is_reply=True) [0x6DA2:1:0x0300] Decoded ZCL frame: Color:Report_Attributes(attribute_reports=[Attribute(attrid=0x0003, value=TypeValue(type=uint16_t, value=0)), Attribute(attrid=0x0004, value=TypeValue(type=uint16_t, value=0))]) [0x6DA2:1:0x0300] Received command 0x0A (TSN 10): Report_Attributes(attribute_reports=[Attribute(attrid=0x0003, value=TypeValue(type=uint16_t, value=0)), Attribute(attrid=0x0004, value=TypeValue(type=uint16_t, value=0))]) [0x6DA2:1:0x0300] Attribute report received: current_x=0, current_y=0 [0xAF51:1:0x0500]: failed to get attributes '['zone_state']' on 'ias_zone' cluster: [0xAF51:1:0x0500]: async_initialize: retryable request #1 failed: . Retrying in 1.0s [0xAF51:1:0x0500]: initializing channel: from_cache: False [0xAF51:1:0x0500]: initializing cached channel attributes: ['zone_status', 'zone_type'] [0xAF51:1:0x0500]: Reading attributes in chunks: ['zone_status', 'zone_type'] [0xAF51:1:0x0500]: initializing uncached channel attributes: ['zone_state'] - from cache[False] [0xAF51:1:0x0500]: Reading attributes in chunks: ['zone_state'] [0xAF51:1:0x0500] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=False), tsn=156, command_id=, *direction=, *is_reply=False) [0xAF51:1:0x0500] Sending request: Read_Attributes(attribute_ids=[0]) [0xaf51] Extending timeout for 0x9c request [0xFDE3](lumi.remote.b286acn01): Device seen - marking the device available and resetting counter [0xFDE3](lumi.remote.b286acn01): Update device availability - device available: True - new availability: True - changed: False [0x6DA2](TS0505B): Device seen - marking the device available and resetting counter [0x6DA2](TS0505B): Update device availability - device available: True - new availability: True - changed: False [0x9449](TS0601): last_seen is 2476740.0893981457 seconds ago and ping attempts have been exhausted, marking the device unavailable [0x9449](TS0601): Update device availability - device available: False - new availability: False - changed: False [0xFF97](GL-C-007): last_seen is 7733.1382393836975 seconds ago and ping attempts have been exhausted, marking the device unavailable [0xFF97](GL-C-007): Update device availability - device available: False - new availability: False - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x4899), src_ep=3, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=768, data=Serialized[b'\x18\xa8\n\x07\x00!\xfa\x00'], tx_options=, radius=0, non_member_radius=0, lqi=255, rssi=-62) [0x4899:3:0x0300] Received ZCL frame: b'\x18\xa8\n\x07\x00!\xfa\x00' [0x4899:3:0x0300] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=168, command_id=10, *direction=, *is_reply=True) [0x4899:3:0x0300] Decoded ZCL frame: Color:Report_Attributes(attribute_reports=[Attribute(attrid=0x0007, value=TypeValue(type=uint16_t, value=250))]) [0x4899:3:0x0300] Received command 0x0A (TSN 168): Report_Attributes(attribute_reports=[Attribute(attrid=0x0007, value=TypeValue(type=uint16_t, value=250))]) [0x4899:3:0x0300] Attribute report received: color_temperature=250 [0x8048](lumi.weather): Device seen - marking the device available and resetting counter [0x8048](lumi.weather): Update device availability - device available: True - new availability: True - changed: False [0x719F](TS0505B): Device seen - marking the device available and resetting counter [0x719F](TS0505B): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x8048), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=0, data=Serialized[b'\x18\xce\n\x01\xffB%\x01!\x9f\x0b\x04!\xa8C\x05!\xe7\x05\x06$\x01\x00\x01\x00\x00d)\x8a\x07e!\x0e\x1cf+\x0f\x82\x01\x00\n!\x99H'], tx_options=, radius=0, non_member_radius=0, lqi=255, rssi=-62) [0x8048:1:0x0000] Received ZCL frame: b'\x18\xce\n\x01\xffA%\x01!\x9f\x0b\x04!\xa8C\x05!\xe7\x05\x06$\x01\x00\x01\x00\x00d)\x8a\x07e!\x0e\x1cf+\x0f\x82\x01\x00\n!\x99H' [0x8048:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=206, command_id=10, *direction=, *is_reply=True) [0x8048:1:0x0000] Decoded ZCL frame: BasicCluster:Report_Attributes(attribute_reports=[Attribute(attrid=0xFF01, value=TypeValue(type=LVBytes, value=b'\x01!\x9f\x0b\x04!\xa8C\x05!\xe7\x05\x06$\x01\x00\x01\x00\x00d)\x8a\x07e!\x0e\x1cf+\x0f\x82\x01\x00\n!\x99H'))]) [0x8048:1:0x0000] Received command 0x0A (TSN 206): Report_Attributes(attribute_reports=[Attribute(attrid=0xFF01, value=TypeValue(type=LVBytes, value=b'\x01!\x9f\x0b\x04!\xa8C\x05!\xe7\x05\x06$\x01\x00\x01\x00\x00d)\x8a\x07e!\x0e\x1cf+\x0f\x82\x01\x00\n!\x99H'))]) [0x8048:1:0x0000] Attribute report received: 0xFF01=b'\x01!\x9f\x0b\x04!\xa8C\x05!\xe7\x05\x06$\x01\x00\x01\x00\x00d)\x8a\x07e!\x0e\x1cf+\x0f\x82\x01\x00\n!\x99H' [0x8048:1:0x0001] Voltage mV: [Min]:2820 < [RAW]:2975 < [Max]:3100, Battery Percent: 55.5 [0x9449](TS0601): last_seen is 2476751.4956195354 seconds ago and ping attempts have been exhausted, marking the device unavailable [0x9449](TS0601): Update device availability - device available: False - new availability: False - changed: False [0x4899](CLA60 RGBW OSRAM): Device seen - marking the device available and resetting counter [0x4899](CLA60 RGBW OSRAM): Update device availability - device available: True - new availability: True - changed: False [0xD8D2](lumi.sensor_switch.aq2): Device seen - marking the device available and resetting counter [0xD8D2](lumi.sensor_switch.aq2): Update device availability - device available: True - new availability: True - changed: False [0x8048](lumi.weather): Device seen - marking the device available and resetting counter [0x8048](lumi.weather): Update device availability - device available: True - new availability: True - changed: False [0x719F](TS0505B): Device seen - marking the device available and resetting counter [0x719F](TS0505B): Update device availability - device available: True - new availability: True - changed: False ```
TheJulianJES commented 1 year ago

What coordinator are you using? If it's a Conbee or TI coordinator, make sure the firmware is somewhat recent.

dodekaphilist commented 1 year ago

@TheJulianJES I am using a Conbee II stick. I couldn't figure out, which firmware I was running so I updated it to the newest available version using GCFFlasher. After re-pairing the sensor, it now works flawlessly. Would be a nice thing, if ZHA would actually be able to do these kinds of firmware updates. But that's another story. Thanks for your help!