#354 Tasmota vs ESPhome: Who wins? (DIY Sensors, ESP32, Deep-Sleep, etc.)

preview_player
Показать описание
Tasmota and ESPHome, together with Home Assistant (Hassio) are covered in many videos for Home Automation. Most of them concentrate on flashing and integrating readily available devices and sensors. But which framework is better also for our do-it-yourself sensors, for ESP32 boards, and for deep-sleep? Tasmota or ESPhome? Or none? You will know the answer at the end of the video
I am a proud Patreon of @GreatScott!, @Electroboom, @Electronoobs, @EEVblog, and others

Links:

The links above usually are affiliate links which support the channel (no additional cost for you).
If you want to support the channel, please use the links below to start your shopping. No additional charges for you, but I get a commission (of your purchases the next 24 hours) to buy new stuff for the channel

Please do not try to Email me. This communication channel is reserved for my primary job
As an Amazon Associate, I earn from qualifying purchases
#nomidrollads
Рекомендации по теме
Комментарии
Автор

Awesome video, pretty much the same conclusions I've come to:
1. Tasmota is easy and works really well for pre-defined products
2. ESPHome can allow non-programmers to get a "good enough" configuration for their home built projects, but if you already know how to write code in Arduino you are probably still better off writing your own custom firmware.

For the OTA tasmota deep sleep on the roof problem: Send an MQTT message with retain, that way when Tasmota wakes up the next time it will grab that message and prevent deep sleep. After you make your update just send a blank retained message to that MQTT topic to clear it out.

TheHookUp
Автор

I like the way you covered these two very thoroughly. Thanks for this video!

rcampbellbassac
Автор

I tried both. ESPHome is much more powerfull. You can do data treatment on the device itself before sending it to Home Assistant and avoid ugly data entering Home Assistant.

Michaelguaylambert
Автор

Thank you Andreas! Again a great video!
In the current version of ESPHome (2024.6.6) there are now four different methods availabel to flash the device.
1. via Network
2. plug USB in your PC
3. plug USB in your HomeAssistant-Server eg. Rasperry Pi
4. manual download (as you referred in the video at 10:10)

hansratzingerselbstandiger
Автор

You are drawing me in to creating my own sensors and actuators for my home. The structured way you explain things is very helpful. Many thanks!

maxvandenberk
Автор

I wanted to take a moment to thank you for making this video. I'm running HA in a virtualbox VM at the moment while I await my pi to arrive. You provided some key information that I could not find in other videos regarding getting the first binary into my NodeMCU so that I can continue with OTA uploads. All the other videos had demos of ESPHome Add-on having ESPHome-Flash built in, which mine doesn't. You pointed me in the right direction with the download binary, and I found ESPHome-Flash executable for windows on the web and downloaded it.. All went well after that.. This NOOB thanks you very much for that, as well as the comparison which helped me to know what kind of options I have for working with these devices. I too have been writing code in C++ in the Arduino IDE for my ESP8266s and Arduinos for years doing all sorts of projects, some with web front ends. I'm just now starting to come up to speed in the world of Home Assistant, MQTT, and this way of building applications for integration of many devices not wanting to reinvent the wheel that so many others have worked so hard to build, and nicely.

fredflintstone
Автор

Nice to see that the weekly publishing is back ... thanks for the video

dlcy
Автор

Great video, as usual.

If you’re using Home Assistant, to me it seems like the logical choice is ESPHome - purely because of the integration.

I really like the YAML approach. I have around 23 devices in ESPHome, however they’re mostly Shelly 1PMs. Using YAML, I’m able to create templates and then include them into the device config using a YAML directive to avoid having to copy and paste the same thing dozens of times. The individual device scripts define variables to hold the unique device parameters (such as names), and these are used as tokens in the template. I also use variables to control the logic of how the particular device behaves e.g. Does it power on after a power failure, stay off or return to its previous state? Does it automatically switch on after being switched off (useful for stuff you might want to remotely switch off, but want to guarantee it switches back on - imagine using this to switch off your modem remotely to force it to power cycle). I feel it’s all very neat, tidy and modular.

The YAML also has some pretty powerful directives and logic. For example, I’m able to detect the device temperature or current draw and act on it (e.g. to shut down when the device overheats or draws too much power). I can even write persistent data to the ROM to put the device in a “fail safe” state so that it won’t reenergise the relay until the overheat condition has been cleared manually. I wouldn’t like to put this kind of automation at a higher level. It really needs to be on the device itself in case Home Assistant is unavailable for some reason during an overheat.

