Commit Graph
28505 Commits
Author SHA1 Message Date
J. Nick Koston 0cd682f29e Merge remote-tracking branch 'upstream/fix-valve-action-trigger-args' into integration 2026-05-03 18:20:42 -05:00
J. Nick Koston 39a47b7d47 Merge remote-tracking branch 'upstream/fix-light-action-trigger-args' into integration 2026-05-03 18:20:38 -05:00
J. Nick Koston 5c015ede77 Merge remote-tracking branch 'upstream/fix-flaky-host-mode-climate-basic-state' into integration 2026-05-03 18:20:34 -05:00
J. Nick Koston b5866f072c Merge remote-tracking branch 'upstream/fix-fan-action-trigger-args' into integration 2026-05-03 18:20:30 -05:00
J. Nick Koston 76d4f70d70 Merge remote-tracking branch 'upstream/fix-climate-action-trigger-args' into integration 2026-05-03 18:20:26 -05:00
J. Nick Koston 9f58b66f97 Merge remote-tracking branch 'upstream/dev' into integration 2026-05-03 18:20:20 -05:00
J. Nick Koston aec754f9a2 Merge branch 'dev' into fix-climate-action-trigger-args 2026-05-03 17:57:53 -05:00
J. Nick Koston 0f174ee626 [api] Fall back to owning types for service array args used after a delay (#16140) 2026-05-04 10:55:40 +12:00
J. Nick Koston 59de35a7b8 [fan] Cover fan.turn_on inside on_preset_set (StringRef Ts) in tests 2026-05-03 17:52:58 -05:00
J. Nick Koston 37a44a8a6f [tests] Fix flaky host_mode_climate_basic_state by ignoring prior MEMORY state
The fixture shares the `host-climate-test` build dir with
host_mode_climate_control.yaml. When the control test runs first and
leaves the thermostat in HEAT mode, MEMORY restore on the next basic_state
boot picked up HEAT and the initial-state assertion failed
(`assert ClimateMode.HEAT == ClimateMode.OFF`).
2026-05-03 17:39:39 -05:00
J. Nick Koston 7c667bb9f4 [valve] Normalize trigger args to const remove_cvref_t<T> & 2026-05-03 17:31:09 -05:00
J. Nick Koston e4de502bd4 [fan] Normalize trigger args to const remove_cvref_t<T> & 2026-05-03 17:30:01 -05:00
J. Nick Koston 10ea8c3492 [light] Normalize trigger args to const remove_cvref_t<T> & 2026-05-03 17:29:25 -05:00
J. Nick Koston 102618b11c [climate] Normalize trigger args to const remove_cvref_t<T> & 2026-05-03 17:28:38 -05:00
J. Nick Koston 22252ef5b5 [light] Forward trigger args as Ts... so inner-lambda calls type-check 2026-05-03 17:26:39 -05:00
J. Nick Koston b62d88a5d1 [valve] Forward trigger args as Ts... so inner-lambda calls type-check 2026-05-03 17:25:30 -05:00
J. Nick Koston 431385ebc1 [valve] Use const remove_reference_t<T> & to avoid copies of non-ref Ts 2026-05-03 16:56:14 -05:00
J. Nick Koston 1509db2a2c [fan] Use const remove_reference_t<T> & to avoid copies of non-ref Ts 2026-05-03 16:55:09 -05:00
J. Nick Koston 5483b27bbf [light] Use const remove_reference_t<T> & to avoid copies of non-ref Ts 2026-05-03 16:54:21 -05:00
J. Nick Koston a73a9516c2 [climate] Use const remove_reference_t<T> & to avoid copies of non-ref Ts 2026-05-03 16:53:10 -05:00
J. Nick Koston dd0cff5f45 [light] Reword apply-fn comments to describe codegen failure mode 2026-05-03 16:51:27 -05:00
J. Nick Koston fb6920a5b1 [valve] Fix ControlAction trigger args with reference types
`const Ts &...` is ill-formed when Ts is already a reference (e.g. a
trigger that passes `std::string &`). Forward Ts by-value so the
generated lambda matches ApplyFn for any valid trigger arg type.
2026-05-03 16:12:08 -05:00
J. Nick Koston d481d0cb4a [fan] Fix TurnOnAction trigger args with reference types
`const Ts &...` is ill-formed when Ts is already a reference (e.g. a
trigger that passes `std::string &`). Forward Ts by-value so the
generated lambda matches ApplyFn for any valid trigger arg type.
2026-05-03 16:10:03 -05:00
J. Nick Koston 31239ac950 [climate] Fix ControlAction trigger args with reference types
`const Ts &...` is ill-formed when Ts is already a reference (e.g. a
trigger that passes `std::string &`). Forward Ts by-value so the
generated lambda matches ApplyFn for any valid trigger arg type.
2026-05-03 16:08:39 -05:00
J. Nick Koston 7aa9f0d796 [light] Fix LightControlAction trigger args with reference types
`const Ts &...` is ill-formed when Ts is already a reference (e.g. a
trigger that passes `std::string &`). Forward Ts by-value so the
generated lambda matches ApplyFn for any valid trigger arg type.
2026-05-03 16:06:54 -05:00
Edward Firmoandpre-commit-ci-lite[bot] 8046ff7e1e [nextion] TFT upload no longer fails when the display sends a split 0x08 ack (#16205)
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-05-03 03:40:09 -05:00
J. Nick Koston b30d09b43b Merge remote-tracking branch 'upstream/dev' into integration 2026-05-01 21:53:04 -05:00
dependabot[bot] 5e9db1c8c6 Bump github/codeql-action from 4.35.2 to 4.35.3 (#16201)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-01 21:46:29 -05:00
J. Nick Koston 81d147ff9e [esp32] Drop printf wrap on IDF 6.0+ (picolibc no longer needs it) (#16189) 2026-05-01 14:31:56 -05:00
J. Nick Koston 4f8aa24f05 Merge remote-tracking branch 'upstream/esp8266-wdt-feed-100ms' into integration 2026-05-01 12:48:04 -05:00
J. Nick Koston cf01be6250 [esp8266] Lower WDT_FEED_INTERVAL_MS to 100 ms
Restore tighter feed cadence on ESP8266 to match the smaller WDT
budgets on this platform. ESP8266 soft WDT is ~1.6 s and HW WDT is
~6 s; a single long iteration (mDNS reply, wifi scan, OTA verify,
lwIP TCP retransmit) can easily push the loop past a few hundred ms.
The 300 ms shared default left only ~1.3 s of soft-WDT headroom; 100 ms
restores ~16x margin to the soft WDT (matching pre-#15846 behavior in
spirit) without per-iteration arch_feed_wdt() cost.

Reports of Hardware WDT - Level1Int crashes on ESP8266 line up with
this margin being too tight under the new main-loop cadence.
2026-05-01 12:25:37 -05:00
J. Nick Koston cb81ede701 Merge remote-tracking branch 'upstream/api-logs-decode-noraise' into integration 2026-05-01 12:09:10 -05:00
J. Nick Koston c05e66669e [api] Tidy decoder warning when EsphomeError has no message
_run_idedata raises EsphomeError() with no message, so the warning
shows 'unavailable ()' which looks like a bug. Use a generic fallback
explanation when str(exc) is empty.
2026-05-01 12:09:00 -05:00
J. Nick Koston 67b839c4bb Merge remote-tracking branch 'upstream/api-logs-decode-noraise' into integration 2026-05-01 12:06:19 -05:00
J. Nick Koston f4d3fb1a18 [api] Short-circuit log-line decoder after first failure
_decode_pc shells out to PlatformIO via _run_idedata; without a
populated build dir for the device that subprocess fails for every
PC/BT line in a crash dump. Disable decoding after the first
EsphomeError (per logs session) and emit a single user-facing warning
instead of retrying on every line.

Also rename the helper to _LogLineProcessor since it now owns the
per-session decode-enabled state, not just the decode call.
2026-05-01 12:01:19 -05:00
J. Nick Koston fcc6f04805 [api] Don't tear down log connection on stack-trace decode failure
When 'esphome logs' processes a crash backtrace from the device,
process_stacktrace -> _decode_pc -> _run_idedata can raise
EsphomeError if the local build dir hasn't been populated (e.g. the
device was flashed from a different machine). on_log runs inside an
asyncio protocol callback, so the unhandled exception triggers
'Fatal error: protocol.data_received() call failed.', the loop tears
the connection down, and ReconnectLogic immediately reconnects. The
device replays the same crash trace and we loop forever.

Wrap the per-line decode in a helper that swallows EsphomeError so
the connection stays up. Also covered with unit tests for the new
helper.
2026-05-01 11:56:19 -05:00
Mat931andJ. Nick Koston 58cb7effd4 [ota] Add extended OTA protocol (#16164)
Co-authored-by: J. Nick Koston <nick@home-assistant.io>
2026-05-01 10:40:14 -05:00
J. Nick Koston 918b1fac71 Merge branch 'ota-extended-protocol' into integration 2026-05-01 09:23:11 -05:00
J. Nick Koston 7f1cff1866 address bot nits 2026-05-01 09:22:37 -05:00
J. Nick Koston 588701fa9a Merge branch 'ota-extended-protocol' into integration 2026-05-01 09:10:26 -05:00
J. Nick Koston 28e1b32259 enforce size 2026-05-01 09:09:23 -05:00
J. Nick Koston 54ac510a25 cover 2026-05-01 09:08:58 -05:00
J. Nick Koston a6cd2a9f4d improve error reporting in case we mess it up later 2026-05-01 09:08:07 -05:00
J. Nick Koston 45c78dd5d2 bail early so listeners do not stop bluetooth if its an error 2026-05-01 09:06:37 -05:00
J. Nick Koston 4c9260d96d reduce memory 2026-05-01 09:05:46 -05:00
J. Nick Koston fd921fb9e0 Merge branch 'ota-extended-protocol' into integration 2026-05-01 09:01:46 -05:00
Kevin Ahrendt 3dd60c5713 [core] Support allocating ring buffer in internal memory (#16187) 2026-05-01 07:55:08 -05:00
Oliver Kleinecke f073c1cabe [usb_host][usb_uart] Add configurable max packet size (#14584) 2026-05-01 20:43:13 +10:00
Mat931 23ac2ead27 Merge branch 'dev' into ota-extended-protocol 2026-05-01 09:12:47 +00:00
Mat931 6182beb1f2 Apply suggestions 2026-05-01 10:15:58 +02:00