From 62a0c5775fbedd76151e254f4707841ea309a797 Mon Sep 17 00:00:00 2001 From: Oliver Kleinecke Date: Sat, 15 Feb 2025 16:35:08 +0100 Subject: [PATCH] fix: correct state variable references and update write_state method in DynamicLampComponent --- esphome/components/dynamic_lamp/dynamic_lamp.cpp | 4 ++-- esphome/components/dynamic_lamp/dynamic_lamp.h | 1 + .../components/dynamic_lamp/output/dynamic_lamp_output.cpp | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/esphome/components/dynamic_lamp/dynamic_lamp.cpp b/esphome/components/dynamic_lamp/dynamic_lamp.cpp index 0099f438dc..5180fe8461 100644 --- a/esphome/components/dynamic_lamp/dynamic_lamp.cpp +++ b/esphome/components/dynamic_lamp/dynamic_lamp.cpp @@ -64,7 +64,7 @@ void DynamicLampComponent::loop() { new_state = this->available_outputs_[j].mode_value; break; case MODE_PERCENTAGE: - new_state = this->active_lamps_[i].state * this->available_outputs_[j].mode_value; + new_state = this->active_lamps_[i].state_ * this->available_outputs_[j].mode_value; if (this->available_outputs_[j].min_value && new_state < *this->available_outputs_[j].min_value) { new_state = *this->available_outputs_[j].min_value; } @@ -217,7 +217,7 @@ void DynamicLampComponent::set_lamp_level(std::string lamp_name, float state) { } -bool DynamicLampComponent::write_state(uint8_t lamp_number, float state) { +bool DynamicLampComponent::write_state_(uint8_t lamp_number, float state) { if (this->active_lamps_[lamp_number].active) { this->active_lamps_[lamp_number].state_ = state; this->active_lamps_[lamp_number].update_ = true; diff --git a/esphome/components/dynamic_lamp/dynamic_lamp.h b/esphome/components/dynamic_lamp/dynamic_lamp.h index e5982bf961..0d6567b340 100644 --- a/esphome/components/dynamic_lamp/dynamic_lamp.h +++ b/esphome/components/dynamic_lamp/dynamic_lamp.h @@ -82,6 +82,7 @@ class DynamicLampComponent : public Component { void set_lamp_level(std::string lamp_name, float state); void restore_lamp_values_(uint8_t lamp_number); void set_lamp_values_(uint8_t lamp_number, bool active, uint16_t selected_outputs, uint8_t mode, uint8_t mode_value); + bool write_state_(uint8_t lamp_number, float state); CombinedLamp active_lamps_[16]; LinkedOutput available_outputs_[16]; diff --git a/esphome/components/dynamic_lamp/output/dynamic_lamp_output.cpp b/esphome/components/dynamic_lamp/output/dynamic_lamp_output.cpp index 2b3be4f8f6..a1a0485630 100644 --- a/esphome/components/dynamic_lamp/output/dynamic_lamp_output.cpp +++ b/esphome/components/dynamic_lamp/output/dynamic_lamp_output.cpp @@ -8,7 +8,7 @@ namespace dynamic_lamp { static const char *const TAG = "dynamic_lamp.output"; void DynamicLamp::write_state(float state) { - if (this->parent_->write_state(this->lamp_, state)) { + if (this->parent_->write_state_(this->lamp_, state)) { this->state_ = state; }