J. Nick Koston
e5fe8cc351
Fail fast when the device's UDP port refuses, include <algorithm>
2026-10-10 13:17:06 -10:00
J. Nick Koston
5faadcdbf8
Log every UDP decline, report a client close in the commit wait, fall back when the UDP socket fails
2026-10-10 13:09:24 -10:00
J. Nick Koston
00955d449a
Cover the UDP client paths in the espota2 unit tests
2026-10-10 13:06:14 -10:00
J. Nick Koston
bfa0a5fc94
Add host UDP support with end to end tests, surface device errors over UDP
...
The host platform now offers UDP through a socket drained by the wait
loops, so the host OTA integration tests cover UDP with loss, the TCP
fallback, a device error mid upload and Noise. Over UDP the device no
longer waits for the final ack, the client stops and reads a device error
as soon as one arrives, socket errors are named in the no progress error,
and the device notices the commit within 100 ms. LibreTiny without core
locking drops the UDP code at build time.
2026-10-10 12:56:41 -10:00
J. Nick Koston
54b34edf2d
[ota] Fall back to a UDP data phase when the link is lossy
...
TCP gives up on links that lose many packets: retransmit timers back off and
the connection drops, so devices on poor Wi-Fi cannot be updated without being
moved. After the TCP handshake, a client that saw loss moves the upload to a
UDP byte stream that the device acks from lwIP's receive callback as datagrams
arrive, keeping at most four of them like TCP's window. Clean links stay on
TCP; blocked UDP falls back to TCP.
2026-10-10 12:15:36 -10:00
J. Nick Koston
dd45f8a6f8
[usb_host] Warn instead of failing when a device duplicates a usb_uart entry ( #20373 )
2026-10-09 16:38:05 -10:00
J. Nick Koston and pre-commit-ci-lite[bot]
41cc96bbb8
[light] Keep the effect list in a flash table ( #20204 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-10-09 15:55:09 -10:00
J. Nick Koston
073394b1eb
[core] Let a trigger filter name its parent with {parent} ( #20448 )
2026-10-09 15:43:22 -10:00
J. Nick Koston
59963dd246
[espidf] Declare the map byproduct only when IDF has not ( #20462 )
2026-10-09 15:38:16 -10:00
Bascht74
4e4056d790
[uart] Share uart_tcp's write pacing and uart_id matcher ( #20464 )
2026-10-09 15:11:48 -10:00
J. Nick Koston
76ba7f0c88
[espidf] Cache the discovered component list once per target ( #20432 )
2026-10-09 09:10:06 -10:00
J. Nick Koston
822bbb85dc
[core] Build trigger callbacks as stateless lambdas ( #19606 )
2026-10-09 08:50:32 -10:00
J. Nick Koston
daea315b13
[nrf52] Fake a larger flash in testing mode ( #20439 )
2026-10-09 08:36:42 -10:00
J. Nick Koston
6a463c801e
[ci] Stop the toolchain tests from installing ESP-IDF ( #20413 )
2026-10-08 21:42:45 -04:00
Kevin Ahrendt and J. Nick Koston
e395e626ec
[api][sendspin] Add a request for the Sendspin pairing token ( #20355 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-10-08 19:12:20 +00:00
J. Nick Koston
e51e0e683f
[esp8266] Force-include the throw stubs into the core and libraries on the native toolchain ( #20336 )
2026-10-08 06:06:45 -10:00
J. Nick Koston
f5e4c0356f
[core] Move zstd_module from the api wizard to esphome.helpers ( #20342 )
2026-10-08 11:08:38 -04:00
Jesse Hills
73bbd75d3f
[core] Let cv.rename_key pass non-dict input through ( #20331 )
2026-10-08 17:29:56 +13:00
J. Nick Koston
0a7763d902
[esp8266] Normalize misspelled boards and fall back to PlatformIO for unknown ones ( #20322 )
2026-10-08 17:05:18 +13:00
J. Nick Koston
7aeed8455e
[api] Add a progmem option for bytes fields kept in flash ( #20318 )
2026-10-08 16:24:27 +13:00
J. Nick Koston
8eba5a1c28
[core] Warn on every run that Intel Mac support ends by 2027.6.0 ( #20303 )
2026-10-08 16:23:01 +13:00
J. Nick Koston
0323fd36d4
[core] Clone git PlatformIO packages in parallel in the prefetch ( #18837 )
2026-10-08 09:00:07 +13:00
Jesse Hills and J. Nick Koston
6f940a486b
[api] Add a device wizard for Home Assistant onboarding ( #19966 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-10-07 09:49:31 -10:00
TheSwert
2560a4436e
[audio_http][core] Add ca_certificate_path to audio_http media source ( #19392 )
2026-10-07 09:28:10 -10:00
Clyde Stubbs and Claude Sonnet 5
6dec759261
[core] Select I/O expander pin providers by I2C address ( #18939 )
...
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
2026-10-07 09:18:40 -10:00
678975b6b2
[usb_host] iManufacturer and iProduct descriptor filters ( #19095 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: Keith Burzinski <kbx81x@gmail.com >
2026-10-07 13:25:28 -05:00
J. Nick Koston
cf96c53279
[espnow] Keep constant send payloads in shared flash tables ( #20271 )
2026-10-07 05:40:12 -10:00
Francesco Pace
923700dcc9
[espectre] Add Wi-Fi CSI motion detection component ( #19801 )
2026-10-06 19:46:06 -05:00
Clyde Stubbs
e68a499429
[motion] Add gesture detection ( #16787 )
2026-10-06 15:57:20 -05:00
J. Nick Koston
4eeb110247
[esp32] Extract prefetched ESP-IDF tool archives in parallel ( #18841 )
2026-10-07 09:26:46 +13:00
J. Nick Koston
417fdd9dc7
[nrf52] Share the ccache between devices ( #20028 )
2026-10-05 10:53:35 -05:00
Jonathan Swoboda
00303fb72b
[esp32][api][noise] Resolve arduino's libsodium requirement to the converted esphome/libsodium ( #20185 )
2026-10-05 09:55:18 -04:00
Bascht74
aa02a0996a
[socket][tcp_uart][uart_tcp] Reject an IPv6 host at config time ( #20165 )
2026-10-05 08:48:33 -05:00
J. Nick Koston
4f9cd7821a
[core] Log ignored --skip-bootloader at debug level ( #20059 )
2026-10-05 12:14:42 +13:00
J. Nick Koston
63cb75726b
[noise] Use the shared PROGMEM table helper for the PSK ( #20101 )
2026-10-04 13:06:05 -05:00
J. Nick Koston
6d33b0401d
[nrf52] Use the shared managed ccache settings for the native build ( #20027 )
2026-10-02 13:28:40 -05:00
Bascht74 and J. Nick Koston
b6c79fdc9a
[socket] Share the server side as TcpListener ( #20037 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-10-02 13:07:00 -05:00
Bascht74 and J. Nick Koston
5def4d46ca
[socket] Add an IPv4 allow list ( #20025 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-10-02 11:22:21 -05:00
J. Nick Koston
7096546d83
[nrf52] Create the precompiled header in ccache depend mode ( #20019 )
2026-10-02 15:07:13 +00:00
1440998f3c
[core] Add new options suspend_loop and loop_interval ( #18136 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@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@home-assistant.io >
2026-10-02 09:09:14 -05:00
J. Nick Koston
d970e9292e
[esphome][ota][core] Compress OTA uploads on ESP32, RP2040, LibreTiny and host ( #19037 )
2026-10-02 08:00:10 -05:00
J. Nick Koston
797682cccc
[espidf] Skip the lwip sources that compile to empty objects ( #20000 )
2026-10-02 07:59:52 -05:00
J. Nick Koston
a58f3d34aa
[core] Compile util.cpp only on MQTT builds ( #20003 )
2026-10-02 07:59:36 -05:00
J. Nick Koston
3fd8f00e97
[socket] Compile the lookup and client link helpers only when required ( #20002 )
2026-10-02 07:31:41 -05:00
Jeff Brown and J. Nick Koston
12b016e3d2
[substitutions] Support !include with a condition ( #19455 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-10-02 07:27:29 -05:00
J. Nick Koston
8617368294
[espidf] Read the ESP-IDF version in process instead of starting idf_tools ( #19998 )
2026-10-01 19:48:00 -05:00
J. Nick Koston
6479e079d2
[espidf] Build all and size in one ninja run ( #19997 )
2026-10-01 19:39:18 -05:00
J. Nick Koston
ff97353767
[espidf] Resolve the ESP-IDF tool paths once per build ( #19996 )
2026-10-01 19:39:06 -05:00
J. Nick Koston
dff793a949
[espidf] Mirror registry components locally so configures skip the registry ( #19949 )
2026-10-01 15:20:27 -05:00
J. Nick Koston
0ed997da92
[espidf] Add --skip-bootloader for OTA only builds ( #19925 )
2026-10-01 13:55:30 -05:00