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
751 stars 688 forks source link

[Device Support Request] Radiator Valve Tuya/CloudEven TS0601 Type _TZE200_0hg58wyk [Device Support Request] #2072

Closed HAuser1234 closed 1 year ago

HAuser1234 commented 1 year ago

I have baught a Cloud Even TRV and discovered that there is no support yet in ZHA I would be very glad if you can implement this TRV in a Quirk!

I have attached:

Link to the TRV https://www.ebay.de/itm/155337234865?hash=item242ad219b1:g:HxAAAOSwlhZjsVQg&amdata=enc%3AAQAHAAAAoISDpicDt6I%2Fe791mFplU2NF1exk2zrxAshFQvAlbZ73dvXwmzCsD7m5Vged3vjHI4dCOyQo6przUfAkAmWmZGrFvWKL3Ki013kZIqUSnolu8fDvDMWmi4P%2B3pmkd4utooM6pM1DPFgkijhCSClt8grjc2blAWUQo3%2B6b3VUr2W2uzvkrBG460g2Ee8xk%2FOpZZMWi5RR4i5HR2%2FO11zBRRs%3D%7Ctkp%3ABk9SR7Cts4SvYQ#rpdCntId

If you want any further information I am happy to provide that

Device signature ```json { "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=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, 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": "0x0051", "in_clusters": [ "0x0000", "0x0004", "0x0005", "0xef00" ], "out_clusters": [ "0x000a", "0x0019" ] } }, "manufacturer": "_TZE200_0hg58wyk", "model": "TS0601", "class": "zigpy.device.Device" } ```
Diagnostic information ```json { "home_assistant": { "installation_type": "Home Assistant Supervised", "version": "2023.1.0", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.10.7", "docker": true, "arch": "x86_64", "timezone": "Europe/Berlin", "os_name": "Linux", "os_version": "5.10.0-13-amd64", "supervisor": "2022.12.1", "host_os": "Debian GNU/Linux 11 (bullseye)", "docker_version": "20.10.21", "chassis": "desktop", "run_as_root": true }, "custom_components": { "indego": { "version": "3.8.1", "requirements": [ "pyIndego==2.0.30" ] }, "zha_toolkit": { "version": "v0.8.28", "requirements": [ "packaging>=20.8", "pytz" ] }, "tapo_control": { "version": "4.2.1", "requirements": [ "pytapo==2.8", "onvif-zeep-async==1.2.0" ] }, "hacs": { "version": "1.28.3", "requirements": [ "aiogithubapi>=22.2.4" ] } }, "integration_manifest": { "domain": "zha", "name": "Zigbee Home Automation", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/zha", "requirements": [ "bellows==0.34.5", "pyserial==3.5", "pyserial-asyncio==0.6", "zha-quirks==0.0.90", "zigpy-deconz==0.19.2", "zigpy==0.52.3", "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": 25095, "manufacturer": "_TZE200_0hg58wyk", "model": "TS0601", "name": "_TZE200_0hg58wyk TS0601", "quirk_applied": false, "quirk_class": "zigpy.device.Device", "manufacturer_code": 4098, "power_source": "Battery or Unknown", "lqi": null, "rssi": null, "last_seen": "2023-01-06T18:52:40", "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=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, 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": "0x0051", "in_clusters": [ "0x0000", "0x0004", "0x0005", "0xef00" ], "out_clusters": [ "0x000a", "0x0019" ] } } }, "active_coordinator": false, "entities": [], "neighbors": [], "routes": [], "endpoint_names": [ { "name": "SMART_PLUG" } ], "user_given_name": "THV", "device_reg_id": "7cf5b24f0884b7d79aef60e2cef03459", "area_id": "energie", "cluster_details": { "1": { "device_type": { "name": "SMART_PLUG", "id": 81 }, "profile_id": 260, "in_clusters": { "0x0000": { "endpoint_attribute": "basic", "attributes": { "0x0004": { "attribute_name": "manufacturer", "value": "_TZE200_0hg58wyk" }, "0x0005": { "attribute_name": "model", "value": "TS0601" } }, "unsupported_attributes": {} }, "0x0004": { "endpoint_attribute": "groups", "attributes": {}, "unsupported_attributes": {} }, "0x0005": { "endpoint_attribute": "scenes", "attributes": {}, "unsupported_attributes": {} }, "0xef00": { "endpoint_attribute": null, "attributes": {}, "unsupported_attributes": {} } }, "out_clusters": { "0x0019": { "endpoint_attribute": "ota", "attributes": {}, "unsupported_attributes": {} }, "0x000a": { "endpoint_attribute": "time", "attributes": {}, "unsupported_attributes": {} } } } } } } ```
Additional logs Device detection log: ```python Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=0, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=6, profile_id=0, cluster_id=32822, data=Serialized[b'\x06\x00'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) [0x0000:zdo] ZDO request ZDOCmd.Mgmt_Permit_Joining_rsp: [] [0x0000:zdo] No handler for ZDO request:ZDOCmd.Mgmt_Permit_Joining_rsp([]) [0xD279](MS01): Device seen - marking the device available and resetting counter [0xD279](MS01): Update device availability - device available: True - new availability: True - changed: False [0x6110](TS130F): Device seen - marking the device available and resetting counter [0x6110](TS130F): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x6207), src_ep=0, dst=AddrModeAddress(addr_mode=, address=), dst_ep=0, source_route=None, extended_timeout=False, tsn=130, profile_id=0, cluster_id=19, data=Serialized[b'\x82\x07b\x7f\x80n\xfe\xff\x14C\x0c\x80'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) New device 0x6207 (0c:43:14:ff:fe:6e:80:7f) joined the network [0x6207] Scheduling initialization Received frame on uninitialized device from ep 0 to ep 0, cluster 19: b'\x82\x07b\x7f\x80n\xfe\xff\x14C\x0c\x80' [0x6207:zdo] ZDO request ZDOCmd.Device_annce: [0x6207, 0c:43:14:ff:fe:6e:80:7f, 128] Tries remaining: 3 [0x6207] Requesting 'Node Descriptor' Tries remaining: 2 [0x6207] Extending timeout for 0x67 request [0xC3D4](TS011F): Device seen - marking the device available and resetting counter [0xC3D4](TS011F): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x6207), src_ep=0, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=103, profile_id=0, cluster_id=32770, data=Serialized[b'g\x00\x07b\x02@\x80\x02\x10RR\x00\x00,R\x00\x00'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) Received frame on uninitialized device from ep 0 to ep 0, cluster 32770: b'g\x00\x07b\x02@\x80\x02\x10RR\x00\x00,R\x00\x00' [0x6207] Got 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=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, 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) [0x6207] Discovering endpoints Tries remaining: 3 [0x6207] Extending timeout for 0x68 request Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x6207), src_ep=0, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=104, profile_id=0, cluster_id=32773, data=Serialized[b'h\x00\x07b\x01\x01'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) Received frame on uninitialized device from ep 0 to ep 0, cluster 32773: b'h\x00\x07b\x01\x01' [0x6207] Discovered endpoints: [1] [0x6207] Initializing endpoints [>] [0x6207:1] Discovering endpoint information Tries remaining: 3 [0x6207] Extending timeout for 0x69 request Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x6207), src_ep=0, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=105, profile_id=0, cluster_id=32772, data=Serialized[b'i\x00\x07b\x14\x01\x04\x01Q\x00\x01\x04\x00\x00\x04\x00\x05\x00\x00\xef\x02\x19\x00\n\x00'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) Received frame on uninitialized device from ep 0 to ep 0, cluster 32772: b'i\x00\x07b\x14\x01\x04\x01Q\x00\x01\x04\x00\x00\x04\x00\x05\x00\x00\xef\x02\x19\x00\n\x00' [0x6207:1] Discovered endpoint information: SizePrefixedSimpleDescriptor(endpoint=1, profile=260, device_type=81, device_version=1, input_clusters=[0, 4, 5, 61184], output_clusters=[25, 10]) Unknown cluster 0xEF00 [0x6207:1:0x0000] 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=106, command_id=, *direction=, *is_reply=False) [0x6207:1:0x0000] Sending request: Read_Attributes(attribute_ids=[4, 5]) [0x6207] Extending timeout for 0x6a request [0x9F8D](TS011F): Device seen - marking the device available and resetting counter [0x9F8D](TS011F): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x6207), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=0, data=Serialized[b'\x18j\x01\x04\x00\x00B\x10_TZE200_0hg58wyk\x05\x00\x00B\x06TS0601'], tx_options=, radius=28, non_member_radius=0, lqi=84, rssi=None) [0x6207:1:0x0000] Received ZCL frame: b'\x18j\x01\x04\x00\x00B\x10_TZE200_0hg58wyk\x05\x00\x00B\x06TS0601' [0x6207: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=106, command_id=1, *direction=, *is_reply=True) [0x6207:1:0x0000] Decoded ZCL frame: Basic:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0004, status=, value=TypeValue(type=CharacterString, value='_TZE200_0hg58wyk')), ReadAttributeRecord(attrid=0x0005, status=, value=TypeValue(type=CharacterString, value='TS0601'))]) [0x6207] Read model 'TS0601' and manufacturer '_TZE200_0hg58wyk' from > [0x6207] Discovered basic device information for Device is initialized Checking quirks for _TZE200_0hg58wyk TS0601 (0c:43:14:ff:fe:6e:80:7f) Considering Fail because endpoint list mismatch: {1, 2, 242} {1} Considering Fail because endpoint list mismatch: {1, 2, 41, 42, 242, 51, 21, 31} {1} Considering Fail because endpoint list mismatch: {232, 230} {1} Considering Fail because endpoint list mismatch: {232, 230} {1} Considering Fail because device_type mismatch on at least one endpoint Considering Fail because device_type mismatch on at least one endpoint Considering Fail because device_type mismatch on at least one endpoint Considering Fail because device_type mismatch on at least one endpoint Considering Fail because endpoint list mismatch: {11, 13} {1} 'sensor' component -> 'RSSISensor' using ['basic'] 'sensor' component -> 'LQISensor' using ['basic'] device - 0x6207:0c:43:14:ff:fe:6e:80:7f entering async_device_initialized - is_new_join: True device - 0x6207:0c:43:14:ff:fe:6e:80:7f has joined the ZHA zigbee network [0x6207](TS0601): started configuration [0x6207:ZDO](TS0601): 'async_configure' stage succeeded Error handling '_save_attribute' event with (0c:43:14:ff:fe:6e:80:7f, 1, 0, 4, '_TZE200_0hg58wyk') params: FOREIGN KEY constraint failed [0x6207:1:0x0000]: Configuring cluster attribute reporting [0x6207:1:0x0000]: finished channel configuration [0x6207:1:0xef00]: Performing cluster binding [0x6207] Extending timeout for 0x6b request [0x6207:1:0x0019]: finished channel configuration Error handling '_save_attribute' event with (0c:43:14:ff:fe:6e:80:7f, 1, 0, 5, 'TS0601') params: FOREIGN KEY constraint failed Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x6207), src_ep=0, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=107, profile_id=0, cluster_id=32801, data=Serialized[b'k\x00'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) [0x6207:1:0xef00]: bound 'None' cluster: Status.SUCCESS [0x6207:1:0xef00]: Configuring cluster attribute reporting [0x6207:1:0xef00]: finished channel configuration [0x6207:1:0x0000]: 'async_configure' stage succeeded [0x6207:1:0xef00]: 'async_configure' stage succeeded [0x6207:1:0x0019]: 'async_configure' stage succeeded [0x6207](TS0601): completed configuration [0x6207](TS0601): started initialization [0x6207:ZDO](TS0601): 'async_initialize' stage succeeded [0x6207:1:0x0000]: initializing channel: from_cache: False [0x6207:1:0x0000]: finished channel initialization [0x6207:1:0xef00]: initializing channel: from_cache: False [0x6207:1:0xef00]: finished channel initialization [0x6207:1:0x0019]: initializing channel: from_cache: False [0x6207:1:0x0019]: finished channel initialization [0x6207:1:0x0000]: 'async_initialize' stage succeeded [0x6207:1:0xef00]: 'async_initialize' stage succeeded [0x6207:1:0x0019]: 'async_initialize' stage succeeded [0x6207](TS0601): power source: Battery or Unknown [0x6207](TS0601): completed initialization Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x6207), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=10, data=Serialized[b'\x00\x16\x00\x07\x00'], tx_options=, radius=28, non_member_radius=0, lqi=87, rssi=None) [0x6207:1:0x000a] Received ZCL frame: b'\x00\x16\x00\x07\x00' [0x6207:1:0x000a] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=False), tsn=22, command_id=0, *direction=, *is_reply=False) [0x6207:1:0x000a] Decoded ZCL frame: Time:Read_Attributes(attribute_ids=[7]) [0x6207:1:0x000a] Received command 0x00 (TSN 22): Read_Attributes(attribute_ids=[7]) [0x6207:1:0x000a] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=, *direction=, *is_reply=True) [0x6207:1:0x000a] Sending reply: Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0007, status=, value=TypeValue(type=LocalTime, value=726344484))]) [0x1E94](DS01): last_seen is 11511839.15874052 seconds ago and ping attempts have been exhausted, marking the device unavailable [0x1E94](DS01): Update device availability - device available: False - new availability: False - changed: False [0xB09E](MS01): last_seen is 1457661.506999731 seconds ago and ping attempts have been exhausted, marking the device unavailable [0xB09E](MS01): Update device availability - device available: False - new availability: False - changed: False [0xC15D](DS01): Device seen - marking the device available and resetting counter [0xC15D](DS01): Update device availability - device available: True - new availability: True - changed: False [0xE73B](TH01): Device seen - marking the device available and resetting counter [0xE73B](TH01): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x6207), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\x19\x17$\x00\t'], tx_options=, radius=28, non_member_radius=0, lqi=87, rssi=None) [0x6207:1:0xef00] Received ZCL frame: b'\x19\x17$\x00\t' [0x6207:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=23, command_id=36, *direction=, *is_reply=True) [0x6207:1:0xef00] Unknown cluster command 36 b'\x00\t' [0x6207:1:0xef00] Received command 0x24 (TSN 23): b'\x00\t' [0x6207:1:0xef00] No explicit handler for cluster command 0x24: b'\x00\t' ```
MattWestb commented 1 year ago

That is the only tuya TRV family that no one have getting working and its 4 identical devices that need one new quirk. https://github.com/zigpy/zigpy/discussions/653#

HAuser1234 commented 1 year ago

is there any chance that this quirk can be created remotely? (By using the diagnostics info)

if there are any other tests necessary I can also try them out.

MattWestb commented 1 year ago

Its depends of the devs some can doing it very good.

@jacekk015 do you have time for taking one look on one old new tuya TRV ?? Its first gen TRV but not getting one quirk so some user have it cold in there homes :-))

MattWestb commented 1 year ago

By the way welcome to GitHub and ZHA !!!

HAuser1234 commented 1 year ago

thank you! I would be very glad if someone could help. Maybe this could also be benefical to other users since this is a whole unsupportet TRV family. I don't know if this helps but for zigbee2mqtt there seems to be a fitting converter: https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/devices/tuya.js Sadly I dont use that

MattWestb commented 1 year ago

All first gen tuya TRVs was getting little limited functions but we have getting extended quirks for most of them but this was not getting any basic or extended then no devs and no users was having the interest but i hope its at least we can getting basic support for it.

HAuser1234 commented 1 year ago

ok, i would anyways only need to set the temperature and maybe turn it on or off. The rest would be done in Home Assistant anyways btw thanks for the help!!

