J. Nick Koston
5e94b10375
Merge branch 'posix_tz_proto' into integration
2026-02-23 16:02:34 -06:00
J. Nick Koston
a757838408
[time] Wrap codegen timezone fields in scope block
...
Fixes redeclaration error when multiple time platforms are in the
same build by wrapping the local ParsedTimezone variable in a scope block.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 15:49:35 -06:00
J. Nick Koston
4b400aa79a
avoid ram increase
2026-02-23 15:42:39 -06:00
J. Nick Koston
ba11722e77
[time] Skip POSIX TZ validation for empty timezone strings
...
Empty timezone strings are valid (meaning UTC/no timezone).
The parse_posix_tz_python() validation should only run on
non-empty strings.
2026-02-23 15:00:25 -06:00
J. Nick Koston
49ddaa2002
Merge branch 'posix_tz' into posix_tz_proto
2026-02-23 14:49:09 -06:00
J. Nick Koston
1a99abc629
[time] Add context to test file about bridge code removal timeline
2026-02-23 14:45:37 -06:00
J. Nick Koston
f95d8a33e2
Merge branch 'posix_tz' into posix_tz_proto
2026-02-23 14:44:14 -06:00
J. Nick Koston
de01d766f1
[time] Mark posix_tz parser as bridge code to remove before 2026.9.0
...
The C++ POSIX TZ string parser is only needed for backward compatibility
with older Home Assistant clients that send the timezone as a string.
Once all clients send the pre-parsed ParsedTimezone protobuf struct,
the parser and its helpers can be removed entirely.
See https://github.com/esphome/backlog/issues/91
2026-02-23 14:43:57 -06:00
J. Nick Koston
db6db5fb10
merge proto
2026-02-23 14:25:57 -06:00
J. Nick Koston
9e8efe15d3
Merge branch 'dev' into posix_tz
2026-02-23 14:25:26 -06:00
tomaszduda23
02c37bb6d6
[nrf52,logger] generate crash magic in python ( #14173 )
2026-02-23 20:23:40 +00:00
dependabot[bot]
918bbfb0d3
Bump aioesphomeapi from 44.0.0 to 44.1.0 ( #14232 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-23 20:22:32 +00:00
tomaszduda23
063c6a9e45
[esp32,core] Move CONF_ENABLE_OTA_ROLLBACK to core ( #14231 )
2026-02-23 20:06:20 +00:00
Jonathan Swoboda
daee71a2c1
[http_request] Retry update check on startup until network is ready ( #14228 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-23 14:21:29 -05:00
Jonathan Swoboda
0d32a5321c
[remote_transmitter/remote_receiver] Rename _esp32.cpp to _rmt.cpp ( #14226 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-23 13:46:53 -05:00
J. Nick Koston
5e95b9b36c
Merge branch 'dev' into posix_tz
2026-02-23 12:45:16 -06:00
J. Nick Koston
e199145f1c
[core] Avoid expensive modulo in LockFreeQueue for non-power-of-2 sizes ( #14221 )
2026-02-23 12:20:55 -06:00
J. Nick Koston
9bf34be20d
Merge remote-tracking branch 'upstream/dev' into integration
2026-02-23 12:07:15 -06:00
J. Nick Koston
f3162b2472
Merge remote-tracking branch 'upstream/fix-ble-client-disconnect-race' into integration
2026-02-23 12:00:25 -06:00
J. Nick Koston
5c86bad64b
[esp32_ble_client] Add 10s safety timeout for DISCONNECTING state
...
If CLOSE_EVT never arrives after DISCONNECT_EVT, the client gets
stuck in DISCONNECTING forever, blocking reconnection and scanner
restart. Add a 10s timeout watchdog in loop() that forces IDLE
as a recovery path.
Introduce set_disconnecting_() helper to ensure the timeout
timestamp is always set when entering DISCONNECTING state.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 11:53:44 -06:00
J. Nick Koston
60944a6d8b
[esp32_ble_client] Improve log message when connect blocked by DISCONNECTING
...
Separate the DISCONNECTING state into its own log message that
mentions waiting for CLOSE_EVT, making it easier to diagnose
stuck connections vs normal in-progress connections.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 11:37:00 -06:00
J. Nick Koston
5fcb7294ba
[esp32_ble_client] Improve log message when connect blocked by DISCONNECTING
...
Separate the DISCONNECTING state into its own log message that
mentions waiting for CLOSE_EVT, making it easier to diagnose
stuck connections vs normal in-progress connections.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 11:36:46 -06:00
Joshua Sing
1f945a334a
[hdc302x] Add new component ( #10160 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@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: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-02-23 12:01:23 -05:00
J. Nick Koston
79f47216cd
Merge branch 'fix-ble-client-disconnect-race' into integration
2026-02-23 09:55:51 -06:00
J. Nick Koston
1dba01e05b
[esp32_ble_client] Don't reset conn_id_ in want_disconnect_ path
...
The CLOSE_EVT handler matches on conn_id_ to call set_idle_().
Resetting conn_id_ to UNSET_CONN_ID before CLOSE_EVT arrives
causes the event to be dropped, leaving the client stuck in
DISCONNECTING state permanently.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 09:48:23 -06:00
J. Nick Koston
a0b69effe4
[esp32_ble_client] Move set_idle_() to header for inlining
2026-02-23 09:35:47 -06:00
J. Nick Koston
22d9f50034
[esp32_ble_client] Extract set_idle_() helper for IDLE + conn_id reset
...
Consolidate the repeated set_state(IDLE) + conn_id_ = UNSET_CONN_ID
pattern into a single helper to ensure they always stay paired.
2026-02-23 09:34:57 -06:00
J. Nick Koston
a5fc6b480a
[esp32_ble_client] Add comment for conn_id reset on failed OPEN_EVT
2026-02-23 09:33:49 -06:00
J. Nick Koston
39c5cffaa1
[esp32_ble_client] Reset conn_id on failed OPEN_EVT to prevent stale match
...
When OPEN_EVT arrives with a failure status, the connection was never
established so no CLOSE_EVT may follow. Reset conn_id_ to prevent a
stale value from matching a future CLOSE_EVT.
2026-02-23 09:32:55 -06:00
J. Nick Koston
c75b7de2d3
[esp32_ble_client] Let failed OPEN_EVT in DISCONNECTING state fall through to existing handler
...
Instead of a separate early-return for DISCONNECTING state, let the
failed OPEN_EVT fall through to the existing failed-status handler
which already transitions to IDLE.
2026-02-23 09:32:13 -06:00
J. Nick Koston
246d455dc3
[esp32_ble_client] Complete disconnection on failed OPEN_EVT in DISCONNECTING state
...
When a connection fails to establish, the ESP-IDF stack sends
DISCONNECT_EVT followed by OPEN_EVT with a failure status (e.g. 133).
No CLOSE_EVT follows since no GATT connection was established.
Previously the OPEN_EVT in DISCONNECTING state was silently ignored,
leaving the client stuck in DISCONNECTING forever. Now we treat this
failed OPEN_EVT as the terminal event and transition to IDLE.
2026-02-23 09:28:50 -06:00
Jonathan Swoboda
fb6c7d81d5
[core] Fix multiline log continuations without leading whitespace ( #14217 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 05:08:40 +00:00
J. Nick Koston
c6dec97d47
Merge remote-tracking branch 'origin/lock-free-queue-avoid-modulo' into integration
2026-02-22 22:50:07 -06:00
J. Nick Koston
25c3c79809
Rename next_index_ to next_index for static method naming convention
...
Static methods should not have trailing underscore per clang-tidy
readability-identifier-naming rules.
2026-02-22 22:47:19 -06:00
J. Nick Koston
11095bc15e
[core] Avoid expensive modulo in LockFreeQueue for non-power-of-2 sizes
...
Replace modulo-based ring buffer index advancement with constexpr-dispatched
approach: power-of-2 sizes keep modulo (compiler emits single mask instruction),
non-power-of-2 sizes use comparison+branch instead of multiply-shift sequences.
Benchmarked on real ESP32-C3 (RISC-V) hardware (100k iterations):
- SIZE=88 (BLE): 24,120 us -> 6,493 us (3.7x faster)
- SIZE=30 (MQTT): 22,816 us -> 6,879 us (3.3x faster)
- SIZE=32 (pow2): identical (both use mask)
Flash savings on ESP32 Xtensa (BLE proxy build):
- push(): 149 -> 133 bytes (-16 B)
- pop(): 78 -> 67 bytes (-11 B)
2026-02-22 22:41:22 -06:00
J. Nick Koston
417f4535af
[logger] Use subtraction-based line number formatting to avoid division ( #14219 )
2026-02-23 04:25:20 +00:00
J. Nick Koston
b0a35d25ca
Merge remote-tracking branch 'upstream/dev' into integration
2026-02-22 21:46:44 -06:00
schrob
ee94bc4715
[openthread] Refactor to optimize and match code rules ( #14156 )
2026-02-22 22:43:42 -05:00
schrob
6801604533
[openthread] Add Thread version DEBUG trace ( #14196 )
2026-02-22 22:40:40 -05:00
schrob
5c388a5200
[openthread_info] Optimize: Devirtualize/unify ( #14208 )
2026-02-22 22:39:36 -05:00
J. Nick Koston
7f4a058e0f
Merge branch 'logger-subtract-line-format' into integration
2026-02-22 21:39:34 -06:00
J. Nick Koston
bb750ba088
Drop unnecessary LogBuffer:: qualification on write_digit calls
2026-02-22 21:39:13 -06:00
J. Nick Koston
739c013753
Merge branch 'logger-subtract-line-format' into integration
2026-02-22 21:38:06 -06:00
J. Nick Koston
cc85086c08
Force inline write_digit to prevent separate symbol emission
2026-02-22 21:37:44 -06:00
J. Nick Koston
d239a2400d
[text_sensor] Conditionally compile filter infrastructure ( #14213 )
2026-02-22 21:36:21 -06:00
J. Nick Koston
93ce582ad3
[sensor] Conditionally compile filter infrastructure ( #14214 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 21:35:51 -06:00
J. Nick Koston
6e70987451
[binary_sensor] Conditionally compile filter infrastructure ( #14215 )
2026-02-22 21:35:30 -06:00
J. Nick Koston
80a8ec7973
Merge branch 'logger-subtract-line-format' into integration
2026-02-22 21:35:06 -06:00
schrob
263fff0ba2
Move CONF_OUTPUT_POWER into const.py ( #14201 )
2026-02-22 22:35:00 -05:00
J. Nick Koston
4eeeeb7c81
Fix clang-tidy: use qualified name for static method, remove trailing underscore
2026-02-22 21:34:32 -06:00