Help with custom Quirk needed - _TZE200_7iqgciln MG-AUDIM02ZLP-XX - TS0601 - Tuya

I have those dimmers: Zigbee Dimmer Switch RGB Backlight Adjustable - 2025 MODEL SAA APPROVE – Asthome Smart Electrical Supplies

When adding to ZHA they connect but have no identities for on/off, dimmer, etc.

Diag:

{
  "home_assistant": {
    "arch": "aarch64",
    "dev": false,
    "docker": true,
    "hassio": true,
    "installation_type": "Home Assistant OS",
    "os_name": "Linux",
    "os_version": "6.12.75-haos-raspi",
    "python_version": "3.14.2",
    "timezone": "Australia/Sydney",
    "version": "2026.5.0",
    "virtualenv": false,
    "container_arch": "aarch64",
    "supervisor": "2026.04.2",
    "host_os": "Home Assistant OS 17.3",
    "docker_version": "29.3.1",
    "chassis": "embedded",
    "run_as_root": true
  },
  "custom_components": {
    "hacs": {
      "documentation": "https://hacs.xyz/docs/use/",
      "version": "2.0.5",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "home_connect_alt": {
      "documentation": "https://github.com/ekutner/home-connect-hass",
      "version": "1.3.6",
      "requirements": [
        "home-connect-async==0.8.5"
      ]
    },
    "presence_simulation": {
      "documentation": "https://github.com/slashback100/presence_simulation",
      "version": "5.1",
      "requirements": []
    },
    "localtuya": {
      "documentation": "https://github.com/rospogrigio/localtuya/",
      "version": "5.2.3",
      "requirements": []
    },
    "bureau_of_meteorology": {
      "documentation": "https://github.com/bremor/bureau_of_meteorology",
      "version": "1.3.5",
      "requirements": [
        "iso8601"
      ]
    },
    "patch_aionanoleaf": {
      "documentation": null,
      "version": "2025.09.21",
      "requirements": []
    },
    "lunar_phase": {
      "documentation": "https://github.com/ngocjohn/lunar-phase",
      "version": "0.2.2",
      "requirements": [
        "ephem==4.1.6"
      ]
    },
    "govee_lan": {
      "documentation": "https://github.com/wez/govee-lan-hass",
      "version": "1.0.0",
      "requirements": [
        "govee-led-wez>=0.0.15"
      ]
    },
    "awtrix": {
      "documentation": "https://github.com/MiguelAngelLV/ha-awtrix",
      "version": "0.7.0",
      "requirements": []
    },
    "battery_notes": {
      "documentation": "https://andrew-codechimp.github.io/HA-Battery-Notes/",
      "version": "3.4.5",
      "requirements": []
    }
  },
  "integration_manifest": {
    "domain": "zha",
    "name": "Zigbee Home Automation",
    "after_dependencies": [
      "hassio",
      "onboarding",
      "usb"
    ],
    "codeowners": [
      "dmulcahey",
      "adminiuga",
      "puddly",
      "TheJulianJES"
    ],
    "config_flow": true,
    "dependencies": [
      "file_upload",
      "homeassistant_hardware"
    ],
    "documentation": "https://www.home-assistant.io/integrations/zha",
    "integration_type": "hub",
    "iot_class": "local_polling",
    "loggers": [
      "aiosqlite",
      "bellows",
      "crccheck",
      "pure_pcapy3",
      "zhaquirks",
      "zigpy",
      "zigpy_deconz",
      "zigpy_xbee",
      "zigpy_zigate",
      "zigpy_znp",
      "zha",
      "universal_silabs_flasher",
      "serialx"
    ],
    "requirements": [
      "zha==1.3.0"
    ],
    "usb": [
      {
        "description": "*2652*",
        "known_devices": [
          "slae.sh cc2652rb stick"
        ],
        "pid": "EA60",
        "vid": "10C4"
      },
      {
        "description": "*slzb-07*",
        "known_devices": [
          "smlight slzb-07"
        ],
        "pid": "EA60",
        "vid": "10C4"
      },
      {
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus v2"
        ],
        "pid": "55D4",
        "vid": "1A86"
      },
      {
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus"
        ],
        "pid": "EA60",
        "vid": "10C4"
      },
      {
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ],
        "pid": "EA60",
        "vid": "10C4"
      },
      {
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ],
        "pid": "7523",
        "vid": "1A86"
      },
      {
        "description": "*zigstar*",
        "known_devices": [
          "ZigStar Coordinators"
        ],
        "pid": "7523",
        "vid": "1A86"
      },
      {
        "description": "*conbee*",
        "known_devices": [
          "Conbee II"
        ],
        "pid": "0030",
        "vid": "1CF1"
      },
      {
        "description": "*conbee*",
        "known_devices": [
          "Conbee III"
        ],
        "pid": "6015",
        "vid": "0403"
      },
      {
        "description": "*zigbee*",
        "known_devices": [
          "Nortek HUSBZB-1"
        ],
        "pid": "8A2A",
        "vid": "10C4"
      },
      {
        "description": "*zigate*",
        "known_devices": [
          "ZiGate+"
        ],
        "pid": "6015",
        "vid": "0403"
      },
      {
        "description": "*zigate*",
        "known_devices": [
          "ZiGate"
        ],
        "pid": "EA60",
        "vid": "10C4"
      },
      {
        "description": "*bv 2010/10*",
        "known_devices": [
          "Bitron Video AV2010/10"
        ],
        "pid": "8B34",
        "vid": "10C4"
      },
      {
        "description": "*sonoff*max*",
        "known_devices": [
          "SONOFF Dongle Max MG24"
        ],
        "pid": "EA60",
        "vid": "10C4"
      },
      {
        "description": "*sonoff*lite*mg21*",
        "known_devices": [
          "sonoff zigbee dongle lite mg21"
        ],
        "pid": "EA60",
        "vid": "10C4"
      }
    ],
    "zeroconf": [
      {
        "name": "tube*",
        "type": "_esphomelib._tcp.local."
      },
      {
        "name": "*zigate*",
        "type": "_zigate-zigbee-gateway._tcp.local."
      },
      {
        "name": "*zigstar*",
        "type": "_zigstar_gw._tcp.local."
      },
      {
        "name": "uzg-01*",
        "type": "_uzg-01._tcp.local."
      },
      {
        "name": "slzb-06*",
        "type": "_slzb-06._tcp.local."
      },
      {
        "name": "xzg*",
        "type": "_xzg._tcp.local."
      },
      {
        "name": "czc*",
        "type": "_czc._tcp.local."
      },
      {
        "name": "*",
        "type": "_zigbee-coordinator._tcp.local."
      }
    ],
    "is_built_in": true,
    "overwrites_built_in": false
  },
  "setup_times": {
    "null": {
      "setup": 0.0001795560000346086
    },
    "d290d4d694e1199eac1aefb0e281c2b5": {
      "wait_import_platforms": -0.07437576799998169,
      "config_entry_setup": 21.39404456500006
    }
  },
  "data": {
    "version": 1,
    "ieee": "**REDACTED**",
    "nwk": "0x2A7F",
    "manufacturer": "_TZE200_7iqgciln",
    "model": "TS0601",
    "friendly_manufacturer": "_TZE200_7iqgciln",
    "friendly_model": "TS0601",
    "name": "_TZE200_7iqgciln TS0601",
    "quirk_applied": false,
    "quirk_class": "zigpy.device.Device",
    "exposes_features": [],
    "manufacturer_code": 4417,
    "power_source": "Mains",
    "lqi": 164,
    "rssi": -59,
    "last_seen": "2026-05-07T05:18:34.055114+00:00",
    "available": true,
    "device_type": "Router",
    "active_coordinator": false,
    "node_descriptor": {
      "logical_type": "Router",
      "complex_descriptor_available": false,
      "user_descriptor_available": false,
      "reserved": 0,
      "aps_flags": 0,
      "frequency_band": 8,
      "mac_capability_flags": 142,
      "manufacturer_code": 4417,
      "maximum_buffer_size": 66,
      "maximum_incoming_transfer_size": 66,
      "server_mask": 10752,
      "maximum_outgoing_transfer_size": 66,
      "descriptor_capability_field": 0
    },
    "endpoints": {
      "1": {
        "profile_id": 260,
        "device_type": {
          "name": "SMART_PLUG",
          "id": 81
        },
        "in_clusters": [
          {
            "cluster_id": "0x0000",
            "endpoint_attribute": "basic",
            "attributes": [
              {
                "id": "0x0001",
                "name": "app_version",
                "zcl_type": "uint8",
                "value": 65
              },
              {
                "id": "0x0004",
                "name": "manufacturer",
                "zcl_type": "string",
                "value": "_TZE200_7iqgciln"
              },
              {
                "id": "0x0005",
                "name": "model",
                "zcl_type": "string",
                "value": "TS0601"
              }
            ]
          },
          {
            "cluster_id": "0x0004",
            "endpoint_attribute": "groups",
            "attributes": []
          },
          {
            "cluster_id": "0x0005",
            "endpoint_attribute": "scenes",
            "attributes": []
          },
          {
            "cluster_id": "0xef00",
            "endpoint_attribute": null,
            "attributes": []
          }
        ],
        "out_clusters": [
          {
            "cluster_id": "0x000a",
            "endpoint_attribute": "time",
            "attributes": []
          },
          {
            "cluster_id": "0x0019",
            "endpoint_attribute": "ota",
            "attributes": [
              {
                "id": "0x0002",
                "name": "current_file_version",
                "zcl_type": "uint32",
                "value": 65
              }
            ],
            "last_query_cmd": {
              "manufacturer_code": 4417,
              "image_type": 54179,
              "current_file_version": 65,
              "hardware_version": null
            }
          }
        ]
      },
      "242": {
        "profile_id": 41440,
        "device_type": {
          "name": "PROXY_BASIC",
          "id": 97
        },
        "in_clusters": [],
        "out_clusters": [
          {
            "cluster_id": "0x0021",
            "endpoint_attribute": "green_power",
            "attributes": []
          }
        ]
      }
    },
    "original_signature": {
      "manufacturer": "_TZE200_7iqgciln",
      "model": "TS0601",
      "node_desc": {
        "logical_type": 1,
        "complex_descriptor_available": 0,
        "user_descriptor_available": 0,
        "reserved": 0,
        "aps_flags": 0,
        "frequency_band": 8,
        "mac_capability_flags": 142,
        "manufacturer_code": 4417,
        "maximum_buffer_size": 66,
        "maximum_incoming_transfer_size": 66,
        "server_mask": 10752,
        "maximum_outgoing_transfer_size": 66,
        "descriptor_capability_field": 0
      },
      "endpoints": {
        "1": {
          "profile_id": "0x0104",
          "device_type": "0x0051",
          "input_clusters": [
            "0x0004",
            "0x0005",
            "0xef00",
            "0x0000"
          ],
          "output_clusters": [
            "0x0019",
            "0x000a"
          ]
        },
        "242": {
          "profile_id": "0xa1e0",
          "device_type": "0x0061",
          "input_clusters": [],
          "output_clusters": [
            "0x0021"
          ]
        }
      }
    },
    "zha_lib_entities": {
      "sensor": [
        {
          "info_object": {
            "fallback_name": null,
            "unique_id": "**REDACTED**",
            "migrate_unique_ids": [],
            "platform": "sensor",
            "class_name": "LQISensor",
            "translation_key": "lqi",
            "translation_placeholders": null,
            "device_class": null,
            "state_class": "measurement",
            "entity_category": "diagnostic",
            "entity_registry_enabled_default": false,
            "enabled": true,
            "primary": false,
            "cluster_handlers": [
              {
                "class_name": "BasicClusterHandler",
                "generic_id": "cluster_handler_0x0000",
                "endpoint_id": 1,
                "cluster": {
                  "id": 0,
                  "name": "Basic",
                  "type": "server"
                },
                "id": "1:0x0000",
                "unique_id": "**REDACTED**",
                "status": "INITIALIZED",
                "value_attribute": null
              }
            ],
            "device_ieee": "**REDACTED**",
            "endpoint_id": 1,
            "available": true,
            "group_id": null,
            "suggested_display_precision": null,
            "unit": null
          },
          "state": {
            "class_name": "LQISensor",
            "available": true,
            "state": 164
          }
        },
        {
          "info_object": {
            "fallback_name": null,
            "unique_id": "**REDACTED**",
            "migrate_unique_ids": [],
            "platform": "sensor",
            "class_name": "RSSISensor",
            "translation_key": "rssi",
            "translation_placeholders": null,
            "device_class": "signal_strength",
            "state_class": "measurement",
            "entity_category": "diagnostic",
            "entity_registry_enabled_default": false,
            "enabled": true,
            "primary": false,
            "cluster_handlers": [
              {
                "class_name": "BasicClusterHandler",
                "generic_id": "cluster_handler_0x0000",
                "endpoint_id": 1,
                "cluster": {
                  "id": 0,
                  "name": "Basic",
                  "type": "server"
                },
                "id": "1:0x0000",
                "unique_id": "**REDACTED**",
                "status": "INITIALIZED",
                "value_attribute": null
              }
            ],
            "device_ieee": "**REDACTED**",
            "endpoint_id": 1,
            "available": true,
            "group_id": null,
            "suggested_display_precision": null,
            "unit": "dBm"
          },
          "state": {
            "class_name": "RSSISensor",
            "available": true,
            "state": -59
          }
        }
      ],
      "update": [
        {
          "info_object": {
            "fallback_name": null,
            "unique_id": "**REDACTED**",
            "migrate_unique_ids": [],
            "platform": "update",
            "class_name": "FirmwareUpdateEntity",
            "translation_key": null,
            "translation_placeholders": null,
            "device_class": "firmware",
            "state_class": null,
            "entity_category": "config",
            "entity_registry_enabled_default": true,
            "enabled": true,
            "primary": false,
            "cluster_handlers": [
              {
                "class_name": "OtaClientClusterHandler",
                "generic_id": "cluster_handler_0x0019_client",
                "endpoint_id": 1,
                "cluster": {
                  "id": 25,
                  "name": "Ota",
                  "type": "client"
                },
                "id": "1:0x0019_client",
                "unique_id": "**REDACTED**",
                "status": "INITIALIZED",
                "value_attribute": null
              }
            ],
            "device_ieee": "**REDACTED**",
            "endpoint_id": 1,
            "available": true,
            "group_id": null,
            "supported_features": 7
          },
          "state": {
            "class_name": "FirmwareUpdateEntity",
            "available": true,
            "installed_version": "0x00000041",
            "in_progress": false,
            "update_percentage": null,
            "latest_version": null,
            "release_summary": null,
            "release_notes": null,
            "release_url": null
          }
        }
      ]
    },
    "neighbors": [],
    "routes": []
  },
  "issues": []
}

