NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #5168 most downloaded on PyPI
Python API for interacting with ESPHome devices.
Last release 9 days ago
25 Sep 2026
Ships fairly regularly
a new release about every 1 weeks
Nearly every release is documented
notes for 58 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
8 years old
426 releases · first in 2018
[zwave_proxy] Add Home ID to DeviceInfoResponse (#1353) @kbx81
<details> <summary>2 changes</summary>
Add port and noise_psk properties to client_base (#1352) @balloob
One column per quarter.
Add support for getting the connected_address in the client (#1351) @bdraco
[zwave_proxy] Initial support (#1349) @kbx81
<details> <summary>2 changes</summary>
Rename ConnectRequest/Response to AuthenticationRequest/Response (#1346) @bdraco
Add ifdef option to ConnectRequest/Response for passwordless optimization (#1345) @bdraco
Make GetTime messages unidirectional (remove recently added unused capability) (#1344) @bdraco
<details> <summary>3 changes</summary>
Add timezone to GetTimeResponse (#1340) @bdraco
<details> <summary>3 changes</summary>
Fix scope_id in IPv6Sockaddr for "address%iface" (#1338) @fphammerle
Fix DNS resolution to succeed when at least one hostname resolves (#1334) @bdraco
Improve .local resolution compatibility with parallel DNS fallback (#1333) @bdraco
<details> <summary>5 changes</summary>
Add configured_mode to BluetoothScannerStateResponse (#1327) @bdraco
<details> <summary>5 changes</summary>
Add combined device_info_and_list_entities method to reduce connection latency (#1317) @bdraco
<details> <summary>2 changes</summary>
Fix subscribe_home_assistant_states_and_services with Cython (#1312) @bdraco
Add unified subscription method to reduce connection latency (#1311) @bdraco
<details> <summary>2 changes</summary>
Sync API changes for fixed array BLE advertisements (#1307) @bdraco
Drop support for pre-V3 Bluetooth connection methods (#1304) @bdraco
<details> <summary>2 changes</summary>
Fix TypeError when addresses parameter contains Estr objects (#1300) @bdraco
<details> <summary>2 changes</summary>
Sync areas and devices api.proto changes from ESPHome (#1297) @bdraco
Sync api.proto from esphome for Bluetooth proxies (#1296) @bdraco
Prevent duplicate connection error logging when using reconnect_logic (#1294) @bdraco
Optimize Bluetooth UUID storage to use single short_uuid field (#1293) @bdraco
Add support for efficient Bluetooth UUID handling (#1291) @bdraco
Downgrade APIConnectionCancelledError log level to DEBUG in connection.py (#1289) @bdraco
<details> <summary>2 changes</summary>
media_player add off on capability (#1092) @rwrozelle
Media player API enumeration alignment and feature flags (#1285) @rwrozelle
Update protobuf api for zero-copy repeated field support (#1284) @bdraco
Add no zerocopy option for api proto (#1280) @bdraco
Sync api.proto from esphome (#1279) @bdraco
Skip waiting for ConnectResponse when no password is configured (#1276) @bdraco
<details> <summary>3 changes</summary>
Remove unused send_failed field from SubscribeLogsResponse (#1269) @bdraco
Downgrade APIConnectionCancelledError log level to DEBUG (#1267) @bdraco
Regenerate protobuf files with protoc 6.30.0 for runtime compatibility (#1265) @bdraco
Mark remaining deprecated protobuf items to reduce flash usage (#1262) @bdraco
Mark deprecated protobuf fields to reduce flash usage (#1261) @bdraco
<details> <summary>3 changes</summary>
Sync protobuf changes for fixed-size BLE advertisement arrays (#1258) @bdraco
Remove deprecated unique_id field from API protocol (#1242) @bdraco
<details> <summary>4 changes</summary>
Reduce binary size by conditionally compiling protocol fields (#1250) @bdraco
Regenerate proto files with protobuf6 (#1249) @bdraco
Sync protobuf changes from esphome (#1247) @bdraco
Fix CameraImageResponse missing base class and sync USE_CAMERA ifdef (#1244) @bdraco
<details> <summary>3 changes</summary>
Add device_id field to all StateResponse messages for multi-device entity tracking (#1237) @bdraco
<details> <summary>2 changes</summary>
Do not create zeroconf listeners when name is an IP address (#1234) @bdraco
<details> <summary>5 changes</summary>
Fix DeviceInfo round-trip serialization after areas/devices fields additions (#1229) @bdraco
[API] Sub devices and areas (#1146) @dala318
Rebuild protobuf files with protobuf5 (#1227) @bdraco
<details> <summary>3 changes</summary>
Add intent progress to voice assistant enum (#1221) @synesthesiam
Add missing base class for EventResponse (#1220) @bdraco
Implement common base class for entity protobuf messages (#1219) @bdraco
Ensure third party callbacks on BLE notify do not cause disconnect (#1212) @bdraco
Add streaming log parser (#1209) @bdraco
Optimize parse_log_message for single case (#1208) @bdraco
<details> <summary>2 changes</summary>
Split connection process to enable earlier zeroconf listening (#1205) @bdraco
<details> <summary>6 changes</summary>
Fix race condition with internal message handlers registration (#1195) @bdraco
<details> <summary>3 changes</summary>
Fix old light enum value (#1190) @jesserockz
Add benchmark for most frequent noise message sizes (#1186) @bdraco
<details> <summary>2 changes</summary>
Fast nonce implementation for encryption (#1181) @bdraco
<details> <summary>6 changes</summary>
Bluetooth proxy: get state and set mode (#1170) @jesserockz
<details> <summary>6 changes</summary>
Ensure set_cached_name_if_unset accepts subclassed str (#1157) @bdraco
Replace get_event_loop with get_running_loop (#1156) @bdraco
Your coding agent can read these notes before it upgrades. Set up the MCP server →