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
685 stars 638 forks source link

[Device Support Request] TS0601 _TZE200_a4bpgplm tuya trv #1159

Closed joaoasilva closed 8 months ago

joaoasilva commented 2 years ago

Is your feature request related to a problem? Please describe. Bought this thermostat from AliExpress looking at this https://zigbee.blakadder.com/Haozee_TRV601.html that says it works with ZHA but it doesn't. It's possible to get the temperature and set but most of the stuff doesn't work.

Describe the solution you'd like For it to work ex: window status, schedule, turn on/off.

Someone already converted it successfully to work on HA but I don't understand how can I port that to ZHA here: https://github.com/Koenkk/zigbee-herdsman-converters/blob/245fc8273e3afac8d71ec196d0e3ae71e413cba9/lib/tuya.js#L426

Please help. Thanks

MattWestb commented 2 years ago

Is it one Rti-Tek or one SHENZHEN RSH white labeled device ? Looks in the tuya TRV matrix with design it heaving, https://github.com/zigpy/zigpy/discussions/653#discussioncomment-314395 I think both is having TRVs that is very similar in commands and can being adapter or adjusted for getting them working.

joaoasilva commented 2 years ago

It's the Rti-Tek 1. TRV 601 LED display on the side and rotating knob on the top.

MattWestb commented 2 years ago

You can trying adding the device ID after line 1061 https://github.com/zigpy/zha-device-handlers/blob/c5f1b2dd8f2a8e69fa2cd5e09bd9683ec4989fad/zhaquirks/tuya/ts0601_trv.py#L1058-L1062 in one new line as the other ID is made.

Configure local quirks https://github.com/zigpy/zha-device-handlers/discussions/693#discussioncomment-857274 and and putting your edited file in the new folder you have made for local quirk and restart HA.

If all is going well you is getting one TRV on the device card with the device class of your quirk.

You can testing some function but not all is working until patching ZHA.

joaoasilva commented 2 years ago

So sorry, I forgot to mention that it "works" getting the temperature and set because I've added it exactly there. 😅 But can't turn it off/on, get the window detection or schedule and sometimes it goes crazy and I can't set it anymore, have to restart again for it to work. Battery status doesn't work also it takes 3xAA size. It's not really usable. Is it easy to patch based on https://github.com/Koenkk/zigbee-herdsman-converters/blob/245fc8273e3afac8d71ec196d0e3ae71e413cba9/lib/tuya.js#L426 ?

This seems to be the difference between them. Screenshot 2021-11-18 at 18 54 12

MattWestb commented 2 years ago

I think its better jacekk015 taking on look on this then hi is cooking some new TRVs and have it in the fingers.

@jacekk015 can you taking one look on one new tuya TRV ???

joaoasilva commented 2 years ago

Thanks, @jacekk015 if you need any debug from the tuya developer portal I can get you.

jacekk015 commented 2 years ago

@joaoasilva Yep. For start please put here a pairing log. And after pairing put here also Zigbee Device Signature

joaoasilva commented 2 years ago

Sure:

