Zemismart Zigbee 1/2/3/4 gang light switches

I bought this Zemismart Zigbee 2 gang light switch: Zemismart Tuya Zigbee Hub Smart Pir Sensor Door Sensor Temperature Humidity Sensor Home Automation Scene Security Alarm Kit - Smart Remote Control - AliExpress
These look good and are responsive (they toggle the light as soon as i touch the switch instead of when i release the touch). And the price tag is attractive.

I have registered it as a Generic Zigbee Switch and it controls the first button. The other button is not exposed of course.

I have tried other drivers for 2 gang switches like these ones:

https://github.com/jchurchward/Nue-Zigbee-drivers-for-Hubitat/blob/master/2gang%20Switch%20or%202gang%20Powerpoint

They have "on/off" controls for all gangs which work (switch on or off both switches at once). They also have individual on/off controls, however they don't work at all.

How do I go about customising the driver to make the individual switches work? I'm a programmer by trade, so coding won't be a problem, however i don't understand how get started. I mean how do I get the codes that the switch supports in the first place? Is there some kind of tool that allows to inspect device capabilities? Any help how to get started with writing Zigbee device drivers is appreciated.

UPDATE 2019-08-21: I ended up making the driver work. Here's the code:

There's the data that i got from the switch when adding it to Hubitat:

ID: 7F3B
Manufacturer: _TYZB01_f97aljaj
Product Name:
Model Number: TS0002
deviceTypeId: 290
manufacturer : _TYZB01_f97aljaj
idAsInt : 1
inClusters : 0000,0003,0004,0005,0006
endpointId : 01
profileId : 0104
application : 42
outClusters : 0019
initialized : true
model : TS0002
stage : 4
manufacturer :
idAsInt : 2
inClusters : 0000,0003,0004,0005,0006
endpointId : 02
profileId : 0104
application :
outClusters : 0019
initialized : true
model :
stage : 4

Platform version 2.1.4 will have a built in driver for for the Nue multi gang switches, it may work with this switch.
I might give that a shot, it will require rejoining the switch.
2.1.4 should be out in a few days.

1 Like

Thanks for the update.

After digging around and a bit of guess work I figured it out and made the switch work. This was my first attempt at Zigbee driver for Hubitat.
What I did was enable logging in parse method to see Zigbee data received when I manually press the button to figure out which endpoint each switch corresponds to. Then I could adjust the Nue driver accordingly.
Here's the driver code:

It would be nice to have a page "How to get started with writing Zigbee drivers" to avoid having to do guess work and collect bits of information from different posts in this forum. I know that maintaining documentation is a lot of work, however I think it's a really important part to grow the overall ecosystem of drivers with the help of the community.

1 Like

Agree with @mike.maxwell. You may find that the recently released Nue Zigbee Switch Hubitat drivers will work with these. You will need to remove and rejoin then change the driver to Nue Zigbee Switch and it should also then add the additional switches too.

I have tried this switch with the built-in Nue Zigbee Switch driver and it works great! Individual switches are configured as 2 child devices that can be controller independently, and the parent switch controls both switches at the same time.

2 Likes

I'll add the fingerprint to the nue driver.

When I asked seller whether this switch works as a Zigbee router the response was "no".

However when I opened /hub/zigbee/getChildAndRouteInfo I saw this switch in the list under Neighbor Table Entry. Does this mean it actually works as a router?

Before purchasing some of these switches, are the 3-Gang models supported?

It should, but since I've not tested this manufacturer with the Nue driver I obviously cannot be certain.

Thanks @mike.maxwell

Just out of curiosity how come they use the "Nue" named drivers when they are "Zemismart"?

because the manufacturer name they return is: "3A Smart Home DE", maybe Zemismart is the OEM, dunno, I include fingerprints for the devices I test...
If these drivers work with Zemismart great, however those aren't the devices I have...

1 Like

These switches are in fact Zigbee routers.

In addition, they route Xiaomi sensors and Ikea bulbs well too which are the ones a lot of people usually have trouble with in their Zigbee mesh network.

Hi @mike.maxwell,

I spoke to Zemismart last week and they said that they are not associated with Nue or 3A Smart Home.

They've kindly agreed to send me their new Zigbee 3.0 86x86 sized 1, 2 and 3 gang switches to test with Hubitat.

They visually look very similar to Aqara but with an LED on the front of each paddle and a circular shaped rear.

Well that's good to know.

1 Like

Here are some photos of the 2 gang ZigBee switch which I got from "Zemismart Official Store" on AliExpress :

And here are the photos of 1 gang ZigBee switch from "Zemismart Official Store" for comparison :

2 Likes

Today I have tried to install another 2 gang light switch (running Hubitat v2.1.6.118) and it did not work as before:

  • It did not create child components
  • The data section does not have isMultiEP: true

The switch is the same as before, using Nue Zigbee Switch which used to work before. I am guessing something must have changed in the recent updates.

Here's the ZigBee Data for the light switch from the device page:

endpointId: 01
application: 40
model: TS0002
manufacturer: TUYATEC-wmak4qjy

And here's the JSON data from Hub Events:

{"01": "endpointId":"01","profileId":"0104","inClusters":"0000,0003,0004,0005,0006","outClusters":"0019","manufacturer":"TUYATEC-wmak4qjy","model":"TS0002"},"02":{"endpointId":"02","profileId":"0104","inClusters":"0000,0003,0004,0005,0006","outClusters":"0019","manufacturer":null,"model":null}}

Also when I try to manually Configure the device, only the following gets logged:

2019-11-09 01:51:35.702 pm warn configure...

Any chance this can be fixed?

Hi, I tried to find this driver, but it seems it was deleted. Could you upload it again?

Nothing has changed with this driver, it was not written for the device you're using it with, so there's nothing for me to go on to fix it.

Did you manage to test this?