[RE-RELEASE] Tuya Zigbee Dimmer Module (w/ healthStatus)

I have the same device mentioned and the same problem.

dev:1502024-06-23 07:29:38.723 PMinfoVentilador maxLevel brightness parameter was updated to 0%

dev:1502024-06-23 07:29:38.721 PMdebugVentilador parseTuyaCluster: received: maximum brightness switch#02 is 0 (raw=0)

dev:1502024-06-23 07:29:38.718 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 003D0B04000100

dev:1502024-06-23 07:29:38.663 PMinfoVentilador minLevel brightness parameter was updated to 0%

dev:1502024-06-23 07:29:38.656 PMdebugVentilador parseTuyaCluster: received: minimum brightness switch#01 is 0 (raw=4)

dev:1502024-06-23 07:29:38.653 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 003C0304000104

dev:1502024-06-23 07:29:38.589 PMinfoVentilador Ventilador level was set to 0 [physical]

dev:1502024-06-23 07:29:38.587 PMinfoVentilador Brightness 01 is 0% (0)

dev:1502024-06-23 07:29:38.585 PMdebugVentilador parseTuyaCluster: received: Tuya brighntness(level) cmd=02 value=0

dev:1502024-06-23 07:29:38.582 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 003B0202000400000000

dev:1502024-06-23 07:29:38.545 PMinfoVentilador Ventilador was turned on [physical]

dev:1502024-06-23 07:29:38.541 PMinfoVentilador Switch 01 is on

dev:1502024-06-23 07:29:38.538 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 003A0101000101

dev:1502024-06-23 07:29:36.395 PMinfoVentilador maxLevel brightness parameter was updated to 0%

dev:1502024-06-23 07:29:36.389 PMdebugVentilador parseTuyaCluster: received: maximum brightness switch#02 is 0 (raw=0)

dev:1502024-06-23 07:29:36.386 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 00390B04000100

dev:1502024-06-23 07:29:36.344 PMinfoVentilador minLevel brightness parameter was updated to 0%

dev:1502024-06-23 07:29:36.339 PMdebugVentilador parseTuyaCluster: received: minimum brightness switch#01 is 0 (raw=3)

dev:1502024-06-23 07:29:36.336 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 00380304000103

dev:1502024-06-23 07:29:36.294 PMinfoVentilador Ventilador level was set to 0 [physical]

dev:1502024-06-23 07:29:36.291 PMinfoVentilador Brightness 01 is 0% (0)

dev:1502024-06-23 07:29:36.289 PMdebugVentilador parseTuyaCluster: received: Tuya brighntness(level) cmd=02 value=0

dev:1502024-06-23 07:29:36.286 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 00370202000400000000

dev:1502024-06-23 07:29:36.243 PMinfoVentilador Ventilador was turned on [physical]

dev:1502024-06-23 07:29:36.241 PMinfoVentilador Switch 01 is on

dev:1502024-06-23 07:29:36.238 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 00360101000101

dev:1502024-06-23 07:29:34.679 PMinfoVentilador maxLevel brightness parameter was updated to 0%

dev:1502024-06-23 07:29:34.673 PMdebugVentilador parseTuyaCluster: received: maximum brightness switch#02 is 0 (raw=0)

dev:1502024-06-23 07:29:34.670 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 00350B04000100

dev:1502024-06-23 07:29:34.629 PMinfoVentilador minLevel brightness parameter was updated to 0%

dev:1502024-06-23 07:29:34.623 PMdebugVentilador parseTuyaCluster: received: minimum brightness switch#01 is 0 (raw=2)

dev:1502024-06-23 07:29:34.620 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 00340304000102

dev:1502024-06-23 07:29:34.576 PMinfoVentilador Ventilador level was set to 0 [physical]

dev:1502024-06-23 07:29:34.573 PMinfoVentilador Brightness 01 is 0% (0)

dev:1502024-06-23 07:29:34.571 PMdebugVentilador parseTuyaCluster: received: Tuya brighntness(level) cmd=02 value=0

dev:1502024-06-23 07:29:34.568 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 00330202000400000000

dev:1502024-06-23 07:29:34.526 PMinfoVentilador Ventilador was turned on [physical]

dev:1502024-06-23 07:29:34.524 PMinfoVentilador Switch 01 is on

dev:1502024-06-23 07:29:34.522 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 00320101000101

dev:1502024-06-23 07:29:32.829 PMinfoVentilador maxLevel brightness parameter was updated to 0%

dev:1502024-06-23 07:29:32.820 PMdebugVentilador parseTuyaCluster: received: maximum brightness switch#02 is 0 (raw=0)

dev:1502024-06-23 07:29:32.815 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 00310B04000100

dev:1502024-06-23 07:29:32.773 PMinfoVentilador minLevel brightness parameter was updated to 0%

dev:1502024-06-23 07:29:32.765 PMdebugVentilador parseTuyaCluster: received: minimum brightness switch#01 is 0 (raw=1)

dev:1502024-06-23 07:29:32.761 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 00300304000101

dev:1502024-06-23 07:29:32.739 PMinfoVentilador Ventilador level was set to 0 [physical]

dev:1502024-06-23 07:29:32.735 PMinfoVentilador Brightness 01 is 0% (0)

dev:1502024-06-23 07:29:32.731 PMdebugVentilador parseTuyaCluster: received: Tuya brighntness(level) cmd=02 value=0

dev:1502024-06-23 07:29:32.721 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 002F0202000400000000

dev:1502024-06-23 07:29:32.664 PMinfoVentilador Ventilador was turned on [physical]

dev:1502024-06-23 07:29:32.661 PMinfoVentilador Switch 01 is on

dev:1502024-06-23 07:29:32.657 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 002E0101000101

dev:1502024-06-23 07:29:30.924 PMinfoVentilador maxLevel brightness parameter was updated to 0%

dev:1502024-06-23 07:29:30.918 PMdebugVentilador parseTuyaCluster: received: maximum brightness switch#02 is 0 (raw=0)

dev:1502024-06-23 07:29:30.915 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 002D0B04000100

dev:1502024-06-23 07:29:30.875 PMinfoVentilador minLevel brightness parameter was updated to 0%

dev:1502024-06-23 07:29:30.869 PMdebugVentilador parseTuyaCluster: received: minimum brightness switch#01 is 0 (raw=0)

dev:1502024-06-23 07:29:30.866 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 002C0304000100

dev:1502024-06-23 07:29:30.824 PMinfoVentilador Ventilador level was set to 0 [physical]

dev:1502024-06-23 07:29:30.820 PMinfoVentilador Brightness 01 is 0% (0)

dev:1502024-06-23 07:29:30.818 PMdebugVentilador parseTuyaCluster: received: Tuya brighntness(level) cmd=02 value=0

dev:1502024-06-23 07:29:30.815 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 002B0202000400000000

dev:1502024-06-23 07:29:30.772 PMinfoVentilador Ventilador was turned on [physical]

dev:1502024-06-23 07:29:30.769 PMinfoVentilador Switch 01 is on

dev:1502024-06-23 07:29:30.767 PMdebugVentilador parse: received raw description: catchall: 0104 EF00 01 01 0040 00 1794 01 00 0000 02 01 002A0101000101

Hi Marcelo,

I will need to know your device model and manufacturer, as shown at the bottom of the Hubitat web page.

  • endpointId: 01
  • application: 46
  • manufacturer: _TZE200_r32ctezx
  • model: TS0601
  • tuyaVersion: 1.0.6

krassimir, is there any way to configure the device so that when exported to the Alexa virtual assistant it goes as a fan and not as a light or switch?

1 Like

Have you tried the HE inbuilt app ‘Mirror’ ?

