J. Nick Koston
3e30683cad
Probe UDP for 15 s before falling back to TCP
...
A device whose radio is busy with BLE can miss every probe for 5 s and lose
UDP. The device's commit wait grows to 80 s to cover the 60 s token wait plus
the longer probe.
2026-10-10 17:28:33 -10:00
J. Nick Koston
e158cd2de2
Treat a UDP send failure on the last chunk like a lost final ack
...
Surface a device error code waiting on the channel, and do not retry once
the whole image was queued, since the device may already be committing.
2026-10-10 15:43:59 -10:00
J. Nick Koston
959ddfdc6e
Merge remote-tracking branch 'origin/ota-udp-transport' into ota-udp-transport
2026-10-10 15:37:02 -10:00
J. Nick Koston
0e6b966352
Back the UDP resend timer off while acks come back untimed
...
On a slow, congested link every message was resent before its ack came back,
so no round trip could be timed and the timer stayed at 0.5 s: 16 datagrams per
message. Eight progress acks in a row with no timed round trip now double the
timer, up to its 2 s cap, until a sample resets it. Random loss still yields
samples, so it never triggers there.
2026-10-10 15:36:50 -10:00
J. Nick Koston
ec3ec4155d
Merge branch 'dev' into ota-udp-transport
2026-10-10 13:27:11 -10:00
luar123
1763adf526
[zigbee] add support for SED on esp32 ( #20487 )
2026-10-10 13:24:13 -10:00
Paul Traina
924d7364ba
[mipi_spi] ESP32-2432S028-9342 panel is RGB, not BGR ( #19419 )
2026-10-10 13:22:56 -10:00
J. Nick Koston
d0fc2c182e
Count Windows' reset as a refused UDP port
2026-10-10 13:22:31 -10:00
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
37d4bbb72f
Brace the UDP decline log
2026-10-10 13:09:32 -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
1b6d31b88e
Give LibreTiny's lock guard empty bodies so clang-tidy does not flag it as unused
2026-10-10 12:30:12 -10:00
J. Nick Koston
159b5a017e
Address review: token exchange under the setup timeout, close the UDP channel on failure, connect timeout 20 s, only device failures force UDP, guard the udp_ union and noise_write_ length
2026-10-10 12:27:28 -10:00
J. Nick Koston
977b7a1c98
Accept only request byte 1 so later UDP formats can use other values
2026-10-10 12:21:21 -10:00
J. Nick Koston
7f2f259284
Satisfy clang-tidy naming: static helpers without a trailing underscore, lwIP headers instead of forward declarations
2026-10-10 12:19:33 -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
esphome[bot]
5f43b8168e
Bump bundled esphome-device-builder to 1.23.1 ( #20497 )
2026-10-10 12:00:39 -10:00
J. Nick Koston
642c3b7a9e
[const] Add the milliampere hour unit to the shared constants ( #20495 )
2026-10-10 11:43:21 -10:00
78d3b9f5a1
[nrf52] Fix BLE OTA/log device discovery & transport selection on macOS ( #17101 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-10-10 21:17:01 +00:00
6559ea470b
[tca9548a] Allow separate I²C bus frequencies on each multiplexer port ( #10422 )
...
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 >
2026-10-10 10:58:09 -10:00
J. Nick Koston
ebbe3860ec
[const] Move aqi to the shared constants ( #20494 )
2026-10-10 09:43:57 -10:00
Rupayon Haldar and J. Nick Koston
ff96530e4d
[esp32] Honor sdkconfig CPU frequency options ( #20158 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-10-10 09:13:05 -10:00
865863abf5
[cm1106] Add ABC function ( #8894 )
...
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: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-10-10 09:12:40 -10:00
17cbb75161
[mitsubishi] Control both vanes on multi-vane Mitsubishi minisplit heads ( #12609 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-10-10 09:11:14 -10:00
f70b6a6b03
[mitsubishi] Add fahrenheit_compatibility mode ( #18880 )
...
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: J. Nick Koston <nick@koston.org >
2026-10-10 09:04:06 -10:00
J. Nick Koston
2ac48d408f
[const] Move automatic_baseline_calibration to the shared constants ( #20492 )
2026-10-10 08:56:49 -10:00
667dbd1ec3
[adalight] Add a component build test ( #19103 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-10-10 08:56:16 -10:00
Jeff Brown
a4ef8a6c90
[addressable_light] Clear white channel when setting HSV color ( #20265 )
2026-10-10 08:43:33 -10:00
Jonathan Swoboda
ea7c277c08
[ci] Mark PRs with merge conflicts stale after 30 days ( #20490 )
2026-10-10 14:34:29 -04:00
Bascht74 and J. Nick Koston
eb1afa4245
[tests] Close leftover server connections in the tcp_uart bridge and TCP client link tests ( #20215 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-10-10 08:15:30 -10:00
J. Nick Koston
3447b68136
[ci] Compile an ESP8266 config with the native toolchain on Windows ( #20467 )
2026-10-10 08:00:40 -10:00
tomaszduda23
9f4a7cf5cc
[nrf52] fix build error on 3.4.0 with pch ON ( #20474 )
2026-10-10 07:49:35 -10:00
J. Nick Koston
4ba0e1bfa2
[core] Fix the native ESP8266 and host builds on Windows without ccache ( #20468 )
2026-10-10 07:39:49 -10:00
jabla
f4fbc3215d
[espidf] Clean the build when the IDF target changes ( #20473 )
2026-10-10 07:28:40 -10:00
721228c1d2
[teleinfo] Add predefined properties for main tags of TIC standard and historical ( #9167 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-10-10 08:31:06 -04:00
Clyde Stubbs
f9a81869ef
[it8951] Hold display enable pins off during deep-sleep ( #20471 )
2026-10-10 17:43:38 +11:00
J. Nick Koston
d3e7bb119c
[core] Deprecate the named status_momentary_warning/error overloads ( #20369 )
2026-10-10 02:39:21 +00: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
ba7d3bd770
[gpio][esp32][uart] Add option to hold gpio during (deep)sleep and reboot (3/3) ( #18964 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-10-10 02:37:46 +00:00
J. Nick Koston
dc553aae55
[core] Use status_momentary_warning/error without a name in components ( #20363 )
2026-10-09 22:27:19 -04:00
J. Nick Koston
f7b9646705
[improv_ble] Build the state triggers with build_callback_automation ( #20444 )
2026-10-09 16:06:14 -10:00
J. Nick Koston
0ae24f7536
[core] Catch heap allocating helper calls with explicit template arguments ( #20391 )
2026-10-10 02:00:41 +00: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
Zhaoqi Xu
6b03d68fac
[heatpumpir] Fix fan speeds for mitsubishi_msc protocol ( #20460 )
2026-10-09 21:53:38 -04:00
J. Nick Koston
640d677913
[st7735][st7789v][waveshare_epaper] Declare log tags with ESPHOME_LOG_TAG ( #20295 )
2026-10-09 15:51:55 -10:00
J. Nick Koston
8567e69d46
[core] Add status_momentary_warning/error overloads without a name ( #20362 )
2026-10-09 15:51:38 -10:00
J. Nick Koston
4d187a2bb7
[valve] Build on_open and on_closed with build_callback_automation ( #20442 )
2026-10-09 15:43:22 -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