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
682 stars 633 forks source link

[Device support request]_TZE200_hl0ss9oa #2531

Open jonm802 opened 10 months ago

jonm802 commented 10 months ago

Problem description

Please add support for tuya presence detector

Solution description

Motion and illuminance working but no other features, would be good to be able to access setting and the other features offered by the device

Screenshots/Video

Screenshots/Video [Paste/upload your media here]

Device signature

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=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)", "endpoints": { "1": { "profile_id": "0x0104", "device_type": "0x0402", "input_clusters": [ "0x0000", "0x0003", "0x0400", "0x0500", "0xe000", "0xe002", "0xee00", "0xef00" ], "output_clusters": [] }, "242": { "profile_id": "0xa1e0", "device_type": "0x0061", "input_clusters": [], "output_clusters": [ "0x0021" ] } }, "manufacturer": "_TZE200_hl0ss9oa", "model": "TS0225", "class": "zigpy.device.Device" } ```

Diagnostic information

Diagnostic information ```json { "home_assistant": { "installation_type": "Home Assistant Supervised", "version": "2023.8.2", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.11.4", "docker": true, "arch": "x86_64", "timezone": "Europe/London", "os_name": "Linux", "os_version": "5.10.0-24-amd64", "supervisor": "2023.08.1", "host_os": "Debian GNU/Linux 11 (bullseye)", "docker_version": "24.0.5", "chassis": "desktop", "run_as_root": true }, "custom_components": { "circadian_lighting": { "version": "2.1.4", "requirements": [] }, "sdnotify": { "version": "0.0.1", "requirements": [ "sdnotify" ] }, "powercalc": { "version": "0.1.0", "requirements": [ "numpy>=1.21.1" ] }, "alarmo": { "version": "v1.9.10", "requirements": [] }, "fontawesome": { "version": "2.1.5", "requirements": [] }, "octopus_energy": { "version": "8.1.0", "requirements": [] }, "magic_areas": { "version": "3.0.0-beta", "requirements": [] }, "better_thermostat": { "version": "1.2.2", "requirements": [] }, "adaptive_lighting": { "version": "1.19.0", "requirements": [ "ulid-transform" ] }, "hacs": { "version": "1.32.1", "requirements": [ "aiogithubapi>=22.10.1" ] }, "ui_lovelace_minimalist": { "version": "v1.3.6", "requirements": [ "aiofiles==0.8.0", "aiogithubapi>=22.2.4" ] }, "alexa_media": { "version": "4.6.5", "requirements": [ "alexapy==1.26.8", "packaging>=20.3", "wrapt>=1.12.1" ] }, "browser_mod": { "version": "2.3.0", "requirements": [] }, "lightener": { "version": "v2.2.0", "requirements": [] }, "localtuya": { "version": "5.2.1", "requirements": [] }, "hildebrandglow_dcc": { "version": "1.0.3", "requirements": [ "pyglowmarkt==0.5.5" ] }, "anniversaries": { "version": "5.2.0", "requirements": [ "python-dateutil>=2.8.1", "integrationhelper>=0.2.2", "voluptuous>=0.12.1" ] } }, "integration_manifest": { "domain": "zha", "name": "Zigbee Home Automation", "after_dependencies": [ "onboarding", "usb" ], "codeowners": [ "@dmulcahey", "@adminiuga", "@puddly" ], "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" ], "requirements": [ "bellows==0.35.9", "pyserial==3.5", "pyserial-asyncio==0.6", "zha-quirks==0.0.102", "zigpy-deconz==0.21.0", "zigpy==0.56.4", "zigpy-xbee==0.18.1", "zigpy-zigate==0.11.0", "zigpy-znp==0.11.4" ], "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" ] } ], "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*" } ], "is_built_in": true }, "data": { "ieee": "**REDACTED**", "nwk": 60509, "manufacturer": "_TZE200_hl0ss9oa", "model": "TS0225", "name": "_TZE200_hl0ss9oa TS0225", "quirk_applied": false, "quirk_class": "zigpy.device.Device", "manufacturer_code": 4417, "power_source": "Mains", "lqi": 224, "rssi": -44, "last_seen": "2023-08-18T11:56:02", "available": true, "device_type": "Router", "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=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)", "endpoints": { "1": { "profile_id": "0x0104", "device_type": "0x0402", "input_clusters": [ "0x0000", "0x0003", "0x0400", "0x0500", "0xe000", "0xe002", "0xee00", "0xef00" ], "output_clusters": [] }, "242": { "profile_id": "0xa1e0", "device_type": "0x0061", "input_clusters": [], "output_clusters": [ "0x0021" ] } }, "manufacturer": "_TZE200_hl0ss9oa", "model": "TS0225" }, "active_coordinator": false, "entities": [ { "entity_id": "binary_sensor.tze200_hl0ss9oa_ts0225_motion", "name": "_TZE200_hl0ss9oa TS0225" }, { "entity_id": "button.tze200_hl0ss9oa_ts0225_identify", "name": "_TZE200_hl0ss9oa TS0225" }, { "entity_id": "sensor.tze200_hl0ss9oa_ts0225_illuminance", "name": "_TZE200_hl0ss9oa TS0225" } ], "neighbors": [], "routes": [], "endpoint_names": [ { "name": "IAS_ZONE" }, { "name": "PROXY_BASIC" } ], "user_given_name": null, "device_reg_id": "3c9d8fca48ed0e47710a71304ace0a7b", "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": "_TZE200_hl0ss9oa" }, "0x0005": { "attribute_name": "model", "value": "TS0225" } }, "unsupported_attributes": {} }, "0x0003": { "endpoint_attribute": "identify", "attributes": {}, "unsupported_attributes": {} }, "0x0500": { "endpoint_attribute": "ias_zone", "attributes": { "0x0010": { "attribute_name": "cie_addr", "value": [ 222, 243, 252, 254, 255, 219, 180, 132 ] }, "0x0000": { "attribute_name": "zone_state", "value": 0 }, "0x0002": { "attribute_name": "zone_status", "value": 1 }, "0x0001": { "attribute_name": "zone_type", "value": 13 } }, "unsupported_attributes": {} }, "0xe002": { "endpoint_attribute": null, "attributes": {}, "unsupported_attributes": {} }, "0xef00": { "endpoint_attribute": null, "attributes": {}, "unsupported_attributes": {} }, "0xee00": { "endpoint_attribute": null, "attributes": {}, "unsupported_attributes": {} }, "0xe000": { "endpoint_attribute": null, "attributes": {}, "unsupported_attributes": {} }, "0x0400": { "endpoint_attribute": "illuminance", "attributes": { "0xfffd": { "attribute_name": "cluster_revision", "value": 1 }, "0x0000": { "attribute_name": "measured_value", "value": 30648 } }, "unsupported_attributes": { "0x0004": { "attribute_name": "light_sensor_type" }, "0xfffe": { "attribute_name": "reporting_status" } } } }, "out_clusters": {} }, "242": { "device_type": { "name": "PROXY_BASIC", "id": 97 }, "profile_id": 41440, "in_clusters": {}, "out_clusters": { "0x0021": { "endpoint_attribute": "green_power", "attributes": {}, "unsupported_attributes": {} } } } } } } ```

Logs

Logs ```python [Paste the logs here] ```

Custom quirk

Custom quirk ```python [Paste your custom quirk here] ```

Additional information

https://community.hubitat.com/t/the-new-tuya-24ghz-human-presence-sensors-ts0225-tze200-hl0ss9oa-tze200-2aaelwxk-finally-good-ones/122283

CtrlAltSpoods commented 10 months ago

+1 for this device please :) I've just had one delivered, hard to know what's supported before they arrive as they don't seem to specify the T_**** numbers on store pages :/

jonm802 commented 10 months ago

https://github.com/Koenkk/zigbee2mqtt/issues/18497

If this is any help

jonm802 commented 10 months ago

+1 for this device please :) I've just had one delivered, hard to know what's supported before they arrive as they don't seem to specify the T_**** numbers on store pages :/

Just motion and illumination, identify doesn't work but sometimes causes the device to enter clear state

gfelisberto commented 8 months ago

I also just got one. The luminance seems to update but only at 5 minutes intervals. The motion detector when I added the device seemed to work like 2-3 times and then got stuck at Detected while no one is the room for hours. Presence is nowhere to be seen :(

Is there a guide/tutorial that I could follow to add support?

igorsantos07 commented 5 months ago

Your report is curious, @gfelisberto. I got two of the same model, which seem to be quite similar to original post - it's even referred on the Hubitat post as well. Mine are TS0225, _TZE200_2aaelwxk, one is square and the other is the long version. The luminance and motion sensors work great for me on a standard ZHA installation, using a Sonoff Zigbee Dongle Plus.

But then, I'm also here in hopes some extra settings get exposed as well :pray:

Here are the diagnostics files for the: