Skip to content

deployed_version never refreshes for devices with mdns: disabled: true #885

@Ulrar

Description

@Ulrar

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

  1. Disable mdns
  2. Flash a new version
  3. Remove the related json in .storage, or use the dashboard on a different device
  4. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions