Upgrading - FengtianGu/Sonoff-Tasmota GitHub Wiki

Easily upgrade Tasmota to a newer version or different build while keeping all your settings.

OTA upgrade

Most convenient way to upgrade. Open a web browser to you device's Web UI and select Firmware Upgrade.

Firmware Upgrade screen

You are presented with two choices. Using an OTA server or by uploading a downloaded or self-compiled binary file.

Upgrade choices

Upgrade by web server

If you want to upgrade to the latest release version click the first Start Upgrade button. This screen should appear

image

During this process Tasmota will download the new firmware from the url and install it. It might need to download sonoff-minimal.bin first but all that happens automatically. All you have to do is wait 2 to 5 minutes.

After the upgrade is completed you can reconnect back to the Web UI and check the firmware version on the bottom of the page.

Changing Ota Url

If you wish to switch to a different build you have to change OtaUrl to the desired binary from our OTA Server.

It is possible to create your own simple http OTA server (https is not supported) using Python and perform upgrades from there. Install Python and from the folder where the binary (make sure sonoff-minimal.bin is located there too) is located run :

python -m http.server 8000

Change your OtaUrl to http://ipoftheserver:8000/yourbinary.bin and start the upgrade process.

Upgrade by file upload

This process requires you to have a minimal build (sonoff-minimal.bin) of the firmware since the upload process needs the space in flash memory to upload the new binary.

When you try to immediately upgrade to a new binary without using minimal firmware you will be greeted with this error.

Upload error

Browse to the minimal binary with Choose File. The chosen filename should be visible. In our example we use sonoff-minimal.bin

minimal upgrade

Wait until the device restarts. Web UI will display this warning message on top.

minimal message

Go to Firmware Upgrade again. This time browse to the binary you want to upgrade to with Choose File and click Start upgrade. In our example we use sonoff-sensors.bin

image

You will see an Upload starting... and then Upload successful message. Wait until the device restarts, reconnect back to the Web UI and check the firmware version on the bottom of the page.

OTA upgrade using commands

Your device can be upgraded using commands via MQTT, web requests or Console in the Web UI.

OtaUrl is used to set your OTA address.

otaurl http://thehackbox.org/tasmota/020500/sonoff-sensors.bin

In this example we chose a development branch version with additional sensors support based on a 2.5 core

Initiate upgrade from OTA server

upgrade 1

Wait for the upgrade process to complete and check the Tasmota version. If in console you can use status 2.

OTA upgrade using on-device button

Devices with a built in button (the one used to put your device into flash mode) can initiate OTA upgrade with it.

7 short presses of the button will start OTA download of firmware using the Ota Url. Device LED is lit during the update.

Serial upgrade

Upgrade over the serial connection using serial-to-USB adapter.

Upload the new version over serial using the same process as in Flashing but DO NOT erase flash. The new binary will flash over the old one and keep all your settings intact.

External programs

Tasmota Device Manager or TDM is a multiplatform GUI application written in Python for discovery and management of Tasmota devices. You can set up OTA url and initiate OTA upgrade from TDM using GUI.

openHAB - implement an automation rule to upgrade devices from openHAB

Node-RED OTA server and firmware manager - Node-RED flow for managing OTA updates

OTA over SCP - setup and configure "OTA over SCP" upload for PlatformIO

Migration path for older releases

Until now several versions of Tasmota have been released starting with the C version Sonoff-MQTT-OTA followed by Sonoff-MQTT-OTA-Arduino and Sonoff-Tasmota.

Migrating from one version to the next is mostly painless as the settings are saved in the same location in flash and newer settings are appended.

As said, mostly painless. There are some deviations to this rule as the flash positions got rearranged. In the next list you'll find an overview of supported migrations paths.

  • No migration from Sonoff-MQTT-OTA to Sonoff-MQTT-OTA-Arduino or Sonoff-Tasmota.
    The settings flash layout and OTA image locations are different from the Arduino versions
  • Easy migration from Sonoff-MQTT-OTA-Arduino 1.0.11 to Sonoff-Tasmota 3.9.x.
    After installing Sonoff-Tasmota for the first time some settings need to be adjusted via web configuration or MQTT commands.
  • Easy migration from Sonoff-MQTT-OTA-Arduino 3.1.0 to Sonoff-Tasmota 4.x.
    After installing Sonoff-Tasmota for the first time some settings need to be adjusted via web configuration or MQTT commands.
  • Easy migration from Sonoff-Tasmota 4.x to Sonoff-Tasmota 5.14.
    As a safeguard perform a Backup Configuration before installing the new version. If settings are lost after the upgrade perform a Restore Configuration.
  • Easy migration from Sonoff-Tasmota 5.2 to Sonoff-Tasmota 6.x.
    As a safeguard perform a Backup Configuration before installing the new version. If settings are lost after the upgrade perform a Restore Configuration.

So to migrate from Sonoff-MQTT-OTA-Arduino versions before 3.1.0 to Sonoff-Tasmota 6.x you will need to take four steps:

  1. Migrate to Sonoff-Tasmota 3.9.x
  2. Migrate to Sonoff-Tasmota 4.x
  3. Migrate to Sonoff-Tasmota 5.14
  4. Migrate to Sonoff-Tasmota 6.x
⚠️ **GitHub.com Fallback** ⚠️