{
  "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *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": 260,
      "device_type": "0x0051",
      "in_clusters": [
        "0x0000",
        "0x0004",
        "0x0005",
        "0xef00"
      ],
      "out_clusters": [
        "0x000a",
        "0x0019"
      ]
    }
  },
  "manufacturer": "_TZE200_a4bpgplm",
  "model": "TS0601",
  "class": "zigpy.device.Device"
}
joaoasilva commented 2 years ago
2021-11-18 20:27:12 INFO (MainThread) [zigpy_deconz.zigbee.application] New device joined: 0x9817, 50:32:5f:ff:fe:91:dd:82
2021-11-18 20:27:12 INFO (MainThread) [zigpy.application] New device 0x9817 (50:32:5f:ff:fe:91:dd:82) joined the network
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy.device] [0x9817] Scheduling initialization
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy.application] Received frame on uninitialized device <Device model=None manuf=None nwk=0x9817 ieee=50:32:5f:ff:fe:91:dd:82 is_initialized=False> from ep 0 to ep 0, cluster 19: b'\x8d\x17\x98\x82\xdd\x91\xfe\xff_2P\x80'
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy.zdo] [0x9817:zdo] ZDO request ZDOCmd.Device_annce: [0x9817, 50:32:5f:ff:fe:91:dd:82, 128]
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy.util] Tries remaining: 3
2021-11-18 20:27:12 INFO (MainThread) [zigpy.device] [0x9817] Requesting 'Node Descriptor'
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy.util] Tries remaining: 2
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy.device] [0x9817] Extending timeout for 0x3a request
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending Zigbee request with tsn 58 under 59 request id, data: b'3a1798'
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e7c000700aa00
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x9817>, ep: 0, profile: 0x0000, cluster_id: 0x0013, data: b'8d179882dd91feff5f325080'
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (18, 59, 0, <DeconzAddressEndpoint address_mode=2 address=0x9817 endpoint=0>, 0, <ZDOCmd.Node_Desc_req: 0x0002>, 0, b':\x17\x98', 2, 0)
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x127c00190012003b0002179800000002000003003a17980200
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x127c00090002002a3b
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] APS data request response: [2, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 42>, 59]
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e7d000700aa00
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1c7e000c000500021798ffe4
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x177d000800010001
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x177d002b0024002a0200000102310d01040100ef0d000960010000030200040000006400afff4d0a0c00c0
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [36, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 42>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0d31>, 1, 260, 61184, b'\t`\x01\x00\x00\x03\x02\x00\x04\x00\x00\x00d', 0, 175, 255, 77, 10, 12, 0, -64]
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=96 command_id=1>
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 100])]
2021-11-18 20:27:12 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 100]]
2021-11-18 20:27:12 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x0D31:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 0
2021-11-18 20:27:12 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 0}]
2021-11-18 20:27:12 DEBUG (MainThread) [homeassistant.components.zha.cover] setting position: 0
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e7e000700aa00
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0d31>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09600100000302000400000064'
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e7f000700ae00
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|APSDE_DATA_CONFIRM|2: 174>, 0]
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1c80000c000500021798ffe4
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1c81000c000500021798ffe4
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x177e000800010001
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e82000700ae00
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|APSDE_DATA_CONFIRM|2: 174>, 0]
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x177e00280021002e02000001023e5a01040100ef0a000947010000070400010100afff660a0c00ce
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [33, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|APSDE_DATA_CONFIRM|2: 46>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x5a3e>, 1, 260, 61184, b'\tG\x01\x00\x00\x07\x04\x00\x01\x01', 0, 175, 255, 102, 10, 12, 0, -50]
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy.zcl] [0x5a3e: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=71 command_id=1>
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy.zcl] [0x5a3e:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 1])]
2021-11-18 20:27:12 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:8d:e1:c3 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 1]]
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x5a3e>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09470100000704000101'
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x177f000800010001
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x177f00280021002e0200000102cbe501040100ef0a00095e010000070400010100afff660a0c00cb
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [33, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|APSDE_DATA_CONFIRM|2: 46>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0xe5cb>, 1, 260, 61184, b'\t^\x01\x00\x00\x07\x04\x00\x01\x01', 0, 175, 255, 102, 10, 12, 0, -53]
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=94 command_id=1>
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 1])]
2021-11-18 20:27:12 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 1]]
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0xe5cb>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'095e0100000704000101'
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1780000800010001
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1780002f0028002602000000021798000000028011003a0017980240800210525200002c52000000afff660a0c00e4
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [40, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_CONFIRM|2: 38>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 0, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x9817>, 0, 0, 32770, b':\x00\x17\x98\x02@\x80\x02\x10RR\x00\x00,R\x00\x00', 0, 175, 255, 102, 10, 12, 0, -28]
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy.application] Received frame on uninitialized device <Device model=None manuf=None nwk=0x9817 ieee=50:32:5f:ff:fe:91:dd:82 is_initialized=False> from ep 0 to ep 0, cluster 32770: b':\x00\x17\x98\x02@\x80\x02\x10RR\x00\x00,R\x00\x00'
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x9817>, ep: 0, profile: 0x0000, cluster_id: 0x8002, data: b'3a0017980240800210525200002c520000'
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_confirm (0,)
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x04810007000000
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x04810013000c00223b02179800000000000000
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] APS data confirm response for request with id 59: 00
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x3b 'aps_data_confirm' for <DeconzAddressEndpoint address_mode=ADDRESS_MODE.NWK address=0x9817 endpoint=0>, status: 0x00
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1782000800010001
2021-11-18 20:27:12 INFO (MainThread) [zigpy.device] [0x9817] Got Node Descriptor: NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *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)
2021-11-18 20:27:12 INFO (MainThread) [zigpy.device] [0x9817] Discovering endpoints
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy.util] Tries remaining: 3
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy.device] [0x9817] Extending timeout for 0x3c request
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending Zigbee request with tsn 60 under 61 request id, data: b'3c1798'
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1782050800010022
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1783000800010001
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1783050800010022
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (18, 61, 0, <DeconzAddressEndpoint address_mode=2 address=0x9817 endpoint=0>, 0, <ZDOCmd.Active_EP_req: 0x0005>, 0, b'<\x17\x98', 2, 0)
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x128400190012003d0002179800000005000003003c17980200
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x12840009000200223d
2021-11-18 20:27:12 DEBUG (MainThread) [zigpy_deconz.api] APS data request response: [2, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, 61]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e85000700aa00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1785000800010001
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e86000700ae00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|APSDE_DATA_CONFIRM|2: 174>, 0]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1785002b002400260200000102310d01040100ef0d000960010000030200040000006400afff660a0c00c0
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [36, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_CONFIRM|2: 38>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0d31>, 1, 260, 61184, b'\t`\x01\x00\x00\x03\x02\x00\x04\x00\x00\x00d', 0, 175, 255, 102, 10, 12, 0, -64]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=96 command_id=1>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 100])]
2021-11-18 20:27:13 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 100]]
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x0D31:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 0
2021-11-18 20:27:13 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 0}]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1c86000c000500021798ffe4
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1c87000c000500021798ffe5
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.cover] setting position: 0
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e88000700ae00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|APSDE_DATA_CONFIRM|2: 174>, 0]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0d31>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09600100000302000400000064'
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_confirm (0,)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x04860007000000
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x04860013000c002a3d02179800000000000000
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data confirm response for request with id 61: 00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x3d 'aps_data_confirm' for <DeconzAddressEndpoint address_mode=ADDRESS_MODE.NWK address=0x9817 endpoint=0>, status: 0x00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1787000800010001
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x17870024001d002202000000021798000000058006003c001798010100afff660a0c00e4
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [29, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 0, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x9817>, 0, 0, 32773, b'<\x00\x17\x98\x01\x01', 0, 175, 255, 102, 10, 12, 0, -28]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.application] Received frame on uninitialized device <Device model=None manuf=None nwk=0x9817 ieee=50:32:5f:ff:fe:91:dd:82 is_initialized=False> from ep 0 to ep 0, cluster 32773: b'<\x00\x17\x98\x01\x01'
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x9817>, ep: 0, profile: 0x0000, cluster_id: 0x8005, data: b'3c0017980101'
2021-11-18 20:27:13 INFO (MainThread) [zigpy.device] [0x9817] Discovered endpoints: [1]
2021-11-18 20:27:13 INFO (MainThread) [zigpy.device] [0x9817] Initializing endpoints [<Endpoint id=1 in=[] out=[] status=<Status.NEW: 0>>]
2021-11-18 20:27:13 INFO (MainThread) [zigpy.endpoint] [0x9817:1] Discovering endpoint information
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.util] Tries remaining: 3
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.device] [0x9817] Extending timeout for 0x3e request
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending Zigbee request with tsn 62 under 63 request id, data: b'3e179801'
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1788000800010001
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1788050800010022
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (19, 63, 0, <DeconzAddressEndpoint address_mode=2 address=0x9817 endpoint=0>, 0, <ZDOCmd.Simple_Desc_req: 0x0004>, 0, b'>\x17\x98\x01', 2, 0)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1289001a0013003f0002179800000004000004003e1798010200
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x12890009000200223f
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data request response: [2, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, 63]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1c8a000c0005000247fbfccf
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e8b000700aa00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x178a000800010001
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x178a002b002400220200000102f97b01040100ef0d000949010000030200040000006400afff660a0c00ce
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [36, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x7bf9>, 1, 260, 61184, b'\tI\x01\x00\x00\x03\x02\x00\x04\x00\x00\x00d', 0, 175, 255, 102, 10, 12, 0, -50]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0x7bf9: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=73 command_id=1>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0x7bf9:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 100])]
2021-11-18 20:27:13 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 100]]
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7BF9:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 0
2021-11-18 20:27:13 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 0}]
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.cover] setting position: 0
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x7bf9>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09490100000302000400000064'
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e8b000700aa00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x178b000800010001
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x178b00280021002202000001023e5a01040100ef0a000948010000070400010100afff660a0c00ce
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [33, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x5a3e>, 1, 260, 61184, b'\tH\x01\x00\x00\x07\x04\x00\x01\x01', 0, 175, 255, 102, 10, 12, 0, -50]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0x5a3e: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=72 command_id=1>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0x5a3e:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 1])]
2021-11-18 20:27:13 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:8d:e1:c3 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 1]]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x5a3e>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09480100000704000101'
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e8c000700a600
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_CONFIRM|2: 166>, 0]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1c8d000c000500021798ffe4
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_confirm (0,)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x048c0007000000
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e8e000700ae00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|APSDE_DATA_CONFIRM|2: 174>, 0]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x048c0013000c002a3f02179800000000000000
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data confirm response for request with id 63: 00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1c8d000c000500021798ffe4
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x3f 'aps_data_confirm' for <DeconzAddressEndpoint address_mode=ADDRESS_MODE.NWK address=0x9817 endpoint=0>, status: 0x00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x178d000800010001
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e8e000700aa00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x178d00280021002a0200000102cbe501040100ef0a00095f010000070400010100afff660a0c00ca
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [33, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 42>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0xe5cb>, 1, 260, 61184, b'\t_\x01\x00\x00\x07\x04\x00\x01\x01', 0, 175, 255, 102, 10, 12, 0, -54]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=95 command_id=1>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 1])]
2021-11-18 20:27:13 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 1]]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0xe5cb>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'095f0100000704000101'
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x178e000800010001
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x178e00370030002202000000021798000000048019003e001798140104015100010400000400050000ef0219000a0000aff4660a0c00e4
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [48, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 0, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x9817>, 0, 0, 32772, b'>\x00\x17\x98\x14\x01\x04\x01Q\x00\x01\x04\x00\x00\x04\x00\x05\x00\x00\xef\x02\x19\x00\n\x00', 0, 175, 244, 102, 10, 12, 0, -28]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.application] Received frame on uninitialized device <Device model=None manuf=None nwk=0x9817 ieee=50:32:5f:ff:fe:91:dd:82 is_initialized=False> from ep 0 to ep 0, cluster 32772: b'>\x00\x17\x98\x14\x01\x04\x01Q\x00\x01\x04\x00\x00\x04\x00\x05\x00\x00\xef\x02\x19\x00\n\x00'
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x9817>, ep: 0, profile: 0x0000, cluster_id: 0x8004, data: b'3e001798140104015100010400000400050000ef0219000a00'
2021-11-18 20:27:13 INFO (MainThread) [zigpy.endpoint] [0x9817: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])
2021-11-18 20:27:13 WARNING (MainThread) [zigpy.zcl] Unknown cluster 61184
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.device] [0x9817] Extending timeout for 0x40 request
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending Zigbee request with tsn 64 under 65 request id, data: b'00400004000500'
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (22, 65, 0, <DeconzAddressEndpoint address_mode=2 address=0x9817 endpoint=1>, 260, 0, 1, b'\x00@\x00\x04\x00\x05\x00', 2, 0)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x128f001d00160041000217980104010000010700004000040005000200
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1c8f000c000500023737ffd2
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x128f00090002002241
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data request response: [2, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, 65]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e90000700aa00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1790000800010001
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1790002b002400220200000102f97b01040100ef0d000949010000030200040000006400afff660a0c00ce
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [36, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x7bf9>, 1, 260, 61184, b'\tI\x01\x00\x00\x03\x02\x00\x04\x00\x00\x00d', 0, 175, 255, 102, 10, 12, 0, -50]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0x7bf9: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=73 command_id=1>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0x7bf9:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 100])]
2021-11-18 20:27:13 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 100]]
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7BF9:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 0
2021-11-18 20:27:13 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 0}]
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.cover] setting position: 0
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x7bf9>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09490100000302000400000064'
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e91000700aa00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1791000800010001
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1791002b002400220200000102310d01040100ef0d000961010000030200040000006400afff660a0c00c0
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [36, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0d31>, 1, 260, 61184, b'\ta\x01\x00\x00\x03\x02\x00\x04\x00\x00\x00d', 0, 175, 255, 102, 10, 12, 0, -64]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=97 command_id=1>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 100])]
2021-11-18 20:27:13 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 100]]
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x0D31:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 0
2021-11-18 20:27:13 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 0}]
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.cover] setting position: 0
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0d31>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09610100000302000400000064'
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e92000700aa00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1792000800010001
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x17920028002100220200000102cbe501040100ef0a00095f010000070400010100afff4d0a0c00ca
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [33, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0xe5cb>, 1, 260, 61184, b'\t_\x01\x00\x00\x07\x04\x00\x01\x01', 0, 175, 255, 77, 10, 12, 0, -54]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=95 command_id=1>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 1])]
2021-11-18 20:27:13 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 1]]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0xe5cb>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'095f0100000704000101'
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e93000700a600
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_CONFIRM|2: 166>, 0]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1c94000c000500021798ffe4
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_confirm (0,)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x04930007000000
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1c95000c000500021798ffe4
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e96000700ae00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|APSDE_DATA_CONFIRM|2: 174>, 0]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x04930013000c002a4102179801010000000000
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data confirm response for request with id 65: 00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x41 'aps_data_confirm' for <DeconzAddressEndpoint address_mode=ADDRESS_MODE.NWK address=0x9817 endpoint=1>, status: 0x00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1794000800010001
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x17940041003a0022020000010217980104010000230018400104000042105f545a453230305f6134627067706c6d050000420654533036303100afff6b0a0c00e4
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [58, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x9817>, 1, 260, 0, b'\x18@\x01\x04\x00\x00B\x10_TZE200_a4bpgplm\x05\x00\x00B\x06TS0601', 0, 175, 255, 107, 10, 12, 0, -28]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0x9817: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=64 command_id=Command.Read_Attributes_rsp>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x9817>, ep: 1, profile: 0x0104, cluster_id: 0x0000, data: b'18400104000042105f545a453230305f6134627067706c6d0500004206545330363031'
2021-11-18 20:27:13 INFO (MainThread) [zigpy.device] [0x9817] Read model 'TS0601' and manufacturer '_TZE200_a4bpgplm' from <Endpoint id=1 in=[basic:0x0000, groups:0x0004, scenes:0x0005, None:0xEF00] out=[ota:0x0019, time:0x000A] status=<Status.ZDO_INIT: 1>>
2021-11-18 20:27:13 INFO (MainThread) [zigpy.device] [0x9817] Discovered basic device information for <Device model='TS0601' manuf='_TZE200_a4bpgplm' nwk=0x9817 ieee=50:32:5f:ff:fe:91:dd:82 is_initialized=True>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.application] Device is initialized <Device model='TS0601' manuf='_TZE200_a4bpgplm' nwk=0x9817 ieee=50:32:5f:ff:fe:91:dd:82 is_initialized=True>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.quirks.registry] Checking quirks for _TZE200_a4bpgplm TS0601 (50:32:5f:ff:fe:91:dd:82)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {232, 230} {1}
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {232, 230} {1}
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.quirks.registry] Fail because device_type mismatch on at least one endpoint
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.quirks.registry] Fail because device_type mismatch on at least one endpoint
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.quirks.registry] Fail because device_type mismatch on at least one endpoint
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {11, 13} {1}
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'bellows.zigbee.application.EZSPCoordinator'>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.quirks.registry] Fail because device_type mismatch on at least one endpoint
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event device_registry_updated[L]: action=create, device_id=fa2627621d132eae09d0d021372a42e0>
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.gateway] device - 0x9817:50:32:5f:ff:fe:91:dd:82 entering async_device_initialized - is_new_join: True
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.gateway] device - 0x9817:50:32:5f:ff:fe:91:dd:82 has joined the ZHA zigbee network
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x9817](TS0601): started configuration
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x9817:ZDO](TS0601): 'async_configure' stage succeeded
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x9817:1:0x0000]: finished channel configuration
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x9817:1:0x0019]: finished channel configuration
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e95000700aa00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1c96000c000500026fc6ffd2
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.appdb] Error handling '_save_attribute' event with (50:32:5f:ff:fe:91:dd:82, 1, 0, 4, '_TZE200_a4bpgplm') params: FOREIGN KEY constraint failed
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1795000800010001
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x9817:1:0x0000]: 'async_configure' stage succeeded
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x9817:1:0x0019]: 'async_configure' stage succeeded
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.appdb] Error handling '_save_attribute' event with (50:32:5f:ff:fe:91:dd:82, 1, 0, 5, 'TS0601') params: FOREIGN KEY constraint failed
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x179500280021002202000001023e5a01040100ef0a000949010000070400010100afff6b0a0c00ce
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [33, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x5a3e>, 1, 260, 61184, b'\tI\x01\x00\x00\x07\x04\x00\x01\x01', 0, 175, 255, 107, 10, 12, 0, -50]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0x5a3e: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=73 command_id=1>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0x5a3e:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 1])]
2021-11-18 20:27:13 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:8d:e1:c3 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 1]]
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x9817](TS0601): completed configuration
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x9817](TS0601): stored in registry: ZhaDeviceEntry(name='_TZE200_a4bpgplm TS0601', ieee='50:32:5f:ff:fe:91:dd:82', last_seen=1637267233.5542796)
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x9817](TS0601): started initialization
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x9817:ZDO](TS0601): 'async_initialize' stage succeeded
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x5a3e>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09490100000704000101'
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x9817:1:0x0000]: initializing channel: from_cache: False
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x9817:1:0x0000]: finished channel initialization
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x9817:1:0x0019]: initializing channel: from_cache: False
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x9817:1:0x0019]: finished channel initialization
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x9817:1:0x0000]: 'async_initialize' stage succeeded
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x9817:1:0x0019]: 'async_initialize' stage succeeded
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x9817](TS0601): power source: Battery or Unknown
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x9817](TS0601): completed initialization
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e96000700aa00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1796000800010001
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1c97000c000500021798ffe4
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1796002b002400220200000102f97b01040100ef0d00094a010000030200040000006400afff6b0a0c00ce
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [36, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x7bf9>, 1, 260, 61184, b'\tJ\x01\x00\x00\x03\x02\x00\x04\x00\x00\x00d', 0, 175, 255, 107, 10, 12, 0, -50]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0x7bf9: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=74 command_id=1>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0x7bf9:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 100])]
2021-11-18 20:27:13 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 100]]
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7BF9:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 0
2021-11-18 20:27:13 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 0}]
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.cover] setting position: 0
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x7bf9>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'094a0100000302000400000064'
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e97000700aa00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1797000800010001
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e98000700aa00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x179700280021002a02000001023e5a01040100ef0a000949010000070400010100afff6b0a0c00ce
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [33, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 42>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x5a3e>, 1, 260, 61184, b'\tI\x01\x00\x00\x07\x04\x00\x01\x01', 0, 175, 255, 107, 10, 12, 0, -50]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0x5a3e: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=73 command_id=1>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0x5a3e:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 1])]
2021-11-18 20:27:13 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:8d:e1:c3 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 1]]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x5a3e>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09490100000704000101'
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1798000800010001
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1798002b002400220200000102310d01040100ef0d000962010000030200040000006400afff6b0a0c00c1
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [36, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0d31>, 1, 260, 61184, b'\tb\x01\x00\x00\x03\x02\x00\x04\x00\x00\x00d', 0, 175, 255, 107, 10, 12, 0, -63]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=98 command_id=1>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 100])]
2021-11-18 20:27:13 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 100]]
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x0D31:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 0
2021-11-18 20:27:13 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 0}]
2021-11-18 20:27:13 DEBUG (MainThread) [homeassistant.components.zha.cover] setting position: 0
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e99000700aa00
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0d31>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09620100000302000400000064'
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1799000800010001
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x17990028002100220200000102cbe501040100ef0a000960010000070400010100afff6b0a0c00cb
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [33, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0xe5cb>, 1, 260, 61184, b'\t`\x01\x00\x00\x07\x04\x00\x01\x01', 0, 175, 255, 107, 10, 12, 0, -53]
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=96 command_id=1>
2021-11-18 20:27:13 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 1])]
joaoasilva commented 2 years ago

