Since the newer Shelly’s don’t come with a header anymore, I decided it might come in handy to write a guide how to flash them OTA (using the tasmota firmware intermediately).
But basically, the same applies to many models.
Drop or open the the downloaded tasmota firmware from step 1
Wait for the device to boot and connect to the Tasmota AP (http://192.168.4.1)
Connect the device to your own wifi network and open its webpage.
Click on Configuration, then Auto-configuration, select Shelly Mini1G3 (or the model you’re flashing), then hit the apply button. This replaces the locked bootloader (without this step device gets bricked with the next boot !!).
Under consoles, open the Partition Wizard and start the Safeboot Conversion by hitting the button “Start Migration”. The conversion will update to the latest Tasmota version also (this might take a while, so be patient).
After the reboot, open the Partition Wizard again (under tools) and increase the Filesystem size to its maximum. This removes all obsolete files too.
On the ESPHome (addon) page, create a new device and use the yaml from esphome.io. Use one of the Shelly’s listed here (or write your own yaml).
Hit the install button, and use manual download, after compilation, use legacy to download the .bin file.
Open the tasmota webpage and upload the newly compiled esphome firmware from step 11
After it reboots you should have your device available as a esphome device
Just found out the same applies to many shelly models
Device
State
Shelly PlusHT
untested
Shelly PlusPlugS
tested
Shelly PlusPlugUK
tested
Shelly PlusPlugIT
untested
Shelly PlusPlugUS
tested
Shelly PlusI4
tested
Shelly PlusWallDimmer
no Tasmota support
Shelly Plus1PM
tested
Shelly Plus1
tested
Shelly Plus2PM
tested
Shelly PlusRGBWPM
tested
Shelly Pro1
tested
Shelly Pro1PM
tested
Shelly Pro2
tested
Shelly Pro2PM
tested
Shelly Pro3
untested
Shelly Pro4PM
tested
Shelly Pro3EM
untested
Shelly Plus1PMMini
tested
Shelly Plus1Mini
tested
Shelly PlusPMMini
tested
Shelly Plus10V
tested
Shelly PlusUni
tested
Shelly Mini1PMG3
tested
Shelly Mini1G3
tested
Shelly MiniPMG3
tested
Although there might be some issues uploading the firmware to older units, as with some of them you can only specidy an url where the firmware is downloaded from.
I used my own webserver for this purpose
Thank you for this guide. I followed this guide up to the Partition Wizard. When I click on the Partition Wizard button, I just get a blank page. The URL is: http://192.168.1.121/part_wiz?
Hi! Are you able to update your new node via OTA? I could successfully complete your whole guide but sadly now I’m stuck with a node which I cannot update.
Apparently I’m not the only one with this issue. The only way around this seems to be flashing via serial, which completely eliminates the purpose of going this way via tasmota.
I tried this with the Shelly Mini Gen3 and while it worked, OTA afterwards results in the “ERROR Error binary size: Unknown error from ESP” message, just like @baerrs reported.
Just ran into the same issue. Did you find a solution or a workaround?
(I went through the full Tasmota based migration and am on the latest esphome build)
I’ve been successfully using the code on this PR when converting from Tasmota (as per the above instructions) to ESPhome. I’m not sure if this related to the “Error binary size” message above. It used to be the case that if you didn’t use the above PR, the initial ESPhome conversion would work, but then all subsequent updates would fail silently.
I don’t think it is “fixed” - that PR hasn’t been merged, so if you want to OTA convert newer Shellys you need to check out that branch of esphome to do the initial conversion. And yes, if you do the initial esphome conversion without this, serial is the only way out.
Maybe a warning on top of this Guide, that OTA doesn’t work when you use this guide at the moment, would be nice.
Just used your guide today (HA is up to date) and I forgot one option in my config. After trying an OTA I get the error : ERROR Error binary size: Unknown error from ESP. Only then I read the comments
But thanks for the guide anyway … Although I hate the idea of using serial on the next ESPHome update, also because I built-in the Shelly in floodlight unit
I’m still a bit confused… if i understand correctly there are two options: either option explained above or option from mentioned PR… or not?
Please correct me if i’m wrong, but as i understand it’s so that if i convert according to first post here i’m stuck without OTA, but if i follow PR it’s ok ?
…or just go the solder-and-serial-flash route. With all the steps needed for the migration, I found the traditional way easier. Especially after running into the mentioned problems and as I wanted to flash multiple devices.
Given, this requires the soldering skills to deal with the tiny PCB.