MattWestb commented 1 year ago

Thats i have with my Siterwell TRV with the basic quirk and its working OK but is always nice getting all functions of the device then its possible.

The kitchen TRV is holding the temperature in one °C so its working very well :-)))

HAuser1234 commented 1 year ago

yes additional functions would be great but I would be more than happy just to set the temperature through zigbee :)

jacekk015 commented 1 year ago

Will look on this. It seems that support in Z2M is available, but as a different device. Blakadder added it as E-TOP https://zigbee.blakadder.com/ETOP_HT-10.html

MattWestb commented 1 year ago

From tuya TRV matrix:

E-top is making different software IDs for all customers.

OEM / Brand | Model | Manufacturer Name | Model ID | ZHA Quirk | Request -- | -- | -- | -- | -- | -- E-top | HT-10R-Z | _TZE200_2dpplnsn | TS0601 | ⭕ Moes I ? |   E-top | HT-10R-Z | _TYST11_2dpplnsn | dpplnsn | ⭕ Moes II ? |   Immax | 07703L | _TZE200_wlosfena | TS0601 | ⭕ Moes I ? | 691 Immax | 07703L | _TYST11_wlosfena | losfena | ⭕ Moes II ? | 691 Cloud Even | ? | _TZE200_0hg58wyk | TS0601 | ⭕ Moes I ? |  

 = Not implanted: look in the last section "Adding support for not supported device"

HAuser1234 commented 1 year ago

Thank you very much for looking into this :)

HAuser1234 commented 1 year ago

Hello, are there any updates on this topic? otherwise I will probably return the TRVs to the seller soon. The deadline for returning is over soon. thank you in advance

jacekk015 commented 1 year ago

I do it in a free time, so there's no strict deadline. You decide.

HAuser1234 commented 1 year ago

ok I think I will just wait a little bit longer. If you have spare time until then I would be happy if you can look into this if not it is of course also no problem. I just wanted to know if there is any chance that this can be realised. If there were none I would have send it back now. So thank you again for the help and I am looking forward to a potential solution :)

jacekk015 commented 1 year ago

First version of the quirk. Bugs possible, so enable DEBUG logging and post the logs in case of errors. BTW post the logs of pairing process and 10 minutes after, using quirk below.

logger:
  default: info
  logs:
    homeassistant.components.zha: debug
    zigpy: debug
    zhaquirks: debug

Restart HA after changes in configuration.yaml and quirk upload. ts0601_trv_etop.py.zip

HAuser1234 commented 1 year ago

Hi first thank you very much !!

I can successfully now set the Temperature i can also turn it on or off. after a while it get reely unresponive. If I set the temperature nothing happens an after some time it resets to the last set temperature. But sometimes it accepts the new one. With a automation which sets constantly the new temperature it accepts it after a while The battery state isn't successfully recognised. grafik

Also I cant set the modes schedule/away/manual through the user interface however here it can be changed: grafik

Pairing Logs [Logs.txt](https://github.com/zigpy/zha-device-handlers/files/10454565/Logs.txt)

more:

10min Logs [0xC418: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=3, command_id=10, *direction=, *is_reply=True) [0xC418:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=69)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=30))]) [0xC418:1:0x0000] Received command 0x0A (TSN 3): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=69)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=30))]) [0xC418:1:0x0000] Attribute report received: app_version=69, 0xFFE2=30 [0x34AA](TS011F): Device seen - marking the device available and resetting counter [0x34AA](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x70DB](TS011F): Device seen - marking the device available and resetting counter [0x70DB](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x7FA3](TH01): Device seen - marking the device available and resetting counter [0x7FA3](TH01): Update device availability - device available: True - new availability: True - changed: False [0x56B7](WB01): Device seen - marking the device available and resetting counter [0x56B7](WB01): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x40C3), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1026, data=Serialized[b'\x18\xef\n\x00\x00)]\x07'], tx_options=, radius=27, non_member_radius=0, lqi=78, rssi=None) [0x40C3:1:0x0402] Received ZCL frame: b'\x18\xef\n\x00\x00)]\x07' [0x40C3:1:0x0402] 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=239, command_id=10, *direction=, *is_reply=True) [0x40C3:1:0x0402] Decoded ZCL frame: TemperatureMeasurement:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int16s, value=1885))]) [0x40C3:1:0x0402] Received command 0x0A (TSN 239): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int16s, value=1885))]) [0x40C3:1:0x0402] Attribute report received: measured_value=1885 [0x31C5](TS011F): Device seen - marking the device available and resetting counter [0x31C5](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xC418](TS011F): Device seen - marking the device available and resetting counter [0xC418](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xE73B](TH01): Device seen - marking the device available and resetting counter [0xE73B](TH01): Update device availability - device available: True - new availability: True - changed: False [0xC8A3](TS0601): Device seen - marking the device available and resetting counter [0xC8A3](TS0601): Update device availability - device available: True - new availability: True - changed: False [0xF832](TS011F): Device seen - marking the device available and resetting counter [0xF832](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x6EDC](DS01): Device seen - marking the device available and resetting counter [0x6EDC](DS01): Update device availability - device available: True - new availability: True - changed: False [0x5817](TS011F): Device seen - marking the device available and resetting counter [0x5817](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x40C3](TH01): Device seen - marking the device available and resetting counter [0x40C3](TH01): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0xD637), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1029, data=Serialized[b'\x185\n\x00\x00!\xf6\x18'], tx_options=, radius=25, non_member_radius=0, lqi=81, rssi=None) [0xD637:1:0x0405] Received ZCL frame: b'\x185\n\x00\x00!\xf6\x18' [0xD637:1:0x0405] 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=53, command_id=10, *direction=, *is_reply=True) [0xD637:1:0x0405] Decoded ZCL frame: RelativeHumidity:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint16_t, value=6390))]) [0xD637:1:0x0405] Received command 0x0A (TSN 53): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint16_t, value=6390))]) [0xD637:1:0x0405] Attribute report received: measured_value=6390 [0x03E0](TH01): Device seen - marking the device available and resetting counter [0x03E0](TH01): Update device availability - device available: True - new availability: True - changed: False [0xDC19](TS011F): Device seen - marking the device available and resetting counter [0xDC19](TS011F): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0xC56C), src_ep=11, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=6, data=Serialized[b'\x18f\n\x00\x00\x10\x00'], tx_options=, radius=28, non_member_radius=0, lqi=81, rssi=None) [0xC56C:11:0x0006] Received ZCL frame: b'\x18f\n\x00\x00\x10\x00' [0xC56C:11:0x0006] 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=102, command_id=10, *direction=, *is_reply=True) [0xC56C:11:0x0006] Decoded ZCL frame: TuyaZBOnOffAttributeCluster:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0xC56C:11:0x0006] Received command 0x0A (TSN 102): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0xC56C:11:0x0006] Attribute report received: on_off= [0x7B5F](TS011F): Device seen - marking the device available and resetting counter [0x7B5F](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xF8D0](DS01): Device seen - marking the device available and resetting counter [0xF8D0](DS01): Update device availability - device available: True - new availability: True - changed: False [0xC3D4](TS011F): Device seen - marking the device available and resetting counter [0xC3D4](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xC56C](TS011F): Device seen - marking the device available and resetting counter [0xC56C](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xD279](MS01): Device seen - marking the device available and resetting counter [0xD279](MS01): Update device availability - device available: True - new availability: True - changed: False [0xDDCC](TS011F): Device seen - marking the device available and resetting counter [0xDDCC](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xFCD5](TS130F): Device seen - marking the device available and resetting counter [0xFCD5](TS130F): Update device availability - device available: True - new availability: True - changed: False [0xA2E4](MS01): Device seen - marking the device available and resetting counter [0xA2E4](MS01): Update device availability - device available: True - new availability: True - changed: False [0x2791](TS011F): Device seen - marking the device available and resetting counter [0x2791](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x0454](TS130F): Device seen - marking the device available and resetting counter [0x0454](TS130F): Update device availability - device available: True - new availability: True - changed: False [0xD637](TH01): Device seen - marking the device available and resetting counter [0xD637](TH01): Update device availability - device available: True - new availability: True - changed: False [0x77ED](TS011F): Device seen - marking the device available and resetting counter [0x77ED](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xA274](TS011F): Device seen - marking the device available and resetting counter [0xA274](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x1BA8](WB01): Device seen - marking the device available and resetting counter [0x1BA8](WB01): Update device availability - device available: True - new availability: True - changed: False [0x6110](TS130F): Device seen - marking the device available and resetting counter [0x6110](TS130F): Update device availability - device available: True - new availability: True - changed: False [0xAD60](WB01): Device seen - marking the device available and resetting counter [0xAD60](WB01): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0xA2E4), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1280, data=Serialized[b'\x19\x8d\x00\x00\x00\x00\x00\x00\x00'], tx_options=, radius=28, non_member_radius=0, lqi=78, rssi=None) [0xA2E4:1:0x0500] Received ZCL frame: b'\x19\x8d\x00\x00\x00\x00\x00\x00\x00' [0xA2E4:1:0x0500] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=141, command_id=0, *direction=, *is_reply=True) [0xA2E4:1:0x0500] Decoded ZCL frame: IasZone:status_change_notification(zone_status=, extended_status=, zone_id=0, delay=0) [0xA2E4:1:0x0500] Received command 0x00 (TSN 141): status_change_notification(zone_status=, extended_status=, zone_id=0, delay=0) [0xA2E4:1:0x0500]: Updated alarm state: ZoneStatus.0 [0x6D05](TS011F): Device seen - marking the device available and resetting counter [0x6D05](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x1033](MS01): Device seen - marking the device available and resetting counter [0x1033](MS01): Update device availability - device available: True - new availability: True - changed: False [0xC15D](DS01): last_seen is 698656.8329696655 seconds ago and ping attempts have been exhausted, marking the device unavailable [0xC15D](DS01): Update device availability - device available: False - new availability: False - changed: False [0x31D5](DS01): Device seen - marking the device available and resetting counter [0x31D5](DS01): Update device availability - device available: True - new availability: True - changed: False [0x61EE](WB01): Device seen - marking the device available and resetting counter [0x61EE](WB01): Update device availability - device available: True - new availability: True - changed: False [0xE73B](TH01): Device seen - marking the device available and resetting counter [0xE73B](TH01): Update device availability - device available: True - new availability: True - changed: False [0x7FA3](TH01): Device seen - marking the device available and resetting counter [0x7FA3](TH01): Update device availability - device available: True - new availability: True - changed: False [0x56B7](WB01): Device seen - marking the device available and resetting counter [0x56B7](WB01): Update device availability - device available: True - new availability: True - changed: False [0x34AA](TS011F): Device seen - marking the device available and resetting counter [0x34AA](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x70DB](TS011F): Device seen - marking the device available and resetting counter [0x70DB](TS011F): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x7FA3), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1026, data=Serialized[b'\x18\x13\n\x00\x00)\x1e\xff'], tx_options=, radius=26, non_member_radius=0, lqi=81, rssi=None) [0x7FA3:1:0x0402] Received ZCL frame: b'\x18\x13\n\x00\x00)\x1e\xff' [0x7FA3:1:0x0402] 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=19, command_id=10, *direction=, *is_reply=True) [0x7FA3:1:0x0402] Decoded ZCL frame: TemperatureMeasurement:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int16s, value=-226))]) [0x7FA3:1:0x0402] Received command 0x0A (TSN 19): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int16s, value=-226))]) [0x7FA3:1:0x0402] Attribute report received: measured_value=-226 [0xF832](TS011F): Device seen - marking the device available and resetting counter [0xF832](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x6EDC](DS01): Device seen - marking the device available and resetting counter [0x6EDC](DS01): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0xA2E4), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1280, data=Serialized[b'\x19\x8e\x00\x01\x00\x00\x00\x00\x00'], tx_options=, radius=28, non_member_radius=0, lqi=78, rssi=None) [0xA2E4:1:0x0500] Received ZCL frame: b'\x19\x8e\x00\x01\x00\x00\x00\x00\x00' [0xA2E4:1:0x0500] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=142, command_id=0, *direction=, *is_reply=True) [0xA2E4:1:0x0500] Decoded ZCL frame: IasZone:status_change_notification(zone_status=, extended_status=, zone_id=0, delay=0) [0xA2E4:1:0x0500] Received command 0x00 (TSN 142): status_change_notification(zone_status=, extended_status=, zone_id=0, delay=0) [0xA2E4:1:0x0500]: Updated alarm state: ZoneStatus.Alarm_1 [0x70DB:11:0x0006] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=False), tsn=113, command_id=0, *direction=, *is_reply=False) [0x70DB:11:0x0006] Sending request: off() Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x70DB), src_ep=11, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=6, data=Serialized[b'\x08q\x0b\x00\x00'], tx_options=, radius=29, non_member_radius=0, lqi=84, rssi=None) [0x70DB:11:0x0006] Received ZCL frame: b'\x08q\x0b\x00\x00' [0x70DB:11:0x0006] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=113, command_id=11, *direction=, *is_reply=True) [0x70DB:11:0x0006] Decoded ZCL frame: TuyaZBOnOffAttributeCluster:Default_Response(command_id=0, status=) [0x70DB:11:0x0006]: executed 'off' command with args: '()' kwargs: '{}' result: Default_Response(command_id=0, status=) [0xC8A3](TS0601): Device seen - marking the device available and resetting counter [0xC8A3](TS0601): Update device availability - device available: True - new availability: True - changed: False [0x31C5](TS011F): Device seen - marking the device available and resetting counter [0x31C5](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xC418](TS011F): Device seen - marking the device available and resetting counter [0xC418](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xDC19](TS011F): Device seen - marking the device available and resetting counter [0xDC19](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x40C3](TH01): Device seen - marking the device available and resetting counter [0x40C3](TH01): Update device availability - device available: True - new availability: True - changed: False [0x7B5F](TS011F): Device seen - marking the device available and resetting counter [0x7B5F](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xF8D0](DS01): Device seen - marking the device available and resetting counter [0xF8D0](DS01): Update device availability - device available: True - new availability: True - changed: False [0x5817](TS011F): Device seen - marking the device available and resetting counter [0x5817](TS011F): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x03E0), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1029, data=Serialized[b'\x18\xe0\n\x00\x00!\xac\x19'], tx_options=, radius=27, non_member_radius=0, lqi=81, rssi=None) [0x03E0:1:0x0405] Received ZCL frame: b'\x18\xe0\n\x00\x00!\xac\x19' [0x03E0:1:0x0405] 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=224, command_id=10, *direction=, *is_reply=True) [0x03E0:1:0x0405] Decoded ZCL frame: RelativeHumidity:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint16_t, value=6572))]) [0x03E0:1:0x0405] Received command 0x0A (TSN 224): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint16_t, value=6572))]) [0x03E0:1:0x0405] Attribute report received: measured_value=6572 [0xFCD5](TS130F): Device seen - marking the device available and resetting counter [0xFCD5](TS130F): Update device availability - device available: True - new availability: True - changed: False [0xA2E4](MS01): Device seen - marking the device available and resetting counter [0xA2E4](MS01): Update device availability - device available: True - new availability: True - changed: False [0xC3D4](TS011F): Device seen - marking the device available and resetting counter [0xC3D4](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xC56C](TS011F): Device seen - marking the device available and resetting counter [0xC56C](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xD279](MS01): Device seen - marking the device available and resetting counter [0xD279](MS01): Update device availability - device available: True - new availability: True - changed: False [0x03E0](TH01): Device seen - marking the device available and resetting counter [0x03E0](TH01): Update device availability - device available: True - new availability: True - changed: False [0xDDCC](TS011F): Device seen - marking the device available and resetting counter [0xDDCC](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x1BA8](WB01): Device seen - marking the device available and resetting counter [0x1BA8](WB01): Update device availability - device available: True - new availability: True - changed: False [0x6110](TS130F): Device seen - marking the device available and resetting counter [0x6110](TS130F): Update device availability - device available: True - new availability: True - changed: False [0xAD60](WB01): Device seen - marking the device available and resetting counter [0xAD60](WB01): Update device availability - device available: True - new availability: True - changed: False [0x77ED](TS011F): Device seen - marking the device available and resetting counter [0x77ED](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xA274](TS011F): Device seen - marking the device available and resetting counter [0xA274](TS011F): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x34AA), src_ep=11, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=6, data=Serialized[b'\x18r\n\x00\x00\x10\x00'], tx_options=, radius=27, non_member_radius=0, lqi=87, rssi=None) [0x34AA:11:0x0006] Received ZCL frame: b'\x18r\n\x00\x00\x10\x00' [0x34AA:11:0x0006] 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=114, command_id=10, *direction=, *is_reply=True) [0x34AA:11:0x0006] Decoded ZCL frame: TuyaZBOnOffAttributeCluster:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0x34AA:11:0x0006] Received command 0x0A (TSN 114): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0x34AA:11:0x0006] Attribute report received: on_off= [0x6D05](TS011F): Device seen - marking the device available and resetting counter [0x6D05](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xE73B](TH01): Device seen - marking the device available and resetting counter [0xE73B](TH01): Update device availability - device available: True - new availability: True - changed: False [0x2791](TS011F): Device seen - marking the device available and resetting counter [0x2791](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x0454](TS130F): Device seen - marking the device available and resetting counter [0x0454](TS130F): Update device availability - device available: True - new availability: True - changed: False [0xD637](TH01): Device seen - marking the device available and resetting counter [0xD637](TH01): Update device availability - device available: True - new availability: True - changed: False [0xC15D](DS01): last_seen is 698729.8333230019 seconds ago and ping attempts have been exhausted, marking the device unavailable [0xC15D](DS01): Update device availability - device available: False - new availability: False - changed: False [0x31D5](DS01): Device seen - marking the device available and resetting counter [0x31D5](DS01): Update device availability - device available: True - new availability: True - changed: False [0x61EE](WB01): Device seen - marking the device available and resetting counter [0x61EE](WB01): Update device availability - device available: True - new availability: True - changed: False [0x1033](MS01): Device seen - marking the device available and resetting counter [0x1033](MS01): Update device availability - device available: True - new availability: True - changed: False [0x7FA3](TH01): Device seen - marking the device available and resetting counter [0x7FA3](TH01): Update device availability - device available: True - new availability: True - changed: False [0x56B7](WB01): Device seen - marking the device available and resetting counter [0x56B7](WB01): Update device availability - device available: True - new availability: True - changed: False [0xF832](TS011F): Device seen - marking the device available and resetting counter [0xF832](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x6EDC](DS01): Device seen - marking the device available and resetting counter [0x6EDC](DS01): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0xDC19), src_ep=11, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=6, data=Serialized[b'\x184\n\x00\x00\x10\x00'], tx_options=, radius=29, non_member_radius=0, lqi=81, rssi=None) [0xDC19:11:0x0006] Received ZCL frame: b'\x184\n\x00\x00\x10\x00' [0xDC19:11:0x0006] 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=52, command_id=10, *direction=, *is_reply=True) [0xDC19:11:0x0006] Decoded ZCL frame: TuyaZBOnOffAttributeCluster:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0xDC19:11:0x0006] Received command 0x0A (TSN 52): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0xDC19:11:0x0006] Attribute report received: on_off= [0x34AA](TS011F): Device seen - marking the device available and resetting counter [0x34AA](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x70DB](TS011F): Device seen - marking the device available and resetting counter [0x70DB](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x7B5F](TS011F): Device seen - marking the device available and resetting counter [0x7B5F](TS011F): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x31C5), src_ep=11, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=6, data=Serialized[b'\x18\x1f\n\x00\x00\x10\x00'], tx_options=, radius=28, non_member_radius=0, lqi=87, rssi=None) [0x31C5:11:0x0006] Received ZCL frame: b'\x18\x1f\n\x00\x00\x10\x00' [0x31C5:11:0x0006] 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=31, command_id=10, *direction=, *is_reply=True) [0x31C5:11:0x0006] Decoded ZCL frame: TuyaZBOnOffAttributeCluster:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0x31C5:11:0x0006] Received command 0x0A (TSN 31): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0x31C5:11:0x0006] Attribute report received: on_off= [0xF8D0](DS01): Device seen - marking the device available and resetting counter [0xF8D0](DS01): Update device availability - device available: True - new availability: True - changed: False [0xDC19](TS011F): Device seen - marking the device available and resetting counter [0xDC19](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xFCD5](TS130F): Device seen - marking the device available and resetting counter [0xFCD5](TS130F): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0xA2E4), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1280, data=Serialized[b'\x19\x8f\x00\x00\x00\x00\x00\x00\x00'], tx_options=, radius=28, non_member_radius=0, lqi=78, rssi=None) [0xA2E4:1:0x0500] Received ZCL frame: b'\x19\x8f\x00\x00\x00\x00\x00\x00\x00' [0xA2E4:1:0x0500] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=143, command_id=0, *direction=, *is_reply=True) [0xA2E4:1:0x0500] Decoded ZCL frame: IasZone:status_change_notification(zone_status=, extended_status=, zone_id=0, delay=0) [0xA2E4:1:0x0500] Received command 0x00 (TSN 143): status_change_notification(zone_status=, extended_status=, zone_id=0, delay=0) [0xA2E4:1:0x0500]: Updated alarm state: ZoneStatus.0 [0xA2E4](MS01): Device seen - marking the device available and resetting counter [0xA2E4](MS01): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x6D05), src_ep=11, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=6, data=Serialized[b'\x18@\n\x00\x00\x10\x00'], tx_options=, radius=28, non_member_radius=0, lqi=87, rssi=None) [0x6D05:11:0x0006] Received ZCL frame: b'\x18@\n\x00\x00\x10\x00' [0x6D05:11:0x0006] 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=64, command_id=10, *direction=, *is_reply=True) [0x6D05:11:0x0006] Decoded ZCL frame: TuyaZBOnOffAttributeCluster:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0x6D05:11:0x0006] Received command 0x0A (TSN 64): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0x6D05:11:0x0006] Attribute report received: on_off= [0xC3D4](TS011F): Device seen - marking the device available and resetting counter [0xC3D4](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xC56C](TS011F): Device seen - marking the device available and resetting counter [0xC56C](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xD279](MS01): Device seen - marking the device available and resetting counter [0xD279](MS01): Update device availability - device available: True - new availability: True - changed: False [0x40C3](TH01): Device seen - marking the device available and resetting counter [0x40C3](TH01): Update device availability - device available: True - new availability: True - changed: False [0xC8A3](TS0601): Device seen - marking the device available and resetting counter [0xC8A3](TS0601): Update device availability - device available: True - new availability: True - changed: False [0x31C5](TS011F): Device seen - marking the device available and resetting counter [0x31C5](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xC418](TS011F): Device seen - marking the device available and resetting counter [0xC418](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xDDCC](TS011F): Device seen - marking the device available and resetting counter [0xDDCC](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x5817](TS011F): Device seen - marking the device available and resetting counter [0x5817](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x03E0](TH01): Device seen - marking the device available and resetting counter [0x03E0](TH01): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0xD637), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1029, data=Serialized[b'\x186\n\x00\x00!\x86\x18'], tx_options=, radius=25, non_member_radius=0, lqi=87, rssi=None) [0xD637:1:0x0405] Received ZCL frame: b'\x186\n\x00\x00!\x86\x18' [0xD637:1:0x0405] 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=54, command_id=10, *direction=, *is_reply=True) [0xD637:1:0x0405] Decoded ZCL frame: RelativeHumidity:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint16_t, value=6278))]) [0xD637:1:0x0405] Received command 0x0A (TSN 54): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint16_t, value=6278))]) [0xD637:1:0x0405] Attribute report received: measured_value=6278 [0x1BA8](WB01): Device seen - marking the device available and resetting counter [0x1BA8](WB01): Update device availability - device available: True - new availability: True - changed: False [0x6110](TS130F): Device seen - marking the device available and resetting counter [0x6110](TS130F): Update device availability - device available: True - new availability: True - changed: False [0xAD60](WB01): Device seen - marking the device available and resetting counter [0xAD60](WB01): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0xC418), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=6, data=Serialized[b'\x18\x05\n\x00\x00\x10\x00'], tx_options=, radius=27, non_member_radius=0, lqi=87, rssi=None) [0xC418:1:0x0006] Received ZCL frame: b'\x18\x05\n\x00\x00\x10\x00' [0xC418:1:0x0006] 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=5, command_id=10, *direction=, *is_reply=True) [0xC418:1:0x0006] Decoded ZCL frame: TuyaZBOnOffAttributeCluster:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0xC418:1:0x0006] Received command 0x0A (TSN 5): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0xC418:1:0x0006] Attribute report received: on_off= Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0xC418), src_ep=2, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=6, data=Serialized[b'\x18\x06\n\x00\x00\x10\x00'], tx_options=, radius=27, non_member_radius=0, lqi=87, rssi=None) [0xC418:2:0x0006] Received ZCL frame: b'\x18\x06\n\x00\x00\x10\x00' [0xC418:2:0x0006] 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=6, command_id=10, *direction=, *is_reply=True) [0xC418:2:0x0006] Decoded ZCL frame: TuyaZBOnOffAttributeCluster:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0xC418:2:0x0006] Received command 0x0A (TSN 6): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0xC418:2:0x0006] Attribute report received: on_off= Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0xC418), src_ep=3, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=6, data=Serialized[b'\x18\x07\n\x00\x00\x10\x00'], tx_options=, radius=27, non_member_radius=0, lqi=87, rssi=None) [0xC418:3:0x0006] Received ZCL frame: b'\x18\x07\n\x00\x00\x10\x00' [0xC418:3:0x0006] 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=7, command_id=10, *direction=, *is_reply=True) [0xC418:3:0x0006] Decoded ZCL frame: TuyaZBOnOffAttributeCluster:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0xC418:3:0x0006] Received command 0x0A (TSN 7): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0xC418:3:0x0006] Attribute report received: on_off= Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0xA2E4), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1280, data=Serialized[b'\x19\x90\x00\x01\x00\x00\x00\x00\x00'], tx_options=, radius=28, non_member_radius=0, lqi=78, rssi=None) [0xA2E4:1:0x0500] Received ZCL frame: b'\x19\x90\x00\x01\x00\x00\x00\x00\x00' [0xA2E4:1:0x0500] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=144, command_id=0, *direction=, *is_reply=True) [0xA2E4:1:0x0500] Decoded ZCL frame: IasZone:status_change_notification(zone_status=, extended_status=, zone_id=0, delay=0) [0xA2E4:1:0x0500] Received command 0x00 (TSN 144): status_change_notification(zone_status=, extended_status=, zone_id=0, delay=0) [0xA2E4:1:0x0500]: Updated alarm state: ZoneStatus.Alarm_1 [0x70DB:11:0x0006] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=False), tsn=114, command_id=0, *direction=, *is_reply=False) [0x70DB:11:0x0006] Sending request: off() Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x70DB), src_ep=11, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=6, data=Serialized[b'\x08r\x0b\x00\x00'], tx_options=, radius=29, non_member_radius=0, lqi=87, rssi=None) [0x70DB:11:0x0006] Received ZCL frame: b'\x08r\x0b\x00\x00' [0x70DB:11:0x0006] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=114, command_id=11, *direction=, *is_reply=True) [0x70DB:11:0x0006] Decoded ZCL frame: TuyaZBOnOffAttributeCluster:Default_Response(command_id=0, status=) [0x70DB:11:0x0006]: executed 'off' command with args: '()' kwargs: '{}' result: Default_Response(command_id=0, status=) [0x6D05](TS011F): Device seen - marking the device available and resetting counter [0x6D05](TS011F): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0xC418), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=0, data=Serialized[b'\x18\x08\n\x01\x00 E\xe2\xff \x1e'], tx_options=, radius=27, non_member_radius=0, lqi=87, rssi=None) [0xC418:1:0x0000] Received ZCL frame: b'\x18\x08\n\x01\x00 E\xe2\xff \x1e' [0xC418: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=8, command_id=10, *direction=, *is_reply=True) [0xC418:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=69)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=30))]) [0xC418:1:0x0000] Received command 0x0A (TSN 8): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=69)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=30))]) [0xC418:1:0x0000] Attribute report received: app_version=69, 0xFFE2=30 [0xE73B](TH01): Device seen - marking the device available and resetting counter [0xE73B](TH01): Update device availability - device available: True - new availability: True - changed: False [0x77ED](TS011F): Device seen - marking the device available and resetting counter [0x77ED](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xA274](TS011F): Device seen - marking the device available and resetting counter [0xA274](TS011F): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0xC3D4), src_ep=3, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=6, data=Serialized[b'\x18]\n\x00\x00\x10\x00'], tx_options=, radius=28, non_member_radius=0, lqi=78, rssi=None) [0xC3D4:3:0x0006] Received ZCL frame: b'\x18]\n\x00\x00\x10\x00' [0xC3D4:3:0x0006] 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=93, command_id=10, *direction=, *is_reply=True) [0xC3D4:3:0x0006] Decoded ZCL frame: TuyaZBOnOffAttributeCluster:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0xC3D4:3:0x0006] Received command 0x0A (TSN 93): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0xC3D4:3:0x0006] Attribute report received: on_off= [0xC15D](DS01): last_seen is 698802.8343081474 seconds ago and ping attempts have been exhausted, marking the device unavailable [0xC15D](DS01): Update device availability - device available: False - new availability: False - changed: False [0x31D5](DS01): Device seen - marking the device available and resetting counter [0x31D5](DS01): Update device availability - device available: True - new availability: True - changed: False [0x61EE](WB01): Device seen - marking the device available and resetting counter [0x61EE](WB01): Update device availability - device available: True - new availability: True - changed: False [0x7B5F](TS011F): Device seen - marking the device available and resetting counter [0x7B5F](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xF8D0](DS01): Device seen - marking the device available and resetting counter [0xF8D0](DS01): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x40C3), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1029, data=Serialized[b'\x18\xf0\n\x00\x00!\xa6\x1c'], tx_options=, radius=27, non_member_radius=0, lqi=78, rssi=None) [0x40C3:1:0x0405] Received ZCL frame: b'\x18\xf0\n\x00\x00!\xa6\x1c' [0x40C3:1:0x0405] 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=240, command_id=10, *direction=, *is_reply=True) [0x40C3:1:0x0405] Decoded ZCL frame: RelativeHumidity:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint16_t, value=7334))]) [0x40C3:1:0x0405] Received command 0x0A (TSN 240): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=uint16_t, value=7334))]) [0x40C3:1:0x0405] Attribute report received: measured_value=7334 [0x2791](TS011F): Device seen - marking the device available and resetting counter [0x2791](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x0454](TS130F): Device seen - marking the device available and resetting counter [0x0454](TS130F): Update device availability - device available: True - new availability: True - changed: False [0xD637](TH01): Device seen - marking the device available and resetting counter [0xD637](TH01): Update device availability - device available: True - new availability: True - changed: False [0xF832](TS011F): Device seen - marking the device available and resetting counter [0xF832](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x6EDC](DS01): Device seen - marking the device available and resetting counter [0x6EDC](DS01): Update device availability - device available: True - new availability: True - changed: False [0x7FA3](TH01): Device seen - marking the device available and resetting counter [0x7FA3](TH01): Update device availability - device available: True - new availability: True - changed: False [0x56B7](WB01): Device seen - marking the device available and resetting counter [0x56B7](WB01): Update device availability - device available: True - new availability: True - changed: False [0xFCD5](TS130F): Device seen - marking the device available and resetting counter [0xFCD5](TS130F): Update device availability - device available: True - new availability: True - changed: False [0xA2E4](MS01): Device seen - marking the device available and resetting counter [0xA2E4](MS01): Update device availability - device available: True - new availability: True - changed: False [0xDC19](TS011F): Device seen - marking the device available and resetting counter [0xDC19](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xC3D4](TS011F): Device seen - marking the device available and resetting counter [0xC3D4](TS011F): Update device availability - device available: True - new availability: True - changed: False [0xC56C](TS011F): Device seen - marking the device available and resetting counter [0xC56C](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x1033](MS01): Device seen - marking the device available and resetting counter [0x1033](MS01): Update device availability - device available: True - new availability: True - changed: False [0xD279](MS01): Device seen - marking the device available and resetting counter [0xD279](MS01): Update device availability - device available: True - new availability: True - changed: False [0x34AA](TS011F): Device seen - marking the device available and resetting counter [0x34AA](TS011F): Update device availability - device available: True - new availability: True - changed: False [0x70DB](TS011F): Device seen - marking the device available and resetting counter [0x70DB](TS011F): Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0xF832), src_ep=11, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=6, data=Serialized[b'\x18$\n\x00\x00\x10\x00'], tx_options=, radius=28, non_member_radius=0, lqi=84, rssi=None) [0xF832:11:0x0006] Received ZCL frame: b'\x18$\n\x00\x00\x10\x00' [0xF832:11:0x0006] 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=36, command_id=10, *direction=, *is_reply=True) [0xF832:11:0x0006] Decoded ZCL frame: TuyaZBOnOffAttributeCluster:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0xF832:11:0x0006] Received command 0x0A (TSN 36): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=Bool, value=))]) [0xF832:11:0x0006] Attribute report received: on_off= [0x40C3](TH01): Device seen - marking the device available and resetting counter
jacekk015 commented 1 year ago

