ESPHome update from 2025.4.0 to 2025.6.2 breaks Update button in Dashboard #1200

Closed
opened 2026-02-04 23:37:12 +03:00 by OVERLORD · 22 comments
Owner

Originally created by @jsbrich on GitHub (Jul 1, 2025).

Have you read and understood the above guidelines?

yes

📜 What is the name of the script you are using?

Esphome

📂 What was the exact command used to execute the script?

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/esphome.sh)"

⚙️ What settings are you using?

  • Default Settings
  • Advanced Settings

🖥️ Which Linux distribution are you using?

Debian 12

📝 Provide a clear and concise description of the issue.

I was using the ESPHome LXC and was at 2025.4.0. When I ran the bash script command in the console to update it, the dashboard says it was at 2025.6.2. When I click on the Update button for a device, it is still compiling the code as 2025.4.0.

🔄 Steps to reproduce the issue.

Step 1: Start with LXC running ESPHome 2025.4.0
Step 2: Run bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/esphome.sh)"
Step 3: Update device in dashboard

Paste the full error output (if available).

INFO ESPHome 2025.4.0 INFO Reading configuration /root/config/air-quality-upstairs.yaml... INFO Generating C++ source... INFO Compiling app... Processing air-quality-upstairs (board: d1; framework: arduino; platform: platformio/espressif8266@4.2.1) --------------------------------------------------------------------------------

🖼️ Additional context (optional).

I noticed that during the update it looks like a lot was moved to a venv. My config files are still stored in their original location /root/config/. Does that need to change?

Originally created by @jsbrich on GitHub (Jul 1, 2025). ### ✅ Have you read and understood the above guidelines? yes ### 📜 What is the name of the script you are using? Esphome ### 📂 What was the exact command used to execute the script? bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/esphome.sh)" ### ⚙️ What settings are you using? - [ ] Default Settings - [ ] Advanced Settings ### 🖥️ Which Linux distribution are you using? Debian 12 ### 📝 Provide a clear and concise description of the issue. I was using the ESPHome LXC and was at 2025.4.0. When I ran the bash script command in the console to update it, the dashboard says it was at 2025.6.2. When I click on the Update button for a device, it is still compiling the code as 2025.4.0. ### 🔄 Steps to reproduce the issue. Step 1: Start with LXC running ESPHome 2025.4.0 Step 2: Run `bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/esphome.sh)"` Step 3: Update device in dashboard ### ❌ Paste the full error output (if available). `INFO ESPHome 2025.4.0 INFO Reading configuration /root/config/air-quality-upstairs.yaml... INFO Generating C++ source... INFO Compiling app... Processing air-quality-upstairs (board: d1; framework: arduino; platform: platformio/espressif8266@4.2.1) --------------------------------------------------------------------------------` ### 🖼️ Additional context (optional). I noticed that during the update it looks like a lot was moved to a venv. My config files are still stored in their original location /root/config/. Does that need to change?
OVERLORD added the bug label 2026-02-04 23:37:12 +03:00
Author
Owner

@MickLesk commented on GitHub (Jul 1, 2025):

What for an Update Button? How can we reproduce this?

@MickLesk commented on GitHub (Jul 1, 2025): What for an Update Button? How can we reproduce this?
Author
Owner

@jsbrich commented on GitHub (Jul 1, 2025):

When you update to a new version of ESPHome, on the dashboard, each device gets an Update button

Image

