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
773 stars 702 forks source link

[Device Support Request] Smoke Detector TS0601 by _TZE200_rccxox8p #2740

Open Kri72 opened 1 year ago

Kri72 commented 1 year ago

Problem description

Hello, I've purchased this zigbee smoke Detector (TS0601 by _TZE200_rccxox8p) https://fr.aliexpress.com/item/1005005855776130.html?spm=a2g0o.order_list.order_list_main.23.15355e5bMWrOw4&gatewayAdapt=glo2fra I've installed the quirk, that enable me to see new a "Smoke" sensor. However, this one remains clear, even when the detector detect smoke and start ringing.

Solution description

I'll like to get the smoke sensor working in HA and reflecting the detector state.

Screenshots/Video

Screenshots/Video ![image](https://github.com/zigpy/zha-device-handlers/assets/91803162/7ebb3783-bf4e-467d-bdaf-d6c29e584367)

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=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)", "endpoints": { "1": { "profile_id": "0x0104", "device_type": "0x0402", "input_clusters": [ "0x0000", "0x0004", "0x0005", "0x0500", "0xef00" ], "output_clusters": [ "0x000a", "0x0019" ] } }, "manufacturer": "_TZE200_rccxox8p", "model": "TS0601", "class": "ts0601_smoke.TuyaSmokeDetector0601" } ```

Diagnostic information

Diagnostic information ```json { "home_assistant": { "installation_type": "Home Assistant OS", "version": "2023.11.2", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.11.6", "docker": true, "arch": "aarch64", "timezone": "Europe/Paris", "os_name": "Linux", "os_version": "6.1.21-v8", "supervisor": "2023.11.0", "host_os": "Home Assistant OS 11.1", "docker_version": "24.0.6", "chassis": "embedded", "run_as_root": true }, "custom_components": { "samsungtv_tizen": { "version": "1.6.1", "requirements": [ "websocket-client>=0.56.0", "wakeonlan>=2.0.0", "numpy>=1.19.2" ] }, "pronote": { "version": "0.13.0", "requirements": [ "pronotepy==2.12.1" ] }, "watchman": { "version": "0.5.1", "requirements": [ "prettytable==3.0.0" ] }, "webrtc": { "version": "v3.5.0", "requirements": [] }, "hacs": { "version": "1.33.0", "requirements": [ "aiogithubapi>=22.10.1" ] }, "eufy_security": { "version": "7.7.4", "requirements": [ "websocket-client==1.4.2", "aiortsp==1.3.7" ] }, "localtuya": { "version": "5.2.1", "requirements": [] }, "zha_toolkit": { "version": "v1.1.6", "requirements": [ "pytz" ] }, "frigate": { "version": "4.0.0", "requirements": [ "pytz==2022.7" ] }, "govee": { "version": "0.2.2", "requirements": [ "govee-api-laggat==0.2.2", "dacite==1.6.0" ] }, "gazpar": { "version": "1.3.4", "requirements": [ "pygazpar==1.2.0" ] }, "alexa_media": { "version": "4.7.9", "requirements": [ "alexapy==1.27.8", "packaging>=20.3", "wrapt>=1.14.0" ] }, "blitzortung": { "version": "1.0.1", "requirements": [ "paho-mqtt>=1.5.0" ] }, "ble_monitor": { "version": "12.6.1", "requirements": [ "pycryptodomex>=3.18.0", "janus>=1.0.0", "aioblescan>=0.2.14", "btsocket>=0.2.0", "pyric>=0.1.6.3" ] }, "circadian_lighting": { "version": "2.1.4", "requirements": [] } }, "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", "universal_silabs_flasher" ], "requirements": [ "bellows==0.36.8", "pyserial==3.5", "pyserial-asyncio==0.6", "zha-quirks==0.0.106", "zigpy-deconz==0.21.1", "zigpy==0.59.0", "zigpy-xbee==0.19.0", "zigpy-zigate==0.11.0", "zigpy-znp==0.11.6", "universal-silabs-flasher==0.0.14", "pyserial-asyncio-fast==0.11" ], "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": "_uzg-01._tcp.local.", "name": "uzg-01*" }, { "type": "_slzb-06._tcp.local.", "name": "slzb-06*" } ], "is_built_in": true }, "data": { "ieee": "**REDACTED**", "nwk": 58252, "manufacturer": "_TZE200_rccxox8p", "model": "TS0601", "name": "_TZE200_rccxox8p TS0601", "quirk_applied": true, "quirk_class": "ts0601_smoke.TuyaSmokeDetector0601", "quirk_id": null, "manufacturer_code": 4417, "power_source": "Battery or Unknown", "lqi": 180, "rssi": -55, "last_seen": "2023-11-11T13:05:39", "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=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=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)", "endpoints": { "1": { "profile_id": "0x0104", "device_type": "0x0402", "input_clusters": [ "0x0000", "0x0004", "0x0005", "0x0500", "0xef00" ], "output_clusters": [ "0x000a", "0x0019" ] } }, "manufacturer": "_TZE200_rccxox8p", "model": "TS0601" }, "active_coordinator": false, "entities": [ { "entity_id": "binary_sensor.detecteur_fumee_sous_sol_smoke", "name": "_TZE200_rccxox8p TS0601" } ], "neighbors": [], "routes": [], "endpoint_names": [ { "name": "IAS_ZONE" } ], "user_given_name": "D\u00e9tecteur Fum\u00e9e Sous-Sol", "device_reg_id": "1ada49ef68a6e671da06b4d60944b173", "area_id": "garage", "cluster_details": { "1": { "device_type": { "name": "IAS_ZONE", "id": 1026 }, "profile_id": 260, "in_clusters": { "0x0000": { "endpoint_attribute": "basic", "attributes": { "0x0001": { "attribute_name": "app_version", "value": 72 } }, "unsupported_attributes": {} }, "0x0004": { "endpoint_attribute": "groups", "attributes": {}, "unsupported_attributes": {} }, "0x0005": { "endpoint_attribute": "scenes", "attributes": {}, "unsupported_attributes": {} }, "0x0500": { "endpoint_attribute": "ias_zone", "attributes": { "0x0002": { "attribute_name": "zone_status", "value": 0 }, "0x0001": { "attribute_name": "zone_type", "value": 40 } }, "unsupported_attributes": {} }, "0xef00": { "endpoint_attribute": "tuya_manufacturer", "attributes": { "0x0401": { "attribute_name": "smoke_detected", "value": 1 } }, "unsupported_attributes": {} } }, "out_clusters": { "0x000a": { "endpoint_attribute": "time", "attributes": {}, "unsupported_attributes": {} }, "0x0019": { "endpoint_attribute": "ota", "attributes": {}, "unsupported_attributes": {} } } } } } } ```

Logs

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

Custom quirk

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

Additional information

Thanks in advance for your support!

Coennie commented 1 year ago

I have the same issue, would love it to get visible under HA

systemerror-codenotfound commented 12 months ago

Same problem here, it's not working over zigbee

systemerror-codenotfound commented 12 months ago

@Coennie and @Kri72 i just got it to work following this:

https://community.home-assistant.io/t/tuya-smart-smoke-detector-not-supported-ts0601-by-tze200-uebojraa/476288/4

Just change one of the lines, restart HA and it will detect it

signature = {
    MODELS_INFO: [
        ("_TZE200_rccxox8p", "TS0601"),
        ("_TZE200_ntcy3xu1", "TS0601"),
        ("_TZE200_vzekyi4c", "TS0601"),
bbriers commented 11 months ago

@Coennie @Kri72 same problem here, did anyone succeed to get it visible as smoke detector i tried the above solution from systemerror but it did not change anything.

Kri72 commented 11 months ago

@bbriers , unfortunately not.. haven't succeeded to get them working ,😭

clutgen commented 11 months ago

Followed suggestion of @systemerror-codenotfound, paired the device again, but it didn't work as well.

Kri72 commented 11 months ago

Hello, I tried once more.. but it still doesn't want to trigger when they're is smoke..😭

bbriers commented 11 months ago

even after i tested it with the tuya integration (bought tuya gateway in order to test) it does not trigger when there is smoke. the only thing that reports correctly trough the integration is the battery status. also the smoke density is not updated. These smokedetectors do not even report back the smoke density in the tuya app, only smoke alarm and battery level. Since i bought 8, i will have to use them on tuya app and only monitor battery level in home assistant untill i find some real zigbee devices for a decent price.

InfinityMe commented 9 months ago

О, у меня такой же

https://github.com/sprut/Hub/issues/3040

MattWestb commented 9 months ago

О, у меня такой же

sprut/Hub#3040

GT = Oh I have the same one

Kri72 commented 7 months ago

Hello.. I recently switched my home assistant from zha to z2mqtt, and tried to integrate the smoke detectors again.. and it works!!! 😄

mjacoulet commented 1 month ago

@Coennie and @Kri72 i just got it to work following this:

https://community.home-assistant.io/t/tuya-smart-smoke-detector-not-supported-ts0601-by-tze200-uebojraa/476288/4

Just change one of the lines, restart HA and it will detect it

signature = {
    MODELS_INFO: [
        ("_TZE200_rccxox8p", "TS0601"),
        ("_TZE200_ntcy3xu1", "TS0601"),
        ("_TZE200_vzekyi4c", "TS0601"),

Thanks. it worked perfectly for me.