@HAuser1234 Again. I need pairing logs from HA - not pairing window. Enable DEBUG level first and restart HA. Remove device from HA first. I need logs of pairing process and still wait for 10 minutes. After you pair TRV device still sends data in background - that's why we need to wait. DON'T CUT ANYTHING from the logs. You can download logs from HA settings - it's somewhere there - just click download as file. Post it here as a file.

As for other errors just post here part of the logs of time you see the error. Best +/-5 minutes - so I can see what happened before and after.

Same for other functions you want to have. Take a break[for logs clearness] Switch something on TRV Post here part of the logs with that action +5 minutes. Zigbee is slow - when you switch something on TRV then HA gets it after even 10-15 seconds. It can take even longer if the device is far away from coordinator and data need to jump over 2 or 3 routers first. We need that extra log time for that purpose - 5 minutes is safe enough.

HAuser1234 commented 1 year ago

ok thanks I wast sure what info is needed Thats the pairing logfile: home-assistant_2023-01-19T07-23-53.570Z.log I have captured it but wast sure if this was it

The delay is still there but only sometimes. At the moment it works fine. Only if I turn it of and then on it takes 30 s for it to turn on in reality. Changing the temperature is much faster but sometimes it has the same problem. I can record this when it happens again.

One thing do you see any option for open window detection to turn on or off? There should be one according to the manual. The problem is that this is tured off bei default

