Did a bug in a firmware update break something or was there a breaking change you were unaware of and do you want to downgrade/rollback to a previous firmware?
Is your Shelly unable to find a new firmware upgrade?
Do you want to upload custom firmware to a Shelly device?

Shelly Over-the-Air (OTA) upgrades

All of this is possible using the Shelly HTTP API.
Update to the latest regular firmware, or to a beta version, rollback to a previous version, or upload your own firmware.
To do so, you need to send a HTTP request to the /ota enpoint using the correct parameters.
See the API Reference for more info.

To instruct the Shelly to download the latest firmware package from the Shelly servers, send a HTTP GET Request (visit the URL in the browser) to http://<Shelly_IP>/ota?update.
Want to upgrade to the latest beta firmware? Browse to http://<Shelly_IP>/ota?beta.
Finally, want to upgrade/downgrade to a specific version or upload a custom firmware? Update the following URL as needed: http://<Shelly_IP>/ota?url=<Firmware_zip_URL>.

Shelly Firmware Archive Generator

To make things even easier for you, some people created the Shelly Firmware Archive Generator.
Their site contains an archive of all Shelly firmware releases. They also provide a useful URL generator. Simply enter the IP address of the Shelly you want to upgrade/downgrade, pick the Shelly device type (necessary to get the correct firmware package) and select the wanted firmware version, and they’ll prepare the URL for you to visit.

As long as your Shelly is able to reach the internet (or at least the servers of the Archive Generator website), upgrading/downgrading your Shelly is as simple as visiting the generated URL.
This will instruct the Shelly to pick up the firmware package you selected and perform an Over-the-Air (OTA) upgrade.

Screenshot of Shelly Firmware Archive Generator showing settings to upgrade/downgrade a Shelly DW2 to v1.9.0
Archive URL to upgrade/downgrade a Shelly DW2 to v1.9.0

Shelly without internet connectivity

Did you lockdown your IoT network so that IoT devices are cut off from the internet, but still want to update the firmware on your Shelly?

  1. Download the firmware you need from the Shelly Firmware Archive Generator website by grabbing the URL to the zip file from the generated URL.
    e.g. http://archive.shelly-faq.de/version/v1.9.0/SHDW-2.zip
  2. Upload this firmware to a webserver within your own network(*).
  3. Use the OTA-URL but point towards the file on your webserver.

(*) Don’t have a webserver in your network?
Quickly set one up using a Python webserver by opening a command line terminal in the directory the zip is located and running python3 -m http.server