Thanks, @jacekk015 💯

jacekk015 commented 2 years ago

Sorry but I don't see any communication between TRV and HA. Only pairing logs. Try to get more time of logs. If it wont help we try to give you some file to force the communication.

We are searching for something like this: "Received value [0, 0, 0, 42] for attribute 0x0265"

2021-09-24 15:01:03 DEBUG (MainThread) [zigpy.zcl] [0xddeb:1:0xef00] ZCL request 0x0002: [Command(status=0, tsn=16, command_id=528, function=0, data=[4, 0, 0, 0, 34])]
2021-09-24 15:01:03 DEBUG (MainThread) [zhaquirks.tuya] [0xddeb:1:0xef00] Received value [0, 0, 0, 34] for attribute 0x0210 (command 0x0002)
2021-09-24 15:01:13 DEBUG (MainThread) [zigpy.zcl] [0xddeb: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=8 command_id=2>
2021-09-24 15:01:13 DEBUG (MainThread) [zigpy.zcl] [0xddeb:1:0xef00] ZCL request 0x0002: [Command(status=0, tsn=24, command_id=536, function=0, data=[4, 0, 0, 0, 233])]
2021-09-24 15:01:13 DEBUG (MainThread) [zhaquirks.tuya] [0xddeb:1:0xef00] Received value [0, 0, 0, 233] for attribute 0x0218 (command 0x0002)
2021-09-24 15:01:14 DEBUG (MainThread) [zigpy.zcl] [0xddeb: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=9 command_id=2>
2021-09-24 15:01:14 DEBUG (MainThread) [zigpy.zcl] [0xddeb:1:0xef00] ZCL request 0x0002: [Command(status=0, tsn=30, command_id=286, function=0, data=[1, 0])]
2021-09-24 15:01:14 DEBUG (MainThread) [zhaquirks.tuya] [0xddeb:1:0xef00] Received value [0] for attribute 0x011e (command 0x0002)
2021-09-24 15:01:14 DEBUG (MainThread) [zigpy.zcl] [0xddeb: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=10 command_id=2>
2021-09-24 15:01:14 DEBUG (MainThread) [zigpy.zcl] [0xddeb:1:0xef00] ZCL request 0x0002: [Command(status=0, tsn=34, command_id=546, function=0, data=[4, 0, 0, 0, 131])]
2021-09-24 15:01:14 DEBUG (MainThread) [zhaquirks.tuya] [0xddeb:1:0xef00] Received value [0, 0, 0, 131] for attribute 0x0222 (command 0x0002)
2021-09-24 15:01:25 DEBUG (MainThread) [zigpy.zcl] [0xddeb: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=11 command_id=2>
2021-09-24 15:01:25 DEBUG (MainThread) [zigpy.zcl] [0xddeb:1:0xef00] ZCL request 0x0002: [Command(status=0, tsn=101, command_id=613, function=0, data=[4, 0, 0, 0, 42])]
2021-09-24 15:01:25 DEBUG (MainThread) [zhaquirks.tuya] [0xddeb:1:0xef00] Received value [0, 0, 0, 42] for attribute 0x0265 (command 0x0002)
joaoasilva commented 2 years ago

I'm not getting those unless I add the line ("_TZE200_a4bpgplm", "TS0601") If I add them it seems to consume some of them and others doesn't Can you send the file to force the communication? is there a way to filter by device too? THanks

jacekk015 commented 2 years ago

OK - so if you already have some quirk inside just add that line and: remove and re-pair the device Still wait for some time 2-3 minutes min, because after pairing TRV start to send all data, but it takes some time. Put here the logs as a file, if they're too big, or to some pastebin.com service and give here a link. Don't worry if there are 1000 lines or more - I filter that out easily.

joaoasilva commented 2 years ago

I'm not sure what's happening but I've added the device and see the logs when adding but then I can control some of the things in ex: Lovelace and see the actual set temperature but no logs from this specific device appear in zhaquirks logs I can see other logs from the cover, wall switches, etc

joaoasilva commented 2 years ago
021-11-19 14:59:09 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (50:32:5f:ff:fe:91:dd:82, 1, 513, 17) params: FOREIGN KEY constraint failed
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1cfc000c00050002eb63ffe7
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x17fc002b0024002a0200000102310d01040100ef0d000959010000030200040000000000afff2b470c00d3
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [36, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 42>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0d31>, 1, 260, 61184, b'\tY\x01\x00\x00\x03\x02\x00\x04\x00\x00\x00\x00', 0, 175, 255, 43, 71, 12, 0, -45]
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=89 command_id=1>
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 0])]
2021-11-19 14:59:09 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x0D31:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 100
2021-11-19 14:59:09 DEBUG (MainThread) [homeassistant.components.zha.cover] setting position: 100
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1cfd000c0005000247fbe4d2
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0d31>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09590100000302000400000000'
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x17fd000800010001
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x17fd0028002100220200000102f97b01040100ef0a000972010000010400010000afff2b470c00d3
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [33, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x7bf9>, 1, 260, 61184, b'\tr\x01\x00\x00\x01\x04\x00\x01\x00', 0, 175, 255, 43, 71, 12, 0, -45]
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.zcl] [0x7bf9: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=114 command_id=1>
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.zcl] [0x7bf9:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 0])]
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x7bf9>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09720100000104000100'
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x17fe000800010001
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x17fe050800010022
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (50:32:5f:ff:fe:91:dd:82, 1, 513, 19) params: FOREIGN KEY constraint failed
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x17ff000800010001
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x17ff050800010022
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (50:32:5f:ff:fe:91:dd:82, 1, 513, 20) params: FOREIGN KEY constraint failed
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1701000800010001
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (50:32:5f:ff:fe:91:dd:82, 1, 513, 30) params: FOREIGN KEY constraint failed
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1701050800010022
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (50:32:5f:ff:fe:91:dd:82, 1, 513, 41) params: FOREIGN KEY constraint failed
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1702000800010001
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e02000700aa00
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1702002b0024002202000001023e5a01040100ef0d00092b010000030200040000000000aff82b470c00b8
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [36, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x5a3e>, 1, 260, 61184, b'\t+\x01\x00\x00\x03\x02\x00\x04\x00\x00\x00\x00', 0, 175, 248, 43, 71, 12, 0, -72]
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.zcl] [0x5a3e: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=43 command_id=1>
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.zcl] [0x5a3e:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 0])]
2021-11-19 14:59:09 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x5A3E:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 100
2021-11-19 14:59:09 DEBUG (MainThread) [homeassistant.components.zha.cover] setting position: 100
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x5a3e>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'092b0100000302000400000000'
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1703000800010001
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e03000700aa00
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x17030028002100220200000102f97b01040100ef0a000972010000010400010000afff2b470c00d2
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [33, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x7bf9>, 1, 260, 61184, b'\tr\x01\x00\x00\x01\x04\x00\x01\x00', 0, 175, 255, 43, 71, 12, 0, -46]
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.zcl] [0x7bf9: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=114 command_id=1>
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.zcl] [0x7bf9:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 0])]
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (50:32:5f:ff:fe:91:dd:82, 1, 513, 2) params: FOREIGN KEY constraint failed
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x7bf9>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09720100000104000100'
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1704000800010001
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (50:32:5f:ff:fe:91:dd:82, 1, 513, 7) params: FOREIGN KEY constraint failed
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (50:32:5f:ff:fe:91:dd:82, 1, 513, 8) params: FOREIGN KEY constraint failed
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1704050800010022
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1705000800010001
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1705050800010022
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1706000800010001
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1706050800010022
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1c07000c00050002eb63ffe3
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e08000700aa00
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1707000800010001
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1707002b002400220200000102310d01040100ef0d00095a010000030200040000000000afff2b470c00d3
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [36, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0d31>, 1, 260, 61184, b'\tZ\x01\x00\x00\x03\x02\x00\x04\x00\x00\x00\x00', 0, 175, 255, 43, 71, 12, 0, -45]
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=90 command_id=1>
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 0])]
2021-11-19 14:59:09 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x0D31:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 100
2021-11-19 14:59:09 DEBUG (MainThread) [homeassistant.components.zha.cover] setting position: 100
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0e08000700aa00
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [<DeviceState.128|APSDE_DATA_REQUEST_SLOTS_AVAILABLE|APSDE_DATA_INDICATION|2: 170>, 0]
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0d31>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'095a0100000302000400000000'
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, 1)
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x1708000800010001
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x17080028002100220200000102cbe501040100ef0a000949010000070400010000afff2b470c00bf
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [33, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0x0000>, 1, <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0xe5cb>, 1, 260, 61184, b'\tI\x01\x00\x00\x07\x04\x00\x01\x00', 0, 175, 255, 43, 71, 12, 0, -65]
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=73 command_id=1>
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from <DeconzAddress address_mode=ADDRESS_MODE.NWK address=0xe5cb>, ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09490100000704000100'
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x1c09000c00050002afa4acb6
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (50:32:5f:ff:fe:91:dd:82, 1, 6, 0) params: FOREIGN KEY constraint failed
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (50:32:5f:ff:fe:91:dd:82, 1, 1, 32) params: FOREIGN KEY constraint failed
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (50:32:5f:ff:fe:91:dd:82, 1, 1, 33) params: FOREIGN KEY constraint failed
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (50:32:5f:ff:fe:91:dd:82, 1, 1, 49) params: FOREIGN KEY constraint failed
2021-11-19 14:59:09 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (50:32:5f:ff:fe:91:dd:82, 1, 1, 51) params: FOREIGN KEY constraint failed

Getting a lot of this _unsupported_attribute_added for the device

jacekk015 commented 2 years ago

Are you sometimes not messing Deconz with ZHA?? Did you enable all debug elements properly?? https://github.com/zigpy/zha-device-handlers/issues/1123#issuecomment-962602119

joaoasilva commented 2 years ago

Finally managed to get something: Setting temperature:

2021-11-19 16:31:04 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 0, 125] for attribute 0x0202 (command 0x0001)
2021-11-19 16:31:07 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 0, 130] for attribute 0x0202 (command 0x0001)
2021-11-19 16:31:09 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 0, 135] for attribute 0x0202 (command 0x0001)
2021-11-19 16:31:11 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 0, 140] for attribute 0x0202 (command 0x0001)

enabling auto mode:

2021-11-19 16:32:09 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0] for attribute 0x0401 (command 0x0001)
2021-11-19 16:32:09 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 0, 150] for attribute 0x0202 (command 0x0001)

disabling auto mode:

2021-11-19 16:33:25 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [1] for attribute 0x0401 (command 0x0001)
2021-11-19 16:33:25 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 0, 60] for attribute 0x0202 (command 0x0001)

from 5 degrees to "off" mode:

2021-11-19 16:34:15 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [2] for attribute 0x0401 (command 0x0001)
2021-11-19 16:34:15 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 0, 50] for attribute 0x0202 (command 0x0001)

from "off" to 5.5 degrees:

2021-11-19 16:36:23 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [1] for attribute 0x0401 (command 0x0001)
2021-11-19 16:36:23 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 0, 55] for attribute 0x0202 (command 0x0001)

child lock on: 2021-11-19 16:37:34 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [1] for attribute 0x010c (command 0x0001)

child lock off: 2021-11-19 16:37:50 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0] for attribute 0x010c (command 0x0001)

from 30 degrees to "on":

2021-11-19 16:49:28 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [3] for attribute 0x0401 (command 0x0001)
2021-11-19 16:49:30 DEBUG (MainThread) [zhaquirks.tuya] [0xfb47:1:0xef00] Received value [0, 0, 0, 214] for attribute 0x0203 (command 0x0001)

room temperature? 2021-11-19 16:53:37 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 0, 235] for attribute 0x0203 (command 0x0001)

heating off:

2021-11-19 16:58:22 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0] for attribute 0x0406 (command 0x0001)
2021-11-19 16:58:22 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 0, 0] for attribute 0x0266 (command 0x0001)

heating on:

2021-11-19 16:59:33 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [1] for attribute 0x0406 (command 0x0001)
2021-11-19 16:59:33 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 2, 108] for attribute 0x0266 (command 0x0001)

random responses 0x0202 ?

2021-11-19 16:53:30 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [1] for attribute 0x0401 (command 0x0001)
2021-11-19 16:53:30 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 1, 39] for attribute 0x0202 (command 0x0001)
2021-11-19 16:53:32 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [3] for attribute 0x0401 (command 0x0001)
2021-11-19 16:53:32 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 1, 44] for attribute 0x0202 (command 0x0001)

random not sure what they are but it seemed during a calibration? I think I've taken the batteries out by mistake

