zha-device-handlers
zha-device-handlers copied to clipboard
[BUG] TS0601 TZE200_a8sdabtg does not report temperature correctly.
Bug description
I bought two temperature sensors on Aliexpress. Once the zigbee devices are associated with ZHA, they start working correctly for the first 15/20 minutes, then they always report 0 and only give the temperature once an hour. The same goes for humidity. The batteries are new and the sensor is next to the coordinator I am using (ZBdongle-E). I have tried reconfiguring them multiple times without success.
Steps to reproduce
Simply adding the device, the problem appears shortly after.
Expected behavior
It should give the correct temperature without showing -0
Screenshots/Video
Device signature
Device signature
{
"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=4742, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, 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": "0x0302",
"input_clusters": [
"0x0000",
"0x0001",
"0x0003",
"0x0402",
"0x0405"
],
"output_clusters": [
"0x0003"
]
}
},
"manufacturer": "_TZE200_a8sdabtg",
"model": "TS0601",
"class": "zigpy.device.Device"
}
Diagnostic information
Diagnostic information
"home_assistant": {
"installation_type": "Home Assistant OS",
"version": "2024.6.4",
"dev": false,
"hassio": true,
"virtualenv": false,
"python_version": "3.12.2",
"docker": true,
"arch": "x86_64",
"timezone": "Europe/Rome",
"os_name": "Linux",
"os_version": "6.6.33-haos",
"supervisor": "2024.06.2",
"host_os": "Home Assistant OS 12.4",
"docker_version": "26.1.4",
"chassis": "vm",
"run_as_root": true
},
"custom_components": {
"pyscript": {
"documentation": "https://github.com/custom-components/pyscript",
"version": "1.5.0",
"requirements": [
"croniter==1.3.8",
"watchdog==2.3.1"
]
},
"dpc": {
"documentation": "https://github.com/caiosweet/Home-Assistant-custom-components-DPC-Alert",
"version": "2023.10.0",
"requirements": []
},
"dwains_dashboard": {
"documentation": "https://dwainscheeren.github.io/dwains-lovelace-dashboard/",
"version": "3.7.1",
"requirements": []
},
"multiscrape": {
"documentation": "https://github.com/danieldotnl/ha-multiscrape",
"version": "7.0.0",
"requirements": [
"lxml>=4.9.1",
"beautifulsoup4>=4.12.2"
]
},
"cloudflare_tunnel_monitor": {
"documentation": "https://github.com/deadbeef3137/ha-cloudflare-tunnel-monitor/blob/master/README.md",
"version": "0.0.1",
"requirements": [
"aiohttp",
"async_timeout"
]
},
"zha_toolkit": {
"documentation": "https://github.com/mdeweerd/zha-toolkit",
"version": "v1.1.10",
"requirements": [
"pytz"
]
},
"sonoff": {
"documentation": "https://github.com/AlexxIT/SonoffLAN",
"version": "3.7.3",
"requirements": [
"pycryptodome>=3.6.6"
]
},
"hacs": {
"documentation": "https://hacs.xyz/docs/configuration/start",
"version": "1.34.0",
"requirements": [
"aiogithubapi>=22.10.1"
]
},
"alexa_media": {
"documentation": "https://github.com/alandtse/alexa_media_player/wiki",
"version": "4.10.2",
"requirements": [
"alexapy==1.27.10",
"packaging>=20.3",
"wrapt>=1.14.0"
]
},
"toyota": {
"documentation": "https://github.com/DurgNomis-drol/ha_toyota",
"version": "2.0.3",
"requirements": [
"mytoyota==2.1.1",
"arrow"
]
}
},
"integration_manifest": {
"domain": "zha",
"name": "Zigbee Home Automation",
"after_dependencies": [
"onboarding",
"usb"
],
"codeowners": [
"dmulcahey",
"adminiuga",
"puddly",
"TheJulianJES"
],
"config_flow": true,
"dependencies": [
"file_upload"
],
"documentation": "https://www.home-assistant.io/integrations/zha",
"iot_class": "local_polling",
"loggers": [
"aiosqlite",
"bellows",
"crccheck",
"pure_pcapy3",
"zhaquirks",
"zigpy",
"zigpy_deconz",
"zigpy_xbee",
"zigpy_zigate",
"zigpy_znp",
"universal_silabs_flasher"
],
"requirements": [
"bellows==0.39.1",
"pyserial==3.5",
"zha-quirks==0.0.116",
"zigpy-deconz==0.23.1",
"zigpy==0.64.1",
"zigpy-xbee==0.20.1",
"zigpy-zigate==0.12.0",
"zigpy-znp==0.12.1",
"universal-silabs-flasher==0.0.20",
"pyserial-asyncio-fast==0.11"
],
"usb": [
{
"vid": "10C4",
"pid": "EA60",
"description": "*2652*",
"known_devices": [
"slae.sh cc2652rb stick"
]
},
{
"vid": "10C4",
"pid": "EA60",
"description": "*slzb-07*",
"known_devices": [
"smlight slzb-07"
]
},
{
"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": "0403",
"pid": "6015",
"description": "*conbee*",
"known_devices": [
"Conbee III"
]
},
{
"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"
]
}
],
"zeroconf": [
{
"type": "_esphomelib._tcp.local.",
"name": "tube*"
},
{
"type": "_zigate-zigbee-gateway._tcp.local.",
"name": "*zigate*"
},
{
"type": "_zigstar_gw._tcp.local.",
"name": "*zigstar*"
},
{
"type": "_uzg-01._tcp.local.",
"name": "uzg-01*"
},
{
"type": "_slzb-06._tcp.local.",
"name": "slzb-06*"
}
],
"is_built_in": true
},
"setup_times": {
"null": {
"setup": 9.1562993475236e-05
},
"a68a2d34f8320be80bf23422c0f9de8b": {
"wait_import_platforms": -0.000161513002240099,
"wait_base_component": -0.0004109229921596125,
"config_entry_setup": 10.080363132001366
}
},
"data": {
"ieee": "**REDACTED**",
"nwk": 59314,
"manufacturer": "_TZE200_a8sdabtg",
"model": "TS0601",
"name": "_TZE200_a8sdabtg TS0601",
"quirk_applied": false,
"quirk_class": "zigpy.device.Device",
"quirk_id": null,
"manufacturer_code": 4742,
"power_source": "Battery or Unknown",
"lqi": 148,
"rssi": -63,
"last_seen": "2024-06-26T01:43:39",
"available": true,
"device_type": "EndDevice",
"signature": {
"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=4742, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, 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": "0x0302",
"input_clusters": [
"0x0000",
"0x0001",
"0x0003",
"0x0402",
"0x0405"
],
"output_clusters": [
"0x0003"
]
}
},
"manufacturer": "_TZE200_a8sdabtg",
"model": "TS0601"
},
"active_coordinator": false,
"entities": [
{
"entity_id": "button.sensore_camera_letto_identifica",
"name": "_TZE200_a8sdabtg TS0601"
},
{
"entity_id": "sensor.sensore_camera_letto_batteria",
"name": "_TZE200_a8sdabtg TS0601"
},
{
"entity_id": "sensor.sensore_cucina_temperatura",
"name": "_TZE200_a8sdabtg TS0601"
},
{
"entity_id": "sensor.sensore_cucina_umidita",
"name": "_TZE200_a8sdabtg TS0601"
}
],
"neighbors": [],
"routes": [],
"endpoint_names": [
{
"name": "TEMPERATURE_SENSOR"
}
],
"user_given_name": "Sensore Camera Letto",
"device_reg_id": "2afbd0284389519554ab7594aaee8613",
"area_id": "camera_da_letto",
"cluster_details": {
"1": {
"device_type": {
"name": "TEMPERATURE_SENSOR",
"id": 770
},
"profile_id": 260,
"in_clusters": {
"0x0000": {
"endpoint_attribute": "basic",
"attributes": {
"0x0004": {
"attribute_name": "manufacturer",
"value": "_TZE200_a8sdabtg"
},
"0x0005": {
"attribute_name": "model",
"value": "TS0601"
}
},
"unsupported_attributes": {}
},
"0x0003": {
"endpoint_attribute": "identify",
"attributes": {},
"unsupported_attributes": {}
},
"0x0402": {
"endpoint_attribute": "temperature",
"attributes": {
"0x0000": {
"attribute_name": "measured_value",
"value": -1
}
},
"unsupported_attributes": {}
},
"0x0405": {
"endpoint_attribute": "humidity",
"attributes": {
"0x0000": {
"attribute_name": "measured_value",
"value": 65535
}
},
"unsupported_attributes": {}
},
"0x0001": {
"endpoint_attribute": "power",
"attributes": {
"0x0021": {
"attribute_name": "battery_percentage_remaining",
"value": 200
},
"0x0020": {
"attribute_name": "battery_voltage",
"value": 30
}
},
"unsupported_attributes": {
"0x0031": {
"attribute_name": "battery_size"
},
"0x0033": {
"attribute_name": "battery_quantity"
}
}
}
},
"out_clusters": {
"0x0003": {
"endpoint_attribute": "identify",
"attributes": {},
"unsupported_attributes": {}
}
}
}
}
}
}
Logs
Logs
2024-06-26 01:44:06.341 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0xD234](TS0601): Device seen - marking the device available and resetting counter
2024-06-26 01:44:06.342 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0xD234](TS0601): Update device availability - device available: True - new availability: True - changed: False
2024-06-26 01:44:12.330 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0xE7B2](TS0601): Device seen - marking the device available and resetting counter
2024-06-26 01:44:12.330 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0xE7B2](TS0601): Update device availability - device available: True - new availability: True - changed: False
2024-06-26 01:44:15.836 DEBUG (MainThread) [zigpy.application] Feeding watchdog
2024-06-26 01:44:15.837 DEBUG (MainThread) [bellows.ezsp.protocol] Sending command readCounters: ()
2024-06-26 01:44:15.838 DEBUG (bellows.thread_0) [bellows.ash] Sending frame DataFrame(frm_num=4, re_tx=False, ack_num=4, ezsp_frame=b'\xbb\x00\x01\xf1\x00') + FLAG
2024-06-26 01:44:15.838 DEBUG (bellows.thread_0) [bellows.ash] Sending data 44f921a9a52af0df7e
2024-06-26 01:44:15.854 DEBUG (bellows.thread_0) [bellows.ash] Received data 45f9a1a9a52a78b266947425b25593499c4e27abedce738bfcc66389fb7d5e3ca7ebcdde6f8fffc7dbd5d2698c4623a9ec763ba5ea758241984c267d33b1e070381c0e07bbe5ca658a459a4d9e4f9ff7c3d9d46a35a2519048245cae7e
2024-06-26 01:44:15.854 DEBUG (bellows.thread_0) [bellows.ash] Received frame DataFrame(frm_num=4, re_tx=0, ack_num=5, ezsp_frame=b'\xbb\x80\x01\xf1\x00m\x00?\x00>\x00\x18\x00\x01\x00\x00\x00\x00\x00\x00\x00\x14\x00\x01\x00\x00\x00\x07\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
2024-06-26 01:44:15.854 DEBUG (bellows.thread_0) [bellows.ash] Sending frame AckFrame(res=0, ncp_ready=0, ack_num=5) + FLAG
2024-06-26 01:44:15.854 DEBUG (bellows.thread_0) [bellows.ash] Sending data 8520dd7e
2024-06-26 01:44:15.855 DEBUG (MainThread) [bellows.ezsp.protocol] Received command readCounters: [[109, 63, 62, 24, 1, 0, 0, 0, 20, 1, 0, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
2024-06-26 01:44:15.857 DEBUG (MainThread) [bellows.ezsp.protocol] Sending command getValue: (<EzspValueId.VALUE_FREE_BUFFERS: 3>,)
2024-06-26 01:44:15.857 DEBUG (bellows.thread_0) [bellows.ash] Sending frame DataFrame(frm_num=5, re_tx=False, ack_num=5, ezsp_frame=b'\xbc\x00\x01\xaa\x00\x03') + FLAG
2024-06-26 01:44:15.857 DEBUG (bellows.thread_0) [bellows.ash] Sending data 55fe21a9fe2a16ab8c7e
2024-06-26 01:44:15.862 DEBUG (bellows.thread_0) [bellows.ash] Received data 56fea1a9fe2a15b3a5e07c7e
2024-06-26 01:44:15.862 DEBUG (bellows.thread_0) [bellows.ash] Received frame DataFrame(frm_num=5, re_tx=0, ack_num=6, ezsp_frame=b'\xbc\x80\x01\xaa\x00\x00\x01\xfc')
2024-06-26 01:44:15.862 DEBUG (bellows.thread_0) [bellows.ash] Sending frame AckFrame(res=0, ncp_ready=0, ack_num=6) + FLAG
2024-06-26 01:44:15.862 DEBUG (bellows.thread_0) [bellows.ash] Sending data 8610be7e
2024-06-26 01:44:15.863 DEBUG (MainThread) [bellows.ezsp.protocol] Received command getValue: [<EzspStatus.SUCCESS: 0>, b'\xfc']
2024-06-26 01:44:15.865 DEBUG (MainThread) [bellows.zigbee.application] Free buffers status EzspStatus.SUCCESS, value: 252
2024-06-26 01:44:15.865 DEBUG (MainThread) [bellows.zigbee.application] ezsp_counters: [MAC_RX_BROADCAST = 784, MAC_TX_BROADCAST = 413, MAC_RX_UNICAST = 970, MAC_TX_UNICAST_SUCCESS = 141, MAC_TX_UNICAST_RETRY = 4, MAC_TX_UNICAST_FAILED = 0, APS_DATA_RX_BROADCAST = 1, APS_DATA_TX_BROADCAST = 1, APS_DATA_RX_UNICAST = 434, APS_DATA_TX_UNICAST_SUCCESS = 60, APS_DATA_TX_UNICAST_RETRY = 0, APS_DATA_TX_UNICAST_FAILED = 7, ROUTE_DISCOVERY_INITIATED = 5, NEIGHBOR_ADDED = 2, NEIGHBOR_REMOVED = 0, NEIGHBOR_STALE = 1, JOIN_INDICATION = 0, CHILD_REMOVED = 0, ASH_OVERFLOW_ERROR = 0, ASH_FRAMING_ERROR = 0, ASH_OVERRUN_ERROR = 0, NWK_FRAME_COUNTER_FAILURE = 0, APS_FRAME_COUNTER_FAILURE = 0, UTILITY = 0, APS_LINK_KEY_NOT_AUTHORIZED = 0, NWK_DECRYPTION_FAILURE = 0, APS_DECRYPTION_FAILURE = 0, ALLOCATE_PACKET_BUFFER_FAILURE = 0, RELAYED_UNICAST = 0, PHY_TO_MAC_QUEUE_LIMIT_REACHED = 0, PACKET_VALIDATE_LIBRARY_DROPPED_COUNT = 0, TYPE_NWK_RETRY_OVERFLOW = 0, PHY_CCA_FAIL_COUNT = 0, BROADCAST_TABLE_FULL = 0, PTA_LO_PRI_REQUESTED = 0, PTA_HI_PRI_REQUESTED = 0, PTA_LO_PRI_DENIED = 0, PTA_HI_PRI_DENIED = 0, PTA_LO_PRI_TX_ABORTED = 0, PTA_HI_PRI_TX_ABORTED = 0, ADDRESS_CONFLICT_SENT = 0, EZSP_FREE_BUFFERS = 252]
Additional information
I don't know if it helps, but I saw that this model is present in the quirks, yet it doesn't seem to recognize the sensor correctly or there might be another problem. Maybe I made a mistake. I also tried to manually add ts0601__sensor as per the guide, but nothing changed.