@jsbrich commented on GitHub (Jul 1, 2025): When you update to a new version of ESPHome, on the dashboard, each device gets an Update button ![Image](https://github.com/user-attachments/assets/0355a207-6e9a-4e63-b243-02648d6dd4cb)
Author
Owner

@MickLesk commented on GitHub (Jul 1, 2025):

And where you see the old Version?

The config is unchanged in the service File

@MickLesk commented on GitHub (Jul 1, 2025): And where you see the old Version? The config is unchanged in the service File
Author
Owner

@jsbrich commented on GitHub (Jul 1, 2025):

When you click update, the dialog comes up asking how you want to install. I usually choose Wireless as the devices aren't plugged in to the computer. Then it starts to compile the binary image. In the output, you get the message I put in the Full Error Output section showing that it is compiling using 2025.4.0 instead of 2025.6.2

It seems that the dashboard is trying to use the old location the ESPHome bin was in /use/bin instead of using the one in the .venv. As a test, I did an ln -sf linking the esphome bin in the virtual environment to the old /use/bin location and I was able to update using the button. But that defeats the purpose of running in a virtual environment

@jsbrich commented on GitHub (Jul 1, 2025): When you click update, the dialog comes up asking how you want to install. I usually choose Wireless as the devices aren't plugged in to the computer. Then it starts to compile the binary image. In the output, you get the message I put in the Full Error Output section showing that it is compiling using 2025.4.0 instead of 2025.6.2 It seems that the dashboard is trying to use the old location the ESPHome bin was in /use/bin instead of using the one in the .venv. As a test, I did an ln -sf linking the esphome bin in the virtual environment to the old /use/bin location and I was able to update using the button. But that defeats the purpose of running in a virtual environment
Author
Owner

@MickLesk commented on GitHub (Jul 1, 2025):

can you share the output of service file?

cat /etc/systemd/system/esphomeDashboard.service

@MickLesk commented on GitHub (Jul 1, 2025): can you share the output of service file? cat /etc/systemd/system/esphomeDashboard.service
Author
Owner

@jsbrich commented on GitHub (Jul 1, 2025):

`[Unit]
Description=ESPHome Dashboard
After=network.target

[Service]
ExecStart=/opt/esphome/.venv/bin/esphome dashboard /root/config/
Restart=always
User=root

[Install]
WantedBy=multi-user.target`

@jsbrich commented on GitHub (Jul 1, 2025): `[Unit] Description=ESPHome Dashboard After=network.target [Service] ExecStart=/opt/esphome/.venv/bin/esphome dashboard /root/config/ Restart=always User=root [Install] WantedBy=multi-user.target`
Author
Owner

@jsbrich commented on GitHub (Jul 1, 2025):

Running which esphome gives me /usr/local/bin/esphome so my guess is the dashboard when it runs the esphome commands it is just using what is in $PATH, so maybe need to add the /opt/esphome... path to $PATH as part of the update?

@jsbrich commented on GitHub (Jul 1, 2025): Running `which esphome` gives me `/usr/local/bin/esphome` so my guess is the dashboard when it runs the esphome commands it is just using what is in $PATH, so maybe need to add the /opt/esphome... path to $PATH as part of the update?
Author
Owner

@MickLesk commented on GitHub (Jul 1, 2025):

maybe, its an very old install ?

You can try an backup and remove the /usr/local/bin/esphome and add an new link from .venv/bin? If this work?

@MickLesk commented on GitHub (Jul 1, 2025): maybe, its an very old install ? You can try an backup and remove the /usr/local/bin/esphome and add an new link from .venv/bin? If this work?
Author
Owner

@jsbrich commented on GitHub (Jul 1, 2025):

I redid it using the community scripts maybe 3-4 months ago? I will a new install and see if I can find the difference. I saw in the changelog that this LXC was recently switch to using venv, so maybe just some things the updater couldn't clean up or know about.

@jsbrich commented on GitHub (Jul 1, 2025): I redid it using the community scripts maybe 3-4 months ago? I will a new install and see if I can find the difference. I saw in the changelog that this LXC was recently switch to using venv, so maybe just some things the updater couldn't clean up or know about.
Author
Owner

@jsbrich commented on GitHub (Jul 1, 2025):

Ok, I created a new CT using the bash script. I think the install script is missing something. When I try to use the dashboard to compile, it doesn't start at all. On a fresh install which esphome doesn't return anything. I think the issue is that the service being started for the dashboard is outside of the venv, so it is trying to find esphome outside the venv and not finding it? Looking at journalctl, I see this:

Jul 01 12:09:56 esphome esphome[12431]: 2025-07-01 12:09:56,538 INFO Running command 'esphome --dashboard compile --only-generate /root/config/air-quality-downstairs.yaml' Jul 01 12:09:56 esphome esphome[12431]: 2025-07-01 12:09:56,538 ERROR Exception in callback functools.partial(<function WebSocketProtocol._run_callback.<locals>.<lambda> at 0x7fbe639498a0>, <Task finished name='Task-137' coro=<EsphomeCommandWebSocket.on_message() done, defined at /opt/esphome/.venv/lib/python3.12/site-packages/esphome/dashboard/web_server.py:200> exception=FileNotFoundError(2, 'No such file or directory')>) Jul 01 12:09:56 esphome esphome[12431]: Traceback (most recent call last): Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/tornado/ioloop.py", line 758, in _run_callback Jul 01 12:09:56 esphome esphome[12431]: ret = callback() Jul 01 12:09:56 esphome esphome[12431]: ^^^^^^^^^^ Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/tornado/websocket.py", line 668, in <lambda> Jul 01 12:09:56 esphome esphome[12431]: self.stream.io_loop.add_future(result, lambda f: f.result()) Jul 01 12:09:56 esphome esphome[12431]: ^^^^^^^^^^ Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/esphome/dashboard/web_server.py", line 214, in on_message Jul 01 12:09:56 esphome esphome[12431]: await handlers[type_](self, json_message) Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/esphome/dashboard/web_server.py", line 237, in handle_spawn Jul 01 12:09:56 esphome esphome[12431]: self._proc = tornado.process.Subprocess( Jul 01 12:09:56 esphome esphome[12431]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/tornado/process.py", line 240, in __init__ Jul 01 12:09:56 esphome esphome[12431]: self.proc = subprocess.Popen(*args, **kwargs) Jul 01 12:09:56 esphome esphome[12431]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Jul 01 12:09:56 esphome esphome[12431]: File "/root/.local/share/uv/python/cpython-3.12.11-linux-x86_64-gnu/lib/python3.12/subprocess.py", line 1026, in __init__ Jul 01 12:09:56 esphome esphome[12431]: self._execute_child(args, executable, preexec_fn, close_fds, Jul 01 12:09:56 esphome esphome[12431]: File "/root/.local/share/uv/python/cpython-3.12.11-linux-x86_64-gnu/lib/python3.12/subprocess.py", line 1955, in _execute_child Jul 01 12:09:56 esphome esphome[12431]: raise child_exception_type(errno_num, err_msg, err_filename) Jul 01 12:09:56 esphome esphome[12431]: FileNotFoundError: [Errno 2] No such file or directory: 'esphome' Jul 01 12:09:56 esphome esphome[12431]: 2025-07-01 12:09:56,539 ERROR Uncaught exception GET /compile (192.168.68.49) Jul 01 12:09:56 esphome esphome[12431]: HTTPServerRequest(protocol='http', host='esphome-dash.jnetinc.com', method='GET', uri='/compile', version='HTTP/1.1', remote_ip='192.168.68.49') Jul 01 12:09:56 esphome esphome[12431]: Traceback (most recent call last): Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/tornado/web.py", line 1848, in _execute Jul 01 12:09:56 esphome esphome[12431]: result = await result Jul 01 12:09:56 esphome esphome[12431]: ^^^^^^^^^^^^ Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/tornado/websocket.py", line 277, in get Jul 01 12:09:56 esphome esphome[12431]: await self.ws_connection.accept_connection(self) Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/tornado/websocket.py", line 890, in accept_connection Jul 01 12:09:56 esphome esphome[12431]: await self._accept_connection(handler) Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/tornado/websocket.py", line 973, in _accept_connection Jul 01 12:09:56 esphome esphome[12431]: await self._receive_frame_loop() Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/tornado/websocket.py", line 1127, in _receive_frame_loop Jul 01 12:09:56 esphome esphome[12431]: await self._receive_frame() Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/tornado/websocket.py", line 1218, in _receive_frame Jul 01 12:09:56 esphome esphome[12431]: await handled_future Jul 01 12:09:56 esphome esphome[12431]: FileNotFoundError: [Errno 2] No such file or directory: 'esphome' Jul 01 12:10:00 esphome esphome[12431]: 2025-07-01 12:10:00,106 INFO 304 GET /devices (192.168.68.49) 1.44ms

So it looks like a $PATH issue still, maybe? Not knowing where to find the esphome python script?

EDIT: Adding /opt/esphome/.venv/bin to $PATH, does NOT stop the error.

@jsbrich commented on GitHub (Jul 1, 2025): Ok, I created a new CT using the bash script. I think the install script is missing something. When I try to use the dashboard to compile, it doesn't start at all. On a fresh install `which esphome` doesn't return anything. I think the issue is that the service being started for the dashboard is outside of the venv, so it is trying to find esphome outside the venv and not finding it? Looking at journalctl, I see this: `Jul 01 12:09:56 esphome esphome[12431]: 2025-07-01 12:09:56,538 INFO Running command 'esphome --dashboard compile --only-generate /root/config/air-quality-downstairs.yaml' Jul 01 12:09:56 esphome esphome[12431]: 2025-07-01 12:09:56,538 ERROR Exception in callback functools.partial(<function WebSocketProtocol._run_callback.<locals>.<lambda> at 0x7fbe639498a0>, <Task finished name='Task-137' coro=<EsphomeCommandWebSocket.on_message() done, defined at /opt/esphome/.venv/lib/python3.12/site-packages/esphome/dashboard/web_server.py:200> exception=FileNotFoundError(2, 'No such file or directory')>) Jul 01 12:09:56 esphome esphome[12431]: Traceback (most recent call last): Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/tornado/ioloop.py", line 758, in _run_callback Jul 01 12:09:56 esphome esphome[12431]: ret = callback() Jul 01 12:09:56 esphome esphome[12431]: ^^^^^^^^^^ Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/tornado/websocket.py", line 668, in <lambda> Jul 01 12:09:56 esphome esphome[12431]: self.stream.io_loop.add_future(result, lambda f: f.result()) Jul 01 12:09:56 esphome esphome[12431]: ^^^^^^^^^^ Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/esphome/dashboard/web_server.py", line 214, in on_message Jul 01 12:09:56 esphome esphome[12431]: await handlers[type_](self, json_message) Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/esphome/dashboard/web_server.py", line 237, in handle_spawn Jul 01 12:09:56 esphome esphome[12431]: self._proc = tornado.process.Subprocess( Jul 01 12:09:56 esphome esphome[12431]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/tornado/process.py", line 240, in __init__ Jul 01 12:09:56 esphome esphome[12431]: self.proc = subprocess.Popen(*args, **kwargs) Jul 01 12:09:56 esphome esphome[12431]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Jul 01 12:09:56 esphome esphome[12431]: File "/root/.local/share/uv/python/cpython-3.12.11-linux-x86_64-gnu/lib/python3.12/subprocess.py", line 1026, in __init__ Jul 01 12:09:56 esphome esphome[12431]: self._execute_child(args, executable, preexec_fn, close_fds, Jul 01 12:09:56 esphome esphome[12431]: File "/root/.local/share/uv/python/cpython-3.12.11-linux-x86_64-gnu/lib/python3.12/subprocess.py", line 1955, in _execute_child Jul 01 12:09:56 esphome esphome[12431]: raise child_exception_type(errno_num, err_msg, err_filename) Jul 01 12:09:56 esphome esphome[12431]: FileNotFoundError: [Errno 2] No such file or directory: 'esphome' Jul 01 12:09:56 esphome esphome[12431]: 2025-07-01 12:09:56,539 ERROR Uncaught exception GET /compile (192.168.68.49) Jul 01 12:09:56 esphome esphome[12431]: HTTPServerRequest(protocol='http', host='esphome-dash.jnetinc.com', method='GET', uri='/compile', version='HTTP/1.1', remote_ip='192.168.68.49') Jul 01 12:09:56 esphome esphome[12431]: Traceback (most recent call last): Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/tornado/web.py", line 1848, in _execute Jul 01 12:09:56 esphome esphome[12431]: result = await result Jul 01 12:09:56 esphome esphome[12431]: ^^^^^^^^^^^^ Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/tornado/websocket.py", line 277, in get Jul 01 12:09:56 esphome esphome[12431]: await self.ws_connection.accept_connection(self) Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/tornado/websocket.py", line 890, in accept_connection Jul 01 12:09:56 esphome esphome[12431]: await self._accept_connection(handler) Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/tornado/websocket.py", line 973, in _accept_connection Jul 01 12:09:56 esphome esphome[12431]: await self._receive_frame_loop() Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/tornado/websocket.py", line 1127, in _receive_frame_loop Jul 01 12:09:56 esphome esphome[12431]: await self._receive_frame() Jul 01 12:09:56 esphome esphome[12431]: File "/opt/esphome/.venv/lib/python3.12/site-packages/tornado/websocket.py", line 1218, in _receive_frame Jul 01 12:09:56 esphome esphome[12431]: await handled_future Jul 01 12:09:56 esphome esphome[12431]: FileNotFoundError: [Errno 2] No such file or directory: 'esphome' Jul 01 12:10:00 esphome esphome[12431]: 2025-07-01 12:10:00,106 INFO 304 GET /devices (192.168.68.49) 1.44ms` So it looks like a $PATH issue still, maybe? Not knowing where to find the esphome python script? EDIT: Adding /opt/esphome/.venv/bin to $PATH, does NOT stop the error.
Author
Owner

@MickLesk commented on GitHub (Jul 1, 2025):

i check it tomorrow

@MickLesk commented on GitHub (Jul 1, 2025): i check it tomorrow
Author
Owner

@lockenkop commented on GitHub (Jul 2, 2025):

i fixed the errors with adding the path in the systemd service

root@esphome:~# cat /etc/systemd/system/esphomeDashboard.service 
[Unit]
Description=ESPHome Dashboard
After=network.target

[Service]
Environment="PATH=$PATH:/opt/esphome/.venv/bin/"
ExecStart=/opt/esphome/.venv/bin/esphome dashboard /root/config/
Restart=always
User=root

[Install]
WantedBy=multi-user.target
@lockenkop commented on GitHub (Jul 2, 2025): i fixed the errors with adding the path in the systemd service ``` root@esphome:~# cat /etc/systemd/system/esphomeDashboard.service [Unit] Description=ESPHome Dashboard After=network.target [Service] Environment="PATH=$PATH:/opt/esphome/.venv/bin/" ExecStart=/opt/esphome/.venv/bin/esphome dashboard /root/config/ Restart=always User=root [Install] WantedBy=multi-user.target ```
Author
Owner

@SebSeifert commented on GitHub (Jul 3, 2025):

i fixed the errors with adding the path in the systemd service

root@esphome:~# cat /etc/systemd/system/esphomeDashboard.service 
[Unit]
Description=ESPHome Dashboard
After=network.target

[Service]
Environment="PATH=$PATH:/opt/esphome/.venv/bin/"
ExecStart=/opt/esphome/.venv/bin/esphome dashboard /root/config/
Restart=always
User=root

[Install]
WantedBy=multi-user.target

Hi,
i pasted this Service in my LXC. Now it says esphome 2025.6.3 but now i got the error:

INFO ESPHome 2025.6.3
INFO Reading configuration /root/config/airgradient-wz.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing airgradient-wz (board: d1_mini; framework: arduino; platform: platformio/espressif8266@4.2.1)
--------------------------------------------------------------------------------
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
Dependency Graph
|-- ESP8266WiFi @ 1.0
|-- ESP8266mDNS @ 1.2
|-- noise-c @ 0.1.6
|-- Wire @ 1.0
Compiling .pioenvs/airgradient-wz/src/esphome/components/api/api_connection.cpp.o
Compiling .pioenvs/airgradient-wz/src/esphome/components/api/api_frame_helper.cpp.o
*** [.pioenvs/airgradient-wz/src/esphome/components/api/api_connection.cpp.o] sh: No such file or directory
*** [.pioenvs/airgradient-wz/src/esphome/components/api/api_frame_helper.cpp.o] sh: No such file or directory
========================== [FAILED] Took 0.71 seconds ==========================

I had an working 2025.6.0 Version.
And if I install the recent 2025.6.3 Container and add a yaml the console output shows nothing. Also when I add an new device with no config.

@SebSeifert commented on GitHub (Jul 3, 2025): > i fixed the errors with adding the path in the systemd service > > ``` > root@esphome:~# cat /etc/systemd/system/esphomeDashboard.service > [Unit] > Description=ESPHome Dashboard > After=network.target > > [Service] > Environment="PATH=$PATH:/opt/esphome/.venv/bin/" > ExecStart=/opt/esphome/.venv/bin/esphome dashboard /root/config/ > Restart=always > User=root > > [Install] > WantedBy=multi-user.target > ``` Hi, i pasted this Service in my LXC. Now it says esphome 2025.6.3 but now i got the error: ``` INFO ESPHome 2025.6.3 INFO Reading configuration /root/config/airgradient-wz.yaml... INFO Generating C++ source... INFO Compiling app... Processing airgradient-wz (board: d1_mini; framework: arduino; platform: platformio/espressif8266@4.2.1) -------------------------------------------------------------------------------- HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash Dependency Graph |-- ESP8266WiFi @ 1.0 |-- ESP8266mDNS @ 1.2 |-- noise-c @ 0.1.6 |-- Wire @ 1.0 Compiling .pioenvs/airgradient-wz/src/esphome/components/api/api_connection.cpp.o Compiling .pioenvs/airgradient-wz/src/esphome/components/api/api_frame_helper.cpp.o *** [.pioenvs/airgradient-wz/src/esphome/components/api/api_connection.cpp.o] sh: No such file or directory *** [.pioenvs/airgradient-wz/src/esphome/components/api/api_frame_helper.cpp.o] sh: No such file or directory ========================== [FAILED] Took 0.71 seconds ========================== ``` I had an working 2025.6.0 Version. And if I install the recent 2025.6.3 Container and add a yaml the console output shows nothing. Also when I add an new device with no config.
Author
Owner

@lockenkop commented on GitHub (Jul 3, 2025):

I get the same errors, it seems that the dashboard still has some path issues but now with dependencies.
my workaround is building from commandline on the host which does not have the pathing issues.
So i copy the build command from the journal to the cli and let it build there. Once it was build the dashboard will use the build and does not try to build it again.

from journal after failed build from dashboard

Jul 03 11:38:05 esphome esphome[148]: 2025-07-03 11:38:05,904 INFO Running command 'esphome --dashboard compile /root/config/esphome-web-06.yaml

paste the build command into a cli on the host

esphome --dashboard compile /root/config/esphome-web-06.yaml

and run the update/install again after build from cli.

@lockenkop commented on GitHub (Jul 3, 2025): I get the same errors, it seems that the dashboard still has some path issues but now with dependencies. my workaround is building from commandline on the host which does not have the pathing issues. So i copy the build command from the journal to the cli and let it build there. Once it was build the dashboard will use the build and does not try to build it again. from journal after failed build from dashboard ``` Jul 03 11:38:05 esphome esphome[148]: 2025-07-03 11:38:05,904 INFO Running command 'esphome --dashboard compile /root/config/esphome-web-06.yaml ``` paste the build command into a cli on the host ``` esphome --dashboard compile /root/config/esphome-web-06.yaml ``` and run the update/install again after build from cli.
Author
Owner

@SebSeifert commented on GitHub (Jul 3, 2025):

I get the same errors, it seems that the dashboard still has some path issues but now with dependencies. my workaround is building from commandline on the host which does not have the pathing issues. So i copy the build command from the journal to the cli and let it build there. Once it was build the dashboard will use the build and does not try to build it again.

from journal after failed build from dashboard

Jul 03 11:38:05 esphome esphome[148]: 2025-07-03 11:38:05,904 INFO Running command 'esphome --dashboard compile /root/config/esphome-web-06.yaml

paste the build command into a cli on the host

esphome --dashboard compile /root/config/esphome-web-06.yaml

and run the update/install again after build from cli.

Okay that works not for me because then it still uses 2025.6.0 for compiling. Also after compiling with cli in the webinterface is the same error when try to install.

@SebSeifert commented on GitHub (Jul 3, 2025): > I get the same errors, it seems that the dashboard still has some path issues but now with dependencies. my workaround is building from commandline on the host which does not have the pathing issues. So i copy the build command from the journal to the cli and let it build there. Once it was build the dashboard will use the build and does not try to build it again. > > from journal after failed build from dashboard > > ``` > Jul 03 11:38:05 esphome esphome[148]: 2025-07-03 11:38:05,904 INFO Running command 'esphome --dashboard compile /root/config/esphome-web-06.yaml > ``` > > paste the build command into a cli on the host > > ``` > esphome --dashboard compile /root/config/esphome-web-06.yaml > ``` > > and run the update/install again after build from cli. Okay that works not for me because then it still uses 2025.6.0 for compiling. Also after compiling with cli in the webinterface is the same error when try to install.
Author
Owner

@OBerghmans commented on GitHub (Jul 4, 2025):

I have the same issue , but coming from 2025.5.2. Looks like the PATH isn't updated correctly everywhere. The dashboard/website shows ESPHome by Open Home Foundation | Fund development | 2025.6.3 Documentation at the bottom, but the compile process shows 2025.5.2.

root@esphome:~/config# esphome --dashboard compile ep-one-basement.yaml
INFO ESPHome 2025.5.2 <<<<<<<<<<<<<<<<
INFO Reading configuration ep-one-basement.yaml...

The service file:

root@esphome:~/config# cat /etc/systemd/system/esphomeDashboard.service
[Unit]
Description=ESPHome Dashboard
After=network.target

[Service]
ExecStart=/opt/esphome/.venv/bin/esphome dashboard /root/config/
Restart=always
User=root

[Install]
WantedBy=multi-user.target

Some path investigation commands:

root@esphome:~/config# which esphome
/usr/local/bin/esphome
root@esphome:~/config# esphome --version
Version: 2025.5.2
root@esphome:~/config# /usr/local/bin/esphome --version
Version: 2025.5.2
root@esphome:~/config# /opt/esphome/.venv/bin/esphome --version
Version: 2025.6.3
@OBerghmans commented on GitHub (Jul 4, 2025): I have the same issue , but coming from 2025.5.2. Looks like the PATH isn't updated correctly everywhere. The dashboard/website shows `ESPHome by Open Home Foundation | Fund development | 2025.6.3 Documentation` at the bottom, but the compile process shows 2025.5.2. ``` root@esphome:~/config# esphome --dashboard compile ep-one-basement.yaml INFO ESPHome 2025.5.2 <<<<<<<<<<<<<<<< INFO Reading configuration ep-one-basement.yaml... ``` The service file: ``` root@esphome:~/config# cat /etc/systemd/system/esphomeDashboard.service [Unit] Description=ESPHome Dashboard After=network.target [Service] ExecStart=/opt/esphome/.venv/bin/esphome dashboard /root/config/ Restart=always User=root [Install] WantedBy=multi-user.target ``` Some path investigation commands: ``` root@esphome:~/config# which esphome /usr/local/bin/esphome root@esphome:~/config# esphome --version Version: 2025.5.2 root@esphome:~/config# /usr/local/bin/esphome --version Version: 2025.5.2 root@esphome:~/config# /opt/esphome/.venv/bin/esphome --version Version: 2025.6.3 ```
Author
Owner

@MickLesk commented on GitHub (Jul 4, 2025):

try again after merge: #5685

@MickLesk commented on GitHub (Jul 4, 2025): try again after merge: #5685
Author
Owner

@OBerghmans commented on GitHub (Jul 4, 2025):

Seems to work for me, thanks!

@OBerghmans commented on GitHub (Jul 4, 2025): Seems to work for me, thanks!
Author
Owner

@MickLesk commented on GitHub (Jul 4, 2025):

Can anyone of you try it again?

@MickLesk commented on GitHub (Jul 4, 2025): Can anyone of you try it again?
Author
Owner

@SebSeifert commented on GitHub (Jul 4, 2025):

Can anyone of you try it again?

So i updated with "update" in console. Now the flashing via Console Works. In the webinterface i have still:

INFO ESPHome 2025.6.3
INFO Reading configuration /root/config/airgradient-wz.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing airgradient-wz (board: d1_mini; framework: arduino; platform: platformio/espressif8266@4.2.1)
--------------------------------------------------------------------------------
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
Dependency Graph
|-- ESP8266WiFi @ 1.0
|-- ESP8266mDNS @ 1.2
|-- noise-c @ 0.1.6
|-- Wire @ 1.0
Compiling .pioenvs/airgradient-wz/src/esphome/components/api/api_connection.cpp.o
Compiling .pioenvs/airgradient-wz/src/esphome/components/api/api_frame_helper.cpp.o
*** [.pioenvs/airgradient-wz/src/esphome/components/api/api_connection.cpp.o] sh: No such file or directory
*** [.pioenvs/airgradient-wz/src/esphome/components/api/api_frame_helper.cpp.o] sh: No such file or directory
========================== [FAILED] Took 0.71 seconds ==========================
@SebSeifert commented on GitHub (Jul 4, 2025): > Can anyone of you try it again? So i updated with "update" in console. Now the flashing via Console Works. In the webinterface i have still: ``` INFO ESPHome 2025.6.3 INFO Reading configuration /root/config/airgradient-wz.yaml... INFO Generating C++ source... INFO Compiling app... Processing airgradient-wz (board: d1_mini; framework: arduino; platform: platformio/espressif8266@4.2.1) -------------------------------------------------------------------------------- HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash Dependency Graph |-- ESP8266WiFi @ 1.0 |-- ESP8266mDNS @ 1.2 |-- noise-c @ 0.1.6 |-- Wire @ 1.0 Compiling .pioenvs/airgradient-wz/src/esphome/components/api/api_connection.cpp.o Compiling .pioenvs/airgradient-wz/src/esphome/components/api/api_frame_helper.cpp.o *** [.pioenvs/airgradient-wz/src/esphome/components/api/api_connection.cpp.o] sh: No such file or directory *** [.pioenvs/airgradient-wz/src/esphome/components/api/api_frame_helper.cpp.o] sh: No such file or directory ========================== [FAILED] Took 0.71 seconds ========================== ```
Author
Owner

@MickLesk commented on GitHub (Jul 4, 2025):

Looks Like an issue from esphome himself?

@MickLesk commented on GitHub (Jul 4, 2025): Looks Like an issue from esphome himself?
Author
Owner

@jsbrich commented on GitHub (Jul 4, 2025):

Updating to uv 0.7.19 seems to have resolved the issue for me as well.

@jsbrich commented on GitHub (Jul 4, 2025): Updating to uv 0.7.19 seems to have resolved the issue for me as well.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ProxmoxVE#1200