2021-11-19 16:43:38 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 1, 44] for attribute 0x0202 (command 0x0001)
2021-11-19 16:43:39 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 0, 0] for attribute 0x0203 (command 0x0001)
2021-11-19 16:43:39 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0] for attribute 0x0104 (command 0x0001)
2021-11-19 16:43:39 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0] for attribute 0x0406 (command 0x0001)
2021-11-19 16:43:39 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0] for attribute 0x0407 (command 0x0001)
2021-11-19 16:43:39 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0] for attribute 0x0108 (command 0x0001)
2021-11-19 16:43:39 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0] for attribute 0x010c (command 0x0001)
2021-11-19 16:43:39 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 0, 91] for attribute 0x020d (command 0x0001)
2021-11-19 16:43:39 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 0, 50] for attribute 0x020f (command 0x0001)
2021-11-19 16:43:40 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 1, 44] for attribute 0x0210 (command 0x0001)
2021-11-19 16:43:40 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [255, 255, 255, 246] for attribute 0x0265 (command 0x0001)
2021-11-19 16:43:40 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 0, 0] for attribute 0x0266 (command 0x0001)
2021-11-19 16:43:40 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 0, 117] for attribute 0x0296 (command 0x0001)
2021-11-19 16:43:44 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [1, 6, 0, 0, 200, 12, 0, 0, 150, 18, 0, 0, 220, 22, 0, 0, 150] for attribute 0x0011 (command 0x0001)
2021-11-19 16:43:44 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [2, 6, 0, 0, 200, 12, 0, 0, 150, 18, 0, 0, 220, 22, 0, 0, 150] for attribute 0x0012 (command 0x0001)
2021-11-19 16:43:44 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [3, 6, 0, 0, 200, 12, 0, 0, 150, 18, 0, 0, 220, 22, 0, 0, 150] for attribute 0x0013 (command 0x0001)
2021-11-19 16:43:44 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [4, 6, 0, 0, 200, 12, 0, 0, 150, 18, 0, 0, 220, 22, 0, 0, 150] for attribute 0x0014 (command 0x0001)
2021-11-19 16:43:44 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [5, 6, 0, 0, 200, 12, 0, 0, 150, 18, 0, 0, 220, 22, 0, 0, 150] for attribute 0x0015 (command 0x0001)
2021-11-19 16:43:44 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [6, 6, 0, 0, 200, 12, 0, 0, 150, 18, 0, 0, 220, 22, 0, 0, 150] for attribute 0x0016 (command 0x0001)
2021-11-19 16:43:44 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [7, 6, 0, 0, 200, 12, 0, 0, 150, 18, 0, 0, 220, 22, 0, 0, 150] for attribute 0x0017 (command 0x0001)

Also, it takes 3xAA batteries... battery status isn't working.

joaoasilva commented 2 years ago

If it helps:

   // Haozee TS0601 TRV
    haozeeSystemMode: 1,
    haozeeHeatingSetpoint: 2,
    haozeeLocalTemp: 3,
    haozeeBoostHeating: 4,
    haozeeBoostHeatingCountdown: 5,
    haozeeRunningState: 6,
    haozeeWindowState: 7,
    haozeeWindowDetection: 8,
    haozeeChildLock: 12,
    haozeeBattery: 13,
    haozeeFaultAlarm: 14,
    haozeeMinTemp: 15,
    haozeeMaxTemp: 16,
    haozeeScheduleMonday: 17,
    haozeeScheduleTuesday: 18,
    haozeeScheduleWednesday: 19,
    haozeeScheduleThursday: 20,
    haozeeScheduleFriday: 21,
    haozeeScheduleSaturday: 22,
    haozeeScheduleSunday: 23,
    haozeeTempCalibration: 101,
    haozeeValvePosition: 102,
    haozeeSoftVersion: 150,

taken from another library

joaoasilva commented 2 years ago

I have put it outside so the temp would go down quickly to see if I could get the window state but not sure if this is right:

2021-11-19 18:23:54 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 2, 228] for attribute 0x0266 (command 0x0001)
2021-11-19 18:25:58 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 3, 222] for attribute 0x0266 (command 0x0001)
2021-11-19 18:28:02 DEBUG (MainThread) [zhaquirks.tuya] [0xeb37:1:0xef00] Received value [0, 0, 3, 232] for attribute 0x0266 (command 0x0001)

not sure what it means, seems the same as heating on

jacekk015 commented 2 years ago

Window detect never works on window open ;-). Try to put it to the freezer. Checked personally

joaoasilva commented 2 years ago

Don't I need to enable the detection first though? Not sure how to do it

jacekk015 commented 2 years ago

@MattWestb where do we put that TRV?? New file?? Haozee?

MattWestb commented 2 years ago

The manufacture is Rti- Tek and Haizee is one white labeling of it. I think Rti sounds good or what do think ?

They have making 2 models one with LED and one with OLED color display. The good they is using the same Manufacturer Name and Model ID on them.

OEM / Brand Model Manufacturer Name Model ID ZHA Quirk Request
Rti-Tek TRV 601 _TZE200_a4bpgplm TS0601 ⭕ (Moes I ?)  
Rti-Tek TRV 602 _TZE200_a4bpgplm TS0601 ⭕ (Moes I ?)  

Alibaba Manufactur link https://rtitek.en.alibaba.com/?spm=a2700.details.cordpanyb.2.3e453c36HUTJN8

jamjam9 commented 2 years ago

I have one of these and am happy to test also. However when I follow the instructions above and add in the line in the custom quirks copy of the ts0601_trv file i get...

ImportError: cannot import name 'TuyaPowerConfigurationCluster2AA' from 'zhaquirks.tuya'

Showng in the logs , any ideas?

jacekk015 commented 2 years ago

@jamjam9 We haven't made a proper quirk for that device yet. Give use few days. You will get it before winter for sure ;-) You will be notified when the file will be ready for test.

jamjam9 commented 2 years ago

Cheers thanks. Obviously my rank amaturism showing, poking about files I have no clue about :)

jacekk015 commented 2 years ago

@joaoasilva @jamjam9 Remove old quirk from the folder and replace it with the file below. Since you've tested other code it's better to remove device, restart HA, re-pair device. After pairing it takes a minute or two to fill-in the fields, or battery level. ts0601_trv_rtitek.py.zip

In case of problems be sure to enable debug logging:

logger:
  default: info
  logs:
    homeassistant.components.zha: debug
    zigpy: debug
    zhaquirks: debug

And paste here the logs, don't remove any line from the logs.

joaoasilva commented 2 years ago

Hi @jacekk015 , Thank you so much! I'm getting:

File "/config/zha_custom_quirks/ts0601_trv_rtitek.py", line 71, in __init__
self.endpoint.device.thermostat_onoff_bus.add_listener(self)
AttributeError: 'Rti' object has no attribute 'thermostat_onoff_bus'
jacekk015 commented 2 years ago

@joaoasilva Corrected file ts0601_trv_rtitek.py.zip

MattWestb commented 2 years ago

Futures found / used in the TRV in the tuya TRV Matrix:

Missed or wrong pleas correcting my.


Modes:

0 Schedule ✅ 1 Manual ✅ 2 Off ? 3 On ?

Setting / reporting current setpoint temperature ✅ Reporting local temperature ✅ Calibrating local temperature ✅ (=> device sending new updated local temperature) Setting min heat setpoing limit ✅ Setting max heat setpoing limit ✅ Setting Boost (On/Off) ✅ Setting Boost time (sec) ✅ Setting and reporting Schedules ✅ (local on device and on cluster attributes) Setting / reporting child lock ✅ Setting / reporting window detection (on/off) ✅ Reporting valve position (%) ✅ Reporting valve state (Is Opened/Closed) ✅ Reporting battery % ✅

ZHA support: ✅ = Yes in ZHA Extended GUI function in local quirk.


I cant understand the On , Off and boost if they is implanted as mode / presets or not or as switches in GUI.

If boost is implanted as one presets and start doing countdown and going back to manual looks logic for my and can being user in HA automatons. On/Off is problematic then its normally braking the heating algorithm in the device but can being used of some users.

joaoasilva commented 2 years ago

Error when changing mode:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 185, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1495, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1530, in _execute_service
await handler.job.target(service_call)
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 213, in handle_service
await self.hass.helpers.service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 667, in entity_service_call
future.result() # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 863, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 704, in _handle_entity_call
await result
File "/usr/src/homeassistant/homeassistant/components/zha/climate.py", line 438, in async_set_hvac_mode
if await self._thrm.async_set_operation_mode(HVAC_MODE_2_SYSTEM[hvac_mode]):
File "/usr/src/homeassistant/homeassistant/components/zha/core/channels/hvac.py", line 243, in async_set_operation_mode
if not await self.write_attributes({"system_mode": mode}):
File "/usr/src/homeassistant/homeassistant/components/zha/core/channels/hvac.py", line 292, in write_attributes
res = await self.cluster.write_attributes(data, **kwargs)
File "/usr/local/lib/python3.9/site-packages/zhaquirks/tuya/__init__.py", line 544, in write_attributes
manufacturer_attrs.update(new_attrs)
TypeError: 'NoneType' object is not iterable
jacekk015 commented 2 years ago

Only user can confirm, since in Z2M I've seen some comments that Boost/Boost Countdown doesn't work. So we need to wait for tests. I always map a Boost to Presets, same like Eco mode and Comfort mode if it exists. On/Off - there's no such Presets. not sure what to do with it.

Maxsmart has On/Off in Manual mode, when you go to 0 or over max temp.

jacekk015 commented 2 years ago

@joaoasilva

Error when changing mode:

Where? HA or TRV?

In case of problems be sure to enable debug logging.

logger:
  default: info
  logs:
    homeassistant.components.zha: debug
    zigpy: debug
    zhaquirks: debug

And paste here the logs, don't remove any line from the logs.

Did you remove old quirk file? Did you re-paired device and restarted HA?? I need logs from full logs. They should look like:

manufacturer=None tsn=219 command_id=Command.Report_Attributes>
2021-11-30 13:07:04 DEBUG (MainThread) [zigpy.zcl] [0x53a4:2:0x0400] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint16_t, value=30983>)]]
2021-11-30 13:07:04 DEBUG (MainThread) [zigpy.zcl] [0x53a4:2:0x0400] Attribute report received: measured_value=30983
2021-11-30 13:07:20 DEBUG (MainThread) [zigpy.zcl] [0x669a:2:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=234 command_id=Command.Report_Attributes>
2021-11-30 13:07:20 DEBUG (MainThread) [zigpy.zcl] [0x669a:2:0x0400] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint16_t, value=26274>)]]
2021-11-30 13:07:20 DEBUG (MainThread) [zigpy.zcl] [0x669a:2:0x0400] Attribute report received: measured_value=26274
2021-11-30 13:07:37 DEBUG (MainThread) [zigpy.zcl] [0x53a4:2:0x0019] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=220 command_id=1>
2021-11-30 13:07:37 DEBUG (MainThread) [zigpy.zcl] [0x53a4:2:0x0019] ZCL request 0x0001: [0, 4107, 269, 1107323831, None]
2021-11-30 13:07:37 DEBUG (MainThread) [zigpy.zcl] [0x53a4:2:0x0019] OTA query_next_image handler for 'Philips SML002': field_control=0, manufacture_id=4107, image_type=269, current_file_version=1107323831, hardware_version=None
2021-11-30 13:07:37 DEBUG (MainThread) [zigpy.zcl] [0x53a4:2:0x0019] No OTA image is available
2021-11-30 13:08:38 DEBUG (MainThread) [zigpy.zcl] [0x98fd:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=31 command_id=Command.Report_Attributes>
2021-11-30 13:08:38 DEBUG (MainThread) [zigpy.zcl] [0x98fd:1:0x0006] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=int8s, value=0>)]]
2021-11-30 13:08:38 DEBUG (MainThread) [zigpy.zcl] [0x98fd:1:0x0006] Attribute report received: on_off=0
2021-11-30 13:08:58 DEBUG (MainThread) [zigpy.zcl] [0x980f:1:0x0405] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=141 command_id=Command.Report_Attributes>
2021-11-30 13:08:58 DEBUG (MainThread) [zigpy.zcl] [0x980f:1:0x0405] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint16_t, value=4423>)]]
2021-11-30 13:08:58 DEBUG (MainThread) [zigpy.zcl] [0x980f:1:0x0405] Attribute report received: measured_value=4423
MattWestb commented 2 years ago

@joaoasilva need one updated preset patch for ZHA :-((

joaoasilva commented 2 years ago
2021-11-30 12:36:18 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:18 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:18 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=45 command_id=1>
2021-11-30 12:36:18 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 0])]
2021-11-30 12:36:18 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 0]]
2021-11-30 12:36:18 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xE5CB:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 100
2021-11-30 12:36:18 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 100}]
2021-11-30 12:36:18 DEBUG (MainThread) [zigpy.zcl] [0xc3cb: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=112 command_id=1>
2021-11-30 12:36:18 DEBUG (MainThread) [zigpy.zcl] [0xc3cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:18 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=45 command_id=1>
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 0])]
2021-11-30 12:36:19 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 0]]
2021-11-30 12:36:19 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xE5CB:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 100
2021-11-30 12:36:19 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 100}]
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0x9ec8: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=53 command_id=1>
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0x9ec8:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=522, function=0, data=[4, 0, 0, 116, 48])]
2021-11-30 12:36:19 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:8d:e1:c3 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x020a, Function: 0x00, Data: [4, 0, 0, 116, 48]]
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=12 command_id=1>
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:19 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0xc3cb: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=113 command_id=1>
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0xc3cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:19 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=12 command_id=1>
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:19 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=46 command_id=1>
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 0])]
2021-11-30 12:36:19 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 0]]
2021-11-30 12:36:19 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xE5CB:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 100
2021-11-30 12:36:19 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 100}]
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0x9ec8: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=54 command_id=1>
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0x9ec8:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=522, function=0, data=[4, 0, 0, 116, 48])]
2021-11-30 12:36:19 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:8d:e1:c3 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x020a, Function: 0x00, Data: [4, 0, 0, 116, 48]]
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0xc3cb: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=113 command_id=1>
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0xc3cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:19 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=13 command_id=1>
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:19 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=47 command_id=1>
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 0])]
2021-11-30 12:36:19 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 0]]
2021-11-30 12:36:19 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xE5CB:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 100
2021-11-30 12:36:19 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 100}]
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0xc3cb: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=114 command_id=1>
2021-11-30 12:36:19 DEBUG (MainThread) [zigpy.zcl] [0xc3cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:19 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0x9ec8: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=55 command_id=1>
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0x9ec8:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=522, function=0, data=[4, 0, 0, 116, 48])]
2021-11-30 12:36:20 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:8d:e1:c3 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x020a, Function: 0x00, Data: [4, 0, 0, 116, 48]]
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0x9ec8: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=55 command_id=1>
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0x9ec8:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=522, function=0, data=[4, 0, 0, 116, 48])]
2021-11-30 12:36:20 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:8d:e1:c3 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x020a, Function: 0x00, Data: [4, 0, 0, 116, 48]]
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=14 command_id=1>
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:20 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=48 command_id=1>
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 0])]
2021-11-30 12:36:20 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 0]]
2021-11-30 12:36:20 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xE5CB:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 100
2021-11-30 12:36:20 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 100}]
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0xc3cb: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=115 command_id=1>
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0xc3cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:20 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=14 command_id=1>
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:20 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=48 command_id=1>
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 0])]
2021-11-30 12:36:20 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 0]]
2021-11-30 12:36:20 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xE5CB:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 100
2021-11-30 12:36:20 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 100}]
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0x9ec8: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=56 command_id=1>
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0x9ec8:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=522, function=0, data=[4, 0, 0, 116, 48])]
2021-11-30 12:36:20 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:8d:e1:c3 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x020a, Function: 0x00, Data: [4, 0, 0, 116, 48]]
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0x579d: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=21 command_id=1>
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0x579d:1:0xef00] ZCL request 0x0001: [TuyaCommand(status=0, tsn=0, dp=18, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\xdc\x00\x00\x00', *payload=220))]
2021-11-30 12:36:20 DEBUG (MainThread) [zhaquirks.tuya] [0xb2a7:1:0x0201] Mapping standard system_mode (0x001c) with value <SystemMode.Heat: 4> to custom None
2021-11-30 12:36:20 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [547584428736] 'NoneType' object is not iterable
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 185, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1495, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1530, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 213, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 667, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 863, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 704, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/zha/climate.py", line 438, in async_set_hvac_mode
    if await self._thrm.async_set_operation_mode(HVAC_MODE_2_SYSTEM[hvac_mode]):
  File "/usr/src/homeassistant/homeassistant/components/zha/core/channels/hvac.py", line 243, in async_set_operation_mode
    if not await self.write_attributes({"system_mode": mode}):
  File "/usr/src/homeassistant/homeassistant/components/zha/core/channels/hvac.py", line 292, in write_attributes
    res = await self.cluster.write_attributes(data, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/zhaquirks/tuya/__init__.py", line 544, in write_attributes
    manufacturer_attrs.update(new_attrs)
TypeError: 'NoneType' object is not iterable
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0x8ccf:1:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=34 command_id=Command.Report_Attributes>
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0x8ccf:1:0x0400] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint16_t, value=44887>)]]
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0x8ccf:1:0x0400] Attribute report received: measured_value=44887
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0x579d: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=22 command_id=1>
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0x579d:1:0xef00] ZCL request 0x0001: [TuyaCommand(status=0, tsn=0, dp=19, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'5\x02\x00\x00', *payload=565))]
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.device] [0x9c18] Delivery error for seq # 0x28, on endpoint id 1 cluster 0x0000: message send failure
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0xc3cb: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=116 command_id=1>
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0xc3cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:20 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=15 command_id=1>
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:20 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=49 command_id=1>
2021-11-30 12:36:20 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 0])]
2021-11-30 12:36:20 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 0]]
2021-11-30 12:36:20 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xE5CB:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 100
2021-11-30 12:36:20 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 100}]
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0x9ec8: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=57 command_id=1>
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0x9ec8:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=522, function=0, data=[4, 0, 0, 116, 48])]
2021-11-30 12:36:21 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:8d:e1:c3 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x020a, Function: 0x00, Data: [4, 0, 0, 116, 48]]
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0xc3cb: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=116 command_id=1>
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0xc3cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:21 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0x9ec8: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=57 command_id=1>
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0x9ec8:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=522, function=0, data=[4, 0, 0, 116, 48])]
2021-11-30 12:36:21 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:8d:e1:c3 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x020a, Function: 0x00, Data: [4, 0, 0, 116, 48]]
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=16 command_id=1>
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:21 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=50 command_id=1>
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 0])]
2021-11-30 12:36:21 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 0]]
2021-11-30 12:36:21 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xE5CB:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 100
2021-11-30 12:36:21 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 100}]
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0xc3cb: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=117 command_id=1>
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0xc3cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:21 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=50 command_id=1>
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 0])]
2021-11-30 12:36:21 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 0]]
2021-11-30 12:36:21 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xE5CB:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 100
2021-11-30 12:36:21 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 100}]
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0x9ec8: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=58 command_id=1>
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0x9ec8:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=522, function=0, data=[4, 0, 0, 116, 48])]
2021-11-30 12:36:21 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:8d:e1:c3 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x020a, Function: 0x00, Data: [4, 0, 0, 116, 48]]
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=17 command_id=1>
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:21 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0xc3cb: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=118 command_id=1>
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0xc3cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:21 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=17 command_id=1>
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:21 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=51 command_id=1>
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 0])]
2021-11-30 12:36:21 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 0]]
2021-11-30 12:36:21 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xE5CB:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 100
2021-11-30 12:36:21 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 100}]
2021-11-30 12:36:21 DEBUG (MainThread) [zigpy.zcl] [0xc3cb: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=118 command_id=1>
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0xc3cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:22 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0x9ec8: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=59 command_id=1>
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0x9ec8:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=522, function=0, data=[4, 0, 0, 116, 48])]
2021-11-30 12:36:22 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:8d:e1:c3 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x020a, Function: 0x00, Data: [4, 0, 0, 116, 48]]
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0x579d: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=23 command_id=1>
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0x579d:1:0xef00] ZCL request 0x0001: [TuyaCommand(status=0, tsn=1, dp=22, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x03\x00\x00\x00', *payload=3))]
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0x579d: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=24 command_id=1>
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0x579d:1:0xef00] ZCL request 0x0001: [TuyaCommand(status=0, tsn=1, dp=21, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\n\x00\x00\x00', *payload=10))]
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=18 command_id=1>
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:22 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=52 command_id=1>
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 0])]
2021-11-30 12:36:22 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 0]]
2021-11-30 12:36:22 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xE5CB:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 100
2021-11-30 12:36:22 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 100}]
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0xc3cb: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=119 command_id=1>
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0xc3cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:22 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0x579d: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=25 command_id=1>
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0x579d:1:0xef00] ZCL request 0x0001: [TuyaCommand(status=0, tsn=1, dp=2, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'i\x01\x00\x00', *payload=361))]
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0x9ec8: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=60 command_id=1>
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0x9ec8:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=522, function=0, data=[4, 0, 0, 116, 48])]
2021-11-30 12:36:22 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:8d:e1:c3 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x020a, Function: 0x00, Data: [4, 0, 0, 116, 48]]
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0x9ec8: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=60 command_id=1>
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0x9ec8:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=522, function=0, data=[4, 0, 0, 116, 48])]
2021-11-30 12:36:22 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:8d:e1:c3 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x020a, Function: 0x00, Data: [4, 0, 0, 116, 48]]
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=19 command_id=1>
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:22 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=53 command_id=1>
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 0])]
2021-11-30 12:36:22 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 0]]
2021-11-30 12:36:22 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xE5CB:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 100
2021-11-30 12:36:22 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 100}]
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0xc3cb: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=120 command_id=1>
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0xc3cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:22 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=19 command_id=1>
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:22 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=53 command_id=1>
2021-11-30 12:36:22 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 0])]
2021-11-30 12:36:22 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 0]]
2021-11-30 12:36:22 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xE5CB:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 100
2021-11-30 12:36:22 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 100}]
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0x9ec8: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=61 command_id=1>
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0x9ec8:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=522, function=0, data=[4, 0, 0, 116, 48])]
2021-11-30 12:36:23 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:8d:e1:c3 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x020a, Function: 0x00, Data: [4, 0, 0, 116, 48]]
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0x579d: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=26 command_id=1>
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0x579d:1:0xef00] ZCL request 0x0001: [TuyaCommand(status=0, tsn=0, dp=18, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\xda\x00\x00\x00', *payload=218))]
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0xc3cb: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=121 command_id=1>
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0xc3cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:23 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0x579d: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=27 command_id=1>
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0x579d:1:0xef00] ZCL request 0x0001: [TuyaCommand(status=0, tsn=0, dp=19, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'7\x02\x00\x00', *payload=567))]
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=20 command_id=1>
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:23 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=54 command_id=1>
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 0])]
2021-11-30 12:36:23 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 0]]
2021-11-30 12:36:23 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xE5CB:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 100
2021-11-30 12:36:23 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 100}]
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0xc3cb: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=121 command_id=1>
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0xc3cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:23 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0x9ec8: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=62 command_id=1>
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0x9ec8:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=522, function=0, data=[4, 0, 0, 116, 48])]
2021-11-30 12:36:23 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:8d:e1:c3 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x020a, Function: 0x00, Data: [4, 0, 0, 116, 48]]
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0x9ec8: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=62 command_id=1>
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0x9ec8:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=522, function=0, data=[4, 0, 0, 116, 48])]
2021-11-30 12:36:23 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:8d:e1:c3 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x020a, Function: 0x00, Data: [4, 0, 0, 116, 48]]
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0x0d31: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=21 command_id=1>
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0x0d31:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:23 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:7a:31 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0xe5cb: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=55 command_id=1>
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0xe5cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=515, function=0, data=[4, 0, 0, 0, 0])]
2021-11-30 12:36:23 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 0]]
2021-11-30 12:36:23 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xE5CB:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 100
2021-11-30 12:36:23 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:00 Tuya Attribute Cache : [{32769: 0, 32770: 0, 8: 100}]
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0xc3cb: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=122 command_id=1>
2021-11-30 12:36:23 DEBUG (MainThread) [zigpy.zcl] [0xc3cb:1:0xef00] ZCL request 0x0001: [Command(status=0, tsn=0, command_id=1031, function=0, data=[1, 0])]
2021-11-30 12:36:23 DEBUG (MainThread) [zhaquirks.tuya] 04:cd:15:ff:fe:7f:79:5a Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0407, Function: 0x00, Data: [1, 0]]
joaoasilva commented 2 years ago

