Installing config updates on ESP

I’m looking through the community for days and coming close… I think.
Situation:
I have Home Assistant on Raspberry PI3b, with 1Gb RAM and ±300MB free RAM.
I already know this is not enough(min500mb free) to Install/compile yaml updates from ESPhome in Home Assitant Add-In.
I manage to do the initial setup through; web. connected to USB. I can than ‘add’(Adopt) the ESP in HomeAssistant Add-IN and it is ‘Online’. Also I can see the config and edit+save+validate the yaml from there.

To update/install, I went through the instruction for ‘Installing ESPhome manually’ on my Windows PC; Installing ESPHome Manually — ESPHome
I Edit the yaml in Home Assistant ESPhome add-in and save, so I have a ‘validate’ option.
Then Download the yaml to my pc.
In cmd I run: esphome run c:\temp\myyaml.yaml (myyaml.yaml is the downloaded yaml from previous step).
compiling succesfull.
At the end it is asking me to upload OTA or COM port(virtual on USB).
For some reason this fails. Probably because https://web.esphome.io/ was connected over the same (usb)connection.
Anyway. I see the firmware.bin in the commands. I could upload it through the webinterface of the ESP(open it’s IP in the browser and hit OTA), but where do I find this ‘firmware.bin’.
Is this really so difficult?
Below some screenshot along the proces, because images say a 1000+ words.
ESPhome programming screen 8

ESPhome programming screen 6

manually upload firmware if I can get the firmware.bin…:

Ok, I can answer my own question in the meantime. I just let the Windows search search my whole pc for .pioenvs and it found the folder in the time me writing the post above ±15min…
The answer is:
Full path to the firmware.bin (in my case);
C:\temp\Downloads.esphome\build\esphome-web-1bde1b.pioenvs\esphome-web-1bde1b
so the root of it would be:
C:\temp\Downloads.esphome\build
then click on the folder with name of your ESP and click on ‘.pioenvs’ and another time on the folder with then name of your ESP.
sample screenshot:

The printout you posted tells you exactly where the firmware.bin file is.

I’m not sure I understand what you’re doing there. I started out just like you. Compiling and updating ESPHome devices was challenging for my poor little RPi. So I loaded the ESPHome Command Line Interface (CLI) onto my laptop.

Once the device is initially set up and working on WiFi (not USB) I can use the following command to update it OTA:

esphome run my.yaml --device 192.168.x.xxx

I do copy the .yaml files to the HA ESPHome add-on, but to be honest I rarely even open that add-on. All development and maintenance of ESP devices are done from the laptop.

1 Like

@CaptTom , The reason that the building stopped, was that I choose for option 1 over USB, while the web.esphome.io was still connected as well.
If the ESP is not connected to the usb of the computer on which you do the building of the new firmware, the process does not stop to ask how to upload the firmware, but will update the ESP Over The Air(OTA) automatically.
It took me a long time to figure out how to update the ESP just from Windows PC, while it is so simple process.
New ESP:

  1. For a new ESP use web.esphome.io
  2. Connect through USB
  3. Click connect and ‘Install for the first time’
  4. At the end click the 3 dots(if no popup comes up) and click Connect Wifi
  5. Homeassistant will find a new integration(settings - integrations)
  6. Then in ESPhome Home assistant add-in I use ‘adapt’ to add the ESP.
  7. click edit to copy the yaml and save it in notepad++ on you pc

For updating the ESP:

  1. Follow the steps Installing ESPHome Manually — ESPHome
  2. Adjust the yaml file on you pc
  3. start cmd
  4. type ; run esphome myyaml.yaml (where myyaml.yaml is the full path to your yaml file
  5. when the update process is done it will keep broadcasting the updates send from you ESP. to stop close cmd of use ; CTRL+C

ps. I don’t even have to provide the device IP with the run command.