Wonky compile/upload progress bars after moving from addon to python on windows

I’ve recently moved from using esphome device builder as an HA addon, to a separate install using python on a windows machine.

Everything’s working great other than the display of progress during compilation and upload.

Progress bars aren’t a neat bar that grows, but multiple bars over multiple lines:

…and the output stops just before upload:


The upload happens OK but I don’t get to see its progress as its happening, I see what’s happened afterwards all at once:

Is this something that’s normal when esphome’s running separately?
Does anyone know a way to change it please?

Not normal. There must be something unusual about your system.

How did you install it?

I installed it as shown here: Installing ESPHome Manually — ESPHome

I’ve installed on both my win11 laptop and server2025 machine, and see the same on both.

They were both originally installed per-user, and I’ve updated them both a couple of versions of esphome since. I ran the updates as admin, which (inadvertently) moved things to program files.
That made me realise the options in the installer have moved since the screenshot on that page, so I reinstalled for all users from scratch.

To run it on the win11 laptop I’m using a shortcut to: “C:\Program Files\Python313\Scripts\esphome.exe” dashboard “C:\Users\user\Documents\ESPHome” --address localhost --open-ui

I’m using similar on the 2025 machine, but its being run as a service by nssm.
I get the same if I run it manually in either cmd or terminal.
Its the same in both Brave and Edge.

I’ve seen the same strange progress bars the whole time its been a separate install, but didn’t when I was using the HA add-on.

Python uses \n as the end-of-line character, which is fine for Unix-like systems but can cause formatting issues on Windows, which expects \r\n (CR-LF).

Thanks.

I guess I should really have asked: Is this something that’s normal when esphome’s running separately on windows?

It’s not like its a huge problem, but if it isn’t expected when its both running on and being accessed from windows then it’d be good to figure out why.

I run esphome on Windows that I installed using the following:

pip install pipx
pipx install esphome 

This is not the way it is suggested in the esphome docs. Python is complicated and has a poor story for virtual environments. pipx makes it reasonably easy. uv is the up and coming (possibly) better solution, but probably best treated as experimental right now.

Note that you will need to uninstall esphome or start with a clean system to use the method I listed.

Thanks.
I’m not the most familiar with python, the various ways it can run and that things can be installed, so I uninstalled python completely and manually removed anything left in program files and the build folder.

Reinstalled it and ran those two commands… Got a small esphome project building right now and still see this:

When it got to uploading, the output stopped for a short while and then I got all of this at once:

So no real change.

What version of windows and python are you using that behave better pls?
I might try it out on something a little older than 11/2025 in VM…

edit:
I see the same on a fresh install of win10, using any python install option I can think to change.

In March 2025 I installed Windows 11 and updated to then current updates.

Installed Python 3.13.2 from here (.3 is current)

64-bit installer

I also install VS Code and typically use esphome from its terminal. I also install Windows Terminal and use it.

Your pictures show the code doesn’t know what size terminal you have or how to control it properly. It wasn’t obvious to me what library esphome is using for its TUI, but it does appear confused.

I think I was in the middle of trying these variations in a VM as you last replied:

python 3.13.3 x64 (As I was using originally)
python 3.10.1 x64 (3.10.1 is in the pic at Installing ESPHome Manually — ESPHome)
python 3.10.1 x86

I got the same each time

I’m compiling/uploading from the esphome dashboard, not at any console.

At a console its fine. I can use that if I have trouble uploading etc

Would you mind trying it from the dashboard please, see if you really do get better than I originally described?

I don’t use the dashboard. Didn’t even know it was a thing until I looked it up. I use VS Code and the terminal, so I can’t help you.

You can add comments to GitHub issue created about the same:

1 Like

I just went hunting for an existing issue and found that one, then saw your reply… adding to it now. :+1: