Momentary switch configuration with ZHA

Hi,
I got a zigbee Tuya switch module (_TZ3000_bvrlqyj7 TS0002) that it’s physical switch acts as a rocker switch, and I need to change the switch type to a momentary switch.

I know that the switch type configuration is supported - it has the option to change it in the Tuya app and in MQTT (I use ZHA with an EZSP dongle).
I tried fiddling with cluster configuration through the GUI, but wasn’t able to change the switch type cluster.
the cluster name is: TuyaZBExternalSwitchTypeCluster (Endpoint id: 2, Id: 0xe001, Type: in)
the attribute is: external_switch_type (id: 0xd030)
the value currently configured: ExternalSwitchType.State

I’ve tried using the ‘Manufacturer Code Override’, which accepts only numbers. wasn’t able to change it.

Any help here?

Thanks!!

Screenshot_20220408-120540_AliExpress|254x500

1 Like

I think I have the same switch. Is yours an in-wall switch that feels like a push button rather than a rocker light switch?

I can pair mine with ZHA but cannot control the light after pairing was done. The control worked for a few minutes during paring. Very weird.

This is the module:

Hi @manodory did you figure it out? I have the same switch, and would prefer to use it with momentary switch.

Just leaving it out here for anyone with same problem:
Switch type can be changed by setting TuyaZBExternalSwitchTypeCluster (Endpoint id:1) attribute external_switch_type to value 0/1/2

2 Likes

Hi @Darmach I also need to change the switch type, but how did you mange to do so? If I use the GUI from ZHA i can find the cluster, but no clue how to change.

when I overwrite the factory setting nothing changes

There’s a property you need to change:

You might need to change it not by entering a string, but decimal value, I don’t remember which was mometary and which was bistable :slight_smile:

1 Like

Thanks for your reply, I tried to update the value, if I update by using “manufacturer code override” with a decimal value nothing happens:


If I press write attribute it gives a green checkmark, but if I do a read afterwards it state none at the value field. If I close the window and open againg it gives as the screenshot shows again .State value
Hope you have some suggestions.

To change it enter as :
replacement_code=ExternalSwitchType.Toggle value=0
replacement_code=ExternalSwitchType.Momentary value=2
replacement_code=ExternalSwitchType.State value=1

2 Likes

This has worked for me

4 Likes

Ha, as I forgot that once - liking your post hoping this will make me remember that in the future! Thanks for sharing!

1 Like

Hi, same problem here…but the proposed solution above doens’t work here (the system gives an OK feedback about the change, but it does not change it settings)

I bought the 4 channel zigbee switch (Girier Tuya Zigbee 3.0 Switch Module 10A Smart Home Diy Breaker 4 Gang), but i cannot change it to toggle inputs (because i use push buttons as inputs)

From Girier there is no usable feedback:
=> hi,friend, we suggest you to use tuya zigbee hub and tuya app, it’s more stable. And if you use tuya app, there is a switch type function which can be set

=> hi,friend, if you use home assistant ,we cannot solve it. It may caused by the compatibility. And we suggest you to check whether you can find a switch type function in Home Assitant, then you can choose suitable type

Any suggestions or options?
Any other zigbee 4 channel switches that are better?

Seems to be working properly now, just need to write it many times

Hi , I have same issue as described in the topic and when was trying to change TuyaZBExternalSwitchTypeCluster it turend out I do not have such option available ?
Did you have to add any quirks for it ?

The only available options are blelow:

I know this may be a dead thread, but for some reason my device has no TuyaZBExternalSwitchTypeCluster cluster…
My device has the following quirk: zhaquirks.tuya.ts130f.TuyaTS130FTOGP can you suggest me a model that support that cluster? I think this is the same problem that @SirK79 has.
Thanks

I have the same issue. Did you ever figure out how to fix it?

Hi all,

I’ve succeeded to make it a button switch.
First I found zigbee switch via tuya zigbee controler and set it as a button switch.
Then removed device and wiped data.
Right after I found it via ZHA and he was already in button state.

Works perfectly.

BR

Just ran across this issue myself when I purchased these devices.

I was able to read the attribute which showed ExternalSwitchType.Toggle then just replace the “Toggle” with “State” and then write the value. silly to mention, but the case of the replacement value is important.

That worked for me. Thanks