Kevin Ahrendt
e5b425bc6a
[voice_assistant] Add unit tests for runtime model config handling
...
Covers the two Python behaviours a build YAML cannot: the conditional AUTO_LOAD
that keeps sha256 and json out of builds that do not download models, and the
validator rejecting http_request_id without micro_wake_word.
2026-08-10 08:11:47 -04:00
Kevin Ahrendt
be2b2920c8
Clean up comments
...
- Remove unnecessary ones that are self-explanaied by the code
- Reduce verbosity
2026-08-10 08:11:47 -04:00
Kevin Ahrendt
046d030d36
[voice_assistant] Download wake word models advertised by Home Assistant
...
Home Assistant sends the list of external wake words it knows about with
every configuration request. This picks up the ones micro_wake_word can
run, downloads them on demand, and hands them to micro_wake_word so they
can be activated like a compiled-in model.
Set the new http_request option to turn this on. It requires
micro_wake_word to be configured, and pulls in the sha256 and json
components used to verify a download and read its manifest.
How it works:
- The advertised wake words are cached on each configuration request, so
entries Home Assistant stops sending drop out and their models are
unloaded.
- When Home Assistant activates a wake word whose model is not loaded
yet, the model is queued and fetched by a background task. The wake
word is reported as active straight away so the UI reflects the request
while the download runs.
- Downloads are checked against the size and hash from the manifest, and
the model has to use the same feature step size as the frontend.
- A model that fails to load is stored as disabled so it is not retried
on every boot.
- Loaded models are restored after a reboot.
The configuration response now comes entirely from voice_assistant, which
merges the compiled-in models with the cached external wake words, so the
API no longer needs to append them itself.
2026-08-10 08:11:47 -04:00
J. Nick Koston and GitHub
25cb440005
[core] Use Happy Eyeballs for remote file downloads ( #18050 )
2026-08-10 17:29:00 +12:00
J. Nick Koston and GitHub
0f59ef36a9
[core] Store the validated-config cache as JSON to drop YAML off the upload fast path ( #18106 )
2026-08-10 17:26:41 +12:00
ab12e5490f
[modbus] Rename send_pdu() to queue_pdu() ( #18196 )
...
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-09 17:00:44 -05:00
J. Nick Koston and GitHub
e9f428983e
[ble_device_base] Bind BLEHub to the build's tracker at compile time ( #18181 )
2026-08-09 08:57:31 -05:00
J. Nick Koston and GitHub
862b13c8dd
[esp32_ble_tracker] Retire the scanner-state listener interface ( #18179 )
2026-08-08 20:58:48 -05:00
J. Nick Koston and GitHub
8c74e3d5ef
[bluetooth_proxy] Deliver scanner state through the hub callback ( #18175 )
2026-08-08 15:59:49 -05:00
J. Nick Koston and GitHub
04384e0f5b
[ble_device_base] Bind the GATT backend at compile time ( #18185 )
2026-08-08 15:59:32 -05:00
J. Nick Koston and GitHub
7218aa4803
[bluetooth_connection] Explicit pairing for rp2 ( #18166 )
2026-08-08 09:51:12 -05:00
J. Nick Koston and GitHub
9cb46aa584
[bluetooth_proxy] Deliver esp32 advertisements through the hub callback ( #18173 )
2026-08-08 09:50:32 -05:00
Edvard Filistovič and GitHub
68acc055bf
[ble_device_base] Migrate BLE sensor platforms to the neutral layer (batch 13: xiaomi_rtcgq02lm, xiaomi_wx08zm, xiaomi_xmwsdj04mmc) ( #18183 )
2026-08-08 02:06:40 -05:00
2730c10c2c
[modbus] Route broadcast writes (address 0) to all server devices ( #17387 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-08 01:35:49 -05:00
Edvard Filistovič and GitHub
252bb3333e
[ble_device_base] Migrate BLE sensor platforms to the neutral layer (batch 12: xiaomi_miscale, xiaomi_mjyd02yla, xiaomi_mue4094rt) ( #18180 )
2026-08-08 01:34:08 -05:00
Edvard Filistovič and GitHub
98f4854ecd
[ble_device_base] Migrate BLE sensor platforms to the neutral layer (batch 11: xiaomi_lywsdcgq, xiaomi_mhoc303, xiaomi_mhoc401) ( #18178 )
2026-08-08 01:01:24 -05:00
Edvard Filistovič and GitHub
413a4c5885
[ble_device_base] Migrate BLE sensor platforms to the neutral layer (batch 10: xiaomi_lywsd02, xiaomi_lywsd02mmc, xiaomi_lywsd03mmc) ( #18174 )
2026-08-08 00:27:44 -05:00
Edvard Filistovič and GitHub
087b80eeb5
[ble_device_base] Migrate BLE sensor platforms to the neutral layer (batch 9: xiaomi_hhccjcy10, xiaomi_hhccpot002, xiaomi_jqjcy01ym) ( #18172 )
2026-08-07 23:42:37 -05:00
Edvard Filistovič and GitHub
b986530efc
[ble_device_base] Migrate BLE sensor platforms to the neutral layer (batch 8: xiaomi_cgpr1, xiaomi_gcls002, xiaomi_hhccjcy01) ( #18171 )
2026-08-07 22:51:33 -05:00
Edvard Filistovič and GitHub
3aaea907ba
[ble_device_base] Migrate BLE sensor platforms to the neutral layer (batch 7: xiaomi_cgd1, xiaomi_cgdk2, xiaomi_cgg1) ( #18170 )
2026-08-07 21:59:21 -05:00
Edvard Filistovič and GitHub
1d184b43eb
[ble_device_base] Migrate BLE sensor platforms to the neutral layer (batch 6: thermopro_ble, exposure_notifications, xiaomi_ble) ( #18168 )
2026-08-07 20:47:52 -05:00
b0aec6dc2f
[modbus_client] Lambda sugar ( #18146 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-08-07 16:09:15 -05:00
4a7d270494
[ble_device_base] Migrate BLE sensor platforms to the neutral layer (batch 5: airthings_ble, inkbird_ibsth1_mini, radon_eye_ble) ( #18165 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-08-07 20:46:43 +00:00
Edvard Filistovič and GitHub
23a3454551
[ble_device_base] Migrate BLE sensor platforms to the neutral layer (batch 4: ruuvi_ble, ruuvitag, b_parasite) ( #18161 )
2026-08-07 14:21:46 -05:00
f5ee72753d
[modbus_client] Add typed read/write actions ( #18078 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: Claude <noreply@anthropic.com >
2026-08-07 14:18:20 -05:00
c24e61439b
[modbus] Add server support for read/write multiple registers (0x17) ( #17357 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-07 14:17:11 -05:00
J. Nick Koston and GitHub
2e1c517821
[bluetooth_proxy] Enable active connections on rp2 ( #18132 )
2026-08-07 13:51:41 -05:00
950cfc4da3
[ld6002b] Add select and button platforms (4/5) ( #17822 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-08-07 14:33:37 -04:00
715b14aeba
[ble_device_base] Migrate BLE sensor platforms to the neutral layer (batch 3: mopeka_ble, mopeka_pro_check, mopeka_std_check) ( #17951 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-07 12:59:27 -05:00
Edvard Filistovič and GitHub
77bfda6f1f
[ble_device_base] Migrate BLE sensor platforms to the neutral layer (batch 2: atc_mithermometer, pvvx_mithermometer, bthome_mithermometer) ( #17950 )
2026-08-07 12:48:18 -05:00
b326cefea7
[esp32] refactor esp32-vfs default configs to FINAL co-routine & add some defaults ( #17337 )
...
Co-authored-by: Oliver Kleinecke <kleinecke.oliver@googlemail.com >
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: storage split <ai@local>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-08-07 12:36:59 -05:00
J. Nick Koston and GitHub
c5e165d062
[bluetooth_proxy] Make the GATT dispatch platform neutral ( #18130 )
2026-08-07 11:29:19 -05:00
Edvard Filistovič and GitHub
5f483b11b6
[ble_device_base] Migrate BLE sensor platforms to the neutral layer (batch 1: ble_presence, ble_rssi, ble_scanner) ( #17716 )
2026-08-07 16:19:08 +00:00
b802740997
[ld6002b] Add switch, number and text sensor platforms (3/5) ( #17821 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-08-07 11:11:29 -04:00
Edvard Filistovič and GitHub
1bbe8b415f
[bluetooth_proxy] Only advance the scanner-state detector when the frame was sent ( #18154 )
2026-08-07 15:01:50 +00:00
8b0e23d55b
[bluetooth_proxy] Fold scanner-state bookkeeping into the sender; extend platform-gate tests ( #18150 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-08-07 14:30:00 +00:00
J. Nick Koston and GitHub
2f2634bf6b
[bluetooth_connection] Move BluetoothConnection out of bluetooth_proxy ( #18129 )
2026-08-07 08:54:28 -05:00
Jonathan Swoboda and GitHub
9c93d8925f
[ota] Use PSA crypto for signature verification on ESP-IDF 6 ( #18145 )
2026-08-07 07:41:48 -04:00
J. Nick Koston and GitHub
634515ecc5
[ble_device_base] Add platform-neutral GATT client contract ( #18128 )
2026-08-06 21:45:57 -05:00
J. Nick Koston and GitHub
e58ba59288
[core] Add StringRef::starts_with ( #18142 )
2026-08-06 20:58:41 -05:00
Jonathan Swoboda and GitHub
96f0ea10f4
[midea] Bump MideaUART so its ESP-IDF shims stop shadowing millis() ( #18119 )
2026-08-06 21:46:28 -04:00
J. Nick Koston and GitHub
97558ce64a
[core] Add EventPool::warm() ( #18127 )
2026-08-06 20:40:04 -05:00
4c47051da9
[zigbee] Add on_start automation (3/3) ( #18009 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-08-06 19:45:44 -04:00
56682534f8
[modbus_client] Add component for ad-hoc modbus request/response ( #17676 )
...
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-06 14:52:23 -05:00
53b1b3a253
[ld6002b] Add target sensors (2/5) ( #17820 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-08-06 15:36:32 -04:00
zerafachris and GitHub
4ccf4210be
[epaper_spi] Do not yield on the final row of a T133A01 transfer phase ( #17709 )
2026-08-07 03:34:33 +10:00
3221ed2bad
[ble_device_base] Hub provider registry and shared consumer helpers ( #18081 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-06 12:13:30 -05:00
J. Nick Koston and GitHub
abc13a7c0a
[script] Disable queued script polling while the queue is empty ( #18121 )
2026-08-06 10:00:46 -05:00
J. Nick Koston and GitHub
73689f8d8b
[rp2] Limit pin validation to GPIO 0-29 on RP2350A boards ( #18102 )
2026-08-06 08:55:24 -05:00
J. Nick Koston and GitHub
eb0fac9cbf
[core] Only snapshot the user config when esphome config --no-defaults asks for it ( #18113 )
2026-08-05 21:20:52 -05:00