TS0043 tuya switch discovered by ZHA, but not working

Hi.

I’m having issues with my new TS0043 switch (TZ3000). It’s a 3 gang touch battery powered switch.

I have Sonoff ZbBridge flashed with tasmota. I can pair it in ZHA and it shows up as 4 button switch. Nothing works.

Here is signiture:

{
  "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=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, 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": "0x0000",
      "in_clusters": [
        "0x0000",
        "0x0001",
        "0x0006",
        "0xe000"
      ],
      "out_clusters": [
        "0x000a",
        "0x0019"
      ]
    },
    "2": {
      "profile_id": 260,
      "device_type": "0x0000",
      "in_clusters": [
        "0x0001",
        "0x0006"
      ],
      "out_clusters": []
    },
    "3": {
      "profile_id": 260,
      "device_type": "0x0000",
      "in_clusters": [
        "0x0001",
        "0x0006"
      ],
      "out_clusters": []
    },
    "4": {
      "profile_id": 260,
      "device_type": "0x0000",
      "in_clusters": [
        "0x0001",
        "0x0006"
      ],
      "out_clusters": []
    }
  },
  "manufacturer": "_TZ3000_uyjmm0et",
  "model": "TS0043",
  "class": "zigpy.device.Device"
}

And i also just noticed that i do get a response from pressed button in pairing logs with an errors:

[0x8876:1:0x0006] Received ZCL frame: b’\x01\xc0\xfd\x00’
[0x8876:1:0x0006] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=False), tsn=192, command_id=253, *direction=<Direction.Server_to_Client: 0>, *is_reply=False)
[0x8876:1:0x0006] Unknown cluster command 253 b’\x00’
[0x8876:1:0x0006] Received command 0xFD (TSN 192): b’\x00’
[0x8876:1:0x0006] No explicit handler for cluster command 0xfd: b’\x00’
[0x8876:1:0x0006]: received ‘253’ command with b’\x00’ args on cluster_id ‘6’ tsn ‘192’

Device info

TS0043

by _TZ3000_uyjmm0et

Connected via Zigbee Coordinator

Zigbee info

IEEE: a4:c1:38:37:fd:cc:04:58

Nwk: 0x8876

Device Type: EndDevice

LQI: 255

RSSI: -30

Last Seen: 2022-10-13T17:07:03

Power Source: Battery or Unknown

The MODEL specified on switch itself is T2-ZS93

P.S. I’m total newbie, i have no programming skills. Please keep in mind :slight_smile:

I also get this logs in HA system logs:

Logger: zigpy.zcl
Source: runner.py:119
First occurred: 6:12:14 PM (100 occurrences)
Last logged: 7:19:45 PM

  • [0x8876:2:0x0006] Unknown cluster command 253 b’\x01’
  • [0x8876:3:0x0006] Unknown cluster command 253 b’\x00’
  • [0x8876:3:0x0006] Unknown cluster command 253 b’\x02’
  • [0x8876:3:0x0006] Unknown cluster command 253 b’\x01’
  • [0x8876:2:0x0006] Unknown cluster command 253 b’\x00’

Logger: zigpy.zcl
Source: components/zha/core/device.py:639
First occurred: 6:18:34 PM (1 occurrences)
Last logged: 6:18:34 PM

[0x8876:1:0x0006] Failed to convert attribute 0x0000 from Bool.false (<class ‘str’>) to type <enum ‘Bool’>: invalid literal for int() with base 10: ‘Bool.false’

I managed to get it working.

The problems were:

-It appears the switch uses 4-way switch software instead of 3, so quirks for TS0043 were not loaded due to endpoint mismatch.

-I was unable to load quirks, because for unknown reason my container was not mounted to directory where i had config and quirks on host (/etc/homeassistant). I fixed this by mounting that dir to /config on container.
This can be done via Portainer.

To make it work, inspired by someones post with similar problem with 3-way switch i installed quirk for TS0044, changed MODEL from TS0044 to TS0043 in quirk.

There was no need to delete device and re-pair. As soon as quirk was detected, the device worked with all functions - single, double, long press.

P.S. I have HA on Docker Container, that is why i had problem as it was not mounted to host, where i had configuration.yaml with custom quirks folder.

:+1: Thank you, self-proclaimed newbie, this totally reanimated my LoraTap 3gang button.

Hi - I am having the same issue with this Z0043. It detects a 4-button switch rather than three. I am using Home Assistant on a Raspberry pi4. For Zigbee, I am using a Conbee II and the official Zigbee integration.

Can someone please help me what to do. I do not know what a quirck is for example.

Many thanks!

Hello for every body

the buttons go up in action but there are systematically 2 actions which go up at the same time.
One empty and another for example 1_single.

Except that the automation sees only one, either the empty one or the other (1_single) when it sees the empty one then nothing happens.

so you can press the button and see nothing happen. it’s quite random.
I couldn’t find a way to resolve this.