[RELEASE] Tasmota for HE - Auto-detecting Tasmota drivers + Tasmota firmware 7.x/8.x for HE (for use with Tuya, Sonoff and other ESP devices)

WARNING: Flashing your device with a 3rd party firmware MAY cause your device to not boot again. To fix this you MAY have to flash through TTL. Don't be in a rush!

What's New?
Auto-detection of device features and an all new optimized App! Also a whole lot more.
This driver has been in closed beta since February and has been stable since then. The device support is even greater than before and even so, it is now much easier to know what to install.

Which Devices Work?
Most devices that can run Tasmota work. Some may still need some special care, but most work as long as the template is correct. Read the docs for further information.

My Zigbee Drivers
For those looking for my Zigbee drivers, they can be found here:

For full documentation, visit the WIKI!
If you already have Tasmota flashed on your devices, go to this part of the Wiki for installing T4HE.
Don't forget the CHILD drivers!

The latest firmware is available here.

Read the Wiki for details. The drivers can be installed using HPM or downloaded from here. Beta drivers can be found here.

Read the documentation, if there are issues, post in THIS thread.

Why This Driver?
There's a lot of confusion on which Tasmota driver to use with HE, for some reason there are those that have an issue with using a modified version of Tasmota. The only change in my Tasmota firmware is adding a way to push data to HE without using Polling (known to be a bad idea with HE and is NOT real-time) or Rules in Tasmota (doesn't run as fast as C++ code and is MUCH slower than this firmware). Even the version using Rules is using polling for certain things. There's also routes using MQTT+Node-RED (or MQTT+something else), this is an advanced solution that is meant for those that truly want maximum flexibility with the trade-off of more work and the need to understand more types of technologies.
My combination of firmware+driver doesn't use polling and is as optimized as can be.
With this said, if you're new to using Tasmota, use this driver. If you for some reason don't want to use a non-original release of Tasmota, understand the limitations of other solutions and live with those.
NO functionality is removed from Tasmota in this custom firmware, nor is this adding a measurable overhead. The code added basically takes the MQTT JSON data and sends it over http to HE. That is all.

Thank You
A big THANK YOU to all the Beta testers and an even bigger thank you to those that wrote the documentation: @garyjmilne, @sebastien and @jchurch (also a big thank you to those that have promised to add more to the docs when time allows, there is still plenty to do!)


Reserved 2

Reserved 3

I'm thinking of switching over to the new drivers from the legacy ones.
I have a lot of devices and most of them are being used in RM rules.
When I install the new drivers, will I be required to delete the old devices and create new ones (just trying to avoid updating all the RM rules, if possible)?

You don't have to delete the old devices, but unless the old devices were already using child devices you will end up having to change RM rules since the controlls are in the child devices now.

Just installed your new app and driver. I successfully re-added my Sonoff Basic 201 in the new app.
It's working but if a manually switch state with the button on the Basic the state in HE isnt changing until I hit refresh in the device page for my Basic.

What do you get in the logs in HE when you change state? Do you get any unknown device alerts? If not, press configure on the HE Device page for your Tasmota device.
What does it say in the Device Network ID field on the device page? Is it a correct IP (in HEX) or the device MAC?

Switching on/off from HE gives no errors.

dev:6112020-05-05 15:10:17.317 debugupdatePresence(presence=present)
dev:6122020-05-05 15:10:17.263 info'switch' set to 'on'
dev:6112020-05-05 15:10:17.230 debugparser: POWER (child): ON
dev:6112020-05-05 15:10:17.209 infoparse(asyncResponse.getJson() = "[POWER:ON]")
dev:6112020-05-05 15:10:17.046 infoUsing httpGetAction for '    cmnd=POWER1%201'...
dev:6112020-05-05 15:10:17.028 debugcomponentOn(cd=Sonoff Basic 201 (611-POWER1))     actionType=POWER1

Device Network ID for parent is C0A86BC9 (no clue what those number are) and the Basic have 611-POWER1.

UPDATE Found out that the C0A86BC9 is my IP in HEX. :slight_smile:


The driver is set correctly, the device seems to not send the data, what version of the firmware are you running? It is my version of the firmware, right?
Go to the Tasmota device web page and make sure you have set the correct IP of your HE hub in the settings. Pressing Configure on the device page in HE should fix this.

1 Like

[Tasmota 8.1.0 by Theo Arends & for Hubitat by markus-li]

1 Like

When you look in the logs, don't filter on device, any errors with traffic not matching would be on system level, so they would not be seen in filtered on device.

When I did a copy/past in here from the log, it was from the live page.

Don't know if this is interesting. From the info page of my Basic...

Program Version 8.1.0(tasmota)
Build Date & Time 2020-01-11T16:56:50
Core/SDK Version 2_6_1/2.2.2-dev(38a443e)
Uptime 0T01:13:10
Flash write Count 376 at 0xFA000
Boot Count 66
Restart Reason Software/System restart
Friendly Name 1 Tasmota - Sonoff Basic (192.168.

In Configuration

Argh... I change my entier network when switch to Unifi devices. Didnt think of changing my Basic since I only use it once i a while. :grimacing:
Its working fine now and sorry for the inconvenience.

1 Like

When pressing Configure in the driver this should be changed automatically, I guess there is still something that is not set properly sometimes. It is hard to get it to work 100% since sometimes settings are not saved. No worries, now there is a little guide here about what to do.

1 Like

Thanks for the upload! I'm a first time flasher (pun intended) and just installed this on a Sonoff Basic and a Sonoff Dual R2 and both work a treat. Tomorrow I'm going to install it onto my Sonoff light switch and see if that works.

Question: You mention in the guide to flash minimal and then hubitat - I faithfully followed this and it works fine. I was just wondering, does minimal actually do anything on the device if you immediately overwrite it with the hubitat firmware?

For anyone attempting this for the first time, I found SuperHouseTV's episodes #30 and #31 very useful, he goes through both the hardware and software side of flashing Sonoff's in great detail.

Great work!

1 Like

You have to use minimal to upgrade the devices due to memory limits. Based on my (granted limited) knowledge it isnt really doing anything but freeing memory up so there is room for the full image. Even OTA updates seem to work this way.


The ONLY time this is NOT needed is when flashing over serial (TTL).

Glad you like it! It will work with that one as well :slight_smile:

@markus, finally I transitioned away from the legacy drivers.
Just a few considerations:

  • I have several Teckin SP25 configured with that exact same template.

    If I only install your "Universal Parent" driver, two children are created using the built in "Generic Component Switch" and all is well. But if I also install your "Universal Sensor Child" (used by another Sonoff TH I have) then, whenever I turn on the Teckin channel 1 (110V) a third "Universal Sensor (ANALOG) child" is automatically created which however is not reporting anything (no states shown). To be honest I have no idea what that Analo0 value is, I don't care and I don't need it. Anyway I can prevent the third Analog child to be created?

  • As mentioned above I also have several Sonoff TH16 with the temperature probe only (DS18B20). In the attempt to prevent those Teckin ghost analog children from being created, I set the TH16 temperature sensor to use the built in "Generic Component Temperature Sensor" and deleted your "Universal Sensor" driver code.

    It all seems to be working OK, but is this officially supported?
    BTW, I love that you decoupled the switch and the sensors. Now I can succesfully import the TH switch portion into Google Home.

  • I don't plan on changing anything for a while now. Can I delete your "Device Manager" and reinstall it later on when I do? Just like to keep things tidy.

  • And lastly, a minor suggestion. In your installation documentation you start giving the raw links to your app and universal driver to be imported. But then in the expanded universal sensor section you give the regular github link. I didn't realize that at first, tried to import it and obviously got an error from Hubitat. My fault yes that I didn't pay attention, but perhaps a bit confusing too.

Anyway, a thousand thanks for an amazing job. :clap:

1 Like