Driver support for Tuya dimmer module, model TS110e, manufacturer_TZ3210_4ubylghk


I bought a Tuya 2 Gang Zigbee Dimmer Module Model:QS-Zigbee-D02-TRIAC-L on it is the one without neutral wire

  • manufacturer: _TZ3210_4ubylghk
  • model: TS110E

I cannot find a driver that works with this module.
I tried different versions of the TS110E driver I found in the community but not one are working.

Can anyone help?


Try this version 0.4.1 :


Thank you that helps a lot! Unfortunately I still can't set the brightness levels. But I can control on and off for both channels now instead of one, which at least renders them usefull (since it recalls the brightness set with the physical buttons)

That's a piece of good news!
I propose to you to continue troubleshooting and make this device fully work. There is enough information for this dimmer on the net, it will be just a third variation group of Tuya TS011E dimmers... This will require at least several iterations of testing and sending the log files from your side.

You will need to be able to post links and pictures - this will be enabled for you if you join the Owners group : Hubitat

I will notify you when there is a new version available for tests.

1 Like

That sounds great! What do you need? And where can I find it?

I have all the information that I need for now, what I am missing is the time needed to prepare the new version.

Is your dimmer labeled ' Lonsonho' ?

1 Like

Yes it is labeled lonsonho
No problem, let me know if I can help!

1 Like

Hi @Sjoerd ,

Can you test the "Tuya Zigbee dimmer module" driver ver 0.4.2 from the same link ?

Click on the 'Initialize' button after updating the driver. First test the first gang, let me know what works and what not.

1 Like

Hi Krassimir,

Dimmer level is still not working unfortunately. On off still works for both channels.
With the physical buttons dimming seems to set different values

From your mobile phone screenshots, it seems like you are still using an older driver version...
Can you access the live logs from a desktop PC browser? I will need the detailed Debug logs as text copied and pasted here.

Before doing that, please check first whether your device is identified as shown below and that you are on the latest driver version :

Then fill in level 55 in the 'Set Level' command data field and click on it
I expect to have in the logs something like this:

Sample Debug Logs

dev:38332023-04-10 12:28:46.053warnUNPROCESSED endpoint=null cluster=null command=0B attrInt = null value= null data=[04, 00]

dev:38332023-04-10 12:28:46.045debugcatchall clusterId=F000 command=0B data=[04, 00]

dev:38332023-04-10 12:28:46.037debugReceived descMap: [raw:catchall: 0104 F000 01 01 0040 00 B78D 00 00 0000 0B 01 0400, profileId:0104, clusterId:F000, clusterInt:61440, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:B78D, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[04, 00]]

dev:38332023-04-10 12:28:46.030debugReceived raw description: catchall: 0104 F000 01 01 0040 00 B78D 00 00 0000 0B 01 0400

dev:38332023-04-10 12:28:45.987debugGirier _TZ3210_k1msuvg6 sendZigbeeCommands(cmd=[he cmd 0xB78D 0x01 0xF000 4 { 0x2602 0x0000 }])

dev:38332023-04-10 12:28:45.983debugcmdSetLevel: sending cmdTS011=[he cmd 0xB78D 0x01 0xF000 4 { 0x2602 0x0000 }]

dev:38332023-04-10 12:28:45.979debugLONSONHO: cmdSetLevel: sending value 550 cmdTS011=[he cmd 0xB78D 0x01 0xF000 4 { 0x2602 0x0000 }]

dev:38332023-04-10 12:28:45.976debugcmdSetLevel: child=Girier _TZ3210_k1msuvg6 childDni=B78D-01 value=55 duration=0

dev:38332023-04-10 12:28:45.972debuglevel=55 reScaled=55

dev:38332023-04-10 12:28:45.968tracemult=1.0, minLevel100=0, maxLevel100=100

Please copy and paste as text only the logs, that appeared after the SetLevel command.

1 Like


De old and the new driver were installes simultaniously. I removed the device and remove the old and new dimmer driver. Then reinstalled the new driver. Installed the device and now it displays te correct driver. In live logs only this appears:


dev:2182023-04-10 13:24:19.724infoDimmer (CH01) set off

dev:2182023-04-10 13:24:19.709infoDimmer (CH01) set on

dev:2182023-04-10 13:24:19.526debuglevel=55 reScaled=140

dev:2182023-04-10 13:24:19.523tracemult=2.55, minLevel100=0, maxLevel100=255

With the fysicial button this appears dimming from maximum=39 to minimum =0:


dev:2182023-04-10 13:30:26.707infoDimmer (CH01) set level 0 %

dev:2182023-04-10 13:30:26.705debugonSwitchLevel: Value=1 level=0 (value=1)

dev:2182023-04-10 13:30:26.702debugraw value:1 reScaled=0

dev:2182023-04-10 13:30:26.700tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:26.633infoDimmer (CH01) set level 1 %

dev:2182023-04-10 13:30:26.630debugonSwitchLevel: Value=2 level=1 (value=2)

dev:2182023-04-10 13:30:26.628debugraw value:2 reScaled=1

dev:2182023-04-10 13:30:26.625tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:26.388infoDimmer (CH01) set level 2 %

dev:2182023-04-10 13:30:26.385debugonSwitchLevel: Value=6 level=2 (value=6)

dev:2182023-04-10 13:30:26.383debugraw value:6 reScaled=2

dev:2182023-04-10 13:30:26.380tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:26.143infoDimmer (CH01) set level 4 %

dev:2182023-04-10 13:30:26.141debugonSwitchLevel: Value=10 level=4 (value=10)

dev:2182023-04-10 13:30:26.139debugraw value:10 reScaled=4

dev:2182023-04-10 13:30:26.136tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:25.899infoDimmer (CH01) set level 5 %

dev:2182023-04-10 13:30:25.896debugonSwitchLevel: Value=14 level=5 (value=14)

dev:2182023-04-10 13:30:25.894debugraw value:14 reScaled=5

dev:2182023-04-10 13:30:25.891tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:25.656infoDimmer (CH01) set level 7 %

dev:2182023-04-10 13:30:25.654debugonSwitchLevel: Value=18 level=7 (value=18)

dev:2182023-04-10 13:30:25.651debugraw value:18 reScaled=7

dev:2182023-04-10 13:30:25.649tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:25.411infoDimmer (CH01) set level 9 %

dev:2182023-04-10 13:30:25.409debugonSwitchLevel: Value=22 level=9 (value=22)

dev:2182023-04-10 13:30:25.407debugraw value:22 reScaled=9

dev:2182023-04-10 13:30:25.404tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:25.166infoDimmer (CH01) set level 10 %

dev:2182023-04-10 13:30:25.164debugonSwitchLevel: Value=26 level=10 (value=26)

dev:2182023-04-10 13:30:25.161debugraw value:26 reScaled=10

dev:2182023-04-10 13:30:25.159tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:24.921infoDimmer (CH01) set level 12 %

dev:2182023-04-10 13:30:24.918debugonSwitchLevel: Value=30 level=12 (value=30)

dev:2182023-04-10 13:30:24.916debugraw value:30 reScaled=12

dev:2182023-04-10 13:30:24.914tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:24.676infoDimmer (CH01) set level 13 %

dev:2182023-04-10 13:30:24.673debugonSwitchLevel: Value=34 level=13 (value=34)

dev:2182023-04-10 13:30:24.671debugraw value:34 reScaled=13

dev:2182023-04-10 13:30:24.669tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:24.432infoDimmer (CH01) set level 15 %

dev:2182023-04-10 13:30:24.429debugonSwitchLevel: Value=38 level=15 (value=38)

dev:2182023-04-10 13:30:24.427debugraw value:38 reScaled=15

dev:2182023-04-10 13:30:24.424tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:24.189infoDimmer (CH01) set level 16 %

dev:2182023-04-10 13:30:24.186debugonSwitchLevel: Value=42 level=16 (value=42)

dev:2182023-04-10 13:30:24.184debugraw value:42 reScaled=16

dev:2182023-04-10 13:30:24.181tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:23.948infoDimmer (CH01) set level 18 %

dev:2182023-04-10 13:30:23.946debugonSwitchLevel: Value=46 level=18 (value=46)

dev:2182023-04-10 13:30:23.943debugraw value:46 reScaled=18

dev:2182023-04-10 13:30:23.941tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:23.701infoDimmer (CH01) set level 20 %

dev:2182023-04-10 13:30:23.698debugonSwitchLevel: Value=50 level=20 (value=50)

dev:2182023-04-10 13:30:23.696debugraw value:50 reScaled=20

dev:2182023-04-10 13:30:23.693tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:23.461infoDimmer (CH01) set level 21 %

dev:2182023-04-10 13:30:23.458debugonSwitchLevel: Value=54 level=21 (value=54)

dev:2182023-04-10 13:30:23.456debugraw value:54 reScaled=21

dev:2182023-04-10 13:30:23.453tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:23.211infoDimmer (CH01) set level 23 %

dev:2182023-04-10 13:30:23.208debugonSwitchLevel: Value=58 level=23 (value=58)

dev:2182023-04-10 13:30:23.206debugraw value:58 reScaled=23

dev:2182023-04-10 13:30:23.203tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:22.967infoDimmer (CH01) set level 24 %

dev:2182023-04-10 13:30:22.964debugonSwitchLevel: Value=62 level=24 (value=62)

dev:2182023-04-10 13:30:22.961debugraw value:62 reScaled=24

dev:2182023-04-10 13:30:22.959tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:22.729infoDimmer (CH01) set level 26 %

dev:2182023-04-10 13:30:22.727debugonSwitchLevel: Value=66 level=26 (value=66)

dev:2182023-04-10 13:30:22.724debugraw value:66 reScaled=26

dev:2182023-04-10 13:30:22.722tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:22.479infoDimmer (CH01) set level 27 %

dev:2182023-04-10 13:30:22.476debugonSwitchLevel: Value=70 level=27 (value=70)

dev:2182023-04-10 13:30:22.474debugraw value:70 reScaled=27

dev:2182023-04-10 13:30:22.471tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:22.240infoDimmer (CH01) set level 29 %

dev:2182023-04-10 13:30:22.237debugonSwitchLevel: Value=74 level=29 (value=74)

dev:2182023-04-10 13:30:22.235debugraw value:74 reScaled=29

dev:2182023-04-10 13:30:22.232tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:21.988infoDimmer (CH01) set level 31 %

dev:2182023-04-10 13:30:21.986debugonSwitchLevel: Value=78 level=31 (value=78)

dev:2182023-04-10 13:30:21.983debugraw value:78 reScaled=31

dev:2182023-04-10 13:30:21.981tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:21.746infoDimmer (CH01) set level 32 %

dev:2182023-04-10 13:30:21.744debugonSwitchLevel: Value=82 level=32 (value=82)

dev:2182023-04-10 13:30:21.741debugraw value:82 reScaled=32

dev:2182023-04-10 13:30:21.739tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:21.502infoDimmer (CH01) set level 34 %

dev:2182023-04-10 13:30:21.499debugonSwitchLevel: Value=86 level=34 (value=86)

dev:2182023-04-10 13:30:21.497debugraw value:86 reScaled=34

dev:2182023-04-10 13:30:21.494tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:21.263infoDimmer (CH01) set level 35 %

dev:2182023-04-10 13:30:21.260debugonSwitchLevel: Value=90 level=35 (value=90)

dev:2182023-04-10 13:30:21.258debugraw value:90 reScaled=35

dev:2182023-04-10 13:30:21.255tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:21.012infoDimmer (CH01) set level 37 %

dev:2182023-04-10 13:30:21.010debugonSwitchLevel: Value=94 level=37 (value=94)

dev:2182023-04-10 13:30:21.007debugraw value:94 reScaled=37

dev:2182023-04-10 13:30:21.005tracemult=2.55, minValue255=0, maxValue255=255

dev:2182023-04-10 13:30:20.790infoDimmer (CH01) set level 38 %

