diff --git a/esphome/components/ld2450/number/__init__.py b/esphome/components/ld2450/number/__init__.py index 237c7c4c231..23aa1a33251 100644 --- a/esphome/components/ld2450/number/__init__.py +++ b/esphome/components/ld2450/number/__init__.py @@ -24,7 +24,6 @@ ICON_ARROW_TOP_LEFT = "mdi:arrow-top-left" ICON_ARROW_TOP_LEFT_BOLD_BOX_OUTLINE = "mdi:arrow-top-left-bold-box-outline" MAX_ZONES = 3 -PresenceTimeoutNumber = ld2450_ns.class_("PresenceTimeoutNumber", number.Number) ZoneCoordinateNumber = ld2450_ns.class_("ZoneCoordinateNumber", number.Number) CONFIG_SCHEMA = cv.Schema( @@ -32,7 +31,7 @@ CONFIG_SCHEMA = cv.Schema( cv.GenerateID(CONF_ID): cv.declare_id(cg.EntityBase), cv.GenerateID(CONF_LD2450_ID): cv.use_id(LD2450Component), cv.Required(CONF_PRESENCE_TIMEOUT): number.number_schema( - PresenceTimeoutNumber, + number.ApplyNumber, unit_of_measurement=UNIT_SECOND, entity_category=ENTITY_CATEGORY_CONFIG, icon=ICON_TIMELAPSE, @@ -88,6 +87,8 @@ async def to_code(config: ConfigType) -> None: min_value=0, max_value=3600, step=1, + apply="set_presence_timeout()", + publish="before", ) for zone_num in range(MAX_ZONES): if zone_conf := config.get(f"zone_{zone_num + 1}"): diff --git a/esphome/components/ld2450/number/presence_timeout_number.cpp b/esphome/components/ld2450/number/presence_timeout_number.cpp deleted file mode 100644 index 19a1ada0d7b..00000000000 --- a/esphome/components/ld2450/number/presence_timeout_number.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include "presence_timeout_number.h" - -namespace esphome::ld2450 { - -void PresenceTimeoutNumber::control(float value) { - this->publish_state(value); - this->parent_->set_presence_timeout(); -} - -} // namespace esphome::ld2450 diff --git a/esphome/components/ld2450/number/presence_timeout_number.h b/esphome/components/ld2450/number/presence_timeout_number.h deleted file mode 100644 index 8c44fa39dc0..00000000000 --- a/esphome/components/ld2450/number/presence_timeout_number.h +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "esphome/components/number/number.h" -#include "../ld2450.h" - -namespace esphome::ld2450 { - -class PresenceTimeoutNumber : public number::Number, public Parented { - public: - // User provided, not "= default": `new(p) PresenceTimeoutNumber()` would zero-fill .bss that is already zero. - PresenceTimeoutNumber() {} - - protected: - void control(float value) override; -}; - -} // namespace esphome::ld2450