Not yet, I'll take a look.

Hello, it took quite some while before I got this far that I've now collected some fresh log info from this device. As it's been quite some while I also post here again the basic information for the device / fan control.

And here the log I get when manually switching the fan ON to level 1, 2, 3, 4, 5 and then OFF and then back ON to level 5, 4, 3, 2, 1, OFF.

dev:792024-12-25 23:00:17.830infoVentilation Power-On mode is off
dev:792024-12-25 23:00:17.823debugVentilation parseTuyaCluster: received: LerlinkFanController power-on status cmd=0B value=0
dev:792024-12-25 23:00:17.820debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00E90B04000100
dev:792024-12-25 23:00:17.777infoVentilation Ventilation level was set to 0 [physical]
dev:792024-12-25 23:00:17.774infoVentilation Brightness 01 is 0% (0)
dev:792024-12-25 23:00:17.771debugVentilation parseTuyaCluster: received: LerlinkFanController cmd=03 value=0
dev:792024-12-25 23:00:17.768debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00E80304000100
dev:792024-12-25 23:00:17.722debugVentilation parseTuyaCluster: received: LerlinkFanController countdown cmd=02 value=0
dev:792024-12-25 23:00:17.719debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00E70202000400000000
dev:792024-12-25 23:00:17.684infoVentilation Ventilation was turned off [physical]
dev:792024-12-25 23:00:17.682infoVentilation Switch 01 is off
dev:792024-12-25 23:00:17.679debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00E60101000100
dev:792024-12-25 23:00:12.842infoVentilation Power-On mode is off
dev:792024-12-25 23:00:12.835debugVentilation parseTuyaCluster: received: LerlinkFanController power-on status cmd=0B value=0
dev:792024-12-25 23:00:12.832debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00E50B04000100
dev:792024-12-25 23:00:12.791infoVentilation Ventilation level was set to 0 [physical]
dev:792024-12-25 23:00:12.788infoVentilation Brightness 01 is 0% (0)
dev:792024-12-25 23:00:12.785debugVentilation parseTuyaCluster: received: LerlinkFanController cmd=03 value=0
dev:792024-12-25 23:00:12.782debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00E40304000100
dev:792024-12-25 23:00:12.735debugVentilation parseTuyaCluster: received: LerlinkFanController countdown cmd=02 value=0
dev:792024-12-25 23:00:12.731debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00E30202000400000000
dev:792024-12-25 23:00:12.699infoVentilation Ventilation was turned on [physical]
dev:792024-12-25 23:00:12.696infoVentilation Switch 01 is on
dev:792024-12-25 23:00:12.693debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00E20101000101
dev:792024-12-25 23:00:07.622infoVentilation Power-On mode is off
dev:792024-12-25 23:00:07.615debugVentilation parseTuyaCluster: received: LerlinkFanController power-on status cmd=0B value=0
dev:792024-12-25 23:00:07.611debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00E10B04000100
dev:792024-12-25 23:00:07.569infoVentilation Ventilation level was set to 0 [physical]
dev:792024-12-25 23:00:07.565infoVentilation Brightness 01 is 0% (1)
dev:792024-12-25 23:00:07.563debugVentilation parseTuyaCluster: received: LerlinkFanController cmd=03 value=1
dev:792024-12-25 23:00:07.483debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00E00304000101
dev:792024-12-25 23:00:07.435debugVentilation parseTuyaCluster: received: LerlinkFanController countdown cmd=02 value=0
dev:792024-12-25 23:00:07.432debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00DF0202000400000000
dev:792024-12-25 23:00:07.399infoVentilation Ventilation was turned on [physical]
dev:792024-12-25 23:00:07.396infoVentilation Switch 01 is on
dev:792024-12-25 23:00:07.394debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00DE0101000101
dev:792024-12-25 23:00:03.157infoVentilation Power-On mode is off
dev:792024-12-25 23:00:03.150debugVentilation parseTuyaCluster: received: LerlinkFanController power-on status cmd=0B value=0
dev:792024-12-25 23:00:03.147debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00DD0B04000100
dev:792024-12-25 23:00:03.106infoVentilation Ventilation level was set to 0 [physical]
dev:792024-12-25 23:00:03.102infoVentilation Brightness 01 is 0% (2)
dev:792024-12-25 23:00:03.098debugVentilation parseTuyaCluster: received: LerlinkFanController cmd=03 value=2
dev:792024-12-25 23:00:03.095debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00DC0304000102
dev:792024-12-25 23:00:03.069debugVentilation parseTuyaCluster: received: LerlinkFanController countdown cmd=02 value=0
dev:792024-12-25 23:00:03.054debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00DB0202000400000000
dev:792024-12-25 23:00:03.011infoVentilation Ventilation was turned on [physical]
dev:792024-12-25 23:00:03.008infoVentilation Switch 01 is on
dev:792024-12-25 23:00:03.005debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00DA0101000101
dev:792024-12-25 22:59:58.382infoVentilation Power-On mode is off
dev:792024-12-25 22:59:58.375debugVentilation parseTuyaCluster: received: LerlinkFanController power-on status cmd=0B value=0
dev:792024-12-25 22:59:58.372debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00D90B04000100
dev:792024-12-25 22:59:58.329infoVentilation Ventilation level was set to 0 [physical]
dev:792024-12-25 22:59:58.325infoVentilation Brightness 01 is 0% (3)
dev:792024-12-25 22:59:58.323debugVentilation parseTuyaCluster: received: LerlinkFanController cmd=03 value=3
dev:792024-12-25 22:59:58.319debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00D80304000103
dev:792024-12-25 22:59:58.274debugVentilation parseTuyaCluster: received: LerlinkFanController countdown cmd=02 value=0
dev:792024-12-25 22:59:58.271debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00D70202000400000000
dev:792024-12-25 22:59:58.240infoVentilation Ventilation was turned on [physical]
dev:792024-12-25 22:59:58.237infoVentilation Switch 01 is on
dev:792024-12-25 22:59:58.234debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00D60101000101
dev:792024-12-25 22:59:54.202infoVentilation Power-On mode is off
dev:792024-12-25 22:59:54.194debugVentilation parseTuyaCluster: received: LerlinkFanController power-on status cmd=0B value=0
dev:792024-12-25 22:59:54.191debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00D50B04000100
dev:792024-12-25 22:59:54.148infoVentilation Ventilation level was set to 0 [physical]
dev:792024-12-25 22:59:54.145infoVentilation Brightness 01 is 0% (4)
dev:792024-12-25 22:59:54.142debugVentilation parseTuyaCluster: received: LerlinkFanController cmd=03 value=4
dev:792024-12-25 22:59:54.139debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00D40304000104
dev:792024-12-25 22:59:54.091debugVentilation parseTuyaCluster: received: LerlinkFanController countdown cmd=02 value=0
dev:792024-12-25 22:59:54.087debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00D30202000400000000
dev:792024-12-25 22:59:54.054infoVentilation Ventilation was turned on [physical]
dev:792024-12-25 22:59:54.051infoVentilation Switch 01 is on
dev:792024-12-25 22:59:54.049debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00D20101000101
dev:792024-12-25 22:59:47.555infoVentilation Power-On mode is off
dev:792024-12-25 22:59:47.547debugVentilation parseTuyaCluster: received: LerlinkFanController power-on status cmd=0B value=0
dev:792024-12-25 22:59:47.543debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00D10B04000100
dev:792024-12-25 22:59:47.502infoVentilation Ventilation level was set to 0 [physical]
dev:792024-12-25 22:59:47.498infoVentilation Brightness 01 is 0% (4)
dev:792024-12-25 22:59:47.495debugVentilation parseTuyaCluster: received: LerlinkFanController cmd=03 value=4
dev:792024-12-25 22:59:47.492debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00D00304000104
dev:792024-12-25 22:59:47.445debugVentilation parseTuyaCluster: received: LerlinkFanController countdown cmd=02 value=0
dev:792024-12-25 22:59:47.442debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00CF0202000400000000
dev:792024-12-25 22:59:47.408infoVentilation Ventilation was turned off [physical]
dev:792024-12-25 22:59:47.406infoVentilation Switch 01 is off
dev:792024-12-25 22:59:47.403debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00CE0101000100
dev:792024-12-25 22:59:41.978infoVentilation Power-On mode is off
dev:792024-12-25 22:59:41.971debugVentilation parseTuyaCluster: received: LerlinkFanController power-on status cmd=0B value=0
dev:792024-12-25 22:59:41.967debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00CD0B04000100
dev:792024-12-25 22:59:41.925infoVentilation Ventilation level was set to 0 [physical]
dev:792024-12-25 22:59:41.922infoVentilation Brightness 01 is 0% (4)
dev:792024-12-25 22:59:41.919debugVentilation parseTuyaCluster: received: LerlinkFanController cmd=03 value=4
dev:792024-12-25 22:59:41.916debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00CC0304000104
dev:792024-12-25 22:59:41.869debugVentilation parseTuyaCluster: received: LerlinkFanController countdown cmd=02 value=0
dev:792024-12-25 22:59:41.865debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00CB0202000400000000
dev:792024-12-25 22:59:41.832infoVentilation Ventilation was turned on [physical]
dev:792024-12-25 22:59:41.830infoVentilation Switch 01 is on
dev:792024-12-25 22:59:41.827debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00CA0101000101
dev:792024-12-25 22:59:30.622infoVentilation Power-On mode is off
dev:792024-12-25 22:59:30.613debugVentilation parseTuyaCluster: received: LerlinkFanController power-on status cmd=0B value=0
dev:792024-12-25 22:59:30.609debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00C90B04000100
dev:792024-12-25 22:59:30.569infoVentilation Ventilation level was set to 0 [physical]
dev:792024-12-25 22:59:30.566infoVentilation Brightness 01 is 0% (3)
dev:792024-12-25 22:59:30.563debugVentilation parseTuyaCluster: received: LerlinkFanController cmd=03 value=3
dev:792024-12-25 22:59:30.560debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00C80304000103
dev:792024-12-25 22:59:30.485debugVentilation parseTuyaCluster: received: LerlinkFanController countdown cmd=02 value=0
dev:792024-12-25 22:59:30.478debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00C70202000400000000
dev:792024-12-25 22:59:30.435infoVentilation Ventilation was turned on [physical]
dev:792024-12-25 22:59:30.432infoVentilation Switch 01 is on
dev:792024-12-25 22:59:30.429debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00C60101000101
dev:792024-12-25 22:59:18.828infoVentilation Power-On mode is off
dev:792024-12-25 22:59:18.821debugVentilation parseTuyaCluster: received: LerlinkFanController power-on status cmd=0B value=0
dev:792024-12-25 22:59:18.818debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00C50B04000100
dev:792024-12-25 22:59:18.776infoVentilation Ventilation level was set to 0 [physical]
dev:792024-12-25 22:59:18.773infoVentilation Brightness 01 is 0% (2)
dev:792024-12-25 22:59:18.770debugVentilation parseTuyaCluster: received: LerlinkFanController cmd=03 value=2
dev:792024-12-25 22:59:18.767debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00C40304000102
dev:792024-12-25 22:59:18.718debugVentilation parseTuyaCluster: received: LerlinkFanController countdown cmd=02 value=0
dev:792024-12-25 22:59:18.715debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00C30202000400000000
dev:792024-12-25 22:59:18.682infoVentilation Ventilation was turned on [physical]
dev:792024-12-25 22:59:18.679infoVentilation Switch 01 is on
dev:792024-12-25 22:59:18.677debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00C20101000101
dev:792024-12-25 22:59:10.087infoVentilation Power-On mode is off
dev:792024-12-25 22:59:10.079debugVentilation parseTuyaCluster: received: LerlinkFanController power-on status cmd=0B value=0
dev:792024-12-25 22:59:10.075debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00C10B04000100
dev:792024-12-25 22:59:10.035infoVentilation Ventilation level was set to 0 [physical]
dev:792024-12-25 22:59:10.030infoVentilation Brightness 01 is 0% (1)
dev:792024-12-25 22:59:10.028debugVentilation parseTuyaCluster: received: LerlinkFanController cmd=03 value=1
dev:792024-12-25 22:59:10.024debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00C00304000101
dev:792024-12-25 22:59:09.978debugVentilation parseTuyaCluster: received: LerlinkFanController countdown cmd=02 value=0
dev:792024-12-25 22:59:09.975debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00BF0202000400000000
dev:792024-12-25 22:59:09.942infoVentilation Ventilation was turned on [physical]
dev:792024-12-25 22:59:09.939infoVentilation Switch 01 is on
dev:792024-12-25 22:59:09.937debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00BE0101000101
dev:792024-12-25 22:58:56.839infoVentilation Power-On mode is off
dev:792024-12-25 22:58:56.832debugVentilation parseTuyaCluster: received: LerlinkFanController power-on status cmd=0B value=0
dev:792024-12-25 22:58:56.829debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00BD0B04000100
dev:792024-12-25 22:58:56.788infoVentilation Ventilation level was set to 0 [physical]
dev:792024-12-25 22:58:56.784infoVentilation Brightness 01 is 0% (0)
dev:792024-12-25 22:58:56.782debugVentilation parseTuyaCluster: received: LerlinkFanController cmd=03 value=0
dev:792024-12-25 22:58:56.779debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00BC0304000100
dev:792024-12-25 22:58:56.733debugVentilation parseTuyaCluster: received: LerlinkFanController countdown cmd=02 value=0
dev:792024-12-25 22:58:56.729debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00BB0202000400000000
dev:792024-12-25 22:58:56.694infoVentilation Ventilation was turned on [physical]
dev:792024-12-25 22:58:56.691infoVentilation Switch 01 is on
dev:792024-12-25 22:58:56.689debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 01 00 0000 02 01 00BA0101000101