I found out that this would need a custom quirk. I already have a custom quirk setup for another device.

I went ahead and took the following file: zha-device-handlers/zhaquirks/tuya/ts0601_dimmer.py at 69bdc1564abbfae2ec1cf086d425fbfe41b7283c · zigpy/zha-device-handlers · GitHub

added the model in question to the signature section - restarted, etc.

after that, depending on where I add the signature, switches show up, but don't actually do anything

I am not very familiar with setting up custom quirks, so question:

How can I make the device work with ZHA (not going to other Zigbee integrations) by using a correctly working custom quirk, until it the device may or may not be supported. (I already opened a device add request ([Device Support Request] _TZE200_7iqgciln MG-AUDIM02ZLP-XX · Issue #4979 · zigpy/zha-device-handlers · GitHub)

I tested some more things. I added the signature for the device into the custom quirk taken from the zha-devices. When trying to change state these are the logs:

2026-05-09 07:17:15.009 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0x0006] Sending Tuya Cluster Command... Cluster Command is 0, Arguments are ()
2026-05-09 07:17:15.009 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] tuya_mcu_command: cluster_data=TuyaClusterData(endpoint_id=1, cluster_name='on_off', cluster_attr='on_off', attr_value=False, expect_reply=True)
2026-05-09 07:17:15.010 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] get_dp_mapping --> found DP: 1
2026-05-09 07:17:15.010 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] from_cluster_data: {1: DPToAttributeMapping(ep_attribute='on_off', attribute_name='on_off', converter=None, endpoint_id=None)}
2026-05-09 07:17:15.011 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] value: False
2026-05-09 07:17:15.011 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] raw: b'\x00'
2026-05-09 07:17:15.012 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] tuya_commands: [TuyaCommand(status=0, tsn=29, datapoints=[TuyaDatapointData(dp=1, data=<zhaquirks.tuya.TuyaData object at 0x7f520d8d60>)])]
2026-05-09 07:17:15.018 DEBUG (MainThread) [zigpy.event] Emitting event attribute_updated with data AttributeUpdatedEvent(event_type='attribute_updated', device_ieee='a4:c1:38:55:e5:a1:a0:d5', endpoint_id=1, cluster_type=<ClusterType.Server: 0>, cluster_id=6, attribute_name='on_off', attribute_id=0, manufacturer_code=None, value=False) (2 listeners)
2026-05-09 07:17:15.019 DEBUG (MainThread) [zha.zigbee.cluster_handlers] [0x611A:1:0x0006]: cluster_handler[on_off] attribute_updated - cluster[On/Off] attr[on_off] value[False]
2026-05-09 07:17:15.019 DEBUG (MainThread) [zha] Emitting event cluster_handler_attribute_updated with data ClusterAttributeUpdatedEvent(attribute_id=0, attribute_name='on_off', attribute_value=False, cluster_handler_unique_id='a4:c1:38:55:e5:a1:a0:d5:1:0x0006', cluster_id=6, event_type='cluster_handler_event', event='cluster_handler_attribute_updated') (1 listeners)
2026-05-09 07:17:15.020 DEBUG (MainThread) [zha.application.platforms] a4:c1:38:55:e5:a1:a0:d5-1: received onoff False while transitioning - buffering
2026-05-09 07:17:15.020 DEBUG (MainThread) [zha.application.platforms] a4:c1:38:55:e5:a1:a0:d5-1: starting transitioning timer for 1.5
2026-05-09 07:17:15.021 DEBUG (MainThread) [zha.application.platforms] a4:c1:38:55:e5:a1:a0:d5-1: turned off: DefaultResponse(command_id=0, status=<Status.SUCCESS: 0>)
2026-05-09 07:17:15.021 DEBUG (MainThread) [zha] Emitting event state_changed with data EntityStateChangedEvent(event_type='entity', event='state_changed', platform=<Platform.LIGHT: 'light'>, unique_id='a4:c1:38:55:e5:a1:a0:d5-1', device_ieee=a4:c1:38:55:e5:a1:a0:d5, endpoint_id=1, group_id=None) (1 listeners)
2026-05-09 07:17:15.021 DEBUG (MainThread) [homeassistant.components.zha.entity] light.kali_bedside: Handling event from entity: EntityStateChangedEvent(event_type='entity', event='state_changed', platform=<Platform.LIGHT: 'light'>, unique_id='a4:c1:38:55:e5:a1:a0:d5-1', device_ieee=a4:c1:38:55:e5:a1:a0:d5, endpoint_id=1, group_id=None)
2026-05-09 07:17:15.024 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] Sending request header: ZCLHeader(frame_control=FrameControl<0x01>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=4, command_id=0, *direction=<Direction.Client_to_Server: 0>)
2026-05-09 07:17:15.027 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] Sending request: set_data(data=TuyaCommand(status=0, tsn=29, datapoints=[TuyaDatapointData(dp=1, data=<zhaquirks.tuya.TuyaData object at 0x7f520d8d60>)]))
2026-05-09 07:17:15.029 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(timestamp=datetime.datetime(2026, 5, 8, 21, 17, 15, 29043, tzinfo=datetime.timezone.utc), priority=None, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x611A), dst_ep=1, source_route=None, extended_timeout=False, tsn=4, profile_id=260, cluster_id=61184, data=Serialized[b'\x01\x04\x00\x00\x1d\x01\x01\x00\x01\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2026-05-09 07:17:15.032 DEBUG (MainThread) [zigpy_deconz.api] Sending CommandId.aps_data_request{'request_id': 30, 'flags': <DeconzSendDataFlags.NONE: 0>, 'dst': DeconzAddressEndpoint(address_mode=<AddressMode.NWK: 2>, address=0x611A, endpoint=1), 'profile_id': 260, 'cluster_id': 61184, 'src_ep': 1, 'asdu': b'\x01\x04\x00\x00\x1d\x01\x01\x00\x01\x00', 'tx_options': <DeconzTransmitOptions.USE_NWK_KEY_SECURITY: 2>, 'radius': 0, 'relays': None} (seq=178)
2026-05-09 07:17:15.033 DEBUG (MainThread) [serialx.descriptor_transport] Immediately writing b'\xc0\x12\xb2\x00 \x00\x19\x00\x1e\x00\x02\x1aa\x01\x04\x01\x00\xef\x01\n\x00\x01\x04\x00\x00\x1d\x01\x01\x00\x01\x00\x02\x00A\xfd\xc0'
2026-05-09 07:17:15.040 DEBUG (MainThread) [serialx.descriptor_transport] Sent 36 of 36 bytes
2026-05-09 07:17:15.042 DEBUG (MainThread) [serialx.descriptor_transport] Event loop woke up reader
2026-05-09 07:17:15.043 DEBUG (Thread-6) [aiosqlite] executing functools.partial(<built-in method execute of sqlite3.Connection object at 0x7f570f49a0>, '\n            INSERT INTO attributes_cache_v15 (ieee, endpoint_id, cluster_type, cluster_id, attr_id, manufacturer_code, status, value, last_updated)\n            VALUES (:ieee, :endpoint_id, :cluster_type, :cluster_id, :attr_id, :manufacturer_code, :status, :value, :timestamp)\n                ON CONFLICT (ieee, endpoint_id, cluster_type, cluster_id, attr_id, manufacturer_code_idx) DO UPDATE\n                SET status=excluded.status, value=excluded.value, last_updated=excluded.last_updated\n                WHERE\n                    value != excluded.value\n                    OR status != excluded.status\n                    OR :timestamp - last_updated > :min_update_delta\n            ', {'ieee': 'a4:c1:38:55:e5:a1:a0:d5', 'endpoint_id': 1, 'cluster_type': <ClusterType.Server: 0>, 'cluster_id': 6, 'attr_id': 0, 'manufacturer_code': None, 'status': <Status.SUCCESS: 0>, 'value': False, 'timestamp': 1778275035.04097, 'min_update_delta': 30.0})
2026-05-09 07:17:15.047 DEBUG (MainThread) [serialx.descriptor_transport] Received b'\xc0\x12\xb2\x00\t\x00\x02\x00"\x1e\xf1\xfe\xc0'
2026-05-09 07:17:15.047 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x12b20009000200221e
2026-05-09 07:17:15.048 DEBUG (MainThread) [zigpy_deconz.api] Received command CommandId.aps_data_request{'status': <Status.SUCCESS: 0>, 'frame_length': 9, 'payload_length': 2, 'device_state': DeviceState(network_state=<NetworkState2.CONNECTED: 2>, device_state=<DeviceStateFlags.APSDE_DATA_REQUEST_FREE_SLOTS_AVAILABLE: 8>), 'request_id': 30} (seq 178)
2026-05-09 07:17:15.051 DEBUG (Thread-6) [aiosqlite] operation functools.partial(<built-in method execute of sqlite3.Connection object at 0x7f570f49a0>, '\n            INSERT INTO attributes_cache_v15 (ieee, endpoint_id, cluster_type, cluster_id, attr_id, manufacturer_code, status, value, last_updated)\n            VALUES (:ieee, :endpoint_id, :cluster_type, :cluster_id, :attr_id, :manufacturer_code, :status, :value, :timestamp)\n                ON CONFLICT (ieee, endpoint_id, cluster_type, cluster_id, attr_id, manufacturer_code_idx) DO UPDATE\n                SET status=excluded.status, value=excluded.value, last_updated=excluded.last_updated\n                WHERE\n                    value != excluded.value\n                    OR status != excluded.status\n                    OR :timestamp - last_updated > :min_update_delta\n            ', {'ieee': 'a4:c1:38:55:e5:a1:a0:d5', 'endpoint_id': 1, 'cluster_type': <ClusterType.Server: 0>, 'cluster_id': 6, 'attr_id': 0, 'manufacturer_code': None, 'status': <Status.SUCCESS: 0>, 'value': False, 'timestamp': 1778275035.04097, 'min_update_delta': 30.0}) completed

which seems to send it just fine (does it get an ack just fine?)

but I am also seeing those errors:

6-05-09 07:17:17.019 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] Received ZCL frame: '18 06 0b 00 00'
2026-05-09 07:17:17.020 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x18>(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=6, command_id=11, *direction=<Direction.Server_to_Client: 1>)
2026-05-09 07:17:17.020 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] Decoded ZCL frame: TuyaLevelControlManufCluster:DefaultResponse(command_id=0, status=<Status.SUCCESS: 0>)
2026-05-09 07:17:17.021 DEBUG (MainThread) [zigpy_deconz.api] Sending CommandId.aps_data_confirm{} (seq=187)
2026-05-09 07:17:17.021 DEBUG (MainThread) [serialx.descriptor_transport] Immediately writing b'\xc0\x04\xbb\x00\x07\x00\x00\x00:\xff\xc0'
2026-05-09 07:17:17.022 DEBUG (MainThread) [serialx.descriptor_transport] Sent 11 of 11 bytes
2026-05-09 07:17:17.022 DEBUG (Thread-6) [aiosqlite] executing functools.partial(<built-in method execute of sqlite3.Connection object at 0x7f570f49a0>, 'UPDATE devices_v15\n                    SET last_seen=:ts\n                    WHERE ieee=:ieee AND :ts - last_seen > :min_update_delta', {'ts': 1778275037.017727, 'ieee': a4:c1:38:55:e5:a1:a0:d5, 'min_update_delta': 30.0})
2026-05-09 07:17:17.027 DEBUG (MainThread) [serialx.descriptor_transport] Event loop woke up reader
2026-05-09 07:17:17.027 DEBUG (MainThread) [serialx.descriptor_transport] Received b'\xc0\x04\xbb\x00\x13\x00\x0c\x00""\x02\x1aa\x01\x01\x00\x00\x00\x00\x00_\xfe\xc0'
2026-05-09 07:17:17.028 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x04bb0013000c002222021a6101010000000000
2026-05-09 07:17:17.029 DEBUG (MainThread) [zigpy_deconz.api] Received command CommandId.aps_data_confirm{'status': <Status.SUCCESS: 0>, 'frame_length': 19, 'payload_length': 12, 'device_state': DeviceState(network_state=<NetworkState2.CONNECTED: 2>, device_state=<DeviceStateFlags.APSDE_DATA_REQUEST_FREE_SLOTS_AVAILABLE: 8>), 'request_id': 34, 'dst_addr': DeconzAddressEndpoint(address_mode=<AddressMode.NWK: 2>, address=0x611A, endpoint=1), 'src_ep': 1, 'confirm_status': <TXStatus.SUCCESS: 0>, 'reserved1': 0, 'reserved2': 0, 'reserved3': 0, 'reserved4': 0} (seq 187)
2026-05-09 07:17:17.030 DEBUG (Thread-6) [aiosqlite] operation functools.partial(<built-in method execute of sqlite3.Connection object at 0x7f570f49a0>, 'UPDATE devices_v15\n                    SET last_seen=:ts\n                    WHERE ieee=:ieee AND :ts - last_seen > :min_update_delta', {'ts': 1778275037.017727, 'ieee': a4:c1:38:55:e5:a1:a0:d5, 'min_update_delta': 30.0}) completed
2026-05-09 07:17:17.033 DEBUG (Thread-6) [aiosqlite] executing functools.partial(<built-in method commit of sqlite3.Connection object at 0x7f570f49a0>)
2026-05-09 07:17:17.034 DEBUG (Thread-6) [aiosqlite] operation functools.partial(<built-in method commit of sqlite3.Connection object at 0x7f570f49a0>) completed
2026-05-09 07:17:17.362 DEBUG (MainThread) [zha.application.platforms] a4:c1:38:55:e5:a1:a0:d5-1: transition complete - future attribute reports will write HA state
2026-05-09 07:17:17.362 DEBUG (MainThread) [zha.application.platforms] a4:c1:38:55:e5:a1:a0:d5-1: applying buffered brightness 150 from transition
2026-05-09 07:17:18.631 DEBUG (MainThread) [zha.application.platforms] a4:c1:38:55:e5:a1:a0:d5-1: setting transitioning flag to True
2026-05-09 07:17:18.632 DEBUG (MainThread) [zigpy.util] Tries remaining: 3
2026-05-09 07:17:18.632 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0x0008] Sending Tuya Cluster Command. Cluster Command is 4, Arguments are (), {'level': 135, 'transition_time': 0}
2026-05-09 07:17:18.633 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] tuya_mcu_command: cluster_data=TuyaClusterData(endpoint_id=1, cluster_name='level', cluster_attr='current_level', attr_value=135, expect_reply=True)
2026-05-09 07:17:18.633 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] get_dp_mapping --> found DP: 2
2026-05-09 07:17:18.633 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] from_cluster_data: {2: DPToAttributeMapping(ep_attribute='level', attribute_name='current_level', converter=<function TuyaLevelControlManufCluster.<lambda> at 0x7f59374e00>, endpoint_id=None)}
2026-05-09 07:17:18.634 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] value: 529
2026-05-09 07:17:18.634 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] raw: b'\x00\x00\x02\x11'
2026-05-09 07:17:18.635 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] tuya_commands: [TuyaCommand(status=0, tsn=35, datapoints=[TuyaDatapointData(dp=2, data=<zhaquirks.tuya.TuyaData object at 0x7f4de46670>)])]
2026-05-09 07:17:18.643 DEBUG (MainThread) [zigpy.event] Emitting event attribute_updated with data AttributeUpdatedEvent(event_type='attribute_updated', device_ieee='a4:c1:38:55:e5:a1:a0:d5', endpoint_id=1, cluster_type=<ClusterType.Server: 0>, cluster_id=8, attribute_name='current_level', attribute_id=0, manufacturer_code=None, value=135) (2 listeners)
2026-05-09 07:17:18.643 DEBUG (MainThread) [zha.zigbee.cluster_handlers] [0x611A:1:0x0008]: received attribute: 0 update with value: 135
2026-05-09 07:17:18.644 DEBUG (MainThread) [zha] Emitting event cluster_handler_level_changed with data LevelChangeEvent(level=135, event='cluster_handler_set_level', event_type='cluster_handler_event') (1 listeners)
2026-05-09 07:17:18.644 DEBUG (MainThread) [zha.application.platforms] a4:c1:38:55:e5:a1:a0:d5-1: received level change event LevelChangeEvent(level=135, event='cluster_handler_set_level', event_type='cluster_handler_event') while transitioning - buffering
2026-05-09 07:17:18.644 DEBUG (MainThread) [zha.application.platforms] a4:c1:38:55:e5:a1:a0:d5-1: handling color commands after turning on/level
2026-05-09 07:17:18.645 DEBUG (MainThread) [zha.application.platforms] a4:c1:38:55:e5:a1:a0:d5-1: starting transitioning timer for 0.5
2026-05-09 07:17:18.645 DEBUG (MainThread) [zha.application.platforms] a4:c1:38:55:e5:a1:a0:d5-1: turned on: {'move_to_level_with_on_off': DefaultResponse(command_id=4, status=<Status.SUCCESS: 0>)}
2026-05-09 07:17:18.645 DEBUG (MainThread) [zha] Emitting event state_changed with data EntityStateChangedEvent(event_type='entity', event='state_changed', platform=<Platform.LIGHT: 'light'>, unique_id='a4:c1:38:55:e5:a1:a0:d5-1', device_ieee=a4:c1:38:55:e5:a1:a0:d5, endpoint_id=1, group_id=None) (1 listeners)
2026-05-09 07:17:18.645 DEBUG (MainThread) [homeassistant.components.zha.entity] light.kali_bedside: Handling event from entity: EntityStateChangedEvent(event_type='entity', event='state_changed', platform=<Platform.LIGHT: 'light'>, unique_id='a4:c1:38:55:e5:a1:a0:d5-1', device_ieee=a4:c1:38:55:e5:a1:a0:d5, endpoint_id=1, group_id=None)
2026-05-09 07:17:18.648 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] Sending request header: ZCLHeader(frame_control=FrameControl<0x01>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=7, command_id=0, *direction=<Direction.Client_to_Server: 0>)
2026-05-09 07:17:18.650 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] Sending request: set_data(data=TuyaCommand(status=0, tsn=35, datapoints=[TuyaDatapointData(dp=2, data=<zhaquirks.tuya.TuyaData object at 0x7f4de46670>)]))
2026-05-09 07:17:18.652 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(timestamp=datetime.datetime(2026, 5, 8, 21, 17, 18, 652089, tzinfo=datetime.timezone.utc), priority=None, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x611A), dst_ep=1, source_route=None, extended_timeout=False, tsn=7, profile_id=260, cluster_id=61184, data=Serialized[b'\x01\x07\x00\x00#\x02\x02\x00\x04\x00\x00\x02\x11'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2026-05-09 07:17:18.652 DEBUG (MainThread) [zigpy_deconz.api] Sending CommandId.aps_data_request{'request_id': 36, 'flags': <DeconzSendDataFlags.NONE: 0>, 'dst': DeconzAddressEndpoint(address_mode=<AddressMode.NWK: 2>, address=0x611A, endpoint=1), 'profile_id': 260, 'cluster_id': 61184, 'src_ep': 1, 'asdu': b'\x01\x07\x00\x00#\x02\x02\x00\x04\x00\x00\x02\x11', 'tx_options': <DeconzTransmitOptions.USE_NWK_KEY_SECURITY: 2>, 'radius': 0, 'relays': None} (seq=188)
2026-05-09 07:17:18.653 DEBUG (MainThread) [serialx.descriptor_transport] Immediately writing b'\xc0\x12\xbc\x00#\x00\x1c\x00$\x00\x02\x1aa\x01\x04\x01\x00\xef\x01\r\x00\x01\x07\x00\x00#\x02\x02\x00\x04\x00\x00\x02\x11\x02\x00\x07\xfd\xc0'
2026-05-09 07:17:18.653 DEBUG (MainThread) [serialx.descriptor_transport] Sent 39 of 39 bytes
2026-05-09 07:17:18.654 DEBUG (Thread-6) [aiosqlite] executing functools.partial(<built-in method execute of sqlite3.Connection object at 0x7f570f49a0>, '\n            INSERT INTO attributes_cache_v15 (ieee, endpoint_id, cluster_type, cluster_id, attr_id, manufacturer_code, status, value, last_updated)\n            VALUES (:ieee, :endpoint_id, :cluster_type, :cluster_id, :attr_id, :manufacturer_code, :status, :value, :timestamp)\n                ON CONFLICT (ieee, endpoint_id, cluster_type, cluster_id, attr_id, manufacturer_code_idx) DO UPDATE\n                SET status=excluded.status, value=excluded.value, last_updated=excluded.last_updated\n                WHERE\n                    value != excluded.value\n                    OR status != excluded.status\n                    OR :timestamp - last_updated > :min_update_delta\n            ', {'ieee': 'a4:c1:38:55:e5:a1:a0:d5', 'endpoint_id': 1, 'cluster_type': <ClusterType.Server: 0>, 'cluster_id': 8, 'attr_id': 0, 'manufacturer_code': None, 'status': <Status.SUCCESS: 0>, 'value': 135, 'timestamp': 1778275038.654247, 'min_update_delta': 30.0})
2026-05-09 07:17:18.655 DEBUG (Thread-6) [aiosqlite] operation functools.partial(<built-in method execute of sqlite3.Connection object at 0x7f570f49a0>, '\n            INSERT INTO attributes_cache_v15 (ieee, endpoint_id, cluster_type, cluster_id, attr_id, manufacturer_code, status, value, last_updated)\n            VALUES (:ieee, :endpoint_id, :cluster_type, :cluster_id, :attr_id, :manufacturer_code, :status, :value, :timestamp)\n                ON CONFLICT (ieee, endpoint_id, cluster_type, cluster_id, attr_id, manufacturer_code_idx) DO UPDATE\n                SET status=excluded.status, value=excluded.value, last_updated=excluded.last_updated\n                WHERE\n                    value != excluded.value\n                    OR status != excluded.status\n                    OR :timestamp - last_updated > :min_update_delta\n            ', {'ieee': 'a4:c1:38:55:e5:a1:a0:d5', 'endpoint_id': 1, 'cluster_type': <ClusterType.Server: 0>, 'cluster_id': 8, 'attr_id': 0, 'manufacturer_code': None, 'status': <Status.SUCCESS: 0>, 'value': 135, 'timestamp': 1778275038.654247, 'min_update_delta': 30.0}) completed
2026-05-09 07:17:18.657 DEBUG (Thread-6) [aiosqlite] executing functools.partial(<built-in method commit of sqlite3.Connection object at 0x7f570f49a0>)
2026-05-09 07:17:18.663 DEBUG (Thread-6) [aiosqlite] operation functools.partial(<built-in method commit of sqlite3.Connection object at 0x7f570f49a0>) completed
2026-05-09 07:17:18.663 DEBUG (MainThread) [serialx.descriptor_transport] Event loop woke up reader
2026-05-09 07:17:18.664 DEBUG (MainThread) [serialx.descriptor_transport] Received b'\xc0\x12\xbc\x00\t\x00\x02\x00"$\xe1\xfe\xc0'
2026-05-09 07:17:18.664 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x12bc00090002002224
2026-05-09 07:17:18.665 DEBUG (MainThread) [zigpy_deconz.api] Received command CommandId.aps_data_request{'status': <Status.SUCCESS: 0>, 'frame_length': 9, 'payload_length': 2, 'device_state': DeviceState(network_state=<NetworkState2.CONNECTED: 2>, device_state=<DeviceStateFlags.APSDE_DATA_REQUEST_FREE_SLOTS_AVAILABLE: 8>), 'request_id': 36} (seq 188)
2026-05-09 07:17:18.705 DEBUG (MainThread) [serialx.descriptor_transport] Event loop woke up reader
2026-05-09 07:17:18.706 DEBUG (MainThread) [serialx.descriptor_transport] Received b'\xc0\x0e\xbd\x00\x07\x00*'
2026-05-09 07:17:18.707 DEBUG (MainThread) [serialx.descriptor_transport] Event loop woke up reader
2026-05-09 07:17:18.709 DEBUG (MainThread) [serialx.descriptor_transport] Received b'\x00\x04\xff\xc0'
2026-05-09 07:17:18.709 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0ebd0007002a00
2026-05-09 07:17:18.710 DEBUG (MainThread) [zigpy_deconz.api] Received command CommandId.device_state_changed{'status': <Status.SUCCESS: 0>, 'frame_length': 7, 'device_state': DeviceState(network_state=<NetworkState2.CONNECTED: 2>, device_state=<DeviceStateFlags.APSDE_DATA_INDICATION|APSDE_DATA_REQUEST_FREE_SLOTS_AVAILABLE: 10>), 'reserved': 0} (seq 189)
2026-05-09 07:17:18.712 DEBUG (MainThread) [zigpy_deconz.api] Sending CommandId.aps_data_indication{'flags': <DataIndicationFlags.Always_Use_NWK_Source_Addr: 1>} (seq=189)
2026-05-09 07:17:18.712 DEBUG (MainThread) [serialx.descriptor_transport] Immediately writing b'\xc0\x17\xbd\x00\x08\x00\x01\x00\x01"\xff\xc0'
2026-05-09 07:17:18.715 DEBUG (MainThread) [serialx.descriptor_transport] Sent 12 of 12 bytes
2026-05-09 07:17:18.716 DEBUG (MainThread) [serialx.descriptor_transport] Event loop woke up reader
2026-05-09 07:17:18.718 DEBUG (MainThread) [serialx.descriptor_transport] Received b'\xc0\x17\xbd\x00#\x00\x1c\x00"\x02\x00\x00\x01\x02\x1aa\x01\x04\x01\x00\xef\x05\x00'
2026-05-09 07:17:18.719 DEBUG (MainThread) [serialx.descriptor_transport] Event loop woke up reader
2026-05-09 07:17:18.719 DEBUG (MainThread) [serialx.descriptor_transport] Received b'\x18\x07\x0b\x00\x00\x00\x00x\x00\x00\x00\x00\xba\xf5\xfb\xc0'
2026-05-09 07:17:18.720 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x17bd0023001c002202000001021a6101040100ef050018070b000000007800000000ba
2026-05-09 07:17:18.721 DEBUG (MainThread) [zigpy_deconz.api] Received command CommandId.aps_data_indication{'status': <Status.SUCCESS: 0>, 'frame_length': 35, 'payload_length': 28, 'device_state': DeviceState(network_state=<NetworkState2.CONNECTED: 2>, device_state=<DeviceStateFlags.APSDE_DATA_REQUEST_FREE_SLOTS_AVAILABLE: 8>), 'dst_addr': DeconzAddress(address_mode=<AddressMode.NWK: 2>, address=0x0000), 'dst_ep': 1, 'src_addr': DeconzAddress(address_mode=<AddressMode.NWK: 2>, address=0x611A), 'src_ep': 1, 'profile_id': 260, 'cluster_id': 61184, 'asdu': b'\x18\x07\x0b\x00\x00', 'reserved1': 0, 'reserved2': 0, 'lqi': 120, 'reserved3': 0, 'reserved4': 0, 'reserved5': 0, 'reserved6': 0, 'rssi': -70} (seq 189)
2026-05-09 07:17:18.722 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2026, 5, 8, 21, 17, 18, 722909, tzinfo=datetime.timezone.utc), priority=None, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x611A), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\x18\x07\x0b\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=120, rssi=-70)
2026-05-09 07:17:18.731 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] Received ZCL frame: '18 07 0b 00 00'
2026-05-09 07:17:18.733 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x18>(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=7, command_id=11, *direction=<Direction.Server_to_Client: 1>)
2026-05-09 07:17:18.734 DEBUG (MainThread) [zigpy.zcl] [0x611A:1:0xef00] Decoded ZCL frame: TuyaLevelControlManufCluster:DefaultResponse(command_id=0, status=<Status.SUCCESS: 0>)
2026-05-09 07:17:18.735 DEBUG (Thread-6) [aiosqlite] executing functools.partial(<built-in method execute of sqlite3.Connection object at 0x7f570f49a0>, 'UPDATE devices_v15\n                    SET last_seen=:ts\n                    WHERE ieee=:ieee AND :ts - last_seen > :min_update_delta', {'ts': 1778275038.722909, 'ieee': a4:c1:38:55:e5:a1:a0:d5, 'min_update_delta': 30.0})
2026-05-09 07:17:18.737 DEBUG (Thread-6) [aiosqlite] operation functools.partial(<built-in method execute of sqlite3.Connection object at 0x7f570f49a0>, 'UPDATE devices_v15\n                    SET last_seen=:ts\n                    WHERE ieee=:ieee AND :ts - last_seen > :min_update_delta', {'ts': 1778275038.722909, 'ieee': a4:c1:38:55:e5:a1:a0:d5, 'min_update_delta': 30.0}) completed
2026-05-09 07:17:18.739 DEBUG (Thread-6) [aiosqlite] executing functools.partial(<built-in method commit of sqlite3.Connection object at 0x7f570f49a0>)
2026-05-09 07:17:18.740 DEBUG (Thread-6) [aiosqlite] operation functools.partial(<built-in method commit of sqlite3.Connection object at 0x7f570f49a0>) completed
2026-05-09 07:17:18.956 DEBUG (MainThread) [serialx.descriptor_transport] Event loop woke up reader
2026-05-09 07:17:18.957 DEBUG (MainThread) [serialx.descriptor_transport] Received b'\xc0\x0e\xbe\x00\x07'
2026-05-09 07:17:18.958 DEBUG (MainThread) [serialx.descriptor_transport] Event loop woke up reader
2026-05-09 07:17:18.958 DEBUG (MainThread) [serialx.descriptor_transport] Received b'\x00&\x00\x07\xff\xc0'
2026-05-09 07:17:18.958 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0ebe0007002600
2026-05-09 07:17:18.960 DEBUG (MainThread) [zigpy_deconz.api] Received command CommandId.device_state_changed{'status': <Status.SUCCESS: 0>, 'frame_length': 7, 'device_state': DeviceState(network_state=<NetworkState2.CONNECTED: 2>, device_state=<DeviceStateFlags.APSDE_DATA_CONFIRM|APSDE_DATA_REQUEST_FREE_SLOTS_AVAILABLE: 9>), 'reserved': 0} (seq 190)
2026-05-09 07:17:18.961 DEBUG (MainThread) [zigpy_deconz.api] Sending CommandId.aps_data_confirm{} (seq=190)
2026-05-09 07:17:18.962 DEBUG (MainThread) [serialx.descriptor_transport] Immediately writing b'\xc0\x04\xbe\x00\x07\x00\x00\x007\xff\xc0'
2026-05-09 07:17:18.966 DEBUG (MainThread) [serialx.descriptor_transport] Sent 11 of 11 bytes
2026-05-09 07:17:18.967 DEBUG (MainThread) [serialx.descriptor_transport] Event loop woke up reader
2026-05-09 07:17:18.967 DEBUG (MainThread) [serialx.descriptor_transport] Received b'\xc0\x04\xbe\x00\x13\x00\x0c\x00"$\x02\x1aa\x01\x01\xa7\x00\x00\x00\x00\xb3\xfd\xc0'
2026-05-09 07:17:18.967 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x04be0013000c002224021a610101a700000000
2026-05-09 07:17:18.969 DEBUG (MainThread) [zigpy_deconz.api] Received command CommandId.aps_data_confirm{'status': <Status.SUCCESS: 0>, 'frame_length': 19, 'payload_length': 12, 'device_state': DeviceState(network_state=<NetworkState2.CONNECTED: 2>, device_state=<DeviceStateFlags.APSDE_DATA_REQUEST_FREE_SLOTS_AVAILABLE: 8>), 'request_id': 36, 'dst_addr': DeconzAddressEndpoint(address_mode=<AddressMode.NWK: 2>, address=0x611A, endpoint=1), 'src_ep': 1, 'confirm_status': <TXStatus.APS_NO_ACK: 167>, 'reserved1': 0, 'reserved2': 0, 'reserved3': 0, 'reserved4': 0} (seq 190)
2026-05-09 07:17:18.970 DEBUG (MainThread) [zigpy.application] Failed to send packet, attempt 1 of 3
Traceback (most recent call last):
  File "/usr/local/lib/python3.14/site-packages/zigpy/application.py", line 1094, in request
    await self.send_packet(
    ...<14 lines>...
    )
  File "/usr/local/lib/python3.14/site-packages/zigpy_deconz/zigbee/application.py", line 591, in send_packet
    raise zigpy.exceptions.DeliveryError(
        f"Failed to deliver packet: {status!r}", status
    )
zigpy.exceptions.DeliveryError: Failed to deliver packet: <TXStatus.APS_NO_ACK: 167>

but I am not even sure if the no ack is related to the device in question