J. Nick Koston
83c9603b4b
Address review: one overcommit message per platform and a stall breadcrumb
...
Platforms whose BLE stack owns a connection budget (esp32, rp2) report an
overcommit exactly once through that stack; the neutral cap check covers
future backend platforms without one. The write action logs unmatched
completions while a chain is parked, and the schema-dump gap is documented
as deliberate.
2026-08-12 16:11:20 -05:00
J. Nick Koston
ad9a41ed61
Cover the engine feature gates in the schema tests
2026-08-12 16:04:57 -05:00
J. Nick Koston
e6b7b3a028
One ble_write action on the neutral node interface
...
The raw-gattc and neutral twins collapse into ble_write_action.h, registered
through register_gatt_node on both engines. On esp32 this is the in-tree
exerciser of the node bridge; builds without a ble_write action compile no
bridge code.
2026-08-12 16:02:50 -05:00
J. Nick Koston
9a4a550fb9
Express ble_client engine capabilities per platform
...
BLEClientFeatures (gatt_node / raw_gattc / security) with a per-platform
provider set, capability-named validation errors, NODE_BLE_CLIENT_SCHEMA +
register_gatt_node for migrated components, and the security actions gated on
the feature instead of the platform. esp32 auto-loads bluetooth_connection
for the shared materializer (compiles empty without a neutral node).
2026-08-12 15:58:25 -05:00
J. Nick Koston
42dc4025c9
Deliver the neutral node callbacks from the esp32 engine
...
Nodes registered through register_gatt_node() get the neutral surface:
service table at SEARCH_CMPL (honoring the search status the base ignores),
translated completion/notify fan-outs, pairing results, and teardown via
on_disconnect_complete. Bridge-initiated notify registrations are intercepted
before the base's automatic CCCD write - the CCCD is the node's job on the
neutral contract. Compiled only under USE_BLE_CLIENT_GATT_NODES; builds
without a neutral node are unchanged.
2026-08-12 15:55:56 -05:00
J. Nick Koston
901fd35a7e
Extract the Bluedroid service-table materializer into a shared class
...
BluedroidServiceTable carries the two-pass build verbatim in its own TU; the
backend embeds one instance. ble_client's esp32 engine becomes the second
consumer next.
2026-08-12 15:53:14 -05:00
J. Nick Koston
4344ffd682
Share one BLEClientNode between the engines and round out the neutral surface
...
The neutral callbacks (plus a new on_pairing_result hook) live unconditionally
in ble_client_node.h; the raw esp32 surface stays beneath them for unmigrated
nodes. Adds find_descriptor beside find_cccd and pair()/unpair() on the
neutral client. Drops the node 'client' pointer and address, which nothing
reads.
2026-08-12 15:47:43 -05:00
J. Nick Koston
1c671be1bd
Use the merged ledger accessor in the explicit-connections test
2026-08-12 15:04:26 -05:00
J. Nick Koston
52dc51c7c6
Merge remote-tracking branch 'upstream/dev' into neutral-ble-client
...
# Conflicts:
# esphome/components/bluetooth_connection/__init__.py
# esphome/components/bluetooth_connection/bluetooth_connection.cpp
# esphome/components/bluetooth_connection/bluetooth_connection.h
# esphome/components/bluetooth_connection/bluetooth_connection_bluedroid.cpp
# esphome/components/bluetooth_connection/bluetooth_connection_bluedroid.h
# esphome/components/bluetooth_connection/bluetooth_connection_hub.cpp
# esphome/components/bluetooth_connection/bluetooth_connection_hub.h
# esphome/components/bluetooth_proxy/__init__.py
# esphome/components/bluetooth_proxy/bluetooth_proxy.cpp
# esphome/components/bluetooth_proxy/bluetooth_proxy.h
# esphome/core/defines.h
# tests/components/bluetooth_connection/__init__.py
2026-08-12 15:04:09 -05:00
Jesse Hills
e192ec8fee
Merge branch 'beta' into dev
2026-08-13 00:29:08 +12:00
Jesse Hills
ec6b4263a2
Merge pull request #18314 from esphome/bump-2026.8.0b1
...
2026.8.0b1
2026.8.0b1
2026-08-13 00:28:40 +12:00
Jesse Hills
8a1aa5753d
Bump version to 2026.9.0-dev
2026-08-12 22:53:42 +12:00
Jesse Hills
3e4661fe1e
Bump version to 2026.8.0b1
2026-08-12 22:53:42 +12:00
J. Nick Koston
22153be4cd
[core] Add esphome logs over web_server HTTP SSE ( #17110 )
2026-08-12 22:00:07 +12:00
3f490fe1ed
[internal_temperature] Read the RP2 on-die sensor directly instead of via the Arduino API ( #18262 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-08-12 21:42:05 +12:00
J. Nick Koston
58a42fe5c2
[core] Batch remote file downloads during config validation ( #18069 )
2026-08-12 18:44:35 +12:00
25c0c2c97b
[hoermann_hcp] Add garage light control ( #18190 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-08-12 06:10:23 +00:00
J. Nick Koston
622942482c
[rp2] Size the lwIP segment pool and heap for concurrent senders ( #18257 )
2026-08-12 17:30:17 +12:00
Keith Burzinski
cffd775450
[ethernet][network][wifi] Arbitrate the default route from the network priority list ( #17797 )
2026-08-12 16:21:37 +12:00
J. Nick Koston
8d87ba34d9
[api] Move the generic buffer-full log to very verbose ( #18300 )
2026-08-12 04:04:07 +00:00
J. Nick Koston
08c6585915
[esp32_ble_tracker] Don't log an error when a scan stop is already in flight ( #18306 )
2026-08-12 16:03:28 +12:00
J. Nick Koston
3ef74d17af
[bluetooth_proxy] Give partial advertisement batches 200ms to fill on Wi-Fi ( #18303 )
2026-08-12 16:02:51 +12:00
J. Nick Koston
5d04c1dc18
[esp32_ble_tracker] Demote scan-state echoes to verbose ( #18302 )
2026-08-12 16:01:45 +12:00
J. Nick Koston
a3d599ac69
[bluetooth_connection] Demote rp2 backend connection logs to verbose ( #18301 )
2026-08-12 16:00:37 +12:00
J. Nick Koston
a4e05cd1c8
[bluetooth_proxy] Move per-advertisement logging to very verbose ( #18299 )
2026-08-12 15:59:41 +12:00
J. Nick Koston
1758653330
[voice_assistant] Do not consume the audio chunk when the send is refused ( #18295 )
2026-08-12 15:59:26 +12:00
J. Nick Koston
a2feff8f68
[api] Mark send_message nodiscard so refused frames are never silent ( #18293 )
2026-08-11 22:23:08 -05:00
J. Nick Koston
37eae9b466
[api] Gate the bluetooth connection messages on their own define ( #18281 )
2026-08-11 21:31:13 -05:00
Jesse Hills
9605b34c69
[adc] Deprecate pin: TEMPERATURE in favour of internal_temperature ( #18304 )
2026-08-12 14:20:41 +12:00
Jesse Hills
bab62b345b
[adc] Fix internal temperature channel on RP2350A under arduino-pico ( #18307 )
2026-08-12 14:19:59 +12:00
Jesse Hills
3349046c5d
[rp2] Record the RP2350 die on generated board entries ( #18305 )
2026-08-12 01:56:05 +00:00
J. Nick Koston
3f5b8139f3
[bluetooth_proxy] Latch the connection replies and tighten the send paths ( #18278 )
2026-08-12 13:52:25 +12:00
Jonathan Swoboda and J. Nick Koston
be5e28ea9e
[core] Warn when running a different source tree than the one you are in ( #18288 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-11 21:06:57 -04:00
J. Nick Koston
9f28638ee7
[bluetooth_proxy] Reset every owed reply in one place ( #18276 )
2026-08-11 19:15:21 -05:00
J. Nick Koston
201f843e95
[bluetooth_proxy] Latch the unpair reply ( #18274 )
2026-08-11 18:57:51 -05:00
J. Nick Koston
37a59a07bc
[bluetooth_proxy] Retry dropped GATT acks and stop the retry log spam ( #18259 )
2026-08-11 18:40:47 -05:00
Boris Krivonog and J. Nick Koston
9556c2bc4c
[mitsubishi_cn105] Add vertical vane control action ( #16737 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-11 18:39:05 -05:00
Bonne Eggleston and Jonathan Swoboda
3540012529
[tests] Build tests from the tree they run in, not the venv's editable install ( #18248 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-08-11 19:09:51 -04:00
Kevin Ahrendt and J. Nick Koston
e0b112c584
[sendspin] Clear metadata and controller state on disconnect ( #18289 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-11 21:03:27 +00:00
Kevin Ahrendt
7f0d6a8696
[sendspin] Add image platform for artwork ( #17937 )
2026-08-11 15:49:08 -05:00
Kevin Ahrendt
4a7de87bff
[audio] Bump microDecoder to v0.4.0 ( #18291 )
2026-08-11 15:33:37 -05:00
esphome[bot]
b9d1d2f06b
Bump aioesphomeapi from 45.9.0 to 45.10.0 ( #18294 )
2026-08-11 20:02:53 +00:00
dependabot[bot]
74c30c62ef
Bump setuptools from 83.0.0 to 84.0.0 ( #18290 )
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-11 14:36:59 -05:00
J. Nick Koston
94fbfa05de
[core] Show the out-of-flash tip instead of crashing the build ( #18280 )
2026-08-11 14:35:06 -05:00
Boris Krivonog and J. Nick Koston
55bd63732d
[mitsubishi_cn105] Add vertical vane state trigger ( #16727 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-11 13:56:12 -05:00
J. Nick Koston
3ae651af7b
[core] Stop dropping complete lines behind an unfinished one ( #18279 )
2026-08-11 12:38:55 -05:00
esphome[bot]
55e8bc3b14
Bump aioesphomeapi from 45.8.0 to 45.9.0 ( #18283 )
2026-08-11 17:23:36 +00:00
J. Nick Koston
9938a2487d
[core] Show the last line when output stops without a newline ( #18265 )
2026-08-11 10:55:42 -05:00
J. Nick Koston
aee41d64c2
[rp2040_ble][bluetooth_connection] 3 connection slots on rp2 with esp32 parity ( #18247 )
2026-08-11 08:43:08 -05:00
J. Nick Koston
f3a5a9fbd5
[core] Retry transient git network failures with backoff ( #18242 )
2026-08-11 08:41:55 -05:00