I like that I have the YAML that defines the full functionality of the device - that’s all I need. If I lose my device, I buy a new one and reflash it with the firmware derived from the YAML, and it behaves exactly as the device it replaced.

The integration with the Home Assistant native API is also excellent. No need for MQTT. Add a sensor, and it just magically shows up in Home Assistant. You can even pass data from Home Assistant back into the device (such as acting on a button being pressed on another device).

ShALLaX
Автор

As usual nice video :-)
There is another good project especially for esp8266, called ESPeasy. There are a lot of sensors, displays etc. supported

TZJ
Автор

Hi Andreas, thanks for all these videos. I've learned a lot from you. You're a good teacher. 👍👍👍🦾

aeljandro
Автор

One can do a request to the tasmota developers to add a sensor it is frequently updated, that's really good!

ronaldhofman
Автор

My google search last night: Tasmota vs ESPHome

gunnarstoa
Автор

Great side-by-side video. I think you definitely captured the fundamental pros and cons of each.
Personally, I think of tasmota as excellent control software (button, switch, relay devices) and ESPHome as very good data collection software (sensor nodes). I still primarily write my own software for many of my devices but have found that if I want to control something or get simple data, I gravitate to one of these two.

andrewlhoover
Автор

As usual the scientific attitude in measuring based on real facts! Nicely done Andreas! I think an intermediate layer between ARdiuno IDE and tools like EspHome and Tasmota is the microPython. Flexible and simple enough at the same time...

domenicopalomba
Автор

Thanks for the great comparision. I use the old fashion method for the most of my ESP-based sensors. But I also tested Tasmota for sonoffs. ESPEasy for a simple S0 counter and ESHome for a CO2 sensor, because only here I could switch off the autocalibration of the CO2 sensor and could easily use an ESP32. All are running stable.
BTW, the coolest sensor is the MLX90614ESF Far IR sensor. Using this and ambient temp, I calculate the cloudage. Helpful an unusual.

klassichd
Автор

And once again, I go looking and you have the answer.

It’s been a year since this was made but here’s a couple things I’ve found in the past few days. I have HA on a Pi 3 and under the current version you can install ESPHome firmware OTA, directly or via a serial connection (if so connected, ttyUSB, etc). It lists 4 ways to install it, can’t remember all 4 off the top of my head.

I started with Tasmota on a Sonoff and a NodeMCU and discovered you can use Tasmotizer to flash the ESPHome firmware as well. I run a Pi 4 as my lab “workstation” and found that to be more reliable than every other method I tried. The ESPHome flasher won’t run on armhf/arm64/Linux, Tasmotizer does.

My current complaint on ESPHome, which I do seem to prefer, is the lack of syslog support that Tasmota has. I want to centralize logging for debugging and security monitoring (using Splunk) and syslog is almost universally the glue we use to hold that all together.

For the deep sleep can you force it to sleep when the work is done using the deep_sleep.enter action?

cphrpunk
Автор

Very nice, as always, and precisely relevant to my current project. Thanks again.

martyewise
Автор

I started using Tasmota after I lost IFTTT support for my lightbulbs and smartplugs. Using Tuya-convert made this possible. I went with Tasmota by default and like it so far, but have not used ESPHome or ESPEasy yet (I was too afraid of bricking my lights/plugs to explore much). As someone who has written code using Arduino/libraries for sensors/automation and then again in micropython, I was hesitant to use a framework, but didn't have a choice on these limited devices. I'll still use my own code for those things that require a more custom approach, but it's nice to let someone else worry about bug fixes for some things! And some things are just not possible with micropython for timing reasons (like IRremote) which I have to say works very well with Tasmota at least. I do as much using micropython as possible. Also use MQTT with HASS in docker. Thanks Andreas for the video and nudge to look at some of the other options!

dougwilkinson
Автор

I've huge respect for the hours of work that must have gone on in the background, that allows you to display this level of experience! Well done GWTSA :) (Not my best English sentence :) )

richard_wenner
Автор

If it weren't for Andreas' videos, I would never have dared to enter the world of ESPs. Now I make my own boards from ESP12F modules, both solar and battery powered. Thank you!

guatagel