Tuya Integration not showing DS03 fan/light switch

Tags: #<Tag:0x00007fc40c8ff160>

Unknown reason why DS03 fan/light switch doesn’t show up. Debug log doesn’t show anything. Switch show up fine in smart life app. Something specific to this switch as other things in smart life app show up just fine.

Did you ever hear anything on this issue? I just got a couple and they are not showing up for me either.

Nope. I like the switch, but it not working with ha is a bummer

I just ordered one. They’re $7 off on Amazon right now. My plan is to follow the online guide to flash it with tasmota or maybe esphome if possible.

I tried flashing with Tuya convert and i get no response from it. I don’t know if i am doing something wrong (very possible) first time trying the wifi exploit.

According to what I read, it must be flashed via uart, so that means soldering to the board.

This is my plan is attack:

Yeah when I bought I figured could use built-in Tuya Integration at the least and could never figure out how to make that work after I found out that the OTA hack is blocked. The crappy smart life / Google integration seems to not work a bunch lately so I’m probably going to have to give soldering a try too. Let me know how you do.

Just got mine in. This thing is built so well. I’ve been waiting for something like this for so long but in zwave or zigbee. I’m new to tasmota, but have a ton of esp8266’s around the house on esphome, so i’m going to solder, flash tasmota, then try to flash esphome on top.

It looks like someone else got it to flash esphome according to this git issue:

And these things are still $7 off on amazon right now. Such an amazing deal at $38

Followed the guide and got the switch flashed with Tasmota. Soldering the wires was a bitch. I set up MQTT via the HA add-on and got the fan and light added as devices via the config.yaml file This is my first tasmota device and my first go at mqtt, but so far it seems like everything is going as planned.

time to install in the wall and see if it actually functions. Looks like ESPhome supoprt for tuya fans is in the beta release. I tried to push an esphome bin via OTA through tasmota but that didn’t work.

Was it hard because the solder points were so Small, or?

Yeah. They’re teeny tiny. I don’t really solder on stuff this small either, so I kind of had to figure out how to get a bit of solder on the pad and stick a wire to it. I also stupidly ended up grounding them all out to the metal shield of the esp at first. Not sure how I didn’t fry it. I got it figured out when it wouldn’t flash the first time.

Installed it tonight. The buttons work fine. The switch is really nice in the flesh. It has a really nice fit and finish. I can get to the tasmota web server and toggle the entities but the switch fits not respond at all right now. I’m going to reflash tomorrow and try again. I may give esphome another go first.

Success! I was able to get esphome falshed OTA through tasmota. I had to compile the binary in esphome and download it, then use gzip to compress it (it wouldn’t upload in tasmota otherwise), then upload through tasmota. The finished esphome yaml file looks like this:

esphome:
  name: esphome_back_bedroom_fan
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esphome Back Bedroom Fan"
    password: "ztxXYvdX8bOd"

logger:
  baud_rate: 0
  
captive_portal:

# Enable Home Assistant API
api:
  password: !secret wifi_password

ota:
  password: !secret wifi_password

uart:
  rx_pin: GPIO3
  tx_pin: GPIO1
  baud_rate: 115200

tuya:

sensor:
  - platform: wifi_signal
    name: ESPHome - Back Bedroom Fan WiFi Signal
    update_interval: 60s

  - platform: uptime
    name: ESPHome - Back Bedroom Fan Uptime

light:
  - platform: "tuya"
    name: ESPHome - Back Bedroom Fan Light
    dimmer_datapoint: 10
    switch_datapoint: 9
    min_value: 100
    max_value: 1000

fan:
  - platform: "tuya"
    name: ESPHome - Back Bedroom Fan Speed
    switch_datapoint: 1
    speed_datapoint: 3

It works perfectly. One caveat: the highest fan speed is unavailable via home assistant since HA only supports three speeds. For my application this is no big deal. I’m going to scoop up a few more of these switches for sure.

1 Like

Hi @mclever,
I am having the same issue with this fan/light switch:

I have another fan controller:


Which does show up in HA.

I would very much like to keep using the normal Tuya (I use Smart life) app (which sees both) rather than the Tasmota path. Google home picks up both too.

Google home reports both types as 'Device Type: Fan"
The differnce is the one that doesn’t show up in HA has 3 speeds, and the one that does is a continous speed controller (aka dimmer) (which shows up in HA with 5 selectable fan speeds)

I am new to HA but have a development background. I would be happy to try and help getting it working but am not really sure where to begin :confused:
If we can find anyone with experinece in component writing that would be a good start.

My guess is the ‘pull_devices’ methid in here: https://github.com/home-assistant/core/blob/fa956e3153992e38d781e1e5c1ece095e2dfa623/homeassistant/components/tuya/init.py
is not picking up that type of device. Just not sure how to diagnosis why?

Does anyone have experience in this area?
Thanks

1 Like

hi Andy,
I tried adding the esphome code you have, but I am getting an error for the fan component:

INFO Reading configuration /config/esphome/livingroom_fan.yaml…
Failed config
fan.tuya: [source /config/esphome/livingroom_fan.yaml:28]
Platform not found: ‘fan.tuya’.
platform: tuya
name: Living room Fan Speed
switch_datapoint: 1
speed_datapoint: 3

I do have Tuya integration added (just by adding it in the frontend and signing on), did you get this issue as well? note that it didn’t complain about the light component

Thanks in advance

Hey Reevan, you’re using the beta release of esphome add-on, right? As of now, tuya fan is not in the stable release of esphome add-on.

Also, my treatlife fan combo has been absolutely rock solid. I liked it so much that i started hunting for single pole switches on ebay. I scored a four pack for $16, then flashed them OTA to esphome using tuya-convert.

Best part about it, there was a card inside that said send an email to Treatlife and they will send you a free switch. I emailed them, they replied, I told them how much i loved the switch, and they sent me another four pack of three-way switches. All total, i got 8 switches at $2 a pop. My wife hates me right now.

I got the same four-pack off amazon much more expensive at $40 which i still considered to be a great deal, flashing them with OTA was awesome, wish it was as easy to flash DS03. I was on the stable release of ESPHome, I installed it as supervisor add-on, seems all I have to do is add the beta repo: https://github.com/hassio-addons/repository-beta.
I am planning to try to flash the bin directly from ESPHome add-on via USB, rather than flashing it through Tasmota like u have, will see if it works, but first i need to establish the beta version of esphome.
thanks for your help!

Beta version should be available in the add-on store. I’m not running supervised any more so I can’t quite remember how to expose the beta add-ons.

You can install both versions, then turn off one and turn on the other.

The reason you can’t upload the espHome code without jumping through hoops is most likely due to the check method built into tasmota. It verifies the zip prior to flashing. If you run setoption 78 1 it disables the firmware check and you can upload without jumping through hoops. Or you can just use an older version of Tasmota prior to when it did the firmware check.

Did you end up getting anywhere with the Deta Fan Controller? Similar situation to you - added it to TuyaSmart, but it doesn’t show up in the HA integration.

I tried tuya-convert OTA update but the firmware is the newer one that doesn’t work. I guess I might just need to give it and take it off the wall again to do a wired update.

EDIT: OK, I looked at the underlying library that the Tuya integration uses, and followed the instructions there to see if the device shows up: https://github.com/PaulAnnekov/tuyaha#how-to-check-whether-the-api-this-library-using-can-control-your-device - it doesn’t, which means it’s not supported by Tuya’s HA API. There’s a link there to contact Tuya Support, so I might try that (not holding out much hope!)

Did you get anywhere with support?