J. Nick Koston
7a7c33fdb1
[esp32_ble_server] Fix set_value action with static data lists ( #15285 )
2026-03-28 15:38:06 -10:00
J. Nick Koston
35eda1293c
Merge remote-tracking branch 'upstream/esp8266-enable-scanf-float' into integration
2026-03-28 14:12:22 -10:00
J. Nick Koston
3f24a65e6a
[esp8266] Add enable_scanf_float option
2026-03-28 12:58:36 -10:00
J. Nick Koston
db15bb2494
Merge remote-tracking branch 'upstream/callback-manager-no-vector' into integration
2026-03-28 08:27:47 -10:00
Jonathan Swoboda
b6abfec82e
[core] Fix area/device hash collision validation not running ( #15259 )
2026-03-27 22:22:24 -04:00
J. Nick Koston
fc1d590186
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-27 11:24:23 -10:00
J. Nick Koston
f5cd1e5e76
[ld2450] Fix flaky integration test race condition ( #15226 )
2026-03-27 08:23:26 -10:00
J. Nick Koston
5f300a864f
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-26 19:48:45 -10:00
J. Nick Koston
0221db0f13
Merge branch 'dev' into fan-store-preset-modes-on-entity
2026-03-26 17:06:40 -10:00
J. Nick Koston
05a5c27b90
Add 2026.11.0 removal comments to integration test and fixture
2026-03-26 16:21:30 -10:00
J. Nick Koston
592371f9f6
Add 2026.11.0 removal comments to integration test and fixture
2026-03-26 16:20:32 -10:00
J. Nick Koston
b5df9de79b
Remove unnecessary get_setup_priority from test fixture
2026-03-26 16:08:08 -10:00
J. Nick Koston
541ab9abf9
Fix fan test: use fan_schema(), remove unnecessary get_setup_priority
2026-03-26 16:07:20 -10:00
J. Nick Koston
a3f5458ae3
Fix unused services variable in test
2026-03-26 15:54:54 -10:00
J. Nick Koston
3388d420ec
Fix unused services variable in test
2026-03-26 15:42:36 -10:00
J. Nick Koston
317db8438c
Move set_supported_custom_* out of traits() hot path
...
- Midea: frost protection preset now set once in on_status_change()
when autoconf completes, guarded by a flag
- BedJet: custom fan modes and presets moved from traits() to setup()
- Test fixture: use has_custom_fan_mode() instead of nullptr check
2026-03-26 15:36:56 -10:00
J. Nick Koston
95cdc90835
Fix to_code signature: add ConfigType annotation
2026-03-26 15:27:20 -10:00
J. Nick Koston
1c054db1f1
Fix to_code signature: add ConfigType annotation
2026-03-26 15:26:51 -10:00
J. Nick Koston
576b1c3ff0
Fix fan fixture: use C++17 namespace style
2026-03-26 15:25:13 -10:00
J. Nick Koston
991c34a4f3
Fix fixtures: remove unnecessary build flags, use C++17 namespace style
2026-03-26 15:24:38 -10:00
J. Nick Koston
c8d842586a
Fix fan fixture: remove unnecessary build flags
2026-03-26 15:23:44 -10:00
J. Nick Koston
2f93ba0d71
Add integration test for deprecated FanTraits compat layer
2026-03-26 15:21:11 -10:00
J. Nick Koston
602bcd2c97
Add integration test for deprecated ClimateTraits compat layer
2026-03-26 15:19:45 -10: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
240e53afce
[fan] Add benchmarks for fan component ( #15210 )
2026-03-26 14:35:09 -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
b2290891a3
Revert benchmark changes — keep identical to base for apples-to-apples comparison
2026-03-26 13:11:24 -10:00
J. Nick Koston
fe395ac41d
Use plain vector compat members, add custom modes benchmark
...
The owned vectors add 48 bytes to ClimateTraits copies — this is the
cost of backward compat and will be removed in 2026.11.0.
Add ClimatePublish_WithCustomModes benchmark to show the improvement
for climate devices that use custom fan modes and presets (the case
that previously heap-allocated on every publish).
2026-03-26 13:10:47 -10:00
J. Nick Koston
4170f0ecb4
Merge remote-tracking branch 'origin/warn-verbose-logging' into integration
2026-03-26 09:43:45 -10:00
Clyde Stubbs
1edf952dda
[font] Add unit tests verifying correct processing of glyphs ( #15178 )
2026-03-26 14:59:06 -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
41ed574826
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-25 22:11:53 -10: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
93232363e9
Merge remote-tracking branch 'upstream/eliminate-trigger-trampolines' into integration
2026-03-25 15:38:03 -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
2465339d07
Merge remote-tracking branch 'upstream/eliminate-trigger-trampolines' into integration
2026-03-25 14:47:08 -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
c72aeb91c5
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-25 08:47:35 -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
Clyde Stubbs and Copilot
2355fcb44e
[lvgl] Update function and type names ( #15109 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-25 09:51:51 -04:00
J. Nick Koston
5b2d65b5c8
Merge branch 'state-log-no-states' into integration
2026-03-24 23:06:52 -10:00
J. Nick Koston
9befe1b299
[api] Add --no-states flag to esphome logs command
...
Pass subscribe_states through to aioesphomeapi's log runner so users
can suppress synthetic [S] state change lines in log output.
2026-03-24 23:00:06 -10:00