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
770
stars
702
forks
source link
[Device Support Request] Tuya TS0225 by _TZ3210_ncw88jfq #3331
This is a ZigBee Presence Sensor, but it isn't supported at all. There are other TS0225 devices but this doesn't show anything except
IAS Zone, which is always On.
Problem description
This is a ZigBee Presence Sensor, but it isn't supported at all. There are other TS0225 devices but this doesn't show anything except IAS Zone, which is always On.
Solution description
Device supported or a custom quirk ?
Screenshots/Video
Screenshots/Video
[Paste/upload your media here]Device signature
Device signature
```json { "node_descriptor": { "logical_type": 1, "complex_descriptor_available": 0, "user_descriptor_available": 0, "reserved": 0, "aps_flags": 0, "frequency_band": 8, "mac_capability_flags": 142, "manufacturer_code": 4098, "maximum_buffer_size": 82, "maximum_incoming_transfer_size": 82, "server_mask": 11264, "maximum_outgoing_transfer_size": 82, "descriptor_capability_field": 0 }, "endpoints": { "1": { "profile_id": "0x0104", "device_type": "0x0402", "input_clusters": [ "0x0000", "0x0500", "0xe002", "0xef00" ], "output_clusters": [ "0x000a", "0x0019" ] } }, "manufacturer": "_TZ3210_ekjc2rzh", "model": "TS0225", "class": "zigpy.device.Device" }```Diagnostic information
Diagnostic information
```json { "home_assistant": { "installation_type": "Home Assistant OS", "version": "2024.8.3", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.12.4", "docker": true, "arch": "x86_64", "timezone": "Australia/Brisbane", "os_name": "Linux", "os_version": "6.6.46-haos", "supervisor": "2024.08.0", "host_os": "Home Assistant OS 13.1", "docker_version": "26.1.4", "chassis": "embedded", "run_as_root": true }, "custom_components": { "hacs": { "documentation": "https://hacs.xyz/docs/configuration/start", "version": "2.0.0", "requirements": [ "aiogithubapi>=22.10.1" ] }, "webhook_service": { "documentation": "https://github.com/HCookie/Webhook-Service-home-assistant", "version": "0.1.0", "requirements": [] }, "powercalc": { "documentation": "https://docs.powercalc.nl", "version": "v1.14.2", "requirements": [ "numpy>=1.21.1" ] }, "dahua": { "documentation": "https://github.com/rroller/dahua", "version": "0.9.60", "requirements": [] }, "dreame_vacuum": { "documentation": "https://github.com/Tasshack/dreame-vacuum", "version": "v2.0.0b16", "requirements": [ "pillow", "numpy", "pybase64", "requests", "pycryptodome", "python-miio", "py-mini-racer", "paho-mqtt" ] }, "waste_collection_schedule": { "documentation": "https://github.com/mampfes/hacs_waste_collection_schedule#readme", "version": "2.1.0", "requirements": [ "icalendar", "recurring_ical_events", "icalevents", "beautifulsoup4", "lxml" ] }, "localtuya": { "documentation": "https://github.com/rospogrigio/localtuya/", "version": "5.2.1", "requirements": [] }, "format_ble_tracker": { "documentation": "https://github.com/formatBCE/Format-BLE-Tracker/blob/main/README.md", "version": "0.0.8", "requirements": [] }, "o365": { "documentation": "https://github.com/RogerSelwyn/O365-HomeAssistant", "version": "v4.8.4", "requirements": [ "O365==2.0.36", "BeautifulSoup4>=4.10.0" ] }, "amazon_polly": { "documentation": "https://www.home-assistant.io/integrations/amazon_polly", "version": "0.5.0", "requirements": [ "boto3==1.34.51" ] }, "huawei_solar": { "documentation": "https://github.com/wlcrs/huawei_solar/wiki", "version": "1.4.1", "requirements": [ "huawei-solar==2.3.0" ] }, "tesla_custom": { "documentation": "https://github.com/alandtse/tesla/wiki", "version": "3.24.1", "requirements": [ "teslajsonpy==3.12.0" ] }, "hacs-minerstat-extended": { "documentation": "https://github.com/gilsonmandalogo/hacs-minerstat", "version": "1.1.2", "requirements": [] } }, "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", "zha", "universal_silabs_flasher" ], "requirements": [ "universal-silabs-flasher==0.0.22", "zha==0.0.31" ], "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*" }, { "type": "_xzg._tcp.local.", "name": "xzg*" }, { "type": "_czc._tcp.local.", "name": "czc*" } ], "is_built_in": true }, "setup_times": { "null": { "setup": 5.050400068284944e-05 }, "570e7246a2f5c66b870b3ba2959e0a4d": { "wait_import_platforms": -0.010678618000383722, "wait_base_component": -0.0007476339997083414, "config_entry_setup": 11.228892548999283 } }, "data": { "ieee": "**REDACTED**", "nwk": 31940, "manufacturer": "_TZ3210_ekjc2rzh", "model": "TS0225", "name": "_TZ3210_ekjc2rzh TS0225", "quirk_applied": false, "quirk_class": "zigpy.device.Device", "quirk_id": null, "manufacturer_code": 4098, "power_source": "Mains", "lqi": 176, "rssi": -56, "last_seen": "2024-08-29T17:19:41", "available": true, "device_type": "Router", "signature": { "node_descriptor": { "logical_type": 1, "complex_descriptor_available": 0, "user_descriptor_available": 0, "reserved": 0, "aps_flags": 0, "frequency_band": 8, "mac_capability_flags": 142, "manufacturer_code": 4098, "maximum_buffer_size": 82, "maximum_incoming_transfer_size": 82, "server_mask": 11264, "maximum_outgoing_transfer_size": 82, "descriptor_capability_field": 0 }, "endpoints": { "1": { "profile_id": "0x0104", "device_type": "0x0402", "input_clusters": [ "0x0000", "0x0500", "0xe002", "0xef00" ], "output_clusters": [ "0x000a", "0x0019" ] } }, "manufacturer": "_TZ3210_ekjc2rzh", "model": "TS0225" }, "active_coordinator": false, "entities": [ { "entity_id": "binary_sensor.tz3210_ekjc2rzh_ts0225_ias_zone", "name": "_TZ3210_ekjc2rzh TS0225" }, { "entity_id": "update.tz3210_ekjc2rzh_ts0225_firmware", "name": "_TZ3210_ekjc2rzh TS0225" } ], "neighbors": [], "routes": [], "endpoint_names": [ { "name": "IAS_ZONE" } ], "user_given_name": null, "device_reg_id": "0ab5f207bbbdd0f47603bc990d9acbd6", "area_id": null, "cluster_details": { "1": { "device_type": { "name": "IAS_ZONE", "id": 1026 }, "profile_id": 260, "in_clusters": { "0x0000": { "endpoint_attribute": "basic", "attributes": { "0x0004": { "attribute_name": "manufacturer", "value": "_TZ3210_ekjc2rzh" }, "0x0005": { "attribute_name": "model", "value": "TS0225" } }, "unsupported_attributes": {} }, "0x0500": { "endpoint_attribute": "ias_zone", "attributes": { "0x0010": { "attribute_name": "cie_addr", "value": [ 190, 10, 19, 254, 255, 141, 121, 224 ] }, "0x0000": { "attribute_name": "zone_state", "value": 1 }, "0x0002": { "attribute_name": "zone_status", "value": 1 }, "0x0001": { "attribute_name": "zone_type", "value": 32771 } }, "unsupported_attributes": {} }, "0xe002": { "endpoint_attribute": null, "attributes": {}, "unsupported_attributes": {} }, "0xef00": { "endpoint_attribute": null, "attributes": {}, "unsupported_attributes": {} } }, "out_clusters": { "0x0019": { "endpoint_attribute": "ota", "attributes": {}, "unsupported_attributes": { "0x0002": { "attribute_name": "current_file_version" } } }, "0x000a": { "endpoint_attribute": "time", "attributes": {}, "unsupported_attributes": {} } } } } } }```Logs
Logs
```python [Paste the logs here] ```Custom quirk
No response
Additional information
No response