dev:2182023-04-10 13:30:20.786debugonSwitchLevel: Value=98 level=38 (value=98)

dev:2182023-04-10 13:30:20.783debugraw value:98 reScaled=38

dev:2182023-04-10 13:30:20.778tracemult=2.55, minValue255=0, maxValue255=255

OK, we are making progress! : )

This means, that the device profile (group) is not detected correctly. We receive the level, but it is not scaled as it should.

Can you add a screenshot of the 'State Variables', as in my sample above?

Parent device

Child decice Ch01:

I m leaving now. Tonight I can take a look again
Tnx so far!

1 Like

What is the next step? Can I help?

@kkossev did a very small amount of work on the Girier / tuya dimmer driver debug - it seems 'On' somehow triggers 100%, but setlevel respects the stored level. I think the On command may need to have an additional parm - Setlevel for the girier seems to always incluude an On, which I think is a device specific hardwired function. still checking.

1 Like

After setting the child devices manually to Lonsonho it does display the levels correctly from 0-100 when using the physical buttons. Unfortunately when setting a level it does not change the level of the light, and does not change the level in 'current states' .

Debug log: Set level 55

dev:2192023-04-15 18:13:09.904infoLiving set off

dev:2192023-04-15 18:13:09.901infoLiving set on

dev:2192023-04-15 18:13:09.692debuglevel=55 reScaled=54

dev:2192023-04-15 18:13:09.690tracemult=2.55, minLevel100=0, maxLevel100=99


Hi @Sjoerd ,

I am away from home now, so will be able to get back on this topic in the next week.

Before testing again, please always update the driver - the fastest way is to locate the code in HE Drivers code panel, then click to edit, then click on the Import button on the top). Latest version at the moment is 0.4.4 dated "2023/04/12 11:41 PM".

Anyway, the driver is still not working correctly with your device. I got lost in the different ways the different groups of Tuya dimmers are processing the on/off and the Level commands, but also the different ways they are reporting the level back to the hub.

My last idea was to expose a debug command to set the dimmers level with all known ways to do it, - with or without switching the dimmer on @jshimota , with or without rate parameter, etc. This driver scaling function adds even more confusion, so the test command should bypass any scaling and just pass the raw level to the dimmer. Most of the dimmers accept brightness levels in the range of 0..255, but some use 0..9999 range, or what is the worst part - a combination of both methods!

Setting a dimmer level has two sides:

  • the actual effect from changing the level from the hub side to the device - does setLevel 55 actually change the bulb brightness level to approx. 55% ?
  • the level reported back from the device to the hub - does a change of 55% is reported back as 55% or something else?

I hope that I can make the new test version by the end of the next week.

1 Like

Hi @kkossev

Thanks! That makes it much easier updating the driver. I did not now it would allow installing a new version when still in use.
Will it instantly work as intended after updating? Or first press initialize? Or remove and add device again?

Now with 0.4.4 and choosing Lonsonho

Parent device: controls Ch01 partially
-setting on/off in hub turns bulb on/off and is reporting back on/off. Setting level in hub does not change bulb brightness. Physical button: al actions reported back correctly (level/on/off)

Ch01 (Child) is not working:
-setting on/off in hub turns bulb on/of, but not reporting back on or off. Setting level does nothing and noting reported back. Physical button: noting reported back.

Ch02 (child) partialially working:
-setting on/off in hub turn bulb on/off and is reporting back on/off. Setting level in hub does not change bulb brightness. Physical button: al actions reported back (level/on/off)

Heath status is only reported corectly for parent device

1 Like

Hi @Sjoerd ,

With the help of @user3633 it seems that the brightness control is working now!
Can you test and confirm it? Update the driver again, the same version 0.4.4 but new time stamp "2023/04/23 10:15 PM"

The brightness control should work from the parent device only. I still have to troubleshoot what got broken with the child devices, but let's confirm first that the Lonsonho TS011E dimmers level is finally working using the right method (it's different than the other types of Tuya dimmers).

1 Like

Great Job!
I can set levels for both channels!
Channel 01 via parent and channel 02 via child Channel 02.

1 Like