I feel like I’m missing something stupid here. I tried seeing in the docs how to fix this, but I’m not getting it. I can’t be the only person experiencing this. Anyone else come up with a a fix? I’m running ESPHome 2024.6.1 now.
INFO Successfully compiled program.
INFO Connecting to 10.1.100.41
INFO Uploading /config/.esphome/build/garage-door-opener-workshop/.pioenvs/garage-door-opener-workshop/firmware.bin (1549840 bytes)
ERROR ESP requests password, but no password given!
I tried looking at !extend, but there is no id set in the package, so I can’t link to it. Seems substitutions would be the right way, but again, now how the package is currently setup. I thought you could overwrite no problem, seems to work for the API settings (password), etc. So I’m confused.
I can just pull the whole package file and edit it, but that’s just a work around.
I’m a little confused. Did you set an OTA password?
Our default packages do not set any OTA password at this time. Sounds like you’ve customized your config a bit, can you post it here?
I had this same problem this morning updating my blaQ. I had to pull the blaQ from the garage and update the firmware with a USB connection. Everything worked fine after that.
I did have an ota password set in my config before trying to update this morning. I’m not sure how it got there.
Sure, yes. I did add it to ESPHome and the default config include setting an OTA password. I didn’t really do much else to customize it. Here is my config (redacted):
@drothenberger I’m pretty sure that is the default config that is created when you add a new device to ESPHome. At least, that has been my experience and that is how the OTA password got set on my devices. Just default settings. I’m going to post below how I resolved this for future views that might come across this.
As a follow up to my previous comment, and to close this out.
First, it would be nice if somehow we could still set the OTA password. I’m not sure why this can not be overridden.
As per my previous comment (see config) I was setting the OTA password, but apparently Konnected does not set it. It needs to be removed to allow ESPHome to load the Konnected firmware.
To do this, just clear the password by flashing a blank firmware, reset the password, then put back your original config. Here is what I used to flash and reset:
Ok I think I understand what’s going on here now. In ESPHome 2024.6 they changed the OTA component to require a list (of OTA platforms) to accommodate a new OTA method via HTTP request.
To accommodate this change and make sure that all Konnected devices had OTA enabled by default (and keep the code clean), I moved the OTA definition into the “core” package for each platform, for example in packages/core-esp32-s3.yaml
When you adopt the device config into ESPHome dashboard, it auto-populates the OTA component and adds a password for you. This is probably a good thing, security best practice and all. However it seems like when overriding the OTA config in your adopted config and adding a password, ESPHome is not recognizing the password when sending the OTA update. I doubt this was intentional, and probably more of an oversight due to the way ESPHome merges lists versus dictionaries in overlapping configs. I’ll try to repro this myself and raise this with the ESPHome people to see what they think.
I’ve just added an id to the default OTA component named konnected_ota in the Konnected config to make it easier to extend/override. So now instead of this:
I think the above should work, although it’s not obvious or super user-friendly since I doubt ESPHome dashboard is going to handle this correctly for new adoptions. But, at least it should get you guys stable again for now.
I’m not treating this as super high priority atm, but I will follow up when I have some time to revisit.
Yes, I had to go through all my other ESPHome devices and add platform to them too.
I agree, not a critical problem, just probably something nice to fix up at some point. I have worked around it for now by reflashing with a blank firmware and no password and then putting back in your package with no OTA section. This worked for not having to physically get the device down. I included the configs I used, in case that helps other customers that might want to do the same thing. Sounds like we are a minority though
I still have this in my adopted config, and it is working fine. I did have to flash with a USB connection, but after doing that and changing the adopted config, I can still do wireless updates.
Should I switch the section in my adopted config to this form?