Tasmota: Cloud-free open source smart home firmware for ESP8266 devices
tasmota.github.io
tasmota.github.io
I had an esp8266 sitting around, so I flashed it with tasmota, configured it to run four thermocouples, and then tied it back to the raspberry pi via MQTT message bus. It's absolutely fantastic. I put a second one together to run a small portable load cell setup for measuring output rate of the process and pipe all of those measurements through MQTT as well. Plan is to create a flash/configure pipeline so i can swap out the ESP boards and/or easily tack more on over time. Ultimately would like to get all of the hardware off of the PI and have spare ESP8266 boards around so i have a bit of redundancy.
Tons of capability for the money and the process of getting Tasmota up and running with a standard sensor couldn't have been easier. Lots of fun!!!
TLDR; Tasmota is great for bespoke devices, but IMO ESPHome is better because it's modular and supports OTA updates.
When I hit a limit I went to Arduino and then hooked that into Home Assistant via and MQTT broker - Mosquitto.
BTW I can’t say enough good stuff about node-red for automation. It has been great. I tie it into into influxdb for telemetry and it has a nice little dashboard feature for process monitoring. All with almost zero code.
I run Home Assistant (on their Hassio OS) on a raspberry pi2, which includes integration for Tasmota, ESPHome, Node-red, MQTT server, influxdb, plex server, presence detection, and more, all through a polished web ui. I highly recommend it if you're looking to tie together a bunch of IoT devices. For me it has become my central location to manage all my "smart" home devices, and is essentially the glue that holds it all together while providing a pleasant UX for managing it all. With the integration of Node-red, it provides nodes that represent your Home Assistant based sensors/switches so you can easily read/write their values within your Node-red flow.
https://www.malachisoord.com/2019/12/05/esphome-based-pir-mo...
Tasmota I use just like said for switches and for that it works very well too.
The list of supported hardware is actually a great place to look for which sensors are commonly used for for e.g. air quality, c02, temperature, humidity, power monitoring etc. Almost all supported sensors are available for a few bucks on aliexpress or equivalents.
You can connect the result to home assistant, but you can also move all or some of the logic to the board. So your light still switches on when motion is detected when your WiFi or the server is down. But if motion is detected at certain hours, you'll get a notification via home assistant
https://github.com/xoseperez/espurna
I use it for so many things around the house that the WiFi spectrum is probably completely saturated, it's fantastic. It even supports auto-update over HTTP, so all my devices periodically talk to my home server to see if a new firmware is available using a simple server I wrote:
https://gitlab.com/stavros/espota-server
Since I'm very familiar with ESPurna but not with TASMOTA or ESPHome, I can share some of its drawbacks:
* Provisioning is hard. I have tens of devices and I want to deploy firmware on them with specific settings already preloaded, so I can just flash it and have it automatically connect to my Wifi, MQTT server, autoupdate server, etc. Not only do I need to compile my own firmware for this, but I need to compile one version of the firmware per device type. This isn't too much of a hassle, I wrote a simple for loop to do it, but what is a hassle is that my configuration needs to be in the form of #defines in a header file, which makes updating a big pain, as I have to figure out what upstream changes were made and how to merge them with mine.
Actually, that's the only drawback I've found, it's otherwise worked perfectly, the community is great, the maintainer is very responsive and the software does what I need and more. Definitely recommended.
That makes implementing anything more complex than "when this sensor goes to this state, do that" very hard, because you'll hit bug after bug.
Once you flash it and turn it on, it becomes a hotspot to help configure it to your own network, so smart, from that day on: OTA updates. Mine is hidden in the ceiling and has been there without problems for over a year now.
I’ve only just started messing with relays and overcoming the terror of 240V was the biggest hurdle - I made a ventilation system that pushes air from either outside or from above a wood burner. It has a pair of motors that open and close and they are controlled by an ESP32 - this worked better than an ESP8266 as the output voltage was 5v rather than 3v. The lower voltage seemed to crap out for some reason, probably because the relay wanted 5v.
We use it for our open source air quality sensor.
Not only can I operate the cooker hood with the remote control, through Home Assistant I also made an automation where I just shout 'Hey Google let's cook', which turns on all the lights in the kitchen and dining room and turns on the fan.
I've managed to flash half a dozen Sonoff light switches, as many power outlet switches, a whole bunch of Wemos D1 Minis, and even my kettle. Its generally straight forward and the first one is always the trickiest.
Initial OTA flashing might be a thing on some devices, but hasn't been on the Sonoff thing I have for a while. Once flashed though, you never need to touch the hardware again.
It's been a fun project or two.
Tuyas are quite popular:
https://tasmota.github.io/docs/Tuya-Convert
Sonoff too, apparently depending on which firmware version they come with:
Also notable is that you can get Tasmota-capable Wifi power sockets for about 10€ if you are willing and able to use some electronics tools. I have three of them with Tasmota. The first took about two hours to flash with some trial and error, the other two about an hour for both.
For many other devices, there's tuya-convert - creates a special hotspot which "captures" the device, then flashes it via OTA for you. But Tuya already changed the firmware once to block this, and although the newest tuya-convert works again, there's no telling they won't do it again.
Lately though Tuya devices have started using a Realtek RTL8710BN instead of the ESP8266 - those are completely incompatible boards, and to my knowledge there's nothing like Tasmota or ESPhome for them.