zha-device-handlers icon indicating copy to clipboard operation
zha-device-handlers copied to clipboard

[BUG] TS0012, TS0013 2-/3-gang switch cannot switch single gang, all gangs always turned on/off together

Open jkraemer opened this issue 2 years ago • 23 comments

Bug description

I have successfully paired two Tuya compatible switches (the brand is Zemismart) that show the problem that whenever I toggle one gang in HA, all gangs get toggled. Switching single gangs manually on the switches works fine. Quirks are loaded but do not seem to fix it for these models.

Steps to reproduce

Toggle any one gang of the switch in HA dashboard and all gangs will be toggled.

Expected behavior

I'd expect to be able to toggle each gang separately.

Screenshots/Video

No response

Device signature

Device signature

2-gang

Nwk: 0x8b27
Device Type: EndDevice
LQI: 54
RSSI: Unknown
Last Seen: 2023-05-01T10:53:52
Power Source: Battery or Unknown
Quirk: zhaquirks.tuya.ts001x.TuyaDoubleNoNeutralSwitch_2

3-gang

Nwk: 0x4d27
Device Type: EndDevice
LQI: 51
RSSI: Unknown
Last Seen: 2023-05-01T10:58:18
Power Source: Battery or Unknown
Quirk: zhaquirks.tuya.ts001x.TuyaTripleNoNeutralSwitch_2

Diagnostic information

Diagnostic information

2-gang

