redpis
(Redpis)
June 20, 2024, 6:17pm
1
Just updated esphome and now I cant access the devices, error message:
INFO ESPHome 2024.6.1
INFO Reading configuration /config/esphome/cylinder-temp.yaml…
Failed config
ota.unknown: [source /config/esphome/cylinder-temp.yaml:27]
‘ota’ requires a ‘platform’ key but it was not specified.
Any idea how to add the required platform key to resolve my issue please
1 Like
Edwin_D
(Edwin D.)
June 20, 2024, 6:23pm
2
It’s in the docs (the requirement has changed):
Because of this breaking change mentioned in the release notes:
esphome:dev
← kbx81:separate-ota-backend
opened 12:55AM - 02 Apr 24 UTC
# What does this implement/fix?
Splits the OTABackend out from the OTA compon… ent so that it can be more easily used by other (future) OTA platforms.
#6475 should be merged _before_ this PR or validation won't enforce the presence of a platform under `ota:`, potentially rendering devices un-OTA-able!
#6623 should also be merged before this PR as it permits more user-friendly error messages should the required `esphome` platform not be present when components which depend on it (`safe_mode` `button` or `switch`) are present.
## Breaking Change Notes
This change only impacts the OTA configuration as it exists in YAML; it does not affect ESPHome's original OTA functionality. Existing configuration variables placed under `ota:` must be moved into the `esphome` OTA platform. For example, if your original configuration looked like this:
```yaml
ota:
password: "xxxxxxxxxxxxxxxx"
num_attempts: 3
safe_mode: no
```
...you now need to arrange it like this:
```yaml
ota:
- platform: esphome
password: "xxxxxxxxxxxxxxxx"
num_attempts: 3
safe_mode: no
```
No other changes are required to continue using OTA and you will be able to update your devices in the same manner as before.
## Types of changes
- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [x] Other
**Related issue or feature (if applicable):** fixes <link to issue>
**Pull request in [esphome-docs](https://github.com/esphome/esphome-docs) with documentation (if applicable): esphome/esphome-docs#3782**
## Test Environment
- [x] ESP32
- [x] ESP32 IDF 4 + 5
- [x] ESP8266
- [ ] RP2040
- [ ] BK72xx
- [ ] RTL87xx
## Example entry for `config.yaml`:
<!--
Supplying a configuration snippet, makes it easier for a maintainer to test
your PR. Furthermore, for new integrations, it gives an impression of how
the configuration would look like.
Note: Remove this section if this PR does not have an example entry.
-->
```yaml
# Example config.yaml
```
## Checklist:
- [x] The code change is tested and works locally.
- [ ] Tests have been added to verify that the new code works (under `tests/` folder).
If user exposed functionality or configuration variables are added/changed:
- [x] Documentation added/updated in [esphome-docs](https://github.com/esphome/esphome-docs). **N/A**
Though the release notes do not make very clear what is needed. But the error does.
1 Like
redpis
(Redpis)
June 20, 2024, 6:34pm
3
Many thanks for the swift replies, to experienced users the instructions are ‘noddy proof’, but after reading, for me the simplest is to flatten the ESP device and restart.
Here, read this in case it helps. Someone has already gone through the trouble of creating simple instructions and pinned the post so others would find it.
In esphome 2024.6 the ota configuration has changed, and it you have ota: in your yaml file it won’t compile without fixing.
The old invocation was
ota:
password: secretstuff
You now need to add platform, so it will look like this:
ota:
- password: secretstuff
platform: esphome
this will get you there. There is now also a platform: http_request as well, hence the need for a change.
This is dealt with in the changelog ESPHome 2024.6.0 - 19th June 2024 — ESPHome , but I just wanted …
Thanks for your contribution @nickrout
5 Likes
redpis
(Redpis)
June 20, 2024, 7:54pm
5
Thanks for the info to the guide, it worked which is great, I was adding the platform detail before the password as per the ESP OTA config, but it didn’t like it, anyhoo it works now.
Thanks for you help, much appreciated.
nickrout
(Nick Rout)
June 20, 2024, 8:18pm
6
The order shouldn’t matter.
Vityulka
(Victor)
October 19, 2024, 9:10pm
7
redpis:
platform
I had the same problem. Essentially, the “platform” key is missing. The easiest way is just to create a new device and compare the config YAML.
kkilchrist
(Kameron Kilchrist)
October 19, 2024, 11:11pm
8
To make this super clear
change
ota:
password: !secret ota_password
to
ota:
platform: esphome
password: !secret ota_password
3 Likes