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
720 stars 669 forks source link

[Device Support Request] _TZE200_p2qzzazi - TS0601 #3132

Open slothking87 opened 4 months ago

slothking87 commented 4 months ago

Problem description

Sold as a zigbee blind driver from Kogan (https://www.kogan.com/au/buy/kogan-smarterhometm-zigbee-smart-blinds-driver-kogan-bndl/).

Have tried to add the model number into the existing quirk, but that hasnt helped. I can view buttons in HA once added, but the bottons dont function - Error Failed to call service cover/close_cover. Failed to send request: Failed to deliver packet: <TXStatus.NWK_ROUTE_DISCOVERY_FAILED: 208>

EDIT: they look to be rebranded Ningbo Yihao products. Possibly model YH003 or YH004. Not sure if that helps

Solution description

To be able to use the basic up, down and stop functions of the blind driver

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=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": "0x0104", "device_type": "0x0051", "input_clusters": [ "0x0000", "0x0004", "0x0005", "0xef00" ], "output_clusters": [ "0x000a", "0x0019" ] } }, "manufacturer": "_TZE200_p2qzzazi", "model": "TS0601", "class": "zigpy.device.Device" } ```

Diagnostic information

Diagnostic information ```json "data": { "ieee": "**REDACTED**", "nwk": 26210, "manufacturer": "_TZE200_p2qzzazi", "model": "TS0601", "name": "_TZE200_p2qzzazi TS0601", "quirk_applied": false, "quirk_class": "zigpy.device.Device", "quirk_id": null, "manufacturer_code": 4098, "power_source": "Battery or Unknown", "lqi": null, "rssi": null, "last_seen": "2024-05-02T19:51: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": "0x0104", "device_type": "0x0051", "input_clusters": [ "0x0000", "0x0004", "0x0005", "0xef00" ], "output_clusters": [ "0x000a", "0x0019" ] } }, "manufacturer": "_TZE200_p2qzzazi", "model": "TS0601" }, "active_coordinator": false, "entities": [ { "entity_id": "update.tze200_p2qzzazi_ts0601_firmware", "name": "_TZE200_p2qzzazi TS0601" } ```

Logs

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

Custom quirk

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

Additional information

_No response

slothking87 commented 4 months ago

I got it working fine with Z2MQTT with a few adjustments to an existing script

praetoros commented 3 months ago

Hey @slothking87 could you please share some details for the setup. Looking to do the same.

slothking87 commented 3 months ago

Hey @slothking87 could you please share some details for the setup. Looking to do the same.

I'll shoot them through to you tomorrow. It's as adjustment on an existing template if I remember correctly

slothking87 commented 3 months ago

Hey @slothking87 could you please share some details for the setup. Looking to do the same.

I was able to use an existing definition and adjust the model number and it worked. I have loaded my external definition JS file here

praetoros commented 3 months ago

thanks a bunch @slothking87!