Problems with OTA Update => Unsupported OTA version 2

Hello everyone!

I am having issues with OTA updating a yaml file to an ESP32.

I am using the “latest” docker version of esphome and always perform the initial installation of an ESP32 via web.esphome. This works fine, at least there are no errors and in the end the ESP32 is connected to the WLAN.

But: When I try to install the new yaml file with the command

docker run --rm -v “${PWD}/…”:/config -it Package esphome · GitHub run espolly/espolly4.yaml

(The here shown “Package” Stuff is not from my copied command, but the command itself is correct und works)

I always get the error message:

ERROR Unsupported OTA version 2

After a Google search, the only suggestion I got was to add the following to the yaml:

ota:
version: 1
(with 2 spaces before “version”)

But even that results in an error:

Failed config

ota: [source :17]
[version] is an invalid option for [ota]. Please check the indentation.
version: 1

What else can I do? I have the same problem when setting up an ESP8266 via web.esphome and then trying to upload a yaml file afterwards.

The problem is new to me, yesterday everything worked fine. But now, I use a new ESP32 (and new 8266) and for that, I installed the initial stuff with web.esphome today.

Thanks very much for your help!

2 Likes

I had the same problem.
Solved it easily by compiling the project in ESPHome, downloaded the binary file and then installed via ESPHome WEB (over COM port) by clicking “Install” button. When successfully installed, OTA started working as usual.
Problem seems to be in generic binaries uploaded during “Prepare for first use”.
Hopefully helps.

R.

1 Like

Still seems to be the issue on the current esp web binary at https://web.esphome.io/

I had a similar issue when re-compiling an old’ish project via the esphome CLI, on OS-X (12.7.5). I managed to get the OTA update working.

What I did was:

  1. Update pip3 → pip3 install esphome --upgrade

  2. Update a .yml file for the a device name: bme280 key which was changed to: bme280_i2c (in my case).

After those two changes I was able to both re-compile my project and push a successful OTA update so the device is updated and working again.

Hope this helps anyone with a similar issue.