{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2023.4.6",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.10.10",
    "docker": true,
    "arch": "aarch64",
    "timezone": "Asia/Manila",
    "os_name": "Linux",
    "os_version": "6.1.21-v8",
    "supervisor": "2023.04.1",
    "host_os": "Home Assistant OS 10.1",
    "docker_version": "23.0.3",
    "chassis": "embedded",
    "run_as_root": true
  },
  "custom_components": {},
  "integration_manifest": {
    "domain": "zha",
    "name": "Zigbee Home Automation",
    "after_dependencies": [
      "onboarding",
      "usb"
    ],
    "codeowners": [
      "@dmulcahey",
      "@adminiuga",
      "@puddly"
    ],
    "config_flow": true,
    "dependencies": [
      "file_upload"
    ],
    "documentation": "https://www.home-assistant.io/integrations/zha",
    "iot_class": "local_polling",
    "loggers": [
      "aiosqlite",
      "bellows",
      "crccheck",
      "pure_pcapy3",
      "zhaquirks",
      "zigpy",
      "zigpy_deconz",
      "zigpy_xbee",
      "zigpy_zigate",
      "zigpy_znp"
    ],
    "requirements": [
      "bellows==0.35.1",
      "pyserial==3.5",
      "pyserial-asyncio==0.6",
      "zha-quirks==0.0.97",
      "zigpy-deconz==0.20.0",
      "zigpy==0.54.1",
      "zigpy-xbee==0.17.0",
      "zigpy-zigate==0.10.3",
      "zigpy-znp==0.10.0"
    ],
    "usb": [
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*2652*",
        "known_devices": [
          "slae.sh cc2652rb stick"
        ]
      },
      {
        "vid": "1A86",
        "pid": "55D4",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus v2"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*zigstar*",
        "known_devices": [
          "ZigStar Coordinators"
        ]
      },
      {
        "vid": "1CF1",
        "pid": "0030",
        "description": "*conbee*",
        "known_devices": [
          "Conbee II"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8A2A",
        "description": "*zigbee*",
        "known_devices": [
          "Nortek HUSBZB-1"
        ]
      },
      {
        "vid": "0403",
        "pid": "6015",
        "description": "*zigate*",
        "known_devices": [
          "ZiGate+"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*zigate*",
        "known_devices": [
          "ZiGate"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8B34",
        "description": "*bv 2010/10*",
        "known_devices": [
          "Bitron Video AV2010/10"
        ]
      }
    ],
    "zeroconf": [
      {
        "type": "_esphomelib._tcp.local.",
        "name": "tube*"
      },
      {
        "type": "_zigate-zigbee-gateway._tcp.local.",
        "name": "*zigate*"
      },
      {
        "type": "_zigstar_gw._tcp.local.",
        "name": "*zigstar*"
      },
      {
        "type": "_slzb-06._tcp.local.",
        "name": "slzb-06*"
      }
    ],
    "is_built_in": true
  },
  "data": {
    "ieee": "**REDACTED**",
    "nwk": 35623,
    "manufacturer": "_TZ3000_axmpdjjk",
    "model": "TS0012",
    "name": "_TZ3000_axmpdjjk TS0012",
    "quirk_applied": true,
    "quirk_class": "zhaquirks.tuya.ts001x.TuyaDoubleNoNeutralSwitch_2",
    "manufacturer_code": 4417,
    "power_source": "Battery or Unknown",
    "lqi": 72,
    "rssi": null,
    "last_seen": "2023-05-01T11:07:07",
    "available": true,
    "device_type": "EndDevice",
    "signature": {
      "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": "0x0100",
          "in_clusters": [
            "0x0000",
            "0x0003",
            "0x0004",
            "0x0005",
            "0x0006"
          ],
          "out_clusters": [
            "0x0019"
          ]
        },
        "2": {
          "profile_id": 260,
          "device_type": "0x0100",
          "in_clusters": [
            "0x0004",
            "0x0005",
            "0x0006"
          ],
          "out_clusters": []
        }
      }
    },
    "active_coordinator": false,
    "entities": [
      {
        "entity_id": "button.tz3000_axmpdjjk_ts0012_identify",
        "name": "_TZ3000_axmpdjjk TS0012"
      },
      {
        "entity_id": "light.tz3000_axmpdjjk_ts0012_light",
        "name": "_TZ3000_axmpdjjk TS0012"
      },
      {
        "entity_id": "light.tz3000_axmpdjjk_ts0012_light_2",
        "name": "_TZ3000_axmpdjjk TS0012"
      }
    ],
    "neighbors": [],
    "routes": [],
    "endpoint_names": [
      {
        "name": "ON_OFF_LIGHT"
      },
      {
        "name": "ON_OFF_LIGHT"
      }
    ],
    "user_given_name": "Terrace ceiling lights",
    "device_reg_id": "326f480d402d631299898909e8b2ef98",
    "area_id": "terrace",
    "cluster_details": {
      "1": {
        "device_type": {
          "name": "ON_OFF_LIGHT",
          "id": 256
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {
              "0x0004": {
                "attribute_name": "manufacturer",
                "value": "_TZ3000_axmpdjjk"
              },
              "0x0005": {
                "attribute_name": "model",
                "value": "TS0012"
              }
            },
            "unsupported_attributes": {}
          },
          "0x0003": {
            "endpoint_attribute": "identify",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0006": {
            "endpoint_attribute": "on_off",
            "attributes": {
              "0x0000": {
                "attribute_name": "on_off",
                "value": 0
              },
              "0x4001": {
                "attribute_name": "on_time",
                "value": 0
              },
              "0x4002": {
                "attribute_name": "off_wait_time",
                "value": 0
              },
              "0x8001": {
                "attribute_name": "backlight_mode",
                "value": 1
              },
              "0x8002": {
                "attribute_name": "power_on_state",
                "value": 2
              }
            },
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {
          "0x0019": {
            "endpoint_attribute": "ota",
            "attributes": {},
            "unsupported_attributes": {}
          }
        }
      },
      "2": {
        "device_type": {
          "name": "ON_OFF_LIGHT",
          "id": 256
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0006": {
            "endpoint_attribute": "on_off",
            "attributes": {
              "0x0000": {
                "attribute_name": "on_off",
                "value": 0
              },
              "0x4001": {
                "attribute_name": "on_time",
                "value": 0
              },
              "0x4002": {
                "attribute_name": "off_wait_time",
                "value": 0
              }
            },
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {}
      }
    }
  }
}

3-gang

{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2023.4.6",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.10.10",
    "docker": true,
    "arch": "aarch64",
    "timezone": "Asia/Manila",
    "os_name": "Linux",
    "os_version": "6.1.21-v8",
    "supervisor": "2023.04.1",
    "host_os": "Home Assistant OS 10.1",
    "docker_version": "23.0.3",
    "chassis": "embedded",
    "run_as_root": true
  },
  "custom_components": {},
  "integration_manifest": {
    "domain": "zha",
    "name": "Zigbee Home Automation",
    "after_dependencies": [
      "onboarding",
      "usb"
    ],
    "codeowners": [
      "@dmulcahey",
      "@adminiuga",
      "@puddly"
    ],
    "config_flow": true,
    "dependencies": [
      "file_upload"
    ],
    "documentation": "https://www.home-assistant.io/integrations/zha",
    "iot_class": "local_polling",
    "loggers": [
      "aiosqlite",
      "bellows",
      "crccheck",
      "pure_pcapy3",
      "zhaquirks",
      "zigpy",
      "zigpy_deconz",
      "zigpy_xbee",
      "zigpy_zigate",
      "zigpy_znp"
    ],
    "requirements": [
      "bellows==0.35.1",
      "pyserial==3.5",
      "pyserial-asyncio==0.6",
      "zha-quirks==0.0.97",
      "zigpy-deconz==0.20.0",
      "zigpy==0.54.1",
      "zigpy-xbee==0.17.0",
      "zigpy-zigate==0.10.3",
      "zigpy-znp==0.10.0"
    ],
    "usb": [
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*2652*",
        "known_devices": [
          "slae.sh cc2652rb stick"
        ]
      },
      {
        "vid": "1A86",
        "pid": "55D4",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus v2"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*zigstar*",
        "known_devices": [
          "ZigStar Coordinators"
        ]
      },
      {
        "vid": "1CF1",
        "pid": "0030",
        "description": "*conbee*",
        "known_devices": [
          "Conbee II"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8A2A",
        "description": "*zigbee*",
        "known_devices": [
          "Nortek HUSBZB-1"
        ]
      },
      {
        "vid": "0403",
        "pid": "6015",
        "description": "*zigate*",
        "known_devices": [
          "ZiGate+"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*zigate*",
        "known_devices": [
          "ZiGate"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8B34",
        "description": "*bv 2010/10*",
        "known_devices": [
          "Bitron Video AV2010/10"
        ]
      }
    ],
    "zeroconf": [
      {
        "type": "_esphomelib._tcp.local.",
        "name": "tube*"
      },
      {
        "type": "_zigate-zigbee-gateway._tcp.local.",
        "name": "*zigate*"
      },
      {
        "type": "_zigstar_gw._tcp.local.",
        "name": "*zigstar*"
      },
      {
        "type": "_slzb-06._tcp.local.",
        "name": "slzb-06*"
      }
    ],
    "is_built_in": true
  },
  "data": {
    "ieee": "**REDACTED**",
    "nwk": 19751,
    "manufacturer": "_TZ3000_liixymgk",
    "model": "TS0013",
    "name": "_TZ3000_liixymgk TS0013",
    "quirk_applied": true,
    "quirk_class": "zhaquirks.tuya.ts001x.TuyaTripleNoNeutralSwitch_2",
    "manufacturer_code": 4417,
    "power_source": "Battery or Unknown",
    "lqi": 54,
    "rssi": null,
    "last_seen": "2023-05-01T11:05:23",
    "available": true,
    "device_type": "EndDevice",
    "signature": {
      "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": "0x0100",
          "in_clusters": [
            "0x0000",
            "0x0003",
            "0x0004",
            "0x0005",
            "0x0006"
          ],
          "out_clusters": [
            "0x0019"
          ]
        },
        "2": {
          "profile_id": 260,
          "device_type": "0x0100",
          "in_clusters": [
            "0x0004",
            "0x0005",
            "0x0006"
          ],
          "out_clusters": []
        },
        "3": {
          "profile_id": 260,
          "device_type": "0x0100",
          "in_clusters": [
            "0x0004",
            "0x0005",
            "0x0006"
          ],
          "out_clusters": []
        }
      }
    },
    "active_coordinator": false,
    "entities": [
      {
        "entity_id": "button.ceiling_lights_identify",
        "name": "_TZ3000_liixymgk TS0013"
      },
      {
        "entity_id": "light.ceiling_lights_light",
        "name": "_TZ3000_liixymgk TS0013"
      },
      {
        "entity_id": "light.ceiling_lights_light_2",
        "name": "_TZ3000_liixymgk TS0013"
      },
      {
        "entity_id": "light.ceiling_lights_light_3",
        "name": "_TZ3000_liixymgk TS0013"
      }
    ],
    "neighbors": [],
    "routes": [],
    "endpoint_names": [
      {
        "name": "ON_OFF_LIGHT"
      },
      {
        "name": "ON_OFF_LIGHT"
      },
      {
        "name": "ON_OFF_LIGHT"
      }
    ],
    "user_given_name": "Ceiling Lights",
    "device_reg_id": "95c67b9bdb58f85b99089889cc9ad535",
    "area_id": "living_room",
    "cluster_details": {
      "1": {
        "device_type": {
          "name": "ON_OFF_LIGHT",
          "id": 256
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {
              "0x0004": {
                "attribute_name": "manufacturer",
                "value": "_TZ3000_liixymgk"
              },
              "0x0005": {
                "attribute_name": "model",
                "value": "TS0013"
              }
            },
            "unsupported_attributes": {}
          },
          "0x0003": {
            "endpoint_attribute": "identify",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0006": {
            "endpoint_attribute": "on_off",
            "attributes": {
              "0x0000": {
                "attribute_name": "on_off",
                "value": 0
              },
              "0x4001": {
                "attribute_name": "on_time",
                "value": 0
              },
              "0x4002": {
                "attribute_name": "off_wait_time",
                "value": 0
              },
              "0x8001": {
                "attribute_name": "backlight_mode",
                "value": 1
              },
              "0x8002": {
                "attribute_name": "power_on_state",
                "value": 2
              }
            },
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {
          "0x0019": {
            "endpoint_attribute": "ota",
            "attributes": {},
            "unsupported_attributes": {}
          }
        }
      },
      "2": {
        "device_type": {
          "name": "ON_OFF_LIGHT",
          "id": 256
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0006": {
            "endpoint_attribute": "on_off",
            "attributes": {
              "0x0000": {
                "attribute_name": "on_off",
                "value": 0
              },
              "0x4001": {
                "attribute_name": "on_time",
                "value": 0
              },
              "0x4002": {
                "attribute_name": "off_wait_time",
                "value": 0
              }
            },
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {}
      },
      "3": {
        "device_type": {
          "name": "ON_OFF_LIGHT",
          "id": 256
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0006": {
            "endpoint_attribute": "on_off",
            "attributes": {
              "0x0000": {
                "attribute_name": "on_off",
                "value": 0
              },
              "0x4001": {
                "attribute_name": "on_time",
                "value": 0
              },
              "0x4002": {
                "attribute_name": "off_wait_time",
                "value": 0
              }
            },
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {}
      }
    }
  }
}

Logs

No response

Additional information

No response

jkraemer avatar May 01 '23 03:05 jkraemer

This problem shall being fixed from HA 2023.1 then implanted the tuya magic for this devices. Ar you running one clean HA or have you installed custom quirks for the devices ?

MattWestb avatar May 01 '23 04:05 MattWestb

Hi, this is a fresh install of Home Assistant (on a RaspberryPI). I did not install any custom quirks, the quirk that apparently is loaded for the devices came stock with the HA image.

jkraemer avatar May 01 '23 04:05 jkraemer

Then it shall working. The devcie need one "tuya magic" being casted then its joining and then it shall doing all things OK but its have being some refactoring of the code in the last release with the logic. I dont have the device for testing if its working OK if was having it i have sniffing the joining so can see if its casting is working OK that we was doing with some device then testing the last changes.

@TheJulianJES do you have some thinking about this problem ? The device is loading the quirk OK and the device class is using the EnchantedDevice, TuyaSwitch so it shall working OK if not new is being broken after the last refactoring. Also the devices is being new joined on one clean system so the casting shall working OK.

MattWestb avatar May 01 '23 05:05 MattWestb

Please let me know if there is anything I can do to help debug this.

jkraemer avatar May 04 '23 02:05 jkraemer

I have the same issue, happy to assist with anything too

thewolf-oz avatar May 06 '23 10:05 thewolf-oz

I have the same problem. In z2m is working fine but in zha is not

NicolasIonut avatar May 11 '23 11:05 NicolasIonut

For what it's worth I got this working as follows:

  1. Install "ZHA Toolkit" - I did this via HACS
  2. Go to "Developer Tools -> Services" in HA
  3. Select Service "ZHA Toolkit: execute"
  4. Select Command "tuya_magic"
  5. In the ieee section select first Tuya entity and click call service - do for each Tuya entity

I had to re-run the tuya_magic command after changing the entity names (and / or repairing, not certain). With a little fiddleing this should work.

Edit: I'm using TS0013 3-gang btw

hoshyK2 avatar May 13 '23 15:05 hoshyK2

Thank you for your help! It's working fine now!

NicolasIonut avatar May 13 '23 16:05 NicolasIonut

Thank you!!! I'm using TS0012 2-gang (model: ds-1021zc) _TZ3000_zmlunnhy It helped me too!

lanturn07 avatar May 19 '23 20:05 lanturn07

For what it's worth I got this working as follows:

1. Install "ZHA Toolkit" - I did this via HACS

2. Go to "Developer Tools -> Services" in HA

3. Select Service "ZHA Toolkit: execute"

4. Select Command "tuya_magic"

5. In the ieee section select first Tuya entity and click call service - do for each Tuya entity

I had to re-run the tuya_magic command after changing the entity names (and / or repairing, not certain). With a little fiddleing this should work.

Edit: I'm using TS0013 3-gang btw

Two days fighting against this problem... Your comment has saved my day. Thank you very much!.

Danixu avatar Jun 25 '23 08:06 Danixu

Hola @javicalle Looks like new devices if this type is using the tuya magic. Shall we rolling all classes to using it ? Im most after the last changes with class that must being used so i cant do it and i dont have the device.

Thanks in advance !!!

NW

MattWestb avatar Jun 25 '23 08:06 MattWestb

Hi Matt, sorry to be absent, but no spare time on my side.

Shall we rolling all classes to using it ?

But the classes for these devices are using the EnchantedDevice already:

https://github.com/zigpy/zha-device-handlers/blob/9e210ba946069eeb9e2ae4d41dba362f0a399925/zhaquirks/tuya/ts001x.py#L285

https://github.com/zigpy/zha-device-handlers/blob/9e210ba946069eeb9e2ae4d41dba362f0a399925/zhaquirks/tuya/ts001x.py#L359

And both are using the TuyaZBOnOffAttributeCluster which is an TuyaEnchantableCluster: https://github.com/zigpy/zha-device-handlers/blob/9e210ba946069eeb9e2ae4d41dba362f0a399925/zhaquirks/tuya/init.py#L989C35-L996

So the Tuya spell must be casted for these devices. I can't detect any problem in hierarchy or classes.

Maybe these devices don't trigger the bind for the OnOff cluster?

javicalle avatar Jun 28 '23 19:06 javicalle

Hi JC thanks for replay !! Yes i was looking on the wrong quirk and some one was changing it for over a half year ago https://github.com/zigpy/zha-device-handlers/pull/2049.

Back to the problem users is having: The quirk shall sending the tuya magic one time then the device is being added new to the system and then remember it until its being retested. If its loosing it you must deleting in in ZHA and waiting one minute so the system is deleting it in the DB (or restarting HA) and then adding it as new device and it shall working OK. Using ZHA-Toolkit shall also working OK then the device can being casted all the time and not only in init mode like some controllers is needing.

MattWestb avatar Jun 29 '23 07:06 MattWestb

If its loosing it you must deleting in in ZHA and waiting one minute so the system is deleting it in the DB (or restarting HA) and then adding it as new device and it shall working OK.

This shouldn’t be the case anymore. You can just reconfigure the device to cast the spell or just re-pair it (WITHOUT having to delete it from HA).

TheJulianJES avatar Jun 29 '23 11:06 TheJulianJES

If its loosing it you must deleting in in ZHA and waiting one minute so the system is deleting it in the DB (or restarting HA) and then adding it as new device and it shall working OK.

This shouldn’t be the case anymore. You can just reconfigure the device to cast the spell or just re-pair it (WITHOUT having to delete it from HA).

I was testing reconfigure my TS004F DMS and sniffing it and indeed ZHA is casting the spell so it shall working for all devices that is not need getting it in INIT mode then they need being repaired for getting it in time for changing the hardware config of the device.

Thanks @TheJulianJES for correcting my !

MattWestb avatar Jun 29 '23 11:06 MattWestb

For what it's worth I got this working as follows:

  1. Install "ZHA Toolkit" - I did this via HACS
  2. Go to "Developer Tools -> Services" in HA
  3. Select Service "ZHA Toolkit: execute"
  4. Select Command "tuya_magic"
  5. In the ieee section select first Tuya entity and click call service - do for each Tuya entity

I had to re-run the tuya_magic command after changing the entity names (and / or repairing, not certain). With a little fiddleing this should work.

Edit: I'm using TS0013 3-gang btw

Every day we learn something new... And in this case I learned something new and fixed a problem. Thanks for share your knowledge..

setterlee avatar Jul 23 '23 22:07 setterlee

For what it's worth I got this working as follows:

  1. Install "ZHA Toolkit" - I did this via HACS
  2. Go to "Developer Tools -> Services" in HA
  3. Select Service "ZHA Toolkit: execute"
  4. Select Command "tuya_magic"
  5. In the ieee section select first Tuya entity and click call service - do for each Tuya entity

I had to re-run the tuya_magic command after changing the entity names (and / or repairing, not certain). With a little fiddleing this should work.

Edit: I'm using TS0013 3-gang btw

Searched for solutions for an hour before finding this one. Thank you. Confirmed working for me on 2-Gang - Moes TS0012 - _TZ3000_18ejxno0

CobraDunn avatar Aug 05 '23 21:08 CobraDunn

I have the same problem with ts0012. My 2-gang switch cannot switch single gang by HA. I've tried using custom quirks from this repo = the situation is unchanged.

"data": { "ieee": "REDACTED", "nwk": 54326, "manufacturer": "_TZ3000_e98krvvk", "model": "TS0012", "name": "_TZ3000_e98krvvk TS0012", "quirk_applied": true, "quirk_class": "ts001x.TuyaDoubleNoNeutralSwitch_2", "manufacturer_code": 4417, "power_source": "Battery or Unknown", "lqi": 216, "rssi": -46, "last_seen": "2023-08-23T23:01:36", "available": true, "device_type": "EndDevice", "signature": { "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": "0x0104", "device_type": "0x0100", "input_clusters": [ "0x0000", "0x0003", "0x0004", "0x0005", "0x0006" ], "output_clusters": [ "0x0019" ] }, "2": { "profile_id": "0x0104", "device_type": "0x0100", "input_clusters": [ "0x0006" ], "output_clusters": [] } }, "manufacturer": "_TZ3000_e98krvvk", "model": "TS0012" },

smokerxf avatar Aug 23 '23 20:08 smokerxf

For what it's worth I got this working as follows:

  1. Install "ZHA Toolkit" - I did this via HACS
  2. Go to "Developer Tools -> Services" in HA
  3. Select Service "ZHA Toolkit: execute"
  4. Select Command "tuya_magic"
  5. In the ieee section select first Tuya entity and click call service - do for each Tuya entity

I had to re-run the tuya_magic command after changing the entity names (and / or repairing, not certain). With a little fiddleing this should work.

Edit: I'm using TS0013 3-gang btw

thanks. woks for me.

Informação Dispositivo TS0013 por _TZ3000_snq47izk

Zigbee info IEEE: Nwk: 0x83f1 Device Type: EndDevice LQI: 94 RSSI: Desconhecido Visto pela Última Vez: 2023-08-27T18:46:27 Fonte de Energia: Battery or Unknown

fabiosaboia avatar Aug 27 '23 21:08 fabiosaboia

For what it's worth I got this working as follows:

1. Install "ZHA Toolkit" - I did this via HACS

2. Go to "Developer Tools -> Services" in HA

3. Select Service "ZHA Toolkit: execute"

4. Select Command "tuya_magic"

5. In the ieee section select first Tuya entity and click call service - do for each Tuya entity

I had to re-run the tuya_magic command after changing the entity names (and / or repairing, not certain). With a little fiddleing this should work.

Edit: I'm using TS0013 3-gang btw

Searched for solutions for multiple days before finding this one. T Thank you.

Confirmed working for me on 2-Gang - Moes TS0012 - _TZ3000_18ejxno0

etmmafl avatar Oct 07 '23 20:10 etmmafl

@etmmafl This should no longer be required when re-pairing/reconfiguring with recent Home Assistant Core versions. Please attach the "device diagnostic information" and/or device signature from the device you had issues with here. It can be downloaded on the device page.

TheJulianJES avatar Oct 08 '23 01:10 TheJulianJES

For what it's worth I got this working as follows:

  1. Install "ZHA Toolkit" - I did this via HACS
  2. Go to "Developer Tools -> Services" in HA
  3. Select Service "ZHA Toolkit: execute"
  4. Select Command "tuya_magic"
  5. In the ieee section select first Tuya entity and click call service - do for each Tuya entity

I had to re-run the tuya_magic command after changing the entity names (and / or repairing, not certain). With a little fiddleing this should work.

Edit: I'm using TS0013 3-gang btw

This worked for me, thanks so much.

corcaioch avatar Dec 20 '23 21:12 corcaioch

Worked flawlessly with my Zemismart 4 Gang Light Switch + 2 Gang Scene Switch - KES-606US-Z4+2 (TS0726 by _TZ3000_s678wazd)

saadiego avatar Mar 13 '24 11:03 saadiego

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Sep 09 '24 12:09 github-actions[bot]

For what it's worth I got this working as follows:

  1. Install "ZHA Toolkit" - I did this via HACS
  2. Go to "Developer Tools -> Services" in HA
  3. Select Service "ZHA Toolkit: execute"
  4. Select Command "tuya_magic"
  5. In the ieee section select first Tuya entity and click call service - do for each Tuya entity

I had to re-run the tuya_magic command after changing the entity names (and / or repairing, not certain). With a little fiddleing this should work.

Edit: I'm using TS0013 3-gang btw

This solution worked perfectly for me, even in 2024. My switches were _TZ3000_lrgccsxm TS0013, TS0012 and with this solution they now work perfectly.

God bless you Thankyou so much

dev-huiya avatar Dec 08 '24 14:12 dev-huiya