Version
2026.3.0
What type of installation are you using?
Docker
Browser
Firefox
What happened?
The deployed_version shown in the dashboard comes from storage.esphome_version on disk. It gets updated in two ways:
- At compile/upload time, correct at the moment of flashing
- Via the mDNS TXT record, update_device_mdns() in zeroconf.py reads the version field broadcast by the device and refreshes the stored value
However, async_refresh_hosts() in dashboard/status/mdns.py explicitly skips devices with no_mdns: true, so path #2 never runs for them. The native API does expose esphome_version in DeviceInfoResponse, but the dashboard doesn't currently use it to update the stored version.
For no-mDNS devices, the "Deployed version" in the dashboard is stuck at whatever was compiled at last flash. If the device is later reflashed (via a different instance of the dashboard for example), the version badge may show "Update available" incorrectly or, never show it when it should.
How to reproduce
- Disable mdns
- Flash a new version
- Remove the related json in .storage, or use the dashboard on a different device
- See a potentially wrong 'Update' badge
Expected behavior
We could use the native API (when enabled) to refresh it. Alternatively, MQTT could also be used I believe when enabled.
Would a PR that refreshes esphome_version via the native API (for no-mDNS devices) be welcome ?
Relevant log output
Screenshots
No response
Version
2026.3.0
What type of installation are you using?
Docker
Browser
Firefox
What happened?
The deployed_version shown in the dashboard comes from storage.esphome_version on disk. It gets updated in two ways:
However, async_refresh_hosts() in dashboard/status/mdns.py explicitly skips devices with no_mdns: true, so path #2 never runs for them. The native API does expose esphome_version in DeviceInfoResponse, but the dashboard doesn't currently use it to update the stored version.
For no-mDNS devices, the "Deployed version" in the dashboard is stuck at whatever was compiled at last flash. If the device is later reflashed (via a different instance of the dashboard for example), the version badge may show "Update available" incorrectly or, never show it when it should.
How to reproduce
Expected behavior
We could use the native API (when enabled) to refresh it. Alternatively, MQTT could also be used I believe when enabled.
Would a PR that refreshes esphome_version via the native API (for no-mDNS devices) be welcome ?
Relevant log output
Screenshots
No response