jacekk015 commented 1 year ago

You can post here all problematic parts of the log.

Here you get an error that command could not be sent because of coordinator can't find the route to the TRV -> NWK_NO_ROUTE Check your topology and

2023-01-19 08:17:03.967 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0xAB30](TS0601): failed to set attribute: value: False attribute: 1026 cluster_id: 61184 endpoint_id: 1 Request failed after 5 attempts: <Status.NWK_NO_ROUTE: 205>

You link quality LQI is about 85, probably in 255 max scale. That could be reason of late delivery. Check you routers/repeaters around. Maybe some nearby router need to be re-enabled from power.

2023-01-19 08:17:27.377 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xAB30), 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'\ta\x02\x00Y\x10\x02\x00\x04\x00\x00\x00\xb4'], tx_options=<TransmitOptions.NONE: 0>, radius=27, non_member_radius=0, lqi=84, rssi=None)
jacekk015 commented 1 year ago

Open window detection never will work properly. TRV is to close to the hot heater. My TRVs reported temp properly when I've put them in the freezer. Many users tried this. Nevertheless I've seen that under 0x0108 attribute:

2023-01-19 08:08:58.165 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0108 (command 0x0002)

Can make sensor of it. But usability probably won't be good.

[edit] Is that a function to turn on/off???? Or just window detection sensor?

HAuser1234 commented 1 year ago

ok thank you I have checked most devices on my network have interestingly such a low LQI even those near the main point Maybe I add a usb extension cable. Probably the antenna inside the server rack is not a good Idea, however the other devices dont seem to have a problem with the low LQI score Even the thermostats now react suddenly faster. I have observed this behavior also on door sensors and PIR sensors. Maybe it is a zigbee rerouting thing I dont know.

according to the manual it is a on/off thing, not a sensor. I see that there are issues with that detection, is it a lot of work to enable it to try it out here. The Valve is directly under the window in my house.

jacekk015 commented 1 year ago

Steel rack case is an isolator. Zigbee re-routs all the time, but it's mainly when you add a mains powered device, which acts as a router. Sometimes is best to wait 2-3 hours. You can click after time a topology view and see a connections between devices. Bulb or Zigbee socket is a router. Cheapest solution is to add repeater - IKEA have one cheap device - have one in my network. https://www.ikea.com/pt/en/p/tradfri-signal-repeater-10400408/

Every mains powered device, which acts as a router you can check children LQI under device card in HA. 3 dots button -> Manage Zigbee Device -> Neighbor devices Check LQI to the next router or Coordinator

W can make it a switch. Later evening, off my local time. There will be no name on the switch - not possible to name it technically.

