From b392f14684e2accd436d247cc1cf5e3d3a028d18 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 29 Mar 2026 16:08:01 -1000 Subject: [PATCH] merge --- .../esp32_ble_server/ble_server_automations.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/esphome/components/esp32_ble_server/ble_server_automations.cpp b/esphome/components/esp32_ble_server/ble_server_automations.cpp index 74cf56a7650..0761de994a2 100644 --- a/esphome/components/esp32_ble_server/ble_server_automations.cpp +++ b/esphome/components/esp32_ble_server/ble_server_automations.cpp @@ -15,10 +15,7 @@ Trigger, uint16_t> *BLETriggers::create_characteristic_on_w Trigger, uint16_t> *on_write_trigger = // NOLINT(cppcoreguidelines-owning-memory) new Trigger, uint16_t>(); characteristic->on_write([on_write_trigger](std::span data, uint16_t id) { - // Convert span to vector for trigger - copy is necessary because: - // 1. Trigger stores the data for use in automation actions that execute later - // 2. The span is only valid during this callback (points to temporary BLE stack data) - // 3. User lambdas in automations need persistent data they can access asynchronously + // Convert span to vector for trigger on_write_trigger->trigger(std::vector(data.begin(), data.end()), id); }); return on_write_trigger; @@ -30,10 +27,7 @@ Trigger, uint16_t> *BLETriggers::create_descriptor_on_write Trigger, uint16_t> *on_write_trigger = // NOLINT(cppcoreguidelines-owning-memory) new Trigger, uint16_t>(); descriptor->on_write([on_write_trigger](std::span data, uint16_t id) { - // Convert span to vector for trigger - copy is necessary because: - // 1. Trigger stores the data for use in automation actions that execute later - // 2. The span is only valid during this callback (points to temporary BLE stack data) - // 3. User lambdas in automations need persistent data they can access asynchronously + // Convert span to vector for trigger on_write_trigger->trigger(std::vector(data.begin(), data.end()), id); }); return on_write_trigger;