esphome requires more recent version of python-zeroconf
Description:
The latest update of ESPHome released today depends on a more recent version of the python-zeroconf lib.
The following error triggers when uploading a new firmware to device via network and zeroconf discovery:
Traceback (most recent call last):
File "/usr/bin/esphome", line 8, in <module>
sys.exit(main())
~~~~^^
File "/usr/lib/python3.13/site-packages/esphome/__main__.py", line 1057, in main
return run_esphome(sys.argv)
File "/usr/lib/python3.13/site-packages/esphome/__main__.py", line 1044, in run_esphome
rc = POST_CONFIG_ACTIONS[args.command](args, config)
File "/usr/lib/python3.13/site-packages/esphome/__main__.py", line 535, in command_run
exit_code = upload_program(config, args, port)
File "/usr/lib/python3.13/site-packages/esphome/__main__.py", line 392, in upload_program
return espota2.run_ota(host, remote_port, password, CORE.firmware_bin)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/esphome/espota2.py", line 358, in run_ota
return run_ota_impl_(remote_host, remote_port, password, filename)
File "/usr/lib/python3.13/site-packages/esphome/espota2.py", line 316, in run_ota_impl_
res = resolve_ip_address(remote_host, remote_port)
File "/usr/lib/python3.13/site-packages/esphome/helpers.py", line 174, in resolve_ip_address
addr_list = _resolve_with_zeroconf(host)
File "/usr/lib/python3.13/site-packages/esphome/helpers.py", line 104, in _resolve_with_zeroconf
from esphome.zeroconf import EsphomeZeroconf
File "/usr/lib/python3.13/site-packages/esphome/zeroconf.py", line 8, in <module>
from zeroconf import (
...<5 lines>...
)
ImportError: cannot import name 'AddressResolver' from 'zeroconf' (/usr/lib/python3.13/site-packages/zeroconf/__init__.py)
The desired class has been added in 0.142.0 of the zeroconf lib: https://github.com/python-zeroconf/python-zeroconf/commit/ae3c3523e5f2896989d0b932d53ef1e24ef4aee8
Additional info:
- package version(s):
- esphome 2025.3.1-1
- python-zeroconf 0.141.0-2
- config and/or log files:
- link to upstream bug report, if any:
Steps to reproduce:
esphome run device-file.yaml- Select
[2] Over The Air (abcdef.local) - Get import error.