Commit Graph
3537 Commits
Author SHA1 Message Date
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 KentandJonathan 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 BurzinskiandJ. 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 StubbsandCopilot 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