HAuser1234 commented 1 year ago

ok thank you very much! The zigbee socket/router next to the antenna has also only 85 LQI I probably will simply add a usb extensioncable to the HA server and put the antenna outside. I was before wondering how everything worked so well with the antenna inside there😂 Probably all works because there are ~20 routers as sockets or cover controllers on my network. I have checked the router yes the stronges connection seems to be only 80 I will change that for sure thank you so much!

That the switch is not named is really no problem. Do you know how to get the operating preset mode 0/1/2 to be controlled by HA since it can be set through the zigbee device managemet option(?)

jacekk015 commented 1 year ago

I've myself switched from Sonoff Zigbee Bridge to Zigbee 3.0 USB Dongle plus E version - it has 20 dBm by default Recently had also Slaesh's CC2652RB stick. One thing to notice is also frequency overlapping between Zigbee and WiFi[and Bluetooth too] They both work on 2.4GHz https://www.metageek.com/training/resources/zigbee-wifi-coexistence/ Best is to wisely choose channels for both.

Do you know how to get the operating preset mode 0/1/2 to be controlled by HA since it can be set through the zigbee device managemet option(?)

Yes - @MattWestb would need to help you with it. Patch to HA file is needed as I remember correctly. Patched file will make the Preset drop-down list to appear for your TRV.

HAuser1234 commented 1 year ago

ok thank you for the information. I will look further into this! I have a wifi 6 mesh network with beamforming antennas, which would mean that the wifi intensity is really uneven within the house as well as multiple wifi channels are used at the same time when I understand that correctly. A probably pretty hard environment for zigbee. Oh that would be great if that would work!

MattWestb commented 1 year ago

@jacekk015 Numbers and functions for the preset and i patching one current file for ZHA.

jacekk015 commented 1 year ago

@MattWestb _TZE200_0hg58wyk

value == 0:
operation_preset = self.Preset.Manual

value == 1:
operation_preset = self.Preset.Away

value == 2:
operation_preset = self.Preset.Schedule
MattWestb commented 1 year ago

climateE-top.zip Added all 5 E-top devices i have found. Copy into the HA container /usr/src/homeassistant/homeassistant/components/zha/climate.py (make one backup of the original if somthing is going wrong). Normal is the HA config folder at /config/. So if putting the file in your HA config folder you can using cp /config/climate.py /usr/src/homeassistant/homeassistant/components/zha/climate.py inside the container for doing that and then restarting HA

jacekk015 commented 1 year ago

@HAuser1234 Battery state - that TRV doesn't report battery level in percent. It alarms only if power is low, so probably you will need to wait for reaction when battery will be empty. None of your logs contain 0x0523 attribute report, so the TRV just doesn't report if all is OK Replace the quirk and restart HA - you should see a switch -> Window detection function. ts0601_trv_etop.py.zip

HAuser1234 commented 1 year ago

There seems to be a bug in there the thermostat is not recognised anymore home-assistant_2023-01-20T09-18-19.764Z.log (all logs after restart and a new binding of one thermostat) no entitys are found in this thermostat

jacekk015 commented 1 year ago

Yes. Small bug was there. ts0601_trv_etop.zip

HAuser1234 commented 1 year ago

ok thank you very much it works now!

what should that mean? (unbekannt = unknown) grafik

@MattWestb

climateE-top.zip Added all 5 E-top devices i have found. Copy into the HA container /usr/src/homeassistant/homeassistant/components/zha/climate.py (make one backup of the original if somthing is going wrong). Normal is the HA config folder at /config/. So if putting the file in your HA config folder you can using cp /config/climate.py /usr/src/homeassistant/homeassistant/components/zha/climate.py inside the container for doing that and then restarting HA

does this come eventually in the official release or do I have to copy that in myself?

MattWestb commented 1 year ago

The HVAC action is one left over from not having patched climate.py and you can deleting it. Until some one can writing tests for all tuya TRVs is the maintainer not accepting merging of this quirks. I have trying getting the updated climate.py for other tuya TRVs but no luck getting them merged so need applying patching every HA update and hoping ZHA is not braking it and must redoing the patch.

HAuser1234 commented 1 year ago

Ah ok thank you

jacekk015 commented 1 year ago

Unfortunately your TRV doesn't send any state of TRV or valve. unbekannt is because that is unsupported. Z2M and your logs show one attribute 0x0403 which changes from [0] to [1] https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/devices/tuya.js#L2329

Maybe that's the state, but strange if Z2M didn't check that. You, as an owner of the TRV, can only check if that value switches if the TRV goes from heating to idle and back.

2023-01-19 08:08:58.056 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
2023-01-19 08:09:13.566 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
2023-01-19 08:09:24.529 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
2023-01-19 08:09:30.641 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [1] for attribute 0x0403 (command 0x0002)
2023-01-19 08:09:51.662 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
2023-01-19 08:09:57.757 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [1] for attribute 0x0403 (command 0x0002)
2023-01-19 08:10:43.655 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
2023-01-19 08:10:48.881 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [1] for attribute 0x0403 (command 0x0002)
2023-01-19 08:11:37.403 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
2023-01-19 08:11:37.561 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
2023-01-19 08:11:37.830 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
2023-01-19 08:11:47.612 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
2023-01-19 08:11:58.561 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
2023-01-19 08:12:09.561 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
2023-01-19 08:12:20.589 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
2023-01-19 08:12:31.586 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
2023-01-19 08:12:42.584 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
2023-01-19 08:13:04.562 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
2023-01-19 08:13:15.565 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
2023-01-19 08:13:26.574 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
2023-01-19 08:13:37.561 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
2023-01-19 08:13:48.589 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
2023-01-19 08:13:58.566 DEBUG (MainThread) [zhaquirks.tuya] [0xab30:1:0xef00] Received value [0] for attribute 0x0403 (command 0x0002)
github-actions[bot] commented 1 year ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.