Trying to convert Tuya Torchiere to Tasmota or ESPHome

I’ve got an old LED torchiere lamp that I got off Amazon from “Cannagrow” that I’m trying to convert away from Tuya/Smartlife. I successfully used tuya-convert to get Tasmota 7.2 on it and I’m able to get to the control interface to change the configuration and upload firmware files. The problem is that I cannot figure out the right settings to make the thing work. I have no idea which pins are TX/RX but I was able to download a log that shows a bunch of Tuya commands when I use the switches on the device. I did figure out that it has an ESP8266 chip and tried using the ESP Builder in HACS to make a firmware file but when I tried to upload it it said it was too big.

I’m sort of stuck though because now I can only use the controls on the device. Even using the on/off in the Tasmota web-interface doesn’t work. I’ve tried so many different configurations and I can’t find a similar product in all the documented products on the Tasmota pages.

How do I go about figuring out the right configuration or updating it to ESPHome instead?

Anyone got any ideas for identifying the device and figuring out the configuration? Or making an ESPHome build that will fit?

Does it have LED driver on the lamp?

Yes, I believe the driver board is a separate board that the esp board connects. I can’t open it so have no idea what pins are used between them…

Ok, I finally broke the torchier apart and got pics of the microcontrollers. One of them is the LED driver (like expected). It appears to be a DM633 which is connected to an ESP8266 chip. I can see some of the traces which will help me figure out which IO lines to program for the LED driver, but I still can’t identify the actual board/model. It appears it says YH-401 with a date of 20191115 but searches for those don’t return anything related. I need to figure out at least how much RAM and storage is available to build an ESPHome image.



The WiFi module is a TYWE3L — More information here.

For all these tuya devices, you need to determine whether they are using direct gpio-based control, or indirect mcu-based control over a serial connection. The number and type of pins with solder is usually a good clue.

In this case it appears the Tx and Rx pins are soldered, suggesting the mcu approach. If you still have Tasmota flashed you can configure the template for tuyamcu rx and tx pins; if it works the weblog 4 command will enable debugging of the tuya traffic.

It’s definitely the serial IO. The console is showing Tuya information each time it starts. However, nothing can be controlled. When I try to toggle the on/off nothing happens and there is no option to do any colors or dimming either.

00:00:00.001 HDW: ESP8266EX
00:00:00.054 CFG: Loaded from flash at F4, Count 161
00:00:00.059 FRC: Some settings have been reset (2)
00:00:00.063 TYA: Active=1
00:00:00.066 ROT: Mode 1
00:00:00.111 SNS: Hardware Serial
00:00:00.111 TYA: Request MCU configuration at 9600 bps
00:00:00.112 SRC: Restart
00:00:00.126 TYA: Send “55aa0006000501010001010e”
00:00:00.147 Project tasmota - Torchier Version 14.3.0(release-tasmota)-2_7_7(2024-10-15T08:18:01)
00:00:00.198 WIF: Checking connection…
00:00:00.199 WIF: Attempting connection…
00:00:01.001 WIF: Connecting to AP1 Channel 3 BSSId D4:76:A0:B5:91:02 in mode 11n as torchier…
00:00:01.003 TYA: Set WiFi LED 2 (-1)
00:00:01.012 TYA: Send “55aa000300010205”
00:00:01.021 DMP: 55 AA 03 03 00 00 05
00:00:01.022 {“TuyaReceived”:{“Data”:“55AA0303000005”,“Cmnd”:3}}
00:00:01.023 TYA: RX WiFi LED set ACK
00:00:01.773 WIF: Checking connection…
00:00:01.774 WIF: Connected
00:00:02.025 HTP: Web server active on torchier with IP address 192.168.13.6
00:00:02.225 WIF: Sending Gratuitous ARP
00:00:02.226 NTP: Sync time…
00:00:02.241 WIF: DNS resolved ‘pool.ntp.org’ (24.144.88.190) in 13 ms
00:00:03.247 NTP: No reply from 24.144.88.190
00:00:03.249 TYA: Set WiFi LED 3 (0)
00:00:03.258 TYA: Send “55aa000300010306”
00:00:03.260 NTP: Sync time…
00:00:03.274 WIF: DNS resolved ‘nl.pool.ntp.org’ (5.255.124.190) in 13 ms
00:00:03.439 RTC: UTC 2025-03-20T07:39:24Z, DST 2025-03-30T02:00:00, STD 2025-10-26T03:00:00
08:39:24.000 RTC: Synced by NTP
08:39:24.002 DMP: 55 AA 03 03 00 00 05
08:39:24.004 {“TuyaReceived”:{“Data”:“55AA0303000005”,“Cmnd”:3}}
08:39:24.004 TYA: RX WiFi LED set ACK
08:39:25.043 MQT: Attempting connection…
08:39:25.044 WIF: DNS resolved ‘192.168.x.x’ (192.168.x.x) in 0 ms
08:39:25.062 MQT: Connect failed to 192.168.x.x:1883, rc 5. Retry in 10 sec
08:39:26.050 HTP: Main Menu
08:39:27.295 QPC: Reset
08:39:28.364 HTP: Information
08:39:29.233 APP: Boot Count 42
08:39:29.595 CFG: Saved to flash at FB, Count 162, Bytes 4096
08:39:32.259 TYA: Send “55aa00000000ff”
08:39:32.268 DMP: 55 AA 03 00 00 01 01 04
08:39:32.270 {“TuyaReceived”:{“Data”:“55AA030000010104”,“Cmnd”:0,“CmndData”:“01”}}
08:39:32.271 TYA: Heartbeat
08:39:34.539 HTP: Main Menu
08:39:36.042 MQT: Attempting connection…
08:39:36.044 WIF: DNS resolved ‘192.168.x.x’ (192.168.x.x) in 0 ms
08:39:36.057 MQT: Connect failed to 192.168.x.x:1883, rc 5. Retry in 20 sec
08:39:36.603 HTP: Console
08:39:43.248 TYA: Send “55aa00000000ff”
08:39:43.258 DMP: 55 AA 03 00 00 01 01 04
08:39:43.259 {“TuyaReceived”:{“Data”:“55AA030000010104”,“Cmnd”:0,“CmndData”:“01”}}
08:39:43.260 TYA: Heartbeat
08:39:43.808 WIF: Checking connection…
08:39:51.215 HTP: Main Menu
08:39:52.868 SRC: WebGui from 192.168.x.x
08:39:52.883 TYA: Send “55aa0006000501010001000d”
08:39:52.905 RSL: RESULT = {“POWER”:“OFF”}
08:39:52.907 RSL: POWER = OFF
08:39:53.599 CFG: Saved to flash at FA, Count 163, Bytes 4096
08:39:54.260 TYA: Send “55aa00000000ff”
08:39:54.269 DMP: 55 AA 03 00 00 01 01 04
08:39:54.270 {“TuyaReceived”:{“Data”:“55AA030000010104”,“Cmnd”:0,“CmndData”:“01”}}
08:39:54.272 TYA: Heartbeat
08:39:54.626 SRC: WebGui from 192.168.x.x
08:39:54.640 TYA: Send “55aa0006000501010001010e”
08:39:54.664 RSL: RESULT = {“POWER”:“ON”}
08:39:54.666 RSL: POWER = ON
08:39:55.597 CFG: Saved to flash at F9, Count 164, Bytes 4096
08:39:57.011 MQT: Attempting connection…
08:39:57.013 WIF: DNS resolved ‘192.168.x.x’ (192.168.x.x) in 0 ms
08:39:57.030 MQT: Connect failed to 192.168.x.x:1883, rc 5. Retry in 30 sec
08:39:58.489 HTP: Console
08:40:03.790 WIF: Checking connection…
08:40:05.258 TYA: Send “55aa00000000ff”
08:40:05.267 DMP: 55 AA 03 00 00 01 01 04
08:40:05.269 {“TuyaReceived”:{“Data”:“55AA030000010104”,“Cmnd”:0,“CmndData”:“01”}}
08:40:05.270 TYA: Heartbeat

Well… turns out that you can’t flash ESPHome onto a device with Tasmota installed if it has a version greater than 8.x something. I was able to finally get the Tasmota integration working. Not fully, but at least enough that I can turn the light on and off and change the brightness.

The process was basically…

  1. Use Tuya-convert to get Tasmota installed.
  2. Update Tasmota to the latest version (15.4.0)
  3. Configure the device in a long manual process of figuring out which functions go to which device pin IDs, then creating a template with that information.
  4. Once the device was fully functional in Tasmota, then I configured the integration with Home Assistant. This requires not just the integration, which will all you to discover and import the device, but also configuring MQQT as well.
  5. Once all that was done it was the usual device setup and addition to automations, scripts, etc.