Set max temperature and min temperature works but with a bug 5 minimum in HA will put 0.5 in the TRV 35 maximum in HA will put 3.5 in the TRV

jacekk015 commented 2 years ago

Are you using some very, very, very, very old HA version??? That error is nor related to TRV code itself, but for missing some internal files. Which version of HA u use?

joaoasilva commented 2 years ago

Operating System Home Assistant OS 6.6

Version supervisor-2021.10.8 Newest Version supervisor-2021.10.8

Version core-2021.11.5 Newest Version core-2021.11.5

zhaquirks folder on the container drwxr-xr-x 4 root root 4096 Nov 19 21:33 tuya seems it's the latest as it was just updated when the version updated

jacekk015 commented 2 years ago

OK what is Changing mode?? Since your TRV is not supported you do not have presets. I assume that you click a Fire Icon to get that error - that's correct?? [edit] Corrected Min/Max ts0601_trv_rtitek.py.zip

joaoasilva commented 2 years ago

OK what is Changing mode?? Since your TRV is not supported you do not have presets. I assume that you click a Fire Icon to get that error - that's correct??

Yes, clicked the fire icon

jacekk015 commented 2 years ago

OK, so most of the TRV's doesn't have OFF or ON mode. So clicking Fire Icon does nothing. Presets are used to change modes like Auto/Manual and etc. To have Presets working @MattWestb can prepare a file to upload or you need to wait for the official update of your TRV - then HA will show Presets list under 3 dots of Lovelace view of TRV. You're suppose to have ON/OFF mode. I can map Off Icon to OFF mode, and I'll try to map Fire Icon to iterate between Presets.

jacekk015 commented 2 years ago

Clicking Fire/Off icon should iterate between TRV modes. ts0601_trv_rtitek.py.zip

MattWestb commented 2 years ago

@jacekk015 is the normal "moes" working then you is only using presets 1, 2 and 5 or must i doing one patched of your latest ?

jacekk015 commented 2 years ago

Standard MOES was the reason the Presets exists:

MOES_MODE_ATTR = 0x0404  # [0] away [1] scheduled [2] manual [3] comfort [4] eco [5] boost [6] complex

.

    class Preset(t.enum8):
        """Working modes of the thermostat."""

        Away = 0x00
        Schedule = 0x01
        Manual = 0x02
        Comfort = 0x03
        Eco = 0x04
        Boost = 0x05
        Complex = 0x06

.

        MODELS_INFO: [
            ("_TZE200_ckud7u2l", "TS0601"),
            ("_TZE200_ywdxldoj", "TS0601"),
            ("_TZE200_cwnjrr72", "TS0601"),
        ],
        MODELS_INFO: [
            ("_TYST11_ckud7u2l", "kud7u2l"),
            ("_TYST11_ywdxldoj", "wdxldoj"),
            ("_TYST11_cwnjrr72", "wnjrr72"),
        ],
MattWestb commented 2 years ago

@joaoasilva Copy the unziped climate.py to your HA config directory. Open one CLI to the HA docker container and copy the file in to it with:

cp /config/climate.py /usr/src/homeassistant/homeassistant/components/zha/climate.py

Instruction for getting one docker container CLI https://github.com/zigpy/zha-device-handlers/discussions/693 climate_rtitek.zip

Restart HA and you shall getting preset in your TRV card like this (but with more presets): TRV_ZHA02

jacekk015 commented 2 years ago

@MattWestb He has mapped also Boost there.

MattWestb commented 2 years ago

Boost is in as preset 5.


            if record.value == 5:
                self._preset = PRESET_BOOST
.
.
.
        if preset == PRESET_BOOST:
            return await self._thrm.write_attributes(
                {"operation_preset": 5}, manufacturer=mfg_code
            )
joaoasilva commented 2 years ago

This is what happens when I change mode:

