From 35fed8e40ffdce2d34d5e441bd30c34d037f20b4 Mon Sep 17 00:00:00 2001 From: ElVit Date: Thu, 20 Feb 2025 11:23:54 +0100 Subject: [PATCH] Added delays. Added missing component references/includes. Added member 'id_' to button, number and sensor classes. --- components/maidsite_desk/button/__init__.py | 7 ++++--- components/maidsite_desk/button/maidsite_desk_button.cpp | 1 + components/maidsite_desk/button/maidsite_desk_button.h | 4 +++- components/maidsite_desk/number/__init__.py | 5 +++-- components/maidsite_desk/number/maidsite_desk_number.cpp | 1 + components/maidsite_desk/number/maidsite_desk_number.h | 4 +++- components/maidsite_desk/sensor/__init__.py | 4 +++- components/maidsite_desk/sensor/maidsite_desk_sensor.cpp | 1 + 8 files changed, 19 insertions(+), 8 deletions(-) diff --git a/components/maidsite_desk/button/__init__.py b/components/maidsite_desk/button/__init__.py index acc1648..677707d 100644 --- a/components/maidsite_desk/button/__init__.py +++ b/components/maidsite_desk/button/__init__.py @@ -37,7 +37,7 @@ TYPES = [ CONF_SAVE_M4, ] -MaidsiteDeskButton = maidsite_desk_ns.class_("MaidsiteDeskButton", button.Button) +MaidsiteDeskButton = maidsite_desk_ns.class_("MaidsiteDeskButton", button.Button, cg.Component) CONFIG_SCHEMA = cv.Schema( { @@ -87,13 +87,14 @@ CONFIG_SCHEMA = cv.Schema( entity_category=ENTITY_CATEGORY_CONFIG, ), } -) +).extend(cv.COMPONENT_SCHEMA) async def to_code(config): hub = await cg.get_variable(config[CONF_MAIDSITE_DESK_ID]) - for key in TYPES: + for index, key in enumerate(TYPES): if child_config := config.get(key): var = await button.new_button(child_config) await cg.register_component(var, child_config) await cg.register_parented(var, config[CONF_MAIDSITE_DESK_ID]) cg.add(getattr(hub, f"set_{key}_button")(var)) + cg.add(var.set_id(index)) diff --git a/components/maidsite_desk/button/maidsite_desk_button.cpp b/components/maidsite_desk/button/maidsite_desk_button.cpp index d191887..869ff62 100644 --- a/components/maidsite_desk/button/maidsite_desk_button.cpp +++ b/components/maidsite_desk/button/maidsite_desk_button.cpp @@ -11,6 +11,7 @@ namespace esphome void MaidsiteDeskButton::dump_config() { LOG_BUTTON("", "Maidsite Desk Button", this); + delay(10); } void MaidsiteDeskButton::press_action() diff --git a/components/maidsite_desk/button/maidsite_desk_button.h b/components/maidsite_desk/button/maidsite_desk_button.h index eb2f4bc..2c811be 100644 --- a/components/maidsite_desk/button/maidsite_desk_button.h +++ b/components/maidsite_desk/button/maidsite_desk_button.h @@ -8,14 +8,16 @@ namespace esphome { namespace maidsite_desk { - class MaidsiteDeskButton : public button::Button, public Parented + class MaidsiteDeskButton : public button::Button, public Component, public Parented { public: MaidsiteDeskButton() = default; void dump_config() override; + void set_id(int id) { this->id_ = id; } protected: void press_action() override; + int id_; }; } // namespace maidsite_desk } // namespace esphome diff --git a/components/maidsite_desk/number/__init__.py b/components/maidsite_desk/number/__init__.py index 53f1ec0..1cde91b 100644 --- a/components/maidsite_desk/number/__init__.py +++ b/components/maidsite_desk/number/__init__.py @@ -21,7 +21,7 @@ CONF_NUMBERS = [ [ 0, 100, .1, ], ] -MaidsiteDeskNumber = maidsite_desk_ns.class_("MaidsiteDeskNumber", number.Number) +MaidsiteDeskNumber = maidsite_desk_ns.class_("MaidsiteDeskNumber", number.Number, cg.Component) CONFIG_SCHEMA = cv.Schema( { @@ -36,7 +36,7 @@ CONFIG_SCHEMA = cv.Schema( unit_of_measurement=UNIT_PERCENT, ), } -) +).extend(cv.COMPONENT_SCHEMA) async def to_code(config): hub = await cg.get_variable(config[CONF_MAIDSITE_DESK_ID]) @@ -51,3 +51,4 @@ async def to_code(config): await cg.register_component(var, child_config) await cg.register_parented(var, config[CONF_MAIDSITE_DESK_ID]) cg.add(getattr(hub, f"set_{key}_number")(var)) + cg.add(var.set_id(index)) diff --git a/components/maidsite_desk/number/maidsite_desk_number.cpp b/components/maidsite_desk/number/maidsite_desk_number.cpp index 30419cd..31c0edd 100644 --- a/components/maidsite_desk/number/maidsite_desk_number.cpp +++ b/components/maidsite_desk/number/maidsite_desk_number.cpp @@ -11,6 +11,7 @@ namespace esphome void MaidsiteDeskNumber::dump_config() { LOG_NUMBER("", "Maidsite Desk Number", this); + delay(10); } void MaidsiteDeskNumber::control(float value) diff --git a/components/maidsite_desk/number/maidsite_desk_number.h b/components/maidsite_desk/number/maidsite_desk_number.h index 710db78..76aca70 100644 --- a/components/maidsite_desk/number/maidsite_desk_number.h +++ b/components/maidsite_desk/number/maidsite_desk_number.h @@ -8,14 +8,16 @@ namespace esphome { namespace maidsite_desk { - class MaidsiteDeskNumber : public number::Number, public Parented + class MaidsiteDeskNumber : public number::Number, public Component, public Parented { public: MaidsiteDeskNumber() = default; void dump_config() override; + void set_id(int id) { this->id_ = id; } protected: void control(float value) override; + int id_; }; } // namespace maidsite_desk } // namespace esphome diff --git a/components/maidsite_desk/sensor/__init__.py b/components/maidsite_desk/sensor/__init__.py index e5637d3..b4c4adc 100644 --- a/components/maidsite_desk/sensor/__init__.py +++ b/components/maidsite_desk/sensor/__init__.py @@ -5,7 +5,7 @@ from esphome.const import ( UNIT_CENTIMETER, UNIT_PERCENT, ) -from . import CONF_MAIDSITE_DESK_ID, MaidsiteDeskComponent, maidsite_desk_ns +from .. import CONF_MAIDSITE_DESK_ID, MaidsiteDeskComponent, maidsite_desk_ns CONF_UNIT = "unit" CONF_HEIGHT_ABS = "height_abs" @@ -85,4 +85,6 @@ async def to_code(config): for key in TYPES: if child_config := config.get(key): var = await sensor.new_sensor(child_config) + await cg.register_component(var, child_config) + await cg.register_parented(var, config[CONF_MAIDSITE_DESK_ID]) cg.add(getattr(hub, f"set_{key}_sensor")(var)) diff --git a/components/maidsite_desk/sensor/maidsite_desk_sensor.cpp b/components/maidsite_desk/sensor/maidsite_desk_sensor.cpp index 23f97c2..87853a0 100644 --- a/components/maidsite_desk/sensor/maidsite_desk_sensor.cpp +++ b/components/maidsite_desk/sensor/maidsite_desk_sensor.cpp @@ -11,6 +11,7 @@ namespace esphome void MaidsiteDeskSensor::dump_config() { LOG_SENSOR("", "Maidsite Desk Sensor", this); + delay(10); } } // namespace maidsite_desk } // namespace esphome