J. Nick Koston and Claude Opus 4.6
459288fb1a
Merge upstream/dev, resolve conflict keeping LibreTiny sta_state_ guard
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 08:35:24 -10:00
J. Nick Koston
8688ef7125
[benchmark] Fix decode benchmarks being optimized away by compiler ( #15293 )
2026-03-30 08:24:48 -10:00
J. Nick Koston
46ea61666e
[wifi] Replace FreeRTOS queue with LockFreeQueue on ESP-IDF ( #15306 )
2026-03-30 08:24:34 -10:00
J. Nick Koston
8969eb76e9
[wifi] Avoid redundant SDK calls in WiFi loop on ESP8266 ( #15303 )
2026-03-30 08:24:17 -10:00
J. Nick Koston
ffee4c22b3
[esp32_ble] Devirtualize BLE event handler dispatch ( #15310 )
2026-03-30 08:21:58 -10:00
J. Nick Koston
ad3f6ae313
[automation] Remove actions_end_ pointer from ActionList to save RAM ( #15283 )
2026-03-30 08:20:52 -10:00
Keith Burzinski
b579758c46
[dht] Code clean-up ( #15271 )
2026-03-30 13:15:37 -05:00
Keith Burzinski
45e6d49d36
[shtcx] Code clean-up ( #15261 )
2026-03-30 13:15:27 -05:00
Keith Burzinski
ddb188e8f0
[bme68x_bsec2] Fix warning spam, code clean-up ( #15258 )
2026-03-30 13:15:13 -05:00
Keith Burzinski
1a86e88373
[thermostat] Fix stale max_runtime_exceeded causing spurious supplemental heating/cooling ( #15274 )
2026-03-30 13:15:02 -05:00
Bonne Eggleston and J. Nick Koston
31574a427b
[modbus] Share helper functions across modbus components - part A ( #15291 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-03-30 06:56:47 -10:00
Edward Firmo
1bc6a8d956
[nextion] Fix queue age check using inconsistent time sources ( #15317 )
2026-03-30 06:54:09 -10:00
J. Nick Koston
d420e7bc23
[modbus_controller] Fix off-by-one bounds check in byte_from_hex_str ( #15301 )
2026-03-30 08:57:27 -04:00
dependabot[bot]
cd3c2ae77e
Bump aioesphomeapi from 44.8.0 to 44.8.1 ( #15309 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-29 22:45:46 -10:00
Edward Firmo and pre-commit-ci-lite[bot]
95b0e60617
[nextion] Add accessor const qualifiers, return by ref, and deprecate get_wave_chan_id() ( #15204 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-30 02:20:04 -05:00
Edward Firmo
ffbbe5eab3
[nextion] Fix log level for command processing limit message ( #15302 )
2026-03-30 01:55:40 -05:00
J. Nick Koston
16aa0bf1a2
[wifi] Move LibreTiny WiFi STA state to member variable
...
Replace the file-static s_sta_state with the shared sta_state_
member variable on WiFiComponent, matching the ESP8266 change.
All accesses are in member functions so no global_wifi_component
indirection is needed.
2026-03-29 18:53:27 -10:00
J. Nick Koston
57e192543f
Add atomicity comment for sta_state_ member variable
2026-03-29 18:52:58 -10:00
J. Nick Koston
37e181a797
Move ESP8266WiFiSTAState enum to cpp, use uint8_t in header
...
Keep the enum definition private to wifi_component_esp8266.cpp and
store as uint8_t in the class to avoid leaking platform-specific
types into the shared header.
2026-03-29 18:38:04 -10:00
J. Nick Koston
7086cf3392
Fix comment: if statements with early returns, not if-else
2026-03-29 18:33:15 -10:00
J. Nick Koston
f19792df8c
Revert wifi_sta_connect_status_ header inline attempt
...
GCC doesn't inline it into loop() due to code size heuristics,
so the #ifdef complexity isn't worth it. Keep it out-of-line.
2026-03-29 18:32:28 -10:00
J. Nick Koston
96a23e5d3d
Inline is_connected_ and update_connected_state_ into header
...
Move these small methods to the header so the compiler can inline
them into loop(), eliminating two function call/return pairs from
every loop iteration on all platforms.
2026-03-29 18:29:03 -10:00
J. Nick Koston
d52d5bbda3
Move ESP8266 WiFi STA state enum to member variable
...
Replace the file-static s_sta_state with a member variable sta_state_
on WiFiComponent, consistent with error_from_callback_ and pending_
which are also written from the static callback via global_wifi_component.
2026-03-29 18:16:41 -10:00
J. Nick Koston
cee1168293
Use if-else instead of switch to avoid CSWTCH in rodata
...
On ESP8266, GCC generates a lookup table in .rodata for switch
statements, which lives in flash. Use if-else chain to keep the
logic entirely in IRAM.
2026-03-29 18:10:28 -10:00
J. Nick Koston
438553ccfe
Fix clang-tidy NOLINT placement for s_sta_state
...
Move the NOLINT comment to NOLINTNEXTLINE so clang-tidy sees it
on the line with the variable declaration, not the continuation.
2026-03-29 18:09:49 -10:00
J. Nick Koston
f43a598a83
[wifi] Avoid redundant SDK calls in WiFi loop on ESP8266
...
Replace five separate boolean state variables in the ESP8266 WiFi
implementation with a single enum state machine, matching the pattern
already used by LibreTiny. This eliminates the per-loop call to
wifi_station_get_connect_status() by reading cached state from the
existing event callback instead.
Also use the cached connected_ field (set unconditionally at the top
of loop()) in the STA_CONNECTED branch instead of calling
is_connected_() a second time. This applies to all platforms.
2026-03-29 17:55:55 -10:00
J. Nick Koston
18168ad7fd
[sensor] Use std::array in CalibrateLinearFilter ( #15263 )
2026-03-29 15:07:15 -10:00
J. Nick Koston
17afbeb87b
[binary_sensor] Use std::array in MultiClickTrigger ( #15267 )
2026-03-29 14:57:15 -10:00
J. Nick Koston
d51b047f63
[sensor] Use std::array in CalibratePolynomialFilter ( #15264 )
2026-03-29 14:56:04 -10:00
J. Nick Koston
508ec295a4
[sensor] Use std::array in OrFilter ( #15262 )
2026-03-29 14:55:46 -10:00
J. Nick Koston
66754fa376
[text_sensor] Use std::array in SubstituteFilter ( #15266 )
2026-03-29 14:24:32 -10:00
J. Nick Koston
4da7f5ecc2
[binary_sensor] Use std::array in AutorepeatFilter ( #15268 )
2026-03-29 23:50:46 +00:00
J. Nick Koston
29419d9d97
[automation] Use std::array in And/Or/Xor conditions ( #15282 )
2026-03-29 13:36:08 -10:00
J. Nick Koston
3520ef7480
[text_sensor] Use std::array in MapFilter ( #15269 )
2026-03-29 22:38:04 +00:00
J. Nick Koston
d6475eaeed
[binary_sensor] Remove redundant optional<bool> state_, save 8 bytes per instance ( #15095 )
2026-03-29 12:15:18 -10:00
J. Nick Koston
a9aaf29d83
[core] Shrink Component from 12 to 8 bytes per instance ( #15103 )
2026-03-29 12:09:21 -10:00
J. Nick Koston
38fa8925da
[ai] Add automation, callback manager, and test grouping docs ( #15243 )
2026-03-29 12:02:47 -10:00
J. Nick Koston
c2b8ea3361
[web_server_base] Reduce sizeof(WebServerBase) by 4 bytes ( #15251 )
2026-03-29 18:02:29 -04:00
J. Nick Koston
584807b039
[ld2410] Fix flaky integration test race condition ( #15299 )
2026-03-29 11:58:03 -10:00
J. Nick Koston
5da3253f4b
[esp8266] Add enable_scanf_float option ( #15284 )
2026-03-29 11:57:52 -10:00
J. Nick Koston
2a97eca00b
[sensor] Use std::array in ValueList/FilterOut/ThrottleWithPriority filters ( #15265 )
2026-03-29 11:55:52 -10:00
J. Nick Koston
1f3fd60d29
[version] Remove duplicate build_info_data.h include ( #15288 )
2026-03-29 11:55:39 -10:00
J. Nick Koston
8a802ca666
[benchmark] Add BLE raw advertisement proto encode benchmarks ( #15289 )
2026-03-29 11:54:07 -10:00
J. Nick Koston
a91e6d92f6
[core] Remove dead get_loop_priority code ( #15242 )
2026-03-29 17:32:43 -04:00
Tobias Stanzel and Jonathan Swoboda
d9adb078aa
[tm1637] Add buffer manipulation methods ( #13686 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-03-29 14:41:00 -03:00
J. Nick Koston
7a7c33fdb1
[esp32_ble_server] Fix set_value action with static data lists ( #15285 )
2026-03-28 15:38:06 -10:00
Jonathan Swoboda
b6abfec82e
[core] Fix area/device hash collision validation not running ( #15259 )
2026-03-27 22:22:24 -04:00
Jonathan Swoboda
47774fb644
[modbus_controller] Fix wrong enum in function_code_to_register ( #15253 )
2026-03-27 19:55:57 -04:00
Jonathan Swoboda
34410e92b7
[as5600] Remove dead angle/position sensor code ( #15254 )
2026-03-27 19:55:40 -04:00
Edward Firmo and pre-commit-ci-lite[bot]
a99f051e19
[nextion] Replace queue name string literals with short Nextion-native identifiers ( #15215 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-27 13:49:00 -10:00