J. Nick Koston
61597e304b
Merge branch 'dev' into lock-trigger-trampoline
2026-03-26 17:39:33 -10:00
Edward Firmo and pre-commit-ci-lite[bot]
6feb2d04df
[nextion] Replace static std::string COMMAND_DELIMITER with constexpr ( #15195 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-26 17:36:35 -10:00
J. Nick Koston
90dafa3fa4
[logger] Warn when VERBOSE/VERY_VERBOSE logging is active ( #15189 )
2026-03-27 01:59:58 +00:00
J. Nick Koston
e77cdb5971
[light] Validate effect names during config validation instead of codegen ( #15107 )
2026-03-26 15:13:44 -10:00
J. Nick Koston
90e6c0d7c7
[core] Remove indirection from ControllerRegistry dispatch ( #15173 )
2026-03-26 15:09:16 -10:00
J. Nick Koston
240e53afce
[fan] Add benchmarks for fan component ( #15210 )
2026-03-26 14:35:09 -10:00
J. Nick Koston
2d56b089ed
Merge branch 'dev' into lock-trigger-trampoline
2026-03-26 13:53:03 -10:00
J. Nick Koston
fa8a609bcc
[automation] Eliminate trigger trampolines with deduplicated forwarder structs ( #15174 )
2026-03-26 13:50:50 -10:00
J. Nick Koston
854e8d90cb
Fix copy lock namespace qualification for LockState
2026-03-26 12:39:44 -10:00
J. Nick Koston
24cc9bdb13
Update copy lock to accept LockState callback parameter
2026-03-26 12:31:14 -10:00
J. Nick Koston
0ddda2561c
Merge branch 'eliminate-trigger-trampolines' into lock-trigger-trampoline
2026-03-26 10:35:47 -10:00
J. Nick Koston
ef1f028eb5
Refactor automation building to iterate tuples
2026-03-26 10:34:13 -10:00
J. Nick Koston
1f9b02165a
Remove stale trigger class declarations and schema overrides
2026-03-26 10:32:04 -10:00
J. Nick Koston
2dec1ee46e
Migrate lock LockStateTrigger to callback automation
2026-03-26 10:16:07 -10:00
dependabot[bot] and J. Nick Koston
6aafb521c1
Bump ruff from 0.15.7 to 0.15.8 ( #15192 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-03-26 19:59:21 +00:00
Edward Firmo
81f0aa1168
[nextion] Replace or/and operators and missing this-> ( #15191 )
2026-03-26 09:54:50 -10:00
dependabot[bot]
3152642571
Bump codecov/codecov-action from 5.5.3 to 6.0.0 ( #15194 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-26 09:48:06 -10:00
dependabot[bot]
1e2c410abf
Bump cryptography from 46.0.5 to 46.0.6 ( #15193 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-26 09:47:18 -10:00
J. Nick Koston and Copilot
a008c27fcf
[climate] Avoid duplicate get_traits() in publish_state ( #15181 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-26 15:01:08 -04:00
Clyde Stubbs
1edf952dda
[font] Add unit tests verifying correct processing of glyphs ( #15178 )
2026-03-26 14:59:06 -04:00
Edward Firmo
d9ada4536c
[nextion] Fix leading space in pressed color string commands ( #15190 )
2026-03-26 14:58:12 -04:00
Jonathan Swoboda
bf89a191f0
[wifi] Guard coex_background_scan with CONFIG_SOC_WIFI_SUPPORTED ( #15187 )
2026-03-26 13:39:35 -04:00
Jonathan Swoboda
c2456409bd
[core] Improve clean-all with no arguments ( #15184 )
2026-03-26 13:39:19 -04:00
J. Nick Koston
02e23eb386
[benchmark] Add light call and publish benchmarks ( #15176 )
2026-03-26 07:33:10 -10:00
J. Nick Koston
6898284361
[benchmark] Add cover publish_state and call benchmarks ( #15179 )
2026-03-26 07:32:54 -10:00
J. Nick Koston
f3a31be6d0
[benchmark] Add climate publish_state and call benchmarks ( #15180 )
2026-03-26 07:32:39 -10:00
Daniel Kent and Jonathan Swoboda
9260401747
[bmp581] Add SPI support for BMP581 ( #13124 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-03-26 12:11:46 -04:00
J. Nick Koston
8a6b009173
[light] Move normal state logging to VERBOSE ( #15177 )
2026-03-26 15:53:33 +13:00
Keith Burzinski and J. Nick Koston
676ac9d8b8
[infrared][ir_rf_proxy] Add receiver_frequency config for IR receiver demodulation frequency ( #15156 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-26 15:30:46 +13:00
J. Nick Koston
150e0775b9
Add static_asserts for forwarder size, widen type hint
...
- static_assert that forwarders are pointer-sized and trivially
copyable so future field additions can't silently cause heap
allocation in Callback::create().
- Widen forwarder parameter type hint to MockObj | MockObjClass.
2026-03-25 15:36:08 -10:00
J. Nick Koston
bd69737878
Add comment explaining RawExpression usage
2026-03-25 15:21:55 -10:00
J. Nick Koston
a90a2b1d62
Address review: simplify template branch, add constructor comment
...
- Remove unnecessary TriggerForwarder.template() branch —
TemplateArguments() already handles the empty case.
- Add comment on Automation default constructor explaining
its purpose for the forwarder pattern.
2026-03-25 15:20:36 -10:00
J. Nick Koston
73ae0dd739
Migrate event component (EventTrigger)
2026-03-25 15:17:05 -10:00
J. Nick Koston
bdc4a54613
Address review: const ref args, revert lock migration
...
- TriggerForwarder::operator() now takes const Ts&... to avoid
copies of non-trivial types (e.g., std::string).
- Revert lock to trigger-based pattern: LockStateForwarder holds
two pointers (automation + lock), exceeding sizeof(void*) which
would cause Callback::create to heap-allocate.
- Remove forwarder_extra_args from API since lock was the only user.
2026-03-25 15:10:10 -10:00
J. Nick Koston
ee1da10614
Remove unused trigger_ back-pointer from Automation
...
The trigger_ field was only set in the constructor and never read
afterward. Removing it saves 4 bytes per Automation instance.
2026-03-25 14:32:51 -10:00
J. Nick Koston
9be87f66c3
Accept custom forwarder types, migrate number and lock
...
Replace bool_filter with generic forwarder parameter that accepts
any struct type. Components can define their own forwarders with
custom fields (e.g., LockStateForwarder needs both automation and
lock entity pointers).
Migrates number (NumberStateTrigger) and lock (LockStateTrigger)
to prove the API is flexible enough for diverse patterns.
2026-03-25 14:23:35 -10:00
J. Nick Koston
c127cacb9a
Use template forwarder structs for callback deduplication
...
Replace per-site lambda generation with TriggerForwarder<Ts...>,
TriggerOnTrueForwarder, and TriggerOnFalseForwarder structs. The
compiler generates one operator() per forwarder type shared across
all call sites, avoiding flash duplication from unique lambdas.
Also cleans up API: replaces condition/callback_args with
bool_filter using TRIGGER_ON_TRUE/TRIGGER_ON_FALSE constants.
2026-03-25 14:16:30 -10:00
J. Nick Koston
6c905bd036
Add unit tests for trigger callback lambda generation
...
Tests the lambda output format for all variations used by
build_callback_automation: no args, typed args, conditions,
multiple args, and empty capture.
2026-03-25 14:09:10 -10:00
J. Nick Koston
6354d4ad97
[core] Eliminate trigger trampolines for common entity automations
...
Add build_callback_automation() to register automation callbacks
directly on parent components, bypassing the Trigger wrapper object.
Migrates button, sensor, binary_sensor, switch, and text_sensor
to the new pattern, eliminating 12 thin wrapper trigger classes
from runtime instantiation.
2026-03-25 13:58:30 -10:00
J. Nick Koston
29e263ad7d
[esp32] Wrap vfprintf to fix printf stub on picolibc (IDF 6) ( #15172 )
2026-03-25 19:43:01 -04:00
Jonathan Swoboda
a075f63b59
[uart] Fix debug callback missing peeked byte and reading past end ( #15169 )
2026-03-25 16:50:37 -04:00
J. Nick Koston
ec60da893f
[core] Move state logging to client-side formatting, console to VERBOSE ( #15155 )
2026-03-25 19:45:06 +00:00
dependabot[bot]
d8fbce365a
Bump requests from 2.32.5 to 2.33.0 ( #15170 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-25 09:38:20 -10:00
Jonathan Swoboda
f6c5767a83
[inkplate] Use atomic GPIO write to prevent ISR race ( #15166 )
2026-03-25 14:10:28 -04:00
Jonathan Swoboda
19615f2eae
[bme68x_bsec2] Fix uninitialized bme68x_conf in measurement duration calculation ( #15168 )
2026-03-25 14:10:04 -04:00
Jonathan Swoboda
c42c6745b9
[mcp9600] Fix setup success check using OR instead of AND ( #15165 )
2026-03-25 08:06:48 -10:00
65d0a91fcc
[nextion] Add defined keys to defines.h ( #14971 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-25 18:01:52 +00:00
J. Nick Koston
a22d47c719
[api] Add --no-states flag to esphome logs command ( #15160 )
2026-03-25 07:36:53 -10:00
J. Nick Koston
010516aef2
[benchmark] Add sensor publish_state benchmarks ( #15034 )
2026-03-25 07:33:17 -10:00
Jonathan Swoboda
a15389318f
[audio] Bump esp-audio-libs to 2.0.4 ( #15164 )
2026-03-25 11:57:33 -04:00