Did you do as the message suggests?
@waketech_03 On the ESPHome dashboard there’s a 3 dot menu, hit “Clean Build Files” (sometimes it helps clear compilation errors) and then hit “Install” which will essentially update the node.
However, there are a few breaking changes, most notably OTA that now requires you add platform: esphome
for it to compile. See changelog for more information.
Yes, you get told that when you (try to) compile from the dashboard.
Thank you I looked at ESPHome and see this now, to be honest I glanced over the update and missed it
I have put this up for people who face this problem.
so I’ve had the same issue with my bluetooth proxy and everything presence one ever since June and changing ota platform to esphome doesn’t work.
this is my proxy code:
substitutions:
name: esp32-bluetooth-proxy-32d60c
friendly_name: Bluetooth Proxy 32d60c
packages:
esphome.bluetooth-proxy: github://esphome/firmware/bluetooth-proxy/esp32-generic.yaml@main
esphome:
name: ${name}
name_add_mac_suffix: false
friendly_name: ${friendly_name}
ota:
platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
and when i try to update it says this:
INFO ESPHome 2024.7.2
INFO Reading configuration /config/esphome/esp32-bluetooth-proxy-32d60c.yaml...
Failed config
update.http_request: [source /data/packages/c46f54c1/bluetooth-proxy/esp32-generic.yaml:33]
Component update.http_request requires 'platform: http_request' in component 'ota'.
platform: http_request
id: update_http_request
name: Firmware
source: https://firmware.esphome.io/bluetooth-proxy/esp32-generic/manifest.json
and when i substitute esphome for http_request it says this:
INFO Successfully compiled program.
ERROR Cannot upload Over the Air as the ota configuration is not present or does not include platform: esphome
Like the source code says
ota:
- platform: esphome
id: ota_esphome
- platform: http_request
id: ota_http_request
ok, except when i copy and paste that in my device yaml, i get the message:
INFO ESPHome 2024.7.2
INFO Reading configuration /config/esphome/esp32-bluetooth-proxy-32d60c.yaml...
Failed config
ota.esphome: [source /config/esphome/esp32-bluetooth-proxy-32d60c.yaml:12]
platform: esphome
ID ota_esphome redefined! Check ota->0->id.
id: ota_esphome
version: 2
port: 3232
ota.http_request: [source /config/esphome/esp32-bluetooth-proxy-32d60c.yaml:14]
platform: http_request
ID ota_http_request redefined! Check ota->1->id.
id: ota_http_request
Perhaps a clean build?
i get the exact same message when i click “Clean Build Files” … i’ve been at this for 2 months on several different community help platforms and none of the solutions work for me lol. My BT proxy and everything presence one are the trouble makers for some reason. The EP Lite (which doesn’t even have an OTA platform in the yaml files) and ratgdo (which has the esphome platform) haven’t had any issues updating.
I am having this exact same issue. Has anyone come up with a solution to this?
What is your exact yaml and log?
Here is the log file:
INFO ESPHome 2024.7.3
INFO Reading configuration /config/esphome/esp32-bluetooth-proxy-ea394c.yaml…
Failed config
ota.esphome: [source /config/esphome/esp32-bluetooth-proxy-ea394c.yaml:37]
platform: esphome
ID ota_esphome redefined! Check ota->0->id.
id: ota_esphome
version: 2
port: 3232
ota.http_request: [source /config/esphome/esp32-bluetooth-proxy-ea394c.yaml:39]
platform: http_request
ID ota_http_request redefined! Check ota->1->id.
id: ota_http_request
update.http_request: [source /config/esphome/esp32-bluetooth-proxy-ea394c.yaml:43]
platform: http_request
ID update_http_request redefined! Check update->0->id.
id: update_http_request
name: Firmware
source: https://firmware.esphome.io/bluetooth-proxy/esp32-generic/manifest.json
disabled_by_default: False
entity_category: config
update_interval: 6h
And the yaml code:
substitutions:
name: kitchen-node
friendly_name: Kitchen Node
packages:
esphome.bluetooth-proxy: github://esphome/firmware/bluetooth-proxy/esp32-generic.yaml@main
esphome:
name: ${name}
name_add_mac_suffix: false
friendly_name: ${friendly_name}
esp32:
board: esp32dev
framework:
type: esp-idf
api:
encryption:
key: htHUm6zOF4FQoUOFLHJ9q3dq/jCKLheNtCLRhpdYnrc=
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: “Bluetooth-Proxy Fallback Hotspot”
password: “xxxxxxxxxx”
manual_ip:
static_ip: xxx.xxx.x.xx
gateway: xxx.xxx.x.x
subnet: yyy.yyy.yyy.y
ota:
- platform: esphome
id: ota_esphome - platform: http_request
id: ota_http_request
update:
- platform: http_request
id: update_http_request
name: Firmware
source: https://firmware.esphome.io/bluetooth-proxy/esp32-generic/manifest.json
http_request:
dashboard_import:
package_import_url: github://esphome/firmware/bluetooth-proxy/esp32-generic.yaml@main
esp32_ble_tracker:
scan_parameters:
interval: 1100ms
window: 1100ms
active: true
bluetooth_proxy:
active: true
button:
- platform: safe_mode
name: Safe Mode Boot
entity_category: diagnostic
Thank so much for your help in this, but it seems that you really don’t have an answer either. I have never asked a question on one of these boards, and probably never will again. But here goes.
I am having the same issue as darthbass123. When I try to upload the new code, I am getting the same error response as he is.
I’ve double checked the code to ensure it is correct as you’ve suggested above. It still isn’t working. And I’ve tried a Clean Build with the same results.
ota:
- platform: esphome
id: ota_esphome
- platform: http_request
id: ota_http_request
If you have a solution for this, please share it as I am sure there are others out there with the same issue. If not, please point me in the right direction so I can fix it.
I think id: should not be indented.
Edit, sorry I was on an android device before, hard to type. I meant I think it should be like this
ota:
- platform: esphome
id: ota_esphome
- platform: http_request
id: ota_http_request
And when you do indent, keep the indentation consistent. Good rule of thumb, two spaces (your id: lines were indented one space).
The indents were a mistake in my typing. But I did have luck in getting one node to update. I removed the “id: ota_esphome” and it worked for that one. Still working on the Everything Presence update. I’ll post how I solved it once I get there.
Seems to me that the way these things are designed, they should update automatically.
Hi everyone, I am resuming this old post because I have the same problem as waketech_03, I have followed the advice in the post, but I keep having the same problem and cannot update my mini D1, can anyone help me? I paste below my yaml, in the hope that you will spot the error:
esphome:
name: multipresa
platform: ESP8266
board: d1_mini
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "Sawert+sfytreso9a/VTdyQoQrf3AoG2KKNk3kjcda="
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: 192.168.178.79
subnet: 255.255.255.0
gateway: 192.168.178.1
dns1: 192.168.178.1
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Wemos Fallback Hotspot"
password: "9T6ryWzxQzsr"
captive_portal:
With this yaml I control 4 switches connected to as many relays and via Home Assistant I can switch on each of the 4 sockets, the strange thing, however, is that if I search my lan for the D1 mini (which should have an IP 192.168.178.79, there is no