I have some 433MHz remote controlled mains switches (to turn the audio system on). They failed, so I ripped out the guts and replaced it with a 240V AC to 5V DC PSU and ESP01S. Flashed with Tasmota, the units work well, however, I flashed one with ESPHome and found it needs modification to work properly and special coding in the YAML. The switch on this one is inverted, that is, off is on and vice versa.
Can anyone be so kind as to explain why Tasmota works out of the box but ESPHome doesn’t?
And that’s why we use it @Tromperie ! Compared to esphome tasmota is quite limited but offers a quick start with it’s templates on the other hand.
It’s kind of a trade off, if you have only a couple of esp based devices you might have a quicker start with tasmota but you are just more limited then. Some stuff esphome offers is to share configurations over different devices, having all devices in the esphome dashboard (to updating/configurate all esphome nodes remotely) or advanced local (=on device) automations.
Put simply, Tasmota, WLED, … are a end-user firmware, ready to flash. They can be configured, ofc, but you are limited to what’s in it.
ESPHome is a (very) high-level development framework. It generates code which is compiled on-the-fly.
You have full access to every bit of capabilities of the ESP, and can accommodate any use-case a manual C++ development would allow.
It’s kinda compared with when you either buy a ready-made software, or program it by yourself. With first one you can do only what author decided to include in a program. With second one only sky is the limit (actually your programming skills…)
Just one example: light dimmer: with tasmota you can’t use one single pushbutton and use it like this:
short push: light to 100% or light off
long push 0.5 to 1s: dimm to 10%
long push more than 1s: dimm to 50%
At least i can’t figure it how you could…
With ESPHome you can, and a lot more. And that’s just an innocent example…
But, to answer your question:
Can anyone be so kind as to explain why Tasmota works out of the box but ESPHome doesn’t?
It’s just that Tasmota’s author decided to have output relay inverted by default, while in ESPHome author decided that by default inverted is false. As simple as the choice of an individual.
Tasmota is great piece of firmware, don’t get me wrong. It’s just that it’s meant to be used “as is” for people which either don’t know how to program or they don’t feel like tinkering with it.
I didn’t say anything about code approach. Programming is not only code approach, but much more… i program atmel AVR’s in Bascom. That is programming, although antient and primitive for all modern programmers. But it suits my needs. ARM’s are programmed in, say, C etc…
esphome is pretty similar to bascom, only details are different (syntaxes etc…).
I think that (almost) noone uses direct code programming anymore.
Not sure what you mean by “direct code” programming, but unless you speak assembler, every software you use (including HA and ESPHome itself) very much use old-school 3rd generation programming languages
Well, Maybe i missunderstood him…english is not my native language… i thought that he means that ESPhome is NOT a (direct) code approach, and that’s why i said that no-one programs in direct code (assembler). Now i’m thinking… it might be no-code (so, not with code, but in higher compilers) approach…? Sorry, but english is not my native…