Driver support for Tuya dimmer module, model TS110e, manufacturer_TZ3210_4ubylghk

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

Hi,
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 :
image

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

Hi,

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:

Summary

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:

Summary

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

[/quote]

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

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

1 Like

@kkossev
Setting level 55 in Ch02 gives the cleanest response. Sets the bulb to correct brightness and sets the the level and on/off status correct in hub

Summary

warnLiving no response received (device offline?)

dev:2592023-04-30 20:03:35.454infoLiving Living set on

dev:2592023-04-30 20:03:35.347infoLiving Living set level 55 %

dev:2592023-04-30 20:03:35.339debugLiving onSwitchLevel: Value=55 level=55 (value=55)

dev:2592023-04-30 20:03:35.336debugLiving valueToLevel: raw value:55 reScaled=55 (isParent=false, isTS0601=false)

dev:2592023-04-30 20:03:35.148debugLiving levelToValue: level=55 reScaled=55

Setting level 55 in Ch01 gives no response to bulb and and level and on/of status in hub

Summary

dev:2582023-04-30 20:08:26.258warnDimmer (CH01) no response received (device offline?)

dev:2582023-04-30 20:08:16.283debugDimmer (CH01) levelToValue: level=55 reScaled=55

Setting level 55 in parent gives a lot of reponse. And does not change the off status to on. It does display online status correct and sets bulb to correct brightness level

Summary

dev:2572023-04-30 20:17:20.433debugDining parseBasicCluster: Tuya check-in 0001 (46)

dev:2572023-04-30 20:17:20.431debugDining parse: received descMap: [raw:29120100001801002046E2FF2030E4FF2000, dni:2912, endpoint:01, cluster:0000, size:18, attrId:0001, encoding:20, command:0A, value:46, clusterInt:0, attrInt:1, additionalAttrs:[[value:30, encoding:20, attrId:FFE2, consumedBytes:4, attrInt:65506], [value:00, encoding:20, attrId:FFE4, consumedBytes:4, attrInt:65508]]]

dev:2572023-04-30 20:17:20.425debugDining parse: received raw description: read attr - raw: 29120100001801002046E2FF2030E4FF2000, dni: 2912, endpoint: 01, cluster: 0000, size: 18, attrId: 0001, encoding: 20, command: 0A, value: 46E2FF2030E4FF2000

dev:2572023-04-30 20:15:48.860infoDining Dining set off

dev:2572023-04-30 20:15:48.856debugDining parse: replicating switchState in parent

dev:2572023-04-30 20:15:48.853debugDining parse: on/off cluster 0x0006 command 01 attribute null value 0

dev:2572023-04-30 20:15:48.849debugDining parse: received descMap: [raw:29120100060A00001000, dni:2912, endpoint:01, cluster:0006, size:0A, attrId:0000, encoding:10, command:01, value:00, clusterInt:6, attrInt:0]

dev:2572023-04-30 20:15:48.845debugDining parse: received raw description: read attr - raw: 29120100060A00001000, dni: 2912, endpoint: 01, cluster: 0006, size: 0A, attrId: 0000, encoding: 10, command: 01, value: 00

dev:2572023-04-30 20:15:48.784debugDining Dining sendZigbeeCommands(cmd=[he rattr 0x2912 0x01 0x0006 0 {}, delay 100, he rattr 0x2912 0x01 0x0008 0xF000 {}, delay 100])

dev:2572023-04-30 20:15:48.781debugDining cmdRefresh: (childDni=01 endpointId=01) isParent()=true

dev:2572023-04-30 20:15:48.778debugDining refresh: parent 01

dev:2572023-04-30 20:15:47.884infoDining Dining set level 55 %

dev:2572023-04-30 20:15:47.881debugDining onSwitchLevel: Value=55 level=55 (value=55)

dev:2572023-04-30 20:15:47.875debugDining valueToLevel: raw value:55 reScaled=55 (isParent=true, isTS0601=false)

dev:2572023-04-30 20:15:47.871debugDining parse: replicating switchLevel in parent

dev:2572023-04-30 20:15:47.868debugDining parse: switch level cluster 0x0008 endpoint 01 command 0A attrId F000 value raw 550)

dev:2572023-04-30 20:15:47.864debugDining parse: received descMap: [raw:29120100080A00F0212602, dni:2912, endpoint:01, cluster:0008, size:0A, attrId:F000, encoding:21, command:0A, value:0226, clusterInt:8, attrInt:61440]

dev:2572023-04-30 20:15:47.861debugDining parse: received raw description: read attr - raw: 29120100080A00F0212602, dni: 2912, endpoint: 01, cluster: 0008, size: 0A, attrId: F000, encoding: 21, command: 0A, value: 2602

dev:2572023-04-30 20:15:47.857debugDining parse: received ZCL Command Response for cluster 0008 command 0B, data=[F0, 00] (Status: Success)

dev:2572023-04-30 20:15:47.853debugDining parse: catchall clusterId=0008 command=0B data=[F0, 00]

dev:2572023-04-30 20:15:47.849debugDining parse: received descMap: [raw:catchall: 0104 0008 01 01 0040 00 2912 00 00 0000 0B 01 F000, profileId:0104, clusterId:0008, clusterInt:8, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:2912, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[F0, 00]]

dev:2572023-04-30 20:15:47.842debugDining parse: received raw description: catchall: 0104 0008 01 01 0040 00 2912 00 00 0000 0B 01 F000

dev:2572023-04-30 20:15:47.776debugDining Dining sendZigbeeCommands(cmd=[he cmd 0x2912 0x01 0x0008 0xF0 { 0x2602 0x0000 }])

dev:2572023-04-30 20:15:47.773debugDining cmdSetLevel: sending cmdTS011=[he cmd 0x2912 0x01 0x0008 0xF0 { 0x2602 0x0000 }]

dev:2572023-04-30 20:15:47.770debugDining LONSONHO: cmdSetLevel: sending value 550 cmdTS011=[he cmd 0x2912 0x01 0x0008 0xF0 { 0x2602 0x0000 }]

dev:2572023-04-30 20:15:47.767debugDining cmdSetLevel: child=null childDni=01 value=55 duration=0

dev:2572023-04-30 20:15:47.763debugDining levelToValue: level=55 reScaled=55

Hi @Sjoerd ,
Thank you for the report! I am aware that there are issues with the parent devices uniform processing in the latest versions of this driver. There are some conflicts in the processing logic between the multi-gang switches that use different Zigbee endpointIds for each switch (like TS011E), and these devices that use one and the same Zigbee endpointID (like the TS0601 dimmers).

I am waiting for a two-gang TS011E dimmer to come from China, then I will be able to troubleshoot and hopefully fix the code, without the need to completely refactor it.

1 Like

Hi there,
any news :slight_smile: ?
Maybe you can help me with a similar problem.

I have a problem with this driver for:
State Variables
deviceProfile : TS110E_GIRIER_DIMMER
driverVersion : 0.4.4 2023/04/23 10:15 PM
bin : -1
destinationEP : 01
1ch

In principle, everything works as it should, except for the part of the physical switch.
It doesn't function, and sometimes doesn't respond.

Sometimes when I change the state of the physical switch, then the unit goes into pairing mode. (After changing one state, I don't change state several times quickly)

In terms of the dashboard, everything works well. (except the physical switch issue)

(Through Toya's app everything works great, so no wires problem)

any idea of what can I do ?

Thanks,

oMRi

Hi oMRi,

I have received today a 2-gang Girier dimmer, so very soon, I should be able to return to chasing this driver problems. Girier will be first, Lonsonho next.

2 Likes