I have developed a set of Tasmota Drivers that perform native and real-time synchronization between Hubitat and Tasmota (11 or later) without the need for any custom Tasmota compilation or HTTP hooks. It achieves this using Tasmota' built in triggers and rules to monitor changes and send them in JSON format to Hubitat when they are detected. Changes made on Tasmota show up on Hubitat in 1-2 seconds. ** All Tasmota Sync drivers can be found on Hubitat Package Manager using the keyword "Tasmota" or with the "Tasmota" tag.**
If you have any difficulties please be sure to upgrade your Tasmota Sync Drivers to the latest version using HPM. Once upgraded do a "Save Preferences" on each device and then "tasmotaInjectRule". This will ensure everything is in the proper state. Any difficulties after that then please let me know.
There are 12 unique drivers on github: https://github.com/GaryMilne/Hubitat-Tasmota
- Color Bulb
- Switch with Dimmer
- Switch with Fan
- Fan with Dimmer
- Single Relay\Switch\Plug with optional power monitoring.
- Dual Relay\Switch\Plug with optional power monitoring.
- Triple Relay\Switch\Plug (No power monitoring).
- Quad Relay\Switch\Plug (No power monitoring).
- Eight Relay\Switch (No power monitoring).
- Universal Multi Sensor. (See thread for details here.)
- Universal Multi Sensor Single Relay.
- Universal Multi Sensor Double Relay.
All of these drivers are available on Hubitat Package Manager under the Tasmota tag.
Last Update 8/24/22
The bulb driver may be of particular interest includes the ability to save and load preset colors and CT's, which is callable from rules. It also supports Tasmota Fade and Dimmer functions.
I've also done some innovative (as far as I know) stuff with logging in these drivers. The Tasmota Sync driver log entries really pop making it easier to read. Also notice the TasmotaSync requests incoming from a PM and sensor device.
I'm looking for some Tasmota\Hubitat owners interested in trying them out and providing some feedback. All of these drivers are based on a common core and have been running very well in my house.
More Background for those with an appetite for reading
When I first came to Hubitat I quickly found Markus' Tasmota Driver suite. I was very impressed and adopted it quickly. I even wrote the documentation for it. Fast forward 18 months and things have changed. Markus is banned from the Hubitat platform and is no longer maintaining the the code. Over the intervening period I also found several other things about Markus' version to be limiting.
To use Markus' version you had to use a special compilation of Tasmota that introduced some Hubitat hooks for synchronization.
Tasmota Sync drivers retain the synchronization between Tasmota and Hubitat by using Tasmota rules to send sync requests whenever a change is detected on Tasmota. This requires version 11 or greater of Tasmota. Polling is also supported for earlier Tasmota versions.
Markus used a Parent\Child App\Driver architecture. Meaning that a simple Tasmota device like a Bulb or a Switch had two driver entries. I found this unwieldy and cumbersome.
Tasmota Sync drivers are just that, drivers only. Each Tasmota device (IP address) will only have one entry in the driver table making it a little cleaner in that respect.
Markus' implementation was quite chatty and would sync on changes and at each TelePeriod (usually every 5 minutes).
Tasmota Sync drivers only report on changes at the Tasmota device with the exception of PM & Sensor devices which report at the TelePeriod, but ONLY if there has been a change.
I also found that Markus' drivers were not always complete such as setting colorTemperature on a bulb. Markus' code was also very dense making changes difficult when combined with the App\Parent\Child architecture.
I had previously written much of this code for the Smartthings Classic environment and carried forward some useful elements such as saving and recalling favorite color and CT values and full support for Tasmota Fade. I hope some of you will enjoy using these drivers.