J. Nick Koston
a877acf1d1
Address Copilot review on PR #16021
...
- download_content_many now de-duplicates by `path` so two callers
asking for the same cache file (e.g. the same URL referenced twice
in a config) can't race on download_content's non-atomic write. When
duplicates are present, the first-seen URL for that path wins.
- Clamp `max_workers` to at least 1 so an invalid caller value can't
raise ValueError out of ThreadPoolExecutor.
2026-04-26 09:55:27 -05:00
J. Nick Koston
54493faafc
Fix download_web_files_in_config tests for generator argument
2026-04-26 09:53:07 -05:00
J. Nick Koston
540696282b
Hoist duplicated _download_all_web_files into external_files.download_web_files_in_config
...
audio_file and speaker.media_player had byte-identical helpers that
collected web URLs from a list-of-file-configs and handed them to
download_content_many. Move that logic into external_files as
`download_web_files_in_config(config, path_for)` -- callers only have
to pass the per-component cache-path callback now.
2026-04-26 09:52:29 -05:00
J. Nick Koston
2d9d1eabfa
[core] Download external_files in parallel
...
Each component that uses external_files (audio_file, speaker
media_player, ...) currently calls download_content once per file
inline inside a per-item config validator. With ~24 cached audio
files in a Home Assistant Voice PE config, that means ~24 sequential
HEAD round-trips, even when every response is a 304.
This adds download_content_many(items, ...) which fans the per-file
checks out across a ThreadPoolExecutor (capped at 16 workers so
configs with hundreds of files don't open hundreds of sockets), then
refactors audio_file and speaker.media_player to collect URLs at the
list level and call the batch helper once instead of downloading
inside each per-item validator.
Wall time for the validation phase drops from sum(latency) to roughly
max(latency) when the cache is warm.
2026-04-26 09:36:13 -05:00
J. Nick Koston
0f25d91e68
[core] Unify skip_external_update and honor it in external_files for faster esphome logs ( #16016 )
2026-04-26 07:24:33 -05:00
Boris Krivonog
c8d4420408
[mitsubishi_cn105] add support for half-degree temperature setpoint ( #15919 )
2026-04-26 07:19:49 -05:00
Darafei Praliaskouski and J. Nick Koston
b084fa4490
[esp32] Make ESP-IDF builds reproducible ( #16008 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-26 06:31:32 -05:00
68625a1b76
[core] Isolate generated build metadata ( #16007 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-26 09:11:09 +00:00
J. Nick Koston
f092e619d8
[rtttl] Gate on_finished_playback callback storage behind define ( #16003 )
2026-04-26 00:03:59 -05:00
Keith Burzinski and J. Nick Koston
bc33260c61
[ir_rf_proxy] Extend for RF ( #15744 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-25 22:33:02 -05:00
J. Nick Koston
4cab262ef8
[ci] Trigger CodSpeed benchmarks on host platform changes ( #15995 )
2026-04-25 17:18:21 -04:00
J. Nick Koston
4f8feb86f0
[dashboard] Add --no-states support to logs WebSocket handler ( #15993 )
2026-04-25 15:43:05 -05:00
b5ccd55f4e
[packages] Fix premature substitution of vars in remote package files ( #15997 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-25 17:06:58 +00:00
Kevin Ahrendt
94e300389c
[sendspin] remove year and track number text sensors and refactor ( #15975 )
2026-04-24 15:35:32 +00:00
Kevin Ahrendt
55bcf33446
[sendspin] Add metadata sensor component ( #15971 )
2026-04-24 14:32:47 +00:00
Kevin Ahrendt
f132b7dc07
[media_player][speaker][speaker_source] Centralize preferred format codegen ( #14771 )
2026-04-24 14:09:03 +00:00
Kevin Ahrendt
ac7f0f0b74
[sendspin] Add a metadata text sensor component ( #15969 )
2026-04-24 11:07:00 +00:00
bc7f35b569
[sendspin] Add a Sendspin media source component for playing audio (PR4) ( #15950 )
...
Co-authored-by: Copilot <copilot@github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-24 10:00:22 +00:00
J. Nick Koston
eceb534895
[deep_sleep] Fix sleep_duration codegen type to uint32_t ( #15965 )
2026-04-24 07:19:59 +00:00
tomaszduda23 and Copilot
404620b99c
[deep_sleep][logger][zephyr][zigbee] add deep sleep support with zigbee wakeup ( #13950 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-23 22:31:46 -04:00
3ccaa771a7
[sendspin] Add a group media player controller (PR3) ( #15948 )
...
Co-authored-by: Copilot <copilot@github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-24 01:46:25 +00:00
Kevin Ahrendt and Copilot
b4a86e46b2
[sendspin] Add controller role and sendspin.switch action (PR2) ( #15929 )
...
Co-authored-by: Copilot <copilot@github.com >
2026-04-23 20:22:47 -05:00
Kevin Ahrendt and Copilot
ddf1426f86
[sendspin] Add initial Sendspin hub component (PR1) ( #15924 )
...
Co-authored-by: Copilot <copilot@github.com >
2026-04-23 22:09:36 +00:00
Kevin Ahrendt and Copilot
d759f1a567
[audio_http] Add a media source for playing audio from HTTP URLs ( #15741 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-23 15:53:52 -05:00
f757cd1210
[zigbee][core] Add support for Zigbee binary sensors on ESP32 H2 and C6 ( #11553 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-23 12:46:56 -04:00
Paulus Schoutsen
9b45b046a8
[core] Allow finding all devices as target that match mac suffix ( #13135 )
2026-04-23 08:43:32 -05:00
Keith Burzinski
4c2efd4165
[radio_frequency] Add experimental radio_frequency entity type (base component + API) ( #15556 )
2026-04-23 01:15:25 -05:00
Jonathan Swoboda
a881121110
[ota] Make set_auth_password() lambda-callable via empty-password opt-in ( #15928 )
2026-04-22 23:06:31 -04:00
Jesse Hills
e1d629f0d2
[time] Handle Windows EINVAL when validating POSIX TZ strings ( #15934 )
2026-04-23 14:35:13 +12:00
Asela Fernando and Jonathan Swoboda
a73bac0b5f
[ac_dimmer] Zero-crossing interrupt type ( #15862 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-04-22 14:57:53 -04:00
PolarGoose
ea2e36e55a
[dsmr] Improve performance. Add missing sensors. Remove Crypto-no-arduino. ( #15875 )
2026-04-22 13:49:14 -04:00
rwrozelle and J. Nick Koston
d5263cd46e
[esp32] add watchdog_timeout configuration variable ( #15908 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-22 13:01:23 +00:00
J. Nick Koston
699cf9690a
[core] Optimize value_accuracy_to_buf to avoid snprintf ( #15596 )
2026-04-22 16:31:34 +12:00
Javier Peletier and J. Nick Koston
9cebce1b6e
[substitutions] Improve error messages with include stack trace ( #15874 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-22 03:19:01 +02:00
Keith Burzinski
ee91ad8f06
[esp32] Add Secure Boot V1 ECDSA signing scheme for pre-rev-3.0 ESP32 ( #15882 )
2026-04-22 11:25:05 +12:00
43c6b839cd
[sensor] Filter to round to significant digits ( #11157 )
...
Co-authored-by: Clyde Stubbs <2366188+clydebarrow@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-04-21 14:00:03 +00:00
Edward Firmo
0c9d443a5c
[esp32_ble] Add use_psram option to offload BT memory allocation to SPIRAM ( #15644 )
2026-04-21 15:18:46 +02:00
J. Nick Koston
14defb69b6
[template] Use placement new for template text restore saver ( #15883 )
2026-04-21 13:04:13 +00:00
J. Nick Koston
e4f413adad
[core] decouple main loop cadence from scheduler wake timing ( #15792 )
2026-04-21 14:48:21 +02:00
Jonathan Swoboda
a43ee15b56
[core] Fix Pvariable placement new losing subclass identity ( #15881 )
2026-04-20 22:33:48 -04:00
Elvin Luff
6af341bb5b
[epaper_spi] Support SSD1683 and GDEY042T81 4.2 inch display ( #13910 )
2026-04-20 09:34:31 -04:00
Clyde Stubbs
82656cb0cf
[mipi_dsi] Add Seeed reTerminal d1001 display ( #15867 )
2026-04-20 09:28:52 -04:00
Rui Marinho
b72f5447c3
[modbus] Simplify payload size validation in modbus_helpers ( #15838 )
2026-04-20 09:24:07 -04:00
7321e6e52f
[rtttl] allow any control parameters order and default value fallback ( #14438 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-04-20 09:10:05 -04:00
aad1318b4a
[packages] Improve error messages with include stack and fix missing path propagation ( #15844 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2026-04-19 21:09:14 +00:00
J. Nick Koston
7a23a339e9
[substitutions] Fix substitutions: !include file.yaml regression ( #15850 )
2026-04-20 09:00:31 +12:00
J. Nick Koston
38d894dfe7
[ld2412] Fix flaky integration test race condition ( #15833 )
2026-04-18 08:17:22 -05:00
J. Nick Koston and Copilot Autofix powered by AI
b293be23b0
[ci] Honor CONFLICTS_WITH when grouping component tests ( #15834 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-04-18 08:11:38 -05:00
Jonathan Swoboda
b1b0005574
[esp32] Downgrade unneeded ignore_pin_validation_error to a warning ( #15811 )
2026-04-17 16:14:54 -04:00
J. Nick Koston
34c35c84d5
[core] Fix DelayAction compile error with non-const reference args ( #15814 )
2026-04-17 14:31:31 +00:00