J. Nick Koston
3d2b9641a4
[scheduler] Add integration test for internal vs numeric ID isolation
...
Verifies that NUMERIC_ID_INTERNAL and NUMERIC_ID are completely
independent matching namespaces — same uint32_t value on the same
component does not collide. Tests that cancelling one type does not
affect the other, and that string names also don't cross-match.
2026-02-09 06:05:13 -06:00
J. Nick Koston
ed3acd582e
[scheduler] Make core timer ID collisions impossible with type-safe internal IDs
...
Previously, PollingComponent used the string "update" and DelayAction
used "delay" as scheduler names. If a component subclassing
PollingComponent or using DelayAction also happened to use these same
strings for its own timers, the core timer would be silently cancelled
— a subtle bug that would be extremely hard to track down.
This introduces InternalSchedulerID, a type-safe wrapper that routes
through a new NUMERIC_ID_INTERNAL NameType. Since the scheduler
matches by (component, name_type, id, type), internal IDs can never
collide with component-level NUMERIC_ID or string-based names, even
if the underlying uint32_t values overlap.
Also migrates binary_sensor filters, MultiClickTrigger, and sensor
filters from string-based to uint32_t scheduler IDs. Each filter is
its own Component instance so IDs are scoped per-instance with no
collision risk.
2026-02-09 05:50:41 -06:00
tronikos
fb93283720
[water_heater] Add state masking to distinguish explicit commands from no-change ( #13879 )
2026-02-09 03:52:49 -06:00
J. Nick Koston
bed01da345
[api] Guard varint parsing against overlong encodings ( #13870 )
2026-02-09 03:45:40 -06:00
J. Nick Koston
422f413680
[lps22] Replace set_retry with set_interval to avoid heap allocation ( #13841 )
2026-02-09 03:26:44 -06:00
J. Nick Koston
c3c0c40524
[mqtt] Return friendly_name_() by const reference to avoid string copies ( #13810 )
2026-02-09 03:26:29 -06:00
J. Nick Koston
46f8302d8f
[mqtt] Use stack buffer for discovery topic to avoid heap allocation ( #13812 )
2026-02-09 03:26:15 -06:00
J. Nick Koston
e24528c842
[analyze-memory] Attribute CSWTCH symbols from SDK archives ( #13850 )
2026-02-09 03:25:59 -06:00
J. Nick Koston
5370687001
[wizard] Use secrets module for fallback AP password generation ( #13864 )
2026-02-09 03:25:41 -06:00
J. Nick Koston
6ee185c58a
[dashboard] Use resolve/relative_to for download path validation ( #13867 )
2026-02-09 03:25:23 -06:00
J. Nick Koston
eb6a6f8d0d
[web_server_idf] Remove unused host() method ( #13869 )
2026-02-09 03:25:05 -06:00
J. Nick Koston
140ec0639c
[api] Elide empty message construction in protobuf dispatch ( #13871 )
2026-02-09 03:24:45 -06:00
Clyde Stubbs
756f1c6b7e
[lvgl] Fix crash with unconfigured top_layer ( #13846 )
2026-02-08 21:53:43 -05:00
tomaszduda23
28b9487b25
[nrf52,logger] fix printk ( #13874 )
2026-02-08 17:52:05 +00:00
J. Nick Koston
41fedaedb3
[udp] Eliminate per-loop heap allocation using std::span ( #13838 )
...
Co-authored-by: Clyde Stubbs <2366188+clydebarrow@users.noreply.github.com >
2026-02-08 08:26:47 -06:00
schrob
7b40e8afcb
[epaper_spi] Declare leaf classes final ( #13776 )
2026-02-07 19:21:37 -06:00
J. Nick Koston
a43e3e5948
[dashboard] Close WebSocket after process exit to prevent zombie connections ( #13834 )
2026-02-07 15:19:20 -06:00
schrob
9de91539e6
[epaper_spi] Add Waveshare 1.54-G ( #13758 )
2026-02-08 06:24:57 +11:00
tronikos
eb7aa3420f
Add target_temperature to the template water heater ( #13661 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-02-06 21:23:42 +01:00
J. Nick Koston
86f91eed2f
[mqtt] Move switch string tables to PROGMEM_STRING_TABLE ( #13802 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-02-06 19:30:05 +01:00
J. Nick Koston
41cecbfb0f
[template] Convert alarm sensor type to PROGMEM_STRING_TABLE and narrow enum to uint8_t ( #13804 )
2026-02-06 18:22:26 +00:00
Jonathan Swoboda
9315da79bc
[core] Add missing requests dependency to requirements.txt ( #13803 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-06 13:03:16 -05:00
PolarGoose
155447f541
[dsmr] Fix issue with parsing lines like 1-0:0.2.0((ER11)) ( #13780 )
2026-02-06 12:53:59 -05:00
J. Nick Koston
238e40966f
[light] Move CSWTCH lookup table to PROGMEM in get_suitable_color_modes_mask_ ( #13801 )
2026-02-06 17:33:26 +00:00
J. Nick Koston
f9192b5f75
[wifi] Avoid jump tables in LOG_STR switch statements to save ESP8266 RAM ( #13799 )
2026-02-06 18:20:46 +01:00
J. Nick Koston
2917057da8
[analyze-memory] Trace CSWTCH switch table symbols to source components ( #13798 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-02-06 18:08:30 +01:00
J. Nick Koston
c7c9ffe7e1
[light] Convert color_mode_to_human to PROGMEM_STRING_TABLE using to_bit() ( #13797 )
2026-02-06 17:38:03 +01:00
J. Nick Koston
368ef5687b
[update] Move update_state_to_string to update component and convert to PROGMEM_STRING_TABLE ( #13796 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-06 17:37:41 +01:00
J. Nick Koston
b7dc975331
[core] Convert entity string lookups to PROGMEM_STRING_TABLE ( #13794 )
2026-02-06 17:37:19 +01:00
J. Nick Koston
44f308502e
[gpio] Convert interrupt_type_to_string to PROGMEM_STRING_TABLE ( #13795 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-06 17:37:02 +01:00
J. Nick Koston
ec477801ca
[wifi] Defer ESP8266 WiFi listener callbacks from system context to main loop ( #13789 )
2026-02-06 16:23:19 +00:00
J. Nick Koston
c3622ef7fb
[http_request] Fix chunked transfer encoding on Arduino platforms ( #13790 )
2026-02-06 15:52:41 +01:00
J. Nick Koston
e4ad2082bc
[core] Add PROGMEM_STRING_TABLE macro for flash-optimized string lookups ( #13659 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-06 15:26:16 +01:00
Andrew Rankin
7afd0eb1aa
[esp32_ble] include sdkconfig.h before ESP-Hosted preprocessor guards ( #13787 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-06 11:36:55 +00:00
Clyde Stubbs
112a2c5d92
[const] Move some constants to common ( #13788 )
2026-02-06 20:11:08 +11:00
Jonathan Swoboda
fef5d3f88f
[rdm6300] Add ID-20LA compatibility by skipping CR/LF bytes ( #13779 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-06 04:10:22 -05:00
Jonathan Swoboda
8e461db301
[ota] Fix CLI upload option shown when only http_request platform configured ( #13784 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-06 04:09:48 -05:00
dependabot[bot]
6decdfad26
Bump github/codeql-action from 4.32.1 to 4.32.2 ( #13781 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-06 10:05:10 +01:00
Jonathan Swoboda
c7729cb019
[esp32] Use underscores in arduino_libs_stub folder name ( #13785 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-06 09:51:13 +01:00
Marek Beran
ed4f00d4a3
[vbus] Add DeltaSol BS/2 support with sensors and binary sensors ( #13762 )
2026-02-05 23:11:14 -08:00
J. Nick Koston
55ef8393af
[api] Remove is_single parameter and fix batch buffer preparation ( #13773 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-05 15:19:03 +01:00
Jonathan Swoboda
081f953dc3
[core] Add capacity check to register_component_ ( #13778 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-05 14:00:16 +00:00
J. Nick Koston
f4e410f47f
[ci] Block new scanf() usage to prevent ~9.8KB flash bloat ( #13657 )
2026-02-06 02:56:43 +13:00
schrob
bbdb202e2c
[epaper_spi] Refactor initialise for future use ( #13774 )
2026-02-06 02:26:47 +13:00
Jonathan Swoboda
9ea8461440
[esp32] Remove specific claims from framework migration message ( #13777 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-05 11:41:17 +00:00
Jonathan Swoboda
ed8c0dc99d
[esp32] Skip downloading precompiled Arduino libs ( #13775 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-05 05:55:08 -05:00
J. Nick Koston
be44d4801f
[esp32] Reduce Arduino build size by 44% and build time by 36% ( #13623 )
2026-02-05 10:52:43 +01:00
Jas Strong
7bd8b08e16
[rd03d] Revert incorrect field order swap ( #13769 )
...
Co-authored-by: jas <jas@asspa.in >
2026-02-05 03:06:52 -05:00
J. Nick Koston
c27870b15d
[web_server] Add some more missing ESPHOME_F macros ( #13748 )
2026-02-05 06:36:40 +01:00
J. Nick Koston
25c0073b2d
[web_server] Fix ESP8266 watchdog panic by deferring actions to main loop ( #13765 )
2026-02-05 06:20:04 +01:00