Added id_ member to each control class

This commit is contained in:
ElVit
2025-02-20 10:40:21 +01:00
parent 4d8a51c12e
commit 51affa3c3a
6 changed files with 10 additions and 1 deletions
@@ -286,3 +286,4 @@ async def to_code(config):
await cg.register_component(var, child_config)
await cg.register_parented(var, config[CONF_PANASONIC_HEATPUMP_ID])
cg.add(getattr(hub, f"set_{key}_number")(var))
cg.add(var.set_id(index))
@@ -13,9 +13,11 @@ namespace esphome
public:
PanasonicHeatpumpNumber() = default;
void dump_config() override;
void set_id(int id) { this->id_ = id; }
protected:
void control(float value) override;
int id_;
};
} // namespace panasonic_heatpump
} // namespace esphome
@@ -73,3 +73,4 @@ async def to_code(config):
await cg.register_component(var, child_config)
await cg.register_parented(var, config[CONF_PANASONIC_HEATPUMP_ID])
cg.add(getattr(hub, f"set_{key}_select")(var))
cg.add(var.set_id(index))
@@ -13,9 +13,11 @@ namespace esphome
public:
PanasonicHeatpumpSelect() = default;
void dump_config() override;
void set_id(int id) { this->id_ = id; }
protected:
void control(const std::string &value) override;
int id_;
};
} // namespace panasonic_heatpump
} // namespace esphome
@@ -86,9 +86,10 @@ CONFIG_SCHEMA = cv.Schema(
async def to_code(config):
hub = await cg.get_variable(config[CONF_PANASONIC_HEATPUMP_ID])
for key in TYPES:
for index, key in enumerate(TYPES):
if child_config := config.get(key):
var = await switch.new_switch(child_config)
await cg.register_component(var, child_config)
await cg.register_parented(var, config[CONF_PANASONIC_HEATPUMP_ID])
cg.add(getattr(hub, f"set_{key}_switch")(var))
cg.add(var.set_id(index))
@@ -13,9 +13,11 @@ namespace esphome
public:
PanasonicHeatpumpSwitch() = default;
void dump_config() override;
void set_id(int id) { this->id_ = id; }
protected:
void write_state(bool state) override;
int id_;
};
} // namespace panasonic_heatpump
} // namespace esphome