Note that I can only switch the fan on and off by sending commands. The level I haven't managed to change without physically turning the knob.

/Jocke

1 Like

@jockeboling
You can update the driver to ver. '0.7.4' '2025/01/04 11:58 PM'
https://raw.githubusercontent.com/kkossev/hubitat-matt-hammond-fork/development/drivers/tuya-zigbee-dimmer-module.groovy

Please test both whether the manual speed change is reflected as level 0,1,2,3,4,
and also whether the setLevel command (0,1,2,3,4) works.

Hi there @kkossev @vctgomes , I just purchased this switch, does the driver create the child end points by itself? because mine isnt for some reason. It creates the first EP but not the 2nd or 3rd.

It found the driver, I had to update the driver to include the manufacturer _TZE204_znvwzxkq and its found it, no issue but no child devices.

dev:7762025-06-30 06:14:44.900 PMinfoMaster Hallway Lights updating settings for the parent device ... [infoEnable:true, debugEnable:true, autoRefresh:false, advancedOptions:false, logEnable:true, traceEnable:false, txtEnable:true, healthCheckInterval:10, autoOn:true, forcedProfile:TS0601 Tuya Dimmers, maxLevel:100, minLevel:1, lightType:0, ledMode:1, powerOnMode:2]
dev:7762025-06-30 06:14:44.897 PMdebugMaster Hallway Lights updated parent->child
dev:7762025-06-30 06:14:44.895 PMdebugMaster Hallway Lights Master Hallway Lights sendTuyaCommand = [he cmd 0x35D9 0x01 0xEF00 0x00 {765B1504000101} {}, delay 2000]
dev:7762025-06-30 06:14:44.892 PMdebugMaster Hallway Lights updated() sending ledMode value 1 (TS0601LEDOptions.options[value as int])
dev:7762025-06-30 06:14:44.890 PMdebugMaster Hallway Lights Master Hallway Lights sendTuyaCommand = [he cmd 0x35D9 0x01 0xEF00 0x00 {96DC0E04000102} {}, delay 2000]
dev:7762025-06-30 06:14:44.886 PMdebugMaster Hallway Lights updated() sending powerOnMode value 2 (TS0601PowerOnOptions.options[value as int])
dev:7762025-06-30 06:14:44.884 PMdebugMaster Hallway Lights Master Hallway Lights sendTuyaCommand = [he cmd 0x35D9 0x01 0xEF00 0x00 {80620404000100} {}, delay 2000]
dev:7762025-06-30 06:14:44.881 PMdebugMaster Hallway Lights updated() sending lightType value 0 (TS110ELightTypeOptions.options[value as int])
dev:7762025-06-30 06:14:44.879 PMdebugMaster Hallway Lights Master Hallway Lights sendTuyaCommand = [he cmd 0x35D9 0x01 0xEF00 0x00 {D12205020004000003E8} {}, delay 2000]
dev:7762025-06-30 06:14:44.876 PMdebugMaster Hallway Lights sending maxLevel command=05 value=1000 (000003E8)
dev:7762025-06-30 06:14:44.874 PMdebugMaster Hallway Lights updated() maxLevel value = 100 (raw=1000)
dev:7762025-06-30 06:14:44.873 PMdebugMaster Hallway Lights Master Hallway Lights sendTuyaCommand = [he cmd 0x35D9 0x01 0xEF00 0x00 {4ABD030200040000000A} {}, delay 2000]
dev:7762025-06-30 06:14:44.869 PMdebugMaster Hallway Lights sending minLevel command=03 value=10 (0000000A)
dev:7762025-06-30 06:14:44.868 PMdebugMaster Hallway Lights updated() minLevel value = 1 (raw=10)
dev:7762025-06-30 06:14:44.867 PMinfoMaster Hallway Lights ### updating settings for device _TZE204_znvwzxkq
dev:7762025-06-30 06:14:44.866 PMdebugMaster Hallway Lights config().numEps = 1
dev:7762025-06-30 06:14:44.864 PMdebugMaster Hallway Lights state.deviceProfile=TS0601_DIMMER, settings.forcedProfile=TS0601 Tuya Dimmers, getProfileKey()=TS0601_DIMMER
dev:7762025-06-30 06:14:44.832 PMinfoscheduling health check every 10 minutes
dev:7762025-06-30 06:14:44.778 PMdebugMaster Hallway Lights updated() ... model=TS0601 manufacturer=_TZE204_znvwzxkq destinationEP=01 deviceProfile=TS0601_DIMMER
dev:7762025-06-30 06:14:44.777 PMinfoMaster Hallway Lights the selected TS0601_DIMMER device profile was not changed!
dev:7762025-06-30 06:14:44.776 PMdebugMaster Hallway Lights setDestinationEP() destinationEP = 01
dev:7762025-06-30 06:14:44.775 PMdebugMaster Hallway Lights configure() ...
dev:7762025-06-30 06:14:44.772 PMdebugMaster Hallway Lights sendZigbeeCommands: [he raw 0x35D9 1 0x01 0x0000 {10 00 00 04 00 00 00 01 00 05 00 07 00 FE FF}, delay 200]
dev:7762025-06-30 06:14:44.768 PMdebugMaster Hallway Lights spelling tuyaBlackMagic()
dev:7762025-06-30 06:14:44.767 PMdebugMaster Hallway Lights createChildDevices: no child devices to be created
dev:7762025-06-30 06:14:44.766 PMdebugMaster Hallway Lights createChildDevices: no child devices to be deleted
dev:7762025-06-30 06:14:44.764 PMdebugMaster Hallway Lights createChildDevices: single channel dimmer, no child devices are needed
dev:7762025-06-30 06:14:44.763 PMdebugMaster Hallway Lights initialized() device.getData() = [model:TS0601, application:46, manufacturer:_TZE204_znvwzxkq]
dev:7762025-06-30 06:14:44.757 PMdebugMaster Hallway Lights initialized() ... model=TS0601 manufacturer=_TZE204_znvwzxkq destinationEP=UNKNOWN deviceProfile=TS0601_DIMMER
dev:7762025-06-30 06:14:44.743 PMinfoMaster Hallway Lights device model TS0601 manufacturer _TZE204_znvwzxkq was set to : deviceProfile=TS0601_DIMMER : deviceName=Zemismart ZigBee 3-Gang Dimmer
dev:7762025-06-30 06:14:44.731 PMdebugMaster Hallway Lights found exact match for model TS0601 manufacturer _TZE204_znvwzxkq : profileName=TS0601_DIMMER deviceName =Zemismart ZigBee 3-Gang Dimmer

Ah never mind, I figured it out! You have to modify the code in TWO places

@Field static def modelConfigs = [
// add entry here
    "_TZE204_znvwzxkq": [ numEps: 3, model: "TS0601", inClusters: "0000,0004,0005,EF00", joinName: "Zemismart Zigbee 3-Gang Switch Dimmer"],                      // 
]

AND

  "TS0601_DIMMER"  : [
            description   : "TS0601 Tuya Dimmers",
            models        : ["TS0601"],
            fingerprints  : [
// add entry here
[numEps: 3, profileId:"0104", endpointId:"01", inClusters:"0000,0004,0005,EF00", outClusters:"0019,000A", model:"TS0601", manufacturer:"_TZE204_znvwzxkq", deviceJoinName: "Zemismart Zigbee 3-Gang Switch Dimmer"],   //
            ],


1 Like

Hello @kkossev ,
after yet a long break I finally got to update the driver. It appears now that it is reading the levels set manually on the device correctly. Level 1 = 0, Level 2 = 1 and so on.
But I fail to be able to set the level remotely through the system.

So, readings are working now but the setLevel command is not. (On/off still works).
Br. Jocke

1 Like

@jockeboling
Can you copy and paste the Debug logs that follow a SetLevel command from the driver page?

@HubJay thank you for your contribution!

I have updated teh driver to ver 0.7.7 2025/10/04 : added TS0601 _TZE204_znvwzxkq Zemismart Zigbee 3-Gang Switch Dimmer @HubJay

1 Like

Hello, here some messages from the log when I try to set new level.

dev:792025-10-05 15:00:18.906warnVentilation no response received (device offline?)
dev:792025-10-05 15:00:08.970debugVentilation parse: catchall received confirmation from clusterId=EF00 for command=0B data=[00, 00]
dev:792025-10-05 15:00:08.967debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 00 00 0000 0B 01 0000
dev:792025-10-05 15:00:08.920debugVentilation sendZigbeeCommands: [he cmd 0xBE0A 0x01 0xEF00 0x00 {E8AC030200011E} {}, delay 2000]
dev:792025-10-05 15:00:08.919debugVentilation cmdSetLevel: TS0601: sending cmdsTuya=[he cmd 0xBE0A 0x01 0xEF00 0x00 {E8AC030200011E} {}, delay 2000]
dev:792025-10-05 15:00:08.917debugVentilation Ventilation sendTuyaCommand = [he cmd 0xBE0A 0x01 0xEF00 0x00 {E8AC030200011E} {}, delay 2000]
dev:792025-10-05 15:00:08.912debugVentilation cmdSetLevel: TS0601: sending cmdSetLevel command=03 value=30 (1E)
dev:792025-10-05 15:00:08.220infoVentilation healthStatus was set to offline
dev:792025-10-05 15:00:08.213warnVentilation no response received (device offline?)
dev:792025-10-05 14:59:58.290debugVentilation parse: catchall received confirmation from clusterId=EF00 for command=0B data=[00, 00]
dev:792025-10-05 14:59:58.287debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 00 00 0000 0B 01 0000
dev:792025-10-05 14:59:58.239debugVentilation sendZigbeeCommands: [he cmd 0xBE0A 0x01 0xEF00 0x00 {6CA40302000114} {}, delay 2000]
dev:792025-10-05 14:59:58.237debugVentilation cmdSetLevel: TS0601: sending cmdsTuya=[he cmd 0xBE0A 0x01 0xEF00 0x00 {6CA40302000114} {}, delay 2000]
dev:792025-10-05 14:59:58.235debugVentilation Ventilation sendTuyaCommand = [he cmd 0xBE0A 0x01 0xEF00 0x00 {6CA40302000114} {}, delay 2000]
dev:792025-10-05 14:59:58.231debugVentilation cmdSetLevel: TS0601: sending cmdSetLevel command=03 value=20 (14)
dev:792025-10-05 14:59:30.476debugVentilation Tuya check-in (0x01)
dev:792025-10-05 14:59:30.450debugVentilation parse: received raw description: read attr - raw: BE0A0100001801002046E2FF2036E4FF2000, dni: BE0A, endpoint: 01, cluster: 0000, size: 18, attrId: 0001, encoding: 20, command: 0A, value: 46E2FF2036E4FF2000
dev:792025-10-05 14:59:27.528debugVentilation parse: catchall received confirmation from clusterId=EF00 for command=0B data=[00, 00]
dev:792025-10-05 14:59:27.525debugVentilation parse: received raw description: catchall: 0104 EF00 01 01 0040 00 BE0A 00 00 0000 0B 01 0000
dev:792025-10-05 14:59:27.479debugVentilation sendZigbeeCommands: [he cmd 0xBE0A 0x01 0xEF00 0x00 {420D030200010A} {}, delay 2000]
dev:792025-10-05 14:59:27.477debugVentilation cmdSetLevel: TS0601: sending cmdsTuya=[he cmd 0xBE0A 0x01 0xEF00 0x00 {420D030200010A} {}, delay 2000]
dev:792025-10-05 14:59:27.475debugVentilation Ventilation sendTuyaCommand = [he cmd 0xBE0A 0x01 0xEF00 0x00 {420D030200010A} {}, delay 2000]
dev:792025-10-05 14:59:27.469debugVentilation cmdSetLevel: TS0601: sending cmdSetLevel command=03 value=10 (0A)
dev:792025-10-05 14:56:44.099debugVentilation Tuya check-in (0x01)

Br. Jocke

Hello again, I also have a current ZemiSmart Single-Gang Zigbee Dimmer which I've been trying to add to HE without success. It pairs as the Moes 1-2-3 gang device, but from your comments above it looks more like this driver. In any case neither of these, nor the generic driver seem to control the dimmer.

Its properties show as:

Any ideas...?

1 Like

Hello @kkossev - So not all my area of expertise, but I had a go at creating a fingerprint by looking a the other examples in your driver and it seems to work. For now I'm using it on my installation, but if you're ok with it, it seems to be usable... Here goes:

"_TZE204_68utemio": [ numEps: 1, model: "TS0601", inClusters: "0000,0004,0005,EF00", joinName: "Zemismart Zigbee 1-Gang Switch Dimmer"], //@mtate

with the link in the TS0601 Dimmer section:

[numEps: 1, profileId:"0104", endpointId:"01", inClusters:"0000,0004,0005,EF00", outClusters:"0019,000A", model:"TS0601", manufacturer:"_TZE204_68utemio", deviceJoinName: "Zemismart Zigbee 1-Gang Switch Dimmer"], // @MTate

Frankly a bit scared. First time I've done this.

1 Like

Hi @wdguezv ,

You can try this driver for your light and fan switch TS0601 _TZE204_lawxy9e2

In the preferences tab, select 'TS0601 LERLINK Fan Switch' and then click on Save and Close.

image

Open the device web page again and let me know what works and what does not. The fan speed should be represented as 'level' 0..4 . This is not the best way to control a fan in Hubitat, but if it works will be better than nothing .. : )

