From d96d0b80f7b972e8c1c0e9a0d87ecc8b23e94cb4 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Fri, 25 Sep 2026 20:56:49 +0100 Subject: [PATCH] [cm1106] Use register_apply_action for cm1106.calibrate_zero (#19678) --- esphome/components/cm1106/cm1106.h | 11 ----------- esphome/components/cm1106/sensor.py | 9 ++------- tests/components/cm1106/common-actions.yaml | 5 +++++ tests/components/cm1106/test-actions.esp8266-ard.yaml | 8 ++++++++ 4 files changed, 15 insertions(+), 18 deletions(-) create mode 100644 tests/components/cm1106/common-actions.yaml create mode 100644 tests/components/cm1106/test-actions.esp8266-ard.yaml diff --git a/esphome/components/cm1106/cm1106.h b/esphome/components/cm1106/cm1106.h index 844bfdfa88..e381db7b5c 100644 --- a/esphome/components/cm1106/cm1106.h +++ b/esphome/components/cm1106/cm1106.h @@ -1,7 +1,6 @@ #pragma once #include "esphome/core/component.h" -#include "esphome/core/automation.h" #include "esphome/components/sensor/sensor.h" #include "esphome/components/uart/uart.h" @@ -23,14 +22,4 @@ class CM1106Component final : public PollingComponent, public uart::UARTDevice { bool cm1106_write_command_(const uint8_t *command, size_t command_len, uint8_t *response, size_t response_len); }; -template class CM1106CalibrateZeroAction final : public Action { - public: - CM1106CalibrateZeroAction(CM1106Component *cm1106) : cm1106_(cm1106) {} - - void play(const Ts &...x) override { this->cm1106_->calibrate_zero(400); } - - protected: - CM1106Component *cm1106_; -}; - } // namespace esphome::cm1106 diff --git a/esphome/components/cm1106/sensor.py b/esphome/components/cm1106/sensor.py index cbb0509ce5..bf12bc38d9 100644 --- a/esphome/components/cm1106/sensor.py +++ b/esphome/components/cm1106/sensor.py @@ -22,10 +22,6 @@ cm1106_ns = cg.esphome_ns.namespace("cm1106") CM1106Component = cm1106_ns.class_( "CM1106Component", cg.PollingComponent, uart.UARTDevice ) -CM1106CalibrateZeroAction = cm1106_ns.class_( - "CM1106CalibrateZeroAction", - automation.Action, -) CONFIG_SCHEMA = ( cv.Schema( @@ -70,9 +66,8 @@ CALIBRATION_ACTION_SCHEMA = maybe_simple_id( ) -automation.register_simple_action( +automation.register_apply_action( "cm1106.calibrate_zero", - CM1106CalibrateZeroAction, CALIBRATION_ACTION_SCHEMA, - synchronous=True, + automation.ApplyCall("calibrate_zero(400)"), ) diff --git a/tests/components/cm1106/common-actions.yaml b/tests/components/cm1106/common-actions.yaml new file mode 100644 index 0000000000..dd6115d37a --- /dev/null +++ b/tests/components/cm1106/common-actions.yaml @@ -0,0 +1,5 @@ +button: + - platform: template + name: CM1106 Calibrate Zero + on_press: + - cm1106.calibrate_zero: diff --git a/tests/components/cm1106/test-actions.esp8266-ard.yaml b/tests/components/cm1106/test-actions.esp8266-ard.yaml new file mode 100644 index 0000000000..04d7c1aa5d --- /dev/null +++ b/tests/components/cm1106/test-actions.esp8266-ard.yaml @@ -0,0 +1,8 @@ +substitutions: + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + cm1106: !include common.yaml + actions: !include common-actions.yaml