ESP01S - Tasmota works but ESPHome doesn't

To be blunt, I am confused.

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?

Thanks in advance.

relay_i means inverted in tasmota.

In esphome

inverted: yes

Thanks, but that isn’t what I meant.
This is my question;

Can anyone be so kind as to explain why Tasmota works out of the box but ESPHome doesn’t?

Because ESPHome is far more powerful than Tasmota. Thus it requires some configuration.

1 Like

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. :rocket:

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.

1 Like

Despite esphome is a no code approach. So if you are like me (no programmer) the stratosphere might be the limit (which covers 100% of my needs) :stuck_out_tongue:

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 :wink:

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…

Blah… i messed all up, i guess…

assembler is for pussies. Input the machine code, one byte at a time.

Actually if you want minimal, forth is really great :slight_smile:

Using DIP switches!

Luxury!

relay-switch-electromechanical-typical-2928

1 Like