The Moes 1/2/3/4 gang switch driver is for switches only; this "Tuya Zigbee Dimmer Module" driver already supports (kind of) two types of Tuya-based fan controllers.

For debugging, the most effective way is to enable the Debug logging preference and post the logs that follow an action - pushing the physical buttons on the device, for example.

thanks for the prompt reply. With that driver i can only turn on and off the Fan from the parent device. This device has also a light switch which would be good to use, Interestingly none the four child devices can activate anything. But when use the MOes zigbee multigang driver i can turn on and off the fan from both the parent device and the first child device.
i wonder if there is something just getting ownership of the first switch only.
thanks
William

This driver should not create any child devices... You can switch to the HE inbuilt 'Device' driver to delete any leftovers for the previous drivers, then switch back to the 'Tuya Zigbee dimmer module' driver and manually set the Device Profile as shown on my screenshot in the previous post. Also, enable the Debug logging on the Preferences tab before clicking on the Save Button.

Please turn the switch on and off from the physical button on the device. Also, change the fan speed from the physical buttons on the device. I will need the debug logs that follow these operations.

First, let's ensure the HE device updates when the physical device is operated. Following that, we will send commands from the driver to the device.

i tried all buttons here is the log
2025-11-11 09:54:28.731 AM

trace

light and fan sendHealthStatusEventAll: online DW=light and fan size = 0

dev:10182025-11-11 09:54:28.729 AM

info

light and fan light and fan was turned off [digital]

dev:10182025-11-11 09:54:28.728 AM

info

light and fan Switch 01 is off

dev:10182025-11-11 09:54:28.727 AM

trace

light and fan parse: catchall clusterId=EF00 command=02 data=[00, 2C, 01, 01, 00, 01, 00]

dev:10182025-11-11 09:54:28.726 AM

trace

light and fan parse: received descMap: [raw:catchall: 0104 EF00 01 01 0040 00 7EE2 01 00 0000 02 01 002C0101000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:7EE2, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 2C, 01, 01, 00, 01, 00]]

dev:10182025-11-11 09:54:28.724 AM

debug

light and fan parse: received raw description: catchall: 0104 EF00 01 01 0040 00 7EE2 01 00 0000 02 01 002C0101000100

dev:10182025-11-11 09:54:28.630 AM

trace

light and fan sendHealthStatusEventAll: online DW=light and fan size = 0

dev:10182025-11-11 09:54:28.628 AM

info

light and fan light and fan was turned off [digital]

dev:10182025-11-11 09:54:28.627 AM

info

light and fan Switch 01 is off

dev:10182025-11-11 09:54:28.626 AM

trace

light and fan parse: catchall clusterId=EF00 command=02 data=[00, 2B, 01, 01, 00, 01, 00]

dev:10182025-11-11 09:54:28.625 AM

trace

light and fan parse: received descMap: [raw:catchall: 0104 EF00 01 01 0040 00 7EE2 01 00 0000 02 01 002B0101000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:7EE2, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 2B, 01, 01, 00, 01, 00]]

dev:10182025-11-11 09:54:28.623 AM

debug

light and fan parse: received raw description: catchall: 0104 EF00 01 01 0040 00 7EE2 01 00 0000 02 01 002B0101000100

dev:10182025-11-11 09:54:28.570 AM

debug

light and fan parse: catchall received confirmation from clusterId=EF00 for command=0B data=[00, 00]

dev:10182025-11-11 09:54:28.569 AM

trace

light and fan parse: catchall clusterId=EF00 command=0B data=[00, 00]

dev:10182025-11-11 09:54:28.568 AM

trace

light and fan parse: received descMap: [raw:catchall: 0104 EF00 01 01 0040 00 7EE2 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:7EE2, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:10182025-11-11 09:54:28.567 AM

debug

light and fan parse: received raw description: catchall: 0104 EF00 01 01 0040 00 7EE2 00 00 0000 0B 01 0000

dev:10182025-11-11 09:54:28.522 AM

debug

light and fan sendZigbeeCommands: [he cmd 0x7EE2 0x01 0xEF00 0x00 {2E970101000100} {}, delay 2000]

dev:10182025-11-11 09:54:28.521 AM

trace

light and fan cmdSwitch: sending cmdSwitch command=01 value=0 (00) cmds=[he cmd 0x7EE2 0x01 0xEF00 0x00 {2E970101000100} {}, delay 2000]

dev:10182025-11-11 09:54:28.520 AM

debug

light and fan light and fan sendTuyaCommand = [he cmd 0x7EE2 0x01 0xEF00 0x00 {2E970101000100} {}, delay 2000]

dev:10182025-11-11 09:54:28.516 AM

trace

light and fan cmdSwitch: childDni=7EE2-01 onOff=0 endpointId=01

dev:10182025-11-11 09:54:28.515 AM

trace

light and fan childDniToEndpointId: childDni=7EE2-01 childDniPattern=^([0-9A-Za-z]+)-([0-9A-Za-z]+)$ match[0][1]=7EE2 match[0][2]=01 device.deviceNetworkId=7EE2 match=java.util.regex.Matcher[pattern=^([0-9A-Za-z]+)-([0-9A-Za-z]+)$ region=0,7 lastmatch=7EE2-01]

dev:10182025-11-11 09:54:28.514 AM

trace

light and fan childDniToEndpointId: childDni=7EE2-01 childDniPattern=^([0-9A-Za-z]+)-([0-9A-Za-z]+)$ match[0][1]=7EE2 match[0][2]=01 device.deviceNetworkId=7EE2 match=java.util.regex.Matcher[pattern=^([0-9A-Za-z]+)-([0-9A-Za-z]+)$ region=0,7 lastmatch=7EE2-01]

dev:10182025-11-11 09:54:28.502 AM

trace

light and fan scheduleCommandTimeoutCheck: delay=10 isParent=true

dev:10182025-11-11 09:54:23.006 AM

trace

light and fan sendHealthStatusEventAll: online DW=light and fan size = 0

dev:10182025-11-11 09:54:23.004 AM

info

light and fan light and fan was turned on [digital]

dev:10182025-11-11 09:54:23.000 AM

info

light and fan Switch 01 is on

dev:10182025-11-11 09:54:22.998 AM

trace

light and fan parse: catchall clusterId=EF00 command=02 data=[00, 2A, 01, 01, 00, 01, 01]

dev:10182025-11-11 09:54:22.996 AM

trace

light and fan parse: received descMap: [raw:catchall: 0104 EF00 01 01 0040 00 7EE2 01 00 0000 02 01 002A0101000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:7EE2, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 2A, 01, 01, 00, 01, 01]]

dev:10182025-11-11 09:54:22.995 AM

debug

light and fan parse: received raw description: catchall: 0104 EF00 01 01 0040 00 7EE2 01 00 0000 02 01 002A0101000101

dev:10182025-11-11 09:54:22.954 AM

trace

light and fan sendHealthStatusEventAll: online DW=light and fan size = 0

dev:10182025-11-11 09:54:22.951 AM

info

light and fan light and fan level was set to 1 [digital]

dev:10182025-11-11 09:54:22.950 AM

trace

light and fan onSwitchLevel: Value=1 level=1 (value=1)

dev:10182025-11-11 09:54:22.949 AM

trace

light and fan valueToLevel: raw value:1 reScaled=1 (isParent=true, isTS0601=true)

dev:10182025-11-11 09:54:22.948 AM

debug

light and fan handleTuyaClusterBrightnessCmd: Ignoring scaling the 1 level for LerlinkFanController

dev:10182025-11-11 09:54:22.947 AM

debug

light and fan parseTuyaCluster: received: LerlinkFanController cmd=03 value=1

dev:10182025-11-11 09:54:22.946 AM

trace

light and fan parse: catchall clusterId=EF00 command=02 data=[00, 29, 03, 04, 00, 01, 01]

dev:10182025-11-11 09:54:22.945 AM

trace

light and fan parse: received descMap: [raw:catchall: 0104 EF00 01 01 0040 00 7EE2 01 00 0000 02 01 00290304000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:7EE2, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 29, 03, 04, 00, 01, 01]]

dev:10182025-11-11 09:54:22.943 AM

debug

light and fan parse: received raw description: catchall: 0104 EF00 01 01 0040 00 7EE2 01 00 0000 02 01 00290304000101

dev:10182025-11-11 09:54:22.915 AM

trace

light and fan sendHealthStatusEventAll: online DW=light and fan size = 0

dev:10182025-11-11 09:54:22.913 AM

info

light and fan light and fan level was set to 0 [digital]

dev:10182025-11-11 09:54:22.912 AM

trace

light and fan onSwitchLevel: Value=0 level=0 (value=0)

dev:10182025-11-11 09:54:22.911 AM

trace

light and fan valueToLevel: raw value:0 reScaled=0 (isParent=true, isTS0601=true)

dev:10182025-11-11 09:54:22.903 AM

debug

light and fan handleTuyaClusterBrightnessCmd: Ignoring scaling the 0 level for LerlinkFanController

dev:10182025-11-11 09:54:22.903 AM

debug

light and fan parseTuyaCluster: received: LerlinkFanController cmd=03 value=0

dev:10182025-11-11 09:54:22.901 AM

trace

light and fan parse: catchall clusterId=EF00 command=02 data=[00, 28, 03, 04, 00, 01, 00]

dev:10182025-11-11 09:54:22.900 AM

trace

light and fan parse: received descMap: [raw:catchall: 0104 EF00 01 01 0040 00 7EE2 01 00 0000 02 01 00280304000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:7EE2, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 28, 03, 04, 00, 01, 00]]

dev:10182025-11-11 09:54:22.898 AM

debug

light and fan parse: received raw description: catchall: 0104 EF00 01 01 0040 00 7EE2 01 00 0000 02 01 00280304000100

dev:10182025-11-11 09:54:22.862 AM

debug

light and fan parse: catchall received confirmation from clusterId=EF00 for command=0B data=[00, 00]

dev:10182025-11-11 09:54:22.861 AM

trace

light and fan parse: catchall clusterId=EF00 command=0B data=[00, 00]

dev:10182025-11-11 09:54:22.860 AM

trace

light and fan parse: received descMap: [raw:catchall: 0104 EF00 01 01 0040 00 7EE2 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:7EE2, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:10182025-11-11 09:54:22.834 AM

debug

light and fan parse: received raw description: catchall: 0104 EF00 01 01 0040 00 7EE2 00 00 0000 0B 01 0000

dev:10182025-11-11 09:54:22.783 AM

debug

light and fan sendZigbeeCommands: [he cmd 0x7EE2 0x01 0xEF00 0x00 {CB940101000101} {}, delay 2000]

dev:10182025-11-11 09:54:22.782 AM

trace

light and fan cmdSwitch: sending cmdSwitch command=01 value=1 (01) cmds=[he cmd 0x7EE2 0x01 0xEF00 0x00 {CB940101000101} {}, delay 2000]

dev:10182025-11-11 09:54:22.780 AM

debug

light and fan light and fan sendTuyaCommand = [he cmd 0x7EE2 0x01 0xEF00 0x00 {CB940101000101} {}, delay 2000]

dev:10182025-11-11 09:54:22.777 AM

trace

light and fan cmdSwitch: childDni=7EE2-01 onOff=1 endpointId=01

dev:10182025-11-11 09:54:22.776 AM

trace

light and fan childDniToEndpointId: childDni=7EE2-01 childDniPattern=^([0-9A-Za-z]+)-([0-9A-Za-z]+)$ match[0][1]=7EE2 match[0][2]=01 device.deviceNetworkId=7EE2 match=java.util.regex.Matcher[pattern=^([0-9A-Za-z]+)-([0-9A-Za-z]+)$ region=0,7 lastmatch=7EE2-01]

dev:10182025-11-11 09:54:22.774 AM

trace

light and fan childDniToEndpointId: childDni=7EE2-01 childDniPattern=^([0-9A-Za-z]+)-([0-9A-Za-z]+)$ match[0][1]=7EE2 match[0][2]=01 device.deviceNetworkId=7EE2 match=java.util.regex.Matcher[pattern=^([0-9A-Za-z]+)-([0-9A-Za-z]+)$ region=0,7 lastmatch=7EE2-01]

dev:10182025-11-11 09:54:22.757 AM

trace

light and fan scheduleCommandTimeoutCheck: delay=10 isParent=true

dev:10182025-11-11 09:54:22.566 AM

debug

light and fan parse: catchall received confirmation from clusterId=EF00 for command=0B data=[00, 00]

dev:10182025-11-11 09:54:22.566 AM

trace

light and fan parse: catchall clusterId=EF00 command=0B data=[00, 00]

dev:10182025-11-11 09:54:22.564 AM

trace

light and fan parse: received descMap: [raw:catchall: 0104 EF00 01 01 0040 00 7EE2 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:7EE2, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:10182025-11-11 09:54:22.563 AM

debug

light and fan parse: received raw description: catchall: 0104 EF00 01 01 0040 00 7EE2 00 00 0000 0B 01 0000

dev:10182025-11-11 09:54:20.615 AM

trace

light and fan sendHealthStatusEventAll: online DW=light and fan size = 0

dev:10182025-11-11 09:54:20.614 AM

info

light and fan Power-On mode is on

dev:10182025-11-11 09:54:20.608 AM

debug

light and fan parseTuyaCluster: received: LerlinkFanController power-on status cmd=0B value=1

dev:10182025-11-11 09:54:20.604 AM

trace

light and fan parse: catchall clusterId=EF00 command=02 data=[00, 27, 0B, 04, 00, 01, 01]

dev:10182025-11-11 09:54:20.603 AM

trace

light and fan parse: received descMap: [raw:catchall: 0104 EF00 01 01 0040 00 7EE2 01 00 0000 02 01 00270B04000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:7EE2, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 27, 0B, 04, 00, 01, 01]]

dev:10182025-11-11 09:54:20.602 AM

debug

light and fan parse: received raw description: catchall: 0104 EF00 01 01 0040 00 7EE2 01 00 0000 02 01 00270B04000101

dev:10182025-11-11 09:54:20.553 AM

debug

light and fan parse: catchall received confirmation from clusterId=EF00 for command=0B data=[00, 00]

dev:10182025-11-11 09:54:20.552 AM

trace

light and fan parse: catchall clusterId=EF00 command=0B data=[00, 00]

dev:10182025-11-11 09:54:20.551 AM

trace

light and fan parse: received descMap: [raw:catchall: 0104 EF00 01 01 0040 00 7EE2 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:7EE2, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:10182025-11-11 09:54:20.549 AM

debug

light and fan parse: received raw description: catchall: 0104 EF00 01 01 0040 00 7EE2 00 00 0000 0B 01 0000

dev:10182025-11-11 09:54:18.551 AM

debug

light and fan parse: catchall received confirmation from clusterId=EF00 for command=0B data=[00, 00]

dev:10182025-11-11 09:54:18.550 AM

trace

light and fan parse: catchall clusterId=EF00 command=0B data=[00, 00]

dev:10182025-11-11 09:54:18.549 AM

trace

light and fan parse: received descMap: [raw:catchall: 0104 EF00 01 01 0040 00 7EE2 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:7EE2, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:10182025-11-11 09:54:18.548 AM

debug

light and fan parse: received raw description: catchall: 0104 EF00 01 01 0040 00 7EE2 00 00 0000 0B 01 0000

dev:10182025-11-11 09:54:16.551 AM

debug

light and fan parse: catchall received confirmation from clusterId=EF00 for command=0B data=[00, 00]

dev:10182025-11-11 09:54:16.551 AM

trace

light and fan parse: catchall clusterId=EF00 command=0B data=[00, 00]

dev:10182025-11-11 09:54:16.550 AM

trace

light and fan parse: received descMap: [raw:catchall: 0104 EF00 01 01 0040 00 7EE2 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:7EE2, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:10182025-11-11 09:54:16.548 AM

debug

light and fan parse: received raw description: catchall: 0104 EF00 01 01 0040 00 7EE2 00 00 0000 0B 01 0000

dev:10182025-11-11 09:54:16.306 AM

debug

light and fan Tuya check-in (0x01)

dev:10182025-11-11 09:54:16.305 AM

trace

light and fan Tuya check-in message (attribute 0001 reported: 4A)

dev:10182025-11-11 09:54:16.298 AM

trace

light and fan sendHealthStatusEventAll: online DW=light and fan size = 0

dev:10182025-11-11 09:54:16.297 AM

trace

light and fan getChildByEndpointId returning this: light and fan

dev:10182025-11-11 09:54:16.296 AM

trace

light and fan getChildByEndpointId endpointId=01

dev:10182025-11-11 09:54:16.293 AM

trace

light and fan parse: received descMap: [raw:7EE2010000180100204AE2FF2038E4FF2000, dni:7EE2, endpoint:01, cluster:0000, size:18, attrId:0001, encoding:20, command:0A, value:4A, clusterInt:0, attrInt:1, additionalAttrs:[[value:38, encoding:20, attrId:FFE2, consumedBytes:4, attrInt:65506], [value:00, encoding:20, attrId:FFE4, consumedBytes:4, attrInt:65508]]]

dev:10182025-11-11 09:54:16.291 AM

debug

light and fan parse: received raw description: read attr - raw: 7EE2010000180100204AE2FF2038E4FF2000, dni: 7EE2, endpoint: 01, cluster: 0000, size: 18, attrId: 0001, encoding: 20, command: 0A, value: 4AE2FF2038E4FF2000

dev:10182025-11-11 09:54:14.553 AM

debug

light and fan parse: catchall received confirmation from clusterId=EF00 for command=0B data=[00, 00]

dev:10182025-11-11 09:54:14.552 AM

trace

light and fan parse: catchall clusterId=EF00 command=0B data=[00, 00]

dev:10182025-11-11 09:54:14.551 AM

trace

light and fan parse: received descMap: [raw:catchall: 0104 EF00 01 01 0040 00 7EE2 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:7EE2, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:10182025-11-11 09:54:14.550 AM

debug

light and fan parse: received raw description: catchall: 0104 EF00 01 01 0040 00 7EE2 00 00 0000 0B 01 0000

dev:10182025-11-11 09:54:14.513 AM

info

light and fan updating settings for the parent device ... [temperatureOffset:0.0, humidityOffset:0.0, temperatureSensitivity:0.5, humiditySensitivity:5, illuminanceSensitivity:12, minTempAlarmPar:0.0, maxTempAlarmPar:39.0, minHumidityAlarmPar:20, maxHumidityAlarmPar:60, minReportingTimeTemp:10, maxReportingTimeTemp:3600, minReportingTimeHumidity:10, maxReportingTimeHumidity:3600, advancedOptions:true, minLevel:0, autoOn:true, debugEnable:true, infoEnable:true, autoRefresh:true, maxLevel:100, traceEnable:true, forcedProfile:TS0601 LERLINK Fan Switch, healthCheckInterval:00, ledMode:1, powerOnMode:1, lightType:0]

dev:10182025-11-11 09:54:14.512 AM

trace

light and fan getChildByEndpointId returning this: light and fan

dev:10182025-11-11 09:54:14.511 AM

trace

light and fan getChildByEndpointId endpointId=01

dev:10182025-11-11 09:54:14.510 AM

debug

light and fan updated parent->child

dev:10182025-11-11 09:54:14.507 AM

debug

light and fan light and fan sendTuyaCommand = [he cmd 0x7EE2 0x01 0xEF00 0x00 {4BF51504000101} {}, delay 2000]

dev:10182025-11-11 09:54:14.505 AM

debug

light and fan updated() sending ledMode value 1 (TS0601LEDOptions.options[value as int])

dev:10182025-11-11 09:54:14.504 AM

debug

light and fan light and fan sendTuyaCommand = [he cmd 0x7EE2 0x01 0xEF00 0x00 {360A0B04000101} {}, delay 2000]

dev:10182025-11-11 09:54:14.502 AM

debug

light and fan updated() sending powerOnMode value 1 (TS0601PowerOnOptions.options[value as int])

dev:10182025-11-11 09:54:14.501 AM

debug

light and fan light and fan sendTuyaCommand = [he cmd 0x7EE2 0x01 0xEF00 0x00 {71860404000100} {}, delay 2000]

dev:10182025-11-11 09:54:14.499 AM

debug

light and fan updated() sending lightType value 0 (TS110ELightTypeOptions.options[value as int])

dev:10182025-11-11 09:54:14.498 AM

debug

light and fan light and fan sendTuyaCommand = [he cmd 0x7EE2 0x01 0xEF00 0x00 {2FD105020004000003E8} {}, delay 2000]

dev:10182025-11-11 09:54:14.496 AM

debug

light and fan sending maxLevel command=05 value=1000 (000003E8)

dev:10182025-11-11 09:54:14.495 AM

debug

light and fan updated() maxLevel value = 100 (raw=1000)

dev:10182025-11-11 09:54:14.494 AM

debug

light and fan light and fan sendTuyaCommand = [he cmd 0x7EE2 0x01 0xEF00 0x00 {E7350302000400000000} {}, delay 2000]

dev:10182025-11-11 09:54:14.492 AM

debug

light and fan sending minLevel command=03 value=0 (00000000)

dev:10182025-11-11 09:54:14.491 AM

debug

light and fan updated() minLevel value = 0 (raw=0)

dev:10182025-11-11 09:54:14.490 AM

info

light and fan ### updating settings for device _TZE204_lawxy9e2

dev:10182025-11-11 09:54:14.490 AM

debug

light and fan config().numEps = 1

dev:10182025-11-11 09:54:14.488 AM

debug

light and fan state.deviceProfile=TS0601_LERLINK_FAN, settings.forcedProfile=TS0601 LERLINK Fan Switch, getProfileKey()=TS0601_LERLINK_FAN

dev:10182025-11-11 09:54:14.480 AM

debug

light and fan updated() ... model=TS0601 manufacturer=_TZE204_lawxy9e2 destinationEP=UNKNOWN deviceProfile=TS0601_LERLINK_FAN

dev:10182025-11-11 09:53:37.619 AM

debug

light and fan parse: catchall received confirmation from clusterId=EF00 for command=0B data=[00, 00]

dev:10182025-11-11 09:53:37.617 AM

debug

light and fan parse: received raw description: catchall: 0104 EF00 01 01 0040 00 7EE2 00 00 0000 0B 01 0000

dev:10182025-11-11 09:53:35.634 AM

debug

light and fan parse: catchall received confirmation from clusterId=EF00 for command=0B data=[00, 00]

dev:10182025-11-11 09:53:35.632 AM

debug

light and fan parse: received raw description: catchall: 0104 EF00 01 01 0040 00 7EE2 00 00 0000 0B 01 0000

dev:10182025-11-11 09:53:35.581 AM

info

light and fan updating settings for the parent device ... [temperatureOffset:0.0, humidityOffset:0.0, temperatureSensitivity:0.5, humiditySensitivity:5, illuminanceSensitivity:12, minTempAlarmPar:0.0, maxTempAlarmPar:39.0, minHumidityAlarmPar:20, maxHumidityAlarmPar:60, minReportingTimeTemp:10, maxReportingTimeTemp:3600, minReportingTimeHumidity:10, maxReportingTimeHumidity:3600, advancedOptions:true, minLevel:0, autoOn:true, debugEnable:true, infoEnable:true, autoRefresh:true, maxLevel:100, traceEnable:false, forcedProfile:TS0601 LERLINK Fan Switch, healthCheckInterval:10]

dev:10182025-11-11 09:53:35.580 AM

debug

light and fan updated parent->child

dev:10182025-11-11 09:53:35.576 AM

debug

light and fan light and fan sendTuyaCommand = [he cmd 0x7EE2 0x01 0xEF00 0x00 {B19305020004000003E8} {}, delay 2000]

dev:10182025-11-11 09:53:35.574 AM

debug

light and fan sending maxLevel command=05 value=1000 (000003E8)

dev:10182025-11-11 09:53:35.574 AM

debug

light and fan updated() maxLevel value = 100 (raw=1000)

dev:10182025-11-11 09:53:35.572 AM

debug

light and fan light and fan sendTuyaCommand = [he cmd 0x7EE2 0x01 0xEF00 0x00 {C33B0302000400000000} {}, delay 2000]

dev:10182025-11-11 09:53:35.568 AM

debug

light and fan sending minLevel command=03 value=0 (00000000)

dev:10182025-11-11 09:53:35.568 AM

debug

light and fan updated() minLevel value = 0 (raw=0)

dev:10182025-11-11 09:53:35.567 AM

info

light and fan ### updating settings for device _TZE204_lawxy9e2

dev:10182025-11-11 09:53:35.566 AM

debug

light and fan config().numEps = 1

dev:10182025-11-11 09:53:35.565 AM

info

light and fan press F5 to refresh the page

dev:10182025-11-11 09:53:35.564 AM

warn

light and fan changing the device profile from null to TS0601_LERLINK_FAN

dev:10182025-11-11 09:53:35.562 AM

debug

light and fan state.deviceProfile=null, settings.forcedProfile=TS0601 LERLINK Fan Switch, getProfileKey()=TS0601_LERLINK_FAN

1 Like

@wdguezv please update the driver manually to ver 0.7.8 2025/11/11 (dev. branch) :

  • added TS0601 _TZE204_68utemio - thanks @mtate
  • added TS0601 _TZE204_lawxy9e2 _TZE200_lawxy9e2 Tuya Fan and Light switch @wdguezv

Click on the 'Initialize()' command button. From the logs I see the light on/off switch and the fan levels are decoded OK. Let me know if the commands (on/off and SetLevel (0,1,2,3,4) are working.

https://raw.githubusercontent.com/kkossev/hubitat-matt-hammond-fork/development/drivers/tuya-zigbee-dimmer-module.groovy