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
743 stars 680 forks source link

[Device Support Request] tuya neo siren _TZE200_d0yu2xgi #877

Closed dryros closed 1 year ago

dryros commented 3 years ago

I am writing to see if you are able to make this device work, I have been reading through several messages and through the homeassistant forum and I have seen that a user changed the peculiarity and it worked for him that is why I ask here if you could review it and see what is wrong now It seems that the manufacturer has modified something and now the switch does not work and the two entities of temperature and humidity do not give any value, I give you a little information about the device such as the signature:

{
  "node_descriptor": "NodeDescriptor (byte1 = 2, byte2 = 64, mac_capability_flags = 128, manufacturer_code = 4098, maximum_buffer_size = 82, maximum_incoming_transfer_size = 82, server_mask = 11264, maximum_outgoing_transfer_size = 82, descriptor_outgoing_transfer_size = 82, descriptor_complex_capability = 0, alloaddescriptor_complex_capability_ = False, * 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_routerty = False_capable, * is logicalid = False, * is_routerty = False_capable = False, * is_routerty = False_capable = = <LogicalType.EndDevice: 2>, * user_descriptor_available = False) ",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0403",
      "in_clusters": [
        "0x0000",
        "0x0003",
        "0x0006",
        "0x0402",
        "0x0405",
        "0xef00"
      ],
      "out_clusters": [
        "0x0003",
        "0x0019"
      ]
    }
  },
  "manufacturer": "_TZE200_d0yu2xgi",
  "model": "TS0601",
  "class": "zhaquirks.tuya.siren.TuyaSiren2"
}
[0x0000:zdo] ZDO request ZDOCmd.Mgmt_Permit_Joining_req: [60, <Bool.false: 0>]
Device 0x685e (80:4b:50:ff:fe:04:84:6d) joined the network
[0x685e] Requesting 'Node Descriptor'
Tries remaining: 2
[0x685e] Extending timeout for 0x0b request
Device 0x685e (80:4b:50:ff:fe:04:84:6d) joined the network
Skip initialization for existing device 80:4b:50:ff:fe:04:84:6d
[0x685e:zdo] ZDO request ZDOCmd.Device_annce: [0x685E, 80:4b:50:ff:fe:04:84:6d, 128]
[0x685e] Node Descriptor: NodeDescriptor(byte1=2, byte2=64, mac_capability_flags=128, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=0, *allocate_address=True, *complex_descriptor_available=False, *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, *is_valid=True, *logical_type=<LogicalType.EndDevice: 2>, *user_descriptor_available=False)
[0x685e] Discovering endpoints
Tries remaining: 3
[0x685e] Extending timeout for 0x0d request
[0x685e] Discovered endpoints: [1]
[0x685e:1] Discovering endpoint information
Tries remaining: 3
[0x685e] Extending timeout for 0x0f request
[0x685e: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 61184
[0x685e] Extending timeout for 0x11 request
[0x685e:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=17 command_id=Command.Read_Attributes_rsp>
[0x685e:1] Manufacturer: _TZE200_d0yu2xgi
[0x685e:1] Model: TS0601
Checking quirks for _TZE200_d0yu2xgi TS0601 (80:4b:50:ff:fe:04:84:6d)
Considering <class 'zhaquirks.tuya.siren.TuyaSiren2'>
Found custom device replacement for 80:4b:50:ff:fe:04:84:6d: <class 'zhaquirks.tuya.siren.TuyaSiren2'>
device - 0x685E:80:4b:50:ff:fe:04:84:6d entering async_device_initialized - is_new_join: True
device - 0x685E:80:4b:50:ff:fe:04:84:6d has joined the ZHA zigbee network
[0x685E](TS0601): started configuration
[0x685E:ZDO](TS0601): 'async_configure' stage succeeded
[0x685E:1:0x0405]: bound 'humidity' cluster: Status.SUCCESS
[0x685E:1:0x0405]: reporting 'measured_value' attr on 'humidity' cluster: 30/900/100: Result: '[ConfigureReportingResponseRecord(status=0)]'
[0x685E:1:0x0006]: bound 'on_off' cluster: Status.SUCCESS
[0x685E:1:0x0006]: reporting 'on_off' attr on 'on_off' cluster: 0/900/1: Result: '[ConfigureReportingResponseRecord(status=0)]'
[0x685E:1:0x0000]: finished channel configuration
[0x685E:1:0x0402]: bound 'temperature' cluster: Status.SUCCESS
[0x685E:1:0x0402]: reporting 'measured_value' attr on 'temperature' cluster: 30/900/50: Result: '[ConfigureReportingResponseRecord(status=0)]'
[0x685E:1:0x0019]: finished channel configuration
[0x685E:1:0x0405]: 'async_configure' stage failed: 'ConfigureReportingResponseRecord' object is not subscriptable
[0x685E:1:0x0006]: 'async_configure' stage failed: 'ConfigureReportingResponseRecord' object is not subscriptable
[0x685E:1:0x0000]: 'async_configure' stage succeeded
[0x685E:1:0x0402]: 'async_configure' stage failed: 'ConfigureReportingResponseRecord' object is not subscriptable
[0x685E:1:0x0019]: 'async_configure' stage succeeded
[0x685E](TS0601): completed configuration
[0x685E](TS0601): stored in registry: ZhaDeviceEntry(name='_TZE200_d0yu2xgi TS0601', ieee='80:4b:50:ff:fe:04:84:6d', last_seen=1620462642.1414979)
[0x685e] Extending timeout for 0x13 request
[0x685e:1:0x0003] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=19 command_id=Command.Default_Response>
[0x685E:1:0x0003]: executed 'trigger_effect' command with args: '(2, 0)' kwargs: '{}' result: [64, <Status.UNSUPPORTED_CLUSTER: 195>]
[0x685E](TS0601): started initialization
[0x685E:ZDO](TS0601): 'async_initialize' stage succeeded
[0x685E:1:0x0405]: initializing channel: from_cache: False
[0x685E:1:0x0405]: finished channel configuration
[0x685E:1:0x0006]: initializing channel: from_cache: False
[0x685E:1:0x0006]: finished channel configuration
[0x685E:1:0x0000]: initializing channel: from_cache: False
[0x685E:1:0x0000]: finished channel configuration
[0x685E:1:0x0402]: initializing channel: from_cache: False
[0x685E:1:0x0402]: finished channel configuration
[0x685E:1:0x0019]: initializing channel: from_cache: False
[0x685E:1:0x0019]: finished channel configuration
[0x685E:1:0x0405]: 'async_initialize' stage succeeded
[0x685E:1:0x0006]: 'async_initialize' stage succeeded
[0x685E:1:0x0000]: 'async_initialize' stage succeeded
[0x685E:1:0x0402]: 'async_initialize' stage succeeded
[0x685E:1:0x0019]: 'async_initialize' stage succeeded
[0x685E](TS0601): power source: Battery or Unknown
[0x685E](TS0601): completed initialization
[0x685E:1:0x0006]: attempting to update onoff state - from cache: True
[0x685e:zdo] ZDO request ZDOCmd.Node_Desc_req: [0x0000]
[0x685e:zdo] Unsupported ZDO request:ZDOCmd.Node_Desc_req
Ignoring message (b'0000000700') on cluster 10: unknown endpoint or cluster id: 'No cluster ID 0x000a on (80:4b:50:ff:fe:04:84:6d, 1)'
Ignoring message (b'0000000700') on cluster 10: unknown endpoint or cluster id: 'No cluster ID 0x000a on (80:4b:50:ff:fe:04:84:6d, 1)'
Ignoring message (b'0000000700') on cluster 10: unknown endpoint or cluster id: 'No cluster ID 0x000a on (80:4b:50:ff:fe:04:84:6d, 1)'
Ignoring message (b'0000000700') on cluster 10: unknown endpoint or cluster id: 'No cluster ID 0x000a on (80:4b:50:ff:fe:04:84:6d, 1)'
Ignoring message (b'0000000700') on cluster 10: unknown endpoint or cluster id: 'No cluster ID 0x000a on (80:4b:50:ff:fe:04:84:6d, 1)'
Ignoring message (b'0000000700') on cluster 10: unknown endpoint or cluster id: 'No cluster ID 0x000a on (80:4b:50:ff:fe:04:84:6d, 1)'
Ignoring message (b'0000000700') on cluster 10: unknown endpoint or cluster id: 'No cluster ID 0x000a on (80:4b:50:ff:fe:04:84:6d, 1)'
[0x685e:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=1 command_id=36>
Failed to parse message (b'1901240005') on cluster 61184, because Data is too short to contain 1 bytes
[0x685e:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=2 command_id=17>
[0x685e:1:0xef00] Unknown cluster-specific command 17

There are several of us who have the same problem to see if they can create a new peculiarity or tell us that we must modify and where, thank you very much

RealKanashii commented 1 year ago

Here: https://pastebin.com/90wpm9ai

officedrone commented 1 year ago

Yea it's odd that using ZHA some sirens report humidity/temp, while others are completely non-functioning (like mine for example). I wonder if it is regional/firmware difference per siren. In either case, let us know how far you get with that custom quirk @alexsands .

PedanticAvenger commented 1 year ago

Adding my name to the pile. Discovers, adds, see's temp/humidy sensor but no readings. Constant pairing blinking and cannot update any values/parameters.

RealKanashii commented 1 year ago

Adding my name to the pile. Discovers, adds, see's temp/humidy sensor but no readings. Constant pairing blinking and cannot update any values/parameters.

Maybe. Check hardware version:

image

PedanticAvenger commented 1 year ago
image
dkwireless commented 1 year ago

Same here. I just switched my network form Z2M to ZHA (around 70 devices, don't ask). This siren is the only one that I have problem with. It is working perfectly on Z2M, but I do remember that around one year ago it had the same problem on Z2M. It would pair and just blink exposing no entities. Maybe we can find answer in some change request on https://github.com/Koenkk/zigbee-herdsman/commit/71c89ce6cae2ce26b3d50ade7281de9d05f3fcc8

ic4-y commented 1 year ago

I just got one of these Sirens because I was thinking they might work with ZHA. However it appears they don't as I was soon to find out :smile: I would love to see them work at some point.

RealKanashii commented 1 year ago

it's working fine to me. But, I made a melody change using the "cluster attribute changes" once but now I cannot change it anymore. Anyone knows why?

I used the GUI to change it but it doesn't work anymore. I'm trying with services and it seems to wokr but the value is the same as before.

service: zha.set_zigbee_cluster_attribute
data:
  cluster_type: in
  ieee: 84:2e:14:ff:fe:db:83:65
  endpoint_id: 1
  cluster_id: 61184
  attribute: 1126
  manufacturer: "4098"
  value: "2"

image

RealKanashii commented 1 year ago

Be sure yours is using the quirk: t0601_siren.TuyaSiren2 image

mchwalisz commented 1 year ago

Experience the same problems. Device diagnostics:

zha-dc9a3fc16c6289589edc4a901deed46e-_TZE200_d0yu2xgi TS0601-db9ec66f82ca7561a7814d688788dfe7.json.txt

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.