2021-11-30 16:53:56 DEBUG (MainThread) [zhaquirks.tuya] [0xb2a7:1:0x0201] Mapping standard operation_preset (0x4002) with value <Preset.Boost: 5> to custom {260: 1}
2021-11-30 16:53:57 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xB2A7:1:0x0201]: wrote {'operation_preset': 5} attrs, Status: [[WriteAttributesStatusRecord(status=<Status.SUCCESS: 0>)]]
2021-11-30 16:53:57 DEBUG (MainThread) [zigpy.zcl] [0xb2a7: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=21 command_id=2>
2021-11-30 16:53:57 DEBUG (MainThread) [zigpy.zcl] [0xb2a7:1:0xef00] ZCL request 0x0002: [Command(status=0, tsn=67, command_id=260, function=0, data=[1, 1])]
2021-11-30 16:53:57 DEBUG (MainThread) [zhaquirks.tuya] [0xb2a7:1:0xef00] Received value [1] for attribute 0x0104 (command 0x0002)
2021-11-30 16:53:57 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xB2A7:1:0x0201]: Attribute report 'RtiThermostat'[programing_oper_mode] = ProgrammingOperationMode.Simple
2021-11-30 16:53:57 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xB2A7:1:0x0201]: Attribute report 'RtiThermostat'[occupancy] = Occupancy.Occupied
2021-11-30 16:53:57 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xB2A7:1:0x0201]: Attribute report 'RtiThermostat'[operation_preset] = Preset.Boost
2021-11-30 16:53:57 DEBUG (MainThread) [zigpy.zcl] [0xb2a7:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=True is_reply=True disable_default_response=False> manufacturer=4098 tsn=80 command_id=Command.Default_Response>
2021-11-30 16:53:57 DEBUG (MainThread) [zigpy.zcl] [0xb2a7:1:0xef00] ZCL request 0x000b: [0, <Status.SUCCESS: 0>]
2021-11-30 16:54:00 DEBUG (MainThread) [zhaquirks.tuya] [0xb2a7:1:0x0201] Mapping standard operation_preset (0x4002) with value <Preset.Manual: 2> to custom {1025: 1, 260: 0}
2021-11-30 16:54:00 DEBUG (MainThread) [zigpy.zcl] [0xb2a7: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=22 command_id=2>
2021-11-30 16:54:00 DEBUG (MainThread) [zigpy.zcl] [0xb2a7:1:0xef00] ZCL request 0x0002: [Command(status=0, tsn=68, command_id=1025, function=0, data=[1, 1])]
2021-11-30 16:54:00 DEBUG (MainThread) [zhaquirks.tuya] [0xb2a7:1:0xef00] Received value [1] for attribute 0x0401 (command 0x0002)
2021-11-30 16:54:00 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xB2A7:1:0x0201]: Attribute report 'RtiThermostat'[programing_oper_mode] = ProgrammingOperationMode.Simple
2021-11-30 16:54:00 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xB2A7:1:0x0201]: Attribute report 'RtiThermostat'[occupancy] = Occupancy.Occupied
2021-11-30 16:54:00 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xB2A7:1:0x0201]: Attribute report 'RtiThermostat'[operation_preset] = Preset.Manual
2021-11-30 16:54:00 DEBUG (MainThread) [zigpy.zcl] [0xb2a7:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=True is_reply=True disable_default_response=False> manufacturer=4098 tsn=88 command_id=Command.Default_Response>
2021-11-30 16:54:00 DEBUG (MainThread) [zigpy.zcl] [0xb2a7:1:0xef00] ZCL request 0x000b: [0, <Status.SUCCESS: 0>]
2021-11-30 16:54:00 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xB2A7:1:0x0201]: wrote {'operation_preset': 2} attrs, Status: [[WriteAttributesStatusRecord(status=<Status.SUCCESS: 0>)]]
2021-11-30 16:54:01 DEBUG (MainThread) [zigpy.zcl] [0xb2a7:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=True is_reply=True disable_default_response=False> manufacturer=4098 tsn=92 command_id=Command.Default_Response>
2021-11-30 16:54:01 DEBUG (MainThread) [zigpy.zcl] [0xb2a7:1:0xef00] ZCL request 0x000b: [0, <Status.SUCCESS: 0>]
2021-11-30 16:54:01 DEBUG (MainThread) [zigpy.zcl] [0xb2a7: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=23 command_id=2>
2021-11-30 16:54:01 DEBUG (MainThread) [zigpy.zcl] [0xb2a7:1:0xef00] ZCL request 0x0002: [Command(status=0, tsn=69, command_id=260, function=0, data=[1, 0])]
2021-11-30 16:54:01 DEBUG (MainThread) [zhaquirks.tuya] [0xb2a7:1:0xef00] Received value [0] for attribute 0x0104 (command 0x0002)

Doesn't seem to make any difference. Also, I can see all the modes, shouldn't just be the supported ones?

The temperature calibration goes between -20 and 20, is that right? When I change it it not sure what it does though Here are the logs:

2021-11-30 16:53:56 DEBUG (MainThread) [zhaquirks.tuya] [0xb2a7:1:0x0201] Mapping standard operation_preset (0x4002) with value <Preset.Boost: 5> to custom {260: 1}
2021-11-30 16:53:57 DEBUG (MainThread) [zigpy.zcl] [0xb2a7: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=21 command_id=2>
2021-11-30 16:53:57 DEBUG (MainThread) [zigpy.zcl] [0xb2a7:1:0xef00] ZCL request 0x0002: [Command(status=0, tsn=67, command_id=260, function=0, data=[1, 1])]
2021-11-30 16:53:57 DEBUG (MainThread) [zhaquirks.tuya] [0xb2a7:1:0xef00] Received value [1] for attribute 0x0104 (command 0x0002)
2021-11-30 16:53:57 DEBUG (MainThread) [zigpy.zcl] [0xb2a7:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=True is_reply=True disable_default_response=False> manufacturer=4098 tsn=80 command_id=Command.Default_Response>
2021-11-30 16:53:57 DEBUG (MainThread) [zigpy.zcl] [0xb2a7:1:0xef00] ZCL request 0x000b: [0, <Status.SUCCESS: 0>]
2021-11-30 16:54:00 DEBUG (MainThread) [zhaquirks.tuya] [0xb2a7:1:0x0201] Mapping standard operation_preset (0x4002) with value <Preset.Manual: 2> to custom {1025: 1, 260: 0}
2021-11-30 16:54:00 DEBUG (MainThread) [zigpy.zcl] [0xb2a7: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=22 command_id=2>
2021-11-30 16:54:00 DEBUG (MainThread) [zigpy.zcl] [0xb2a7:1:0xef00] ZCL request 0x0002: [Command(status=0, tsn=68, command_id=1025, function=0, data=[1, 1])]
2021-11-30 16:54:00 DEBUG (MainThread) [zhaquirks.tuya] [0xb2a7:1:0xef00] Received value [1] for attribute 0x0401 (command 0x0002)
2021-11-30 16:54:00 DEBUG (MainThread) [zigpy.zcl] [0xb2a7:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=True is_reply=True disable_default_response=False> manufacturer=4098 tsn=88 command_id=Command.Default_Response>
2021-11-30 16:54:00 DEBUG (MainThread) [zigpy.zcl] [0xb2a7:1:0xef00] ZCL request 0x000b: [0, <Status.SUCCESS: 0>]
2021-11-30 16:54:01 DEBUG (MainThread) [zigpy.zcl] [0xb2a7:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=True is_reply=True disable_default_response=False> manufacturer=4098 tsn=92 command_id=Command.Default_Response>
2021-11-30 16:54:01 DEBUG (MainThread) [zigpy.zcl] [0xb2a7:1:0xef00] ZCL request 0x000b: [0, <Status.SUCCESS: 0>]
2021-11-30 16:54:01 DEBUG (MainThread) [zigpy.zcl] [0xb2a7: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=23 command_id=2>
2021-11-30 16:54:01 DEBUG (MainThread) [zigpy.zcl] [0xb2a7:1:0xef00] ZCL request 0x0002: [Command(status=0, tsn=69, command_id=260, function=0, data=[1, 0])]
2021-11-30 16:54:01 DEBUG (MainThread) [zhaquirks.tuya] [0xb2a7:1:0xef00] Received value [0] for attribute 0x0104 (command 0x0002)
jacekk015 commented 2 years ago

Doesn't seem to make any difference.

I don't understand your responses. If you want it to work somehow you need to explain it a bit more. It works? It don't work?

This is what happens when I change mode: Yes I know that. Modes are changing - what we expected more? You've switched to Manual mode.

2021-11-30 16:54:00 DEBUG (MainThread) [zigpy.zcl] [0xb2a7:1:0xef00] ZCL request 0x0002: [Command(status=0, tsn=68, command_id=1025, function=0, data=[1, 1])]
2021-11-30 16:54:00 DEBUG (MainThread) [zhaquirks.tuya] [0xb2a7:1:0xef00] Received value [1] for attribute 0x0401 (command 0x0002)
2021-11-30 16:54:00 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xB2A7:1:0x0201]: Attribute report 'RtiThermostat'[programing_oper_mode] = ProgrammingOperationMode.Simple
2021-11-30 16:54:00 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xB2A7:1:0x0201]: Attribute report 'RtiThermostat'[occupancy] = Occupancy.Occupied
2021-11-30 16:54:00 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xB2A7:1:0x0201]: Attribute report 'RtiThermostat'[operation_preset] = Preset.Manual

The temperature calibration goes between -20 and 20, is that right? When I change it it not sure what it does though

Temp calibration uses attribute 0x0265, so you need to search for those IDs in the logs. It changes the same parameter that when you change it on your TRV directly. There's manual for that TRV for sure. Temperature calibration often shifts local temperature or target temperature readings. Again - see manual.

Also, I can see all the modes, shouldn't just be the supported ones? Yes, but Matt gave you workaround to have Presets right away, instead of waiting for next HA release.

We are more interested if those function works or not. Do you can set temperature from HA? Is HA see your TRV room temp? Is battery level reported? etc... Are Min/Max temps now OK? How's usability.

Below you have IDs to search in the logs, if needed:

RTI_TARGET_TEMP_ATTR = 0x0202  # target room temp (decidegree)
RTI_TEMPERATURE_ATTR = 0x0203  # current room temp (decidegree)
RTI_MODE_ATTR = 0x0401  # [0] schedule [1] manual [2] off [3] on
RTI_CHILD_LOCK_ATTR = 0x010C  # [0] unlocked [1] locked
RTI_TEMP_CALIBRATION_ATTR = 0x0265  # temperature calibration (degree)
RTI_MIN_TEMPERATURE_ATTR = 0x020F  # minimum limit of temperature setting (decidegree)
RTI_MAX_TEMPERATURE_ATTR = 0x0210  # maximum limit of temperature setting (decidegree)
RTI_WINDOW_DETECT_ATTR = 0x0108  # [0] alarm not active [1] alarm active
RTI_BOOST_ATTR = 0x0104  # [0] off [1] on
RTI_BOOST_COUNTDOWN_ATTR = 0x0205  # (seconds)
RTI_VALVE_POSITION_ATTR = 0x0266  # opening percentage /10
RTI_VALVE_STATE_ATTR = 0x0406  # [0] closed [1] opened
RTI_BATTERY_ATTR = 0x020D  # battery percentage remaining 0-100%
joaoasilva commented 2 years ago

Thanks for all the work! Overall all seems to work, it's more than usable! Can set the temperature, get the room temperature and everything. Max/Min is working too!