Commit Graph
25245 Commits
Author SHA1 Message Date
J. Nick Koston 4894be2a9d Merge remote-tracking branch 'upstream/base-automation-std-bind-to-lambda' into integration 2026-03-19 01:03:19 -10:00
J. Nick Koston de171db50e [core] Replace std::bind with lambda in DelayAction
Replace std::bind(&DelayAction::play_next_, this, x...) with a
[this, x...] lambda in the argument-forwarding path.
2026-03-19 00:57:16 -10:00
J. Nick Koston e2967c46d7 Merge remote-tracking branch 'origin/binary-sensor-multiclick-inline-callback' into integration 2026-03-19 00:51:32 -10:00
J. Nick Koston 957606fc19 Merge branch 'dev' into binary-sensor-multiclick-inline-callback 2026-03-19 00:50:06 -10:00
J. Nick Koston 59036bea36 Merge remote-tracking branch 'upstream/wireguard-inline-callback' into integration 2026-03-19 00:43:06 -10:00
J. Nick Koston d7c5ceffe3 Merge remote-tracking branch 'upstream/std-bind-to-lambda-easy' into integration 2026-03-19 00:42:58 -10:00
J. Nick Koston eb14d9eae8 Merge remote-tracking branch 'upstream/std-bind-placeholders-to-lambda' into integration 2026-03-19 00:42:54 -10:00
J. Nick Koston a9a2d4a6cb Merge remote-tracking branch 'upstream/mqtt-publish-json-std-bind-to-lambda' into integration 2026-03-19 00:42:48 -10:00
J. Nick Koston 890a0186cd Merge remote-tracking branch 'upstream/http-request-std-bind-to-lambda' into integration 2026-03-19 00:42:44 -10:00
J. Nick Koston f726f2907d Merge remote-tracking branch 'upstream/custom-mqtt-device-std-bind-to-lambda' into integration 2026-03-19 00:42:39 -10:00
J. Nick Koston bcb6ba1e55 Merge remote-tracking branch 'upstream/custom-api-device-std-bind-to-lambda' into integration 2026-03-19 00:42:31 -10:00
J. Nick Koston 9415be0e07 Merge remote-tracking branch 'upstream/bme68x-bsec2-sbo-fix' into integration 2026-03-19 00:42:26 -10:00
J. Nick Koston 455a33cdb5 Merge remote-tracking branch 'upstream/binary-sensor-multiclick-inline-callback' into integration 2026-03-19 00:42:18 -10:00
J. Nick KostonandCopilot Autofix powered by AI 6486937aa1 Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-03-19 00:39:05 -10:00
J. Nick Koston 47eb70849f [http_request] Replace std::bind with lambdas in HttpRequestSendAction
Replace std::bind calls with [this, x...] lambdas for JSON encoding
in play(). Remove the now-unused encode_json_func_ helper.
2026-03-19 00:38:20 -10:00
J. Nick Koston 72a378393a [mqtt] Replace std::bind with lambda in MQTTPublishJsonAction
Replace std::bind with a lambda that captures [this, x...] directly,
eliminating the intermediate encode_ method.
2026-03-19 00:37:18 -10:00
J. Nick Koston f57b604351 [mqtt] Replace std::bind with lambdas in CustomMQTTDevice
Replace std::bind calls in subscribe/subscribe_json template methods
with equivalent lambdas. Uses static_cast<T*>(this) instead of
C-style cast for type safety.
2026-03-19 00:36:05 -10:00
J. Nick Koston 9b8f4b5a5d [api] Replace std::bind with lambdas in CustomAPIDevice
Replace std::bind calls in subscribe_homeassistant_state template
methods with equivalent lambdas. Uses static_cast<T*>(this) instead
of C-style cast for type safety.
2026-03-19 00:34:32 -10:00
J. Nick Koston 2c4ec0580c [core] Replace std::bind with placeholders to lambdas
Replace std::bind calls that use std::placeholders with equivalent
lambdas. Lambdas with explicit parameters are more readable and
generate smaller callable objects than std::bind results.

Components: wifi (libretiny), haier (base, hon, smartair2),
homeassistant/number.
2026-03-19 00:32:06 -10:00
J. Nick Koston 7423ad3abd [core] Replace std::bind with lambdas across components
Mechanical replacement of std::bind with equivalent lambdas in 13
components. Lambdas are more readable, generate smaller objects, and
avoid pulling in <functional> machinery.

Components: sht4x, nau7802, max31855, max31865, max31856, max6675,
dps310, ms5611, ms8607, esp32_improv, improv_serial, sprinkler,
midea.
2026-03-19 00:29:06 -10:00
J. Nick Koston d4d8e92243 [bme68x_bsec2] Store trigger time as member to avoid SBO overflow
The set_timeout lambda captured [this, curr_time_ns] (4 + 8 = 12
bytes), exceeding the std::function small buffer optimization
threshold (8 bytes on 32-bit) and forcing a heap allocation every
measurement cycle (every 3s in LP mode).

Store curr_time_ns as a class member and capture only [this] (4
bytes), which fits inline in the SBO. Trades 8 bytes of permanent
member storage to eliminate a heap alloc+free cycle per measurement.
2026-03-19 00:22:31 -10:00
J. Nick Koston 90022447a8 Remove unused <functional> include 2026-03-19 00:19:26 -10:00
J. Nick Koston 64b50a5cb6 [wireguard] Replace std::bind with inline lambdas
Replace std::bind calls with [this] lambdas for add_on_time_sync_callback
and defer registrations. The [this] lambda fits within the Callback
inline storage threshold (sizeof(void*)), avoiding heap allocations.
2026-03-19 00:07:07 -10:00
J. Nick Koston 3bc7efb479 [binary_sensor] Replace std::bind with inline lambda in MultiClickTrigger
Replace std::bind(&MultiClickTrigger::on_state_, this, _1) with a
[this] lambda for the add_on_state_callback registration. The [this]
lambda fits within the Callback inline storage threshold
(sizeof(void*)), avoiding a permanent heap allocation.
2026-03-19 00:04:55 -10:00
J. Nick Koston e5ab35e144 Merge remote-tracking branch 'upstream/fix-top-level-iana-tz' into integration 2026-03-18 23:45:39 -10:00
J. Nick Koston b5b84c1570 Merge remote-tracking branch 'upstream/packet-transport-inline-callback' into integration 2026-03-18 23:45:34 -10:00
J. Nick Koston ed51f2869b Merge remote-tracking branch 'upstream/combination-inline-callback' into integration 2026-03-18 23:45:30 -10:00
dependabot[bot] 2c31bdc6a2 Bump aioesphomeapi from 44.6.0 to 44.6.1 (#14954)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-18 23:43:50 -10:00
J. Nick Koston f8af05bbea Merge remote-tracking branch 'upstream/dev' into integration 2026-03-18 23:22:56 -10:00
Javier Peletier 0a3393bed3 [core] Disable LeakSanitizer in C++ unit tests (#14712) 2026-03-18 23:13:36 -10:00
Javier PeletierandJ. Nick Koston c2c50ceea7 [substitutions] substitutions pass and !include redesign (package refactor part 2a) (#14917)
Co-authored-by: J. Nick Koston <nick@koston.org>
2026-03-18 23:10:01 -10:00
J. Nick Koston 07b6c7dd5b [time] Fix lookup of top-level IANA timezone keys like UTC and GMT 2026-03-18 22:55:17 -10:00
J. Nick Koston 9a3798ad2a [packet_transport] Fix tests to call set_sensor_count before add_sensor
FixedVector requires init() before push_back(). Update all test cases
to call set_sensor_count()/set_binary_sensor_count() before adding
sensors, matching what the Python codegen does.
2026-03-18 21:46:41 -10:00
J. Nick Koston 257d804d06 [packet_transport] Use const ref in dump_config loops to avoid copies 2026-03-18 21:34:06 -10:00
2341d510d3 [lvgl] Migrate to library v9.5.0 (#12312)
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com>
2026-03-19 20:31:33 +13:00
J. Nick Koston c1a843a9af [packet_transport] Remove unnecessary friend declarations
The lambdas are defined inside PacketTransport::setup() so they
inherit member-function access rights. The friend declarations
are not needed for accessing protected members through parent pointer.
2026-03-18 21:30:50 -10:00
J. Nick Koston ad668f6395 [packet_transport] Use FixedVector for sensor lists to eliminate realloc machinery
The sensor and binary sensor counts are known at config time, so
pre-allocate with FixedVector::init() instead of using std::vector
which pulls in _M_realloc_insert template instantiation code.
2026-03-18 21:29:02 -10:00
J. Nick Koston 96f4f1537c [packet_transport] Add safety comments for [&sensor] capture lifetime 2026-03-18 21:26:42 -10:00
J. Nick Koston 084790809f [combination] Add safety comment for [&source] capture lifetime 2026-03-18 21:26:20 -10:00
J. Nick Koston ded490dc9f [combination] Move SensorSource to protected and fix grammar nit 2026-03-18 21:24:09 -10:00
J. Nick Koston 04552e240e [combination] Use FixedVector for sensor sources to eliminate realloc machinery
The source count is known at config time, so pre-allocate with
FixedVector::init() instead of using std::vector which pulls in
_M_realloc_insert template instantiation code.
2026-03-18 21:19:22 -10:00
J. Nick Koston 5b8acaa7c0 [combination] Store parent pointer to enable inline Callback storage
Replace std::pair<Sensor*, std::function> with a SensorSource struct
that includes a back-pointer to the parent component. This allows
KalmanCombinationComponent::setup() to capture only [&source] (one
pointer) instead of [this, stddev] (this + a full std::function copy),
enabling inline Callback storage and avoiding a heap allocation per
sensor callback registration.
2026-03-18 20:05:49 -10:00
J. Nick Koston 7b9d3b4c33 [packet_transport] Store parent pointer to enable inline Callback storage
Add a back-pointer to PacketTransport in the Sensor and BinarySensor
structs so the state callback lambdas can capture only [&sensor] (one
pointer) instead of [this, &sensor] (two pointers). This brings the
capture size within the Callback inline threshold (sizeof(void*)),
avoiding a heap allocation per callback registration.
2026-03-18 19:59:24 -10:00
Kevin AhrendtandCopilot Autofix powered by AI 9d6f2f71e8 [speaker_source] Reshuffle playlist on repeat all restart (#14773)
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-03-18 19:51:17 -10:00
e1334cf57f [mqtt] Support JSON payload with code for alarm control panel commands (#14731)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io>
Co-authored-by: J. Nick Koston <nick@koston.org>
2026-03-19 05:40:48 +00:00
J. Nick Koston f4db76d7e4 Merge remote-tracking branch 'upstream/callback-drop-captures' into integration 2026-03-18 19:36:06 -10:00
J. Nick Koston f757e7e7d4 Merge remote-tracking branch 'upstream/add-enc28j60-ethernet' into integration 2026-03-18 19:35:59 -10:00
J. Nick Koston 0f6eac0d57 Merge branch 'dev' into callback-drop-captures 2026-03-18 18:43:45 -10:00
J. Nick Koston a1aff7cadf [preferences] Devirtualize preference backend and manager classes (#14825) 2026-03-18 18:42:05 -10:00
J. Nick Koston 2271ac6470 [api] Extract overflow buffer from frame helper into APIOverflowBuffer (#14871) 2026-03-18 18:41:45 -10:00