J. Nick Koston
c533c38b36
Merge remote-tracking branch 'origin/remove-deprecated-scheduler-string-overloads' into integration
2026-06-21 11:35:05 -05:00
J. Nick Koston
495685fab9
Merge remote-tracking branch 'origin/web-server-logs' into integration
2026-06-21 11:35:05 -05:00
J. Nick Koston
b95706191d
Merge remote-tracking branch 'origin/clearer-network-resolve-error' into integration
2026-06-21 11:35:04 -05:00
J. Nick Koston
9493c7a841
Merge remote-tracking branch 'origin/dev' into integration
2026-06-21 11:33:43 -05:00
J. Nick Koston
7ef6b486d2
[core] Address review: per-phase scheduler ids, log wording, doc typo
2026-06-21 11:03:46 -05:00
J. Nick Koston
1d8b38b6b4
[core] Migrate scheduler_pool fixture off std::string timer names
2026-06-21 10:52:46 -05:00
J. Nick Koston
a97f9e7cda
[core] Add esphome logs over web_server HTTP SSE
...
Stream device logs over the web_server /events Server-Sent Events feed so
'esphome logs' works on devices that have web_server: but no api:. This is
the logging counterpart to web_server OTA. Priority stays API, then MQTT,
then web_server. Reconnects automatically when the stream drops.
Factor the resolve-to-URLs step and the web_server port/auth lookup shared
with web_server OTA into a new web_server_helpers module (resolve_web_server_urls
and get_web_server_connection), with helpers.format_ip_url for IPv4/IPv6 URL
formatting, and broaden the missing-transport log error to suggest web_server:
alongside api:/MQTT/USB.
2026-06-21 10:50:49 -05:00
J. Nick Koston
ff56d66ced
[core] Keep scheduler string_test, migrate it to the const char* API
2026-06-21 10:29:04 -05:00
J. Nick Koston
8aa06c9d15
[core] Remove deprecated std::string scheduler/timer overloads
2026-06-21 10:23:43 -05:00
J. Nick Koston
c826293efc
[core] Clarify resolve error when a device has no network log/OTA transport
...
A device with a static IP, mDNS disabled, and no api: component failed
logs with "All specified devices ['OTA'] could not be resolved" and a
hint to set use_address; the hint is misleading since the static IP
already resolves, the real gap is that network logs ride the native API.
Name the missing transport instead: api: for logs, an ota: platform for
uploads. The generic "could not be resolved" message stays for a
genuinely unreachable address.
2026-06-21 09:48:27 -05:00
J. Nick Koston
4ae6dc355f
[select] Remove deprecated state member ( #17027 )
2026-06-19 17:08:07 +12:00
J. Nick Koston
b3a9b18ca8
Merge remote-tracking branch 'upstream/dev' into integration
2026-06-18 16:27:23 -05:00
J. Nick Koston
b97182d302
[logger] Hold recursion guard while draining the task log buffer ( #17044 )
2026-06-19 09:16:14 +12:00
J. Nick Koston
70c11a7f3e
Merge remote-tracking branch 'upstream/logger-buffered-recursion-guard' into integration
2026-06-18 16:12:45 -05:00
Jonathan Swoboda
53e85e07d4
[esp32] Support esphome idedata with the native ESP-IDF toolchain ( #17040 )
2026-06-18 15:56:21 -04:00
J. Nick Koston
0b37b9a202
[logger] Wait deterministically for buffered drain in test
...
Replace the fixed asyncio.sleep(0.5) with a wait on an asyncio.Event that
fires once all thread messages have arrived over the API. Every buffered
message is delivered whether it survives intact or gets clobbered, so counting
THREADMSG occurrences is a deterministic drain-complete signal with no arbitrary
sleep and no dependence on the fix being present.
2026-06-18 14:51:04 -05:00
Jonathan Swoboda
1a553018bf
[build] Skip target-platform deps when populating host unit-test config ( #17039 )
2026-06-18 15:38:57 -04:00
J. Nick Koston
c694e96f24
[logger] Hold recursion guard while draining the task log buffer
...
The synchronous logging path holds the main-task recursion guard around
notify_listeners_, but the buffered drain in Logger::process_messages_ did not.
When a message logged from a non-main thread was drained on the main loop and a
listener (the API log forwarder, or a logger.on_message automation) logged again
on the main task, that re-entrant log reused the shared tx_buffer_ and the API
shared_write_buffer_ while they were still in use, corrupting the in-flight
message; on ESP32 this surfaced as a StoreProhibited panic in the API send path.
Hold a RecursionGuard on main_task_recursion_guard_ across the drain so re-entrant
main-task logs are dropped there too, mirroring the synchronous path.
Adds an integration test that drives the buffered drain with a re-entrant
on_message log and verifies the buffered messages are delivered uncorrupted.
2026-06-18 14:07:03 -05:00
Kevin Ahrendt and J. Nick Koston
bf12af4645
[wifi] Add runtime suppression of post-connect roaming scans ( #17012 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-06-18 08:31:49 -05:00
Jonathan Swoboda and Jesse Hills
1753ccd811
[ci] Update component-test CI for ESP-IDF default toolchain ( #16383 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2026-06-18 08:57:59 -04:00
J. Nick Koston and Copilot Autofix powered by AI
bd9375117a
[core] Honor transferred address cache in has_resolvable_address ( #17025 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-06-17 22:11:24 -05:00
Keith Burzinski and Claude Opus 4.8
c2784c9fd8
[esp32] Consolidate network/coexistence sdkconfig into a single reconciler ( #17008 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 03:09:39 +00:00
f76dfd579c
[openthread] Add basic Openthread support to Zephyr/nRF52 platform ( #16854 )
...
Co-authored-by: Copilot Autofix powered by AI <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: tomaszduda23 <tomaszduda23@gmail.com >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-06-18 01:58:51 +00:00
rwrozelle and Claude Sonnet 4.6
4b8568e948
[socket] bugfix Set wake-request gate flag on LwIP socket receive event ( #17010 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-18 13:54:29 +12:00
Jonathan Swoboda
ac6a0f34ec
[esp32] Make ESP-IDF the default toolchain ( #16910 )
2026-06-18 13:45:30 +12:00
Jesse Hills
c214a8ce79
[core] Add generic component alias infrastructure ( #16826 )
2026-06-18 01:21:00 +00:00
tomaszduda23 and Jonathan Swoboda
e3f164fff2
[nrf52] add support for native builds ( #16898 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-06-17 21:17:07 -04:00
c9095841ae
[ufm01] Add UFM-01 ultrasonic flow meter component ( #16582 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-06-17 21:16:28 -04:00
Jonathan Swoboda
7cb6cf2f2a
[ci] Replace clang-tidy hash with direct config-file diff check ( #17019 )
2026-06-17 21:12:39 -04:00
Jesse Hills
d8fa0e4140
[core] Stop parent git repos from breaking ESP-IDF/PlatformIO builds ( #16994 )
2026-06-16 20:24:26 +12:00
Jesse Hills
b09a5f9e43
[ci] Push branch-tagged docker images to ghcr.io for local testing ( #16992 )
2026-06-16 13:37:31 +12:00
J. Nick Koston
3420cff316
[core] Attribute "took a long time" blocking warning to the owning script ( #16768 )
2026-06-16 08:46:33 +12:00
Jesse Hills and J. Nick Koston
1ee49720c7
[psram] Make schema extractable with per-variant options ( #16949 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-06-15 19:55:21 +12:00
Clyde Stubbs
f1fd5f2f49
[epaper_spi] Metadata, bug fixes, new model ( #16950 )
2026-06-15 12:10:58 +10:00
Jonathan Swoboda and Jesse Hills
efebea3296
[esp32] Add flash_mode and flash_frequency config options ( #16920 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2026-06-15 10:56:18 +12:00
Jonathan Swoboda
e191fc5d47
[core] Support platformio_options on the native ESP-IDF toolchain ( #16917 )
2026-06-15 10:56:03 +12:00
Jonathan Swoboda
1e5771a3fa
[esp32] Fix idedata generation failing on unset ESPHOME_ARDUINO ( #16925 )
2026-06-15 09:48:43 +12:00
5b7f8cf90d
[mipi_spi] Implement automatic mapping of offsets ( #16722 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-06-15 09:36:38 +12:00
Clyde Stubbs and Claude Opus 4.8
10ce6024bf
[lvgl] Fix schema extraction ( #16895 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-13 08:21:38 -04:00
J. Nick Koston
750cf1995b
[esp8266] Decode crash handler PC and backtrace in logs ( #16911 )
2026-06-11 08:47:50 -05:00
Jesse Hills
6a527c7efc
[tests] Mock target branch in memory-impact exclusion test ( #16913 )
2026-06-11 14:04:22 +12:00
Kevin Ahrendt and Copilot Autofix powered by AI
77009cfafe
[resampler] Allow resampler to passthrough bits per sample instead of converting ( #16892 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-06-11 10:21:04 +12:00
Jonathan Swoboda
29a79b1373
[core] Make set_cpp_standard work on the native IDF toolchain ( #16907 )
2026-06-11 07:25:03 +12:00
Clyde Stubbs and Claude Opus 4.8
dafc3560dd
[tests] Isolate ESPHOME_LOG_STATES in main logs-states tests ( #16905 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-10 07:44:58 -04:00
a25ac28ae5
[lsm6ds] Add motion platform for STMicro LSM6DS IMU ( #16232 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2026-06-10 01:22:44 +00:00
Jonathan Swoboda
6809af3de0
[espidf] Warn when the install path is too long for Windows MAX_PATH ( #16896 )
2026-06-10 13:12:28 +12:00
Jonathan Swoboda
4963ddcb95
[espidf] Fix idedata generation on Windows ( #16894 )
2026-06-10 13:09:50 +12:00
Clyde Stubbs and J. Nick Koston
4f62bb7171
[bmi270] Support Bosch BMI270 IMU ( #16202 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-06-10 11:04:28 +10:00
eb6d6eac7d
[xdb401] XDB401 Pressure Sensor ( #15108 )
...
Co-authored-by: Ricky Tsai <ricky@rtnztech.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-06-09 19:58:02 -04:00
Oliver Kleinecke
2310b9e3fe
[usb_uart] Add Prolific PL2303 USB-serial driver ( #16885 )
2026-06-10 04:27:37 +10:00