Shelly ESPhome OTA conversion Guide

Yeah, it’s a nightmare, agreed,if you’re not familiar with smd’s. Those pads fall off pretty quickly.
I do a lot with smd’s, though, so it’s no problem for me (i do that under a microscope). But i still wouldn’t do that each time - only first conversion shelly -->esphome, all later updates must be over OTA.

I guess i’ll have to buy and sacrifice one shelly for science…

Just for the avoidance of doubt, you need to have that PR and carefully follow the instructions described there. In particular, the first esphome firmware you flash onto the device from Tasmota must have unprotected_writes: True in the ota config. If it doesn’t it’s bricked and needs serial to recover.

You then need to do the upload-factory-ota step to complete the conversion. After that, you can switch back to latest esphome and use OTA as normal.

2 Likes

Very smart remark…thanks!
So your ESP-Home version must not only have the PR, but also this in the yaml:

ota:
  unprotected_writes: True # This is mandatory if you want to flash the partition table or bootloader!

As soon as the PR made it in I’ll update the thread :wink:

For people that don’t exactly know what to do here, can someone document steps to actually use this PR? I will admit I didn’t read every message in the thread but I didn’t see where someone said here’s how to setup an ESPHome environment with this PR baked in to do your first flash.

So, let me get this straight:

I have new Shelly PlugS and I want to flash Tasmota on it. Do I follow the steps and that’s it?

About a year ago I could just flash OTA in 1 step and they were done. That has changed I guess.

Well, the current status is that it will work, provided you use an alternative ESPHome addon (one that includes the Pull Request to support the new chipset).
With the official addon it will only work one time; any attempt to do OTA will result in “ERROR Error binary size: Unknown error from ESP”

So, until the PR makes it into the official release it remains dodgy…

And yes, it used to be more easy; just compile the binaries in ESPHome and upload…no need to detour through Tasmota… This is because of the new chipset used in the Shelly Mini devices :frowning:

I found out after I found out I made a mistake in my button configuration. Luckily, I also use some other shelly’s in detached mode, so I just needed to swap them around a bit (as it turned out to be very difficult to program by uart, the soldering point are very small)

Hey guys,
to my surprise I just ran into this article, which got most of this right - and it’s from October last year :smiley:

https://brunner.ninja/2024/10/18/flashing-esphome-on-shelly-1-mini-gen3/

Thanks. I don’t understand a few of the technical terms though.

I just use Domoticz and have every old(er) Shelly PlugS flashed with Tasmota. I want to do the same with the 3 Shelly PlugS that I bought a week ago to be able to use them in Domoticz with MQTT without having to open them.

Tasmota shouldn’t be an issue (i think),

The problem at hand only applies to the new Shelly Mini’s in combination with ESPHome.

It depends a bit on what chip set they’re running on…

Hahaha, I must be sure ofcourse.

I found this video: https://www.youtube.com/watch?v=_Xv1U5Fz2Y4

It points me to a list:Releases · tasmota/mgos32-to-tasmota32 · GitHub

But my Shelly PlugS Gen3 isn’t listed. It’s actually not the Shelly PlusPlugS. So, I’m hesitant to use that firmware.

If I look at the specs, the Shelly PlugSGen3 and the Shelly 1 Mini Gen3 use the same CPU:
Microcontroller unit
CPU: ESP-Shelly-C38F

So I guess it applies…