Shelly to Tasmota to ESPHome
re-flashing a Shelly device to Tasmota and then ESPHome is very easy
ESPHome is a quite slick system for basically configuring IoT devices using yaml, which generates C++ along with tooling for building/flashing/updating devices. Not only does it support all sorts of homemade custom stuff, but it can be flashed on to a variety of commercial devices, many of which are just ESP32/ESP8266 dev boards in a moustache.
So, for instance, a new Shelly Plus Plug, which is a pretty small WiFi-controllable mains plug and be re-flashed to be a pretty
small WiFi-controllable mains plug and bluetooth proxy for Home Assistant. It turns out that Shelly not only makes the devices re-flashable, but
they make it extremely trivial - the default firmware will happily GET a firmware off the
Internet, re-flash and reboot itself.
- (optional) assign a static IP to the device in your DHCP server so you don't lose it
- Grab the right download link from https://github.com/tasmota/mgos32-to-tasmota32
- Pop http://shellyIP/ota?url=http://theURLyoujustcopied in the URL bar of your browser and hit enter, and it'll download and install the firmware and reboot
- Wait a minute or two
- http://shellyIP/ - you should see the Tasmota web interface
- Configure WiFi and reboot
- Get or write an ESPHome YAML configuration for the device - https://devices.esphome.io/ has many pre-canned ones, e.g. this for my Plus Plug S
-
Build an ESPHome binary from that with
esphome shelly_plus_plug_s.yaml buildor paste it in to the HA ESPHome add-on UI. Note: I'm pretty sure this must be built as a legacy firmware. - on http://shellyIP/, "upload firmware"
- Done!
If you've configured it for HA, it'll show up as a newly detected device.