diff --git a/esphome/components/mcp4461/output/mcp4461_output.cpp b/esphome/components/mcp4461/output/mcp4461_output.cpp index a6cd1b30e6..01750d9341 100644 --- a/esphome/components/mcp4461/output/mcp4461_output.cpp +++ b/esphome/components/mcp4461/output/mcp4461_output.cpp @@ -35,10 +35,11 @@ void Mcp4461Wiper::set_initial_value(float initial_value) { return; } if (initial_value >= 0.000 && initial_value <= 0.256) { - this->initial_value_ = static_cast(initial_value * 1000); + float state = initial_value * 1000; + this->initial_value_ = static_cast(state); // Use the value ESP_LOGCONFIG(TAG, "Setting initial value %" PRIu16 "", *this->initial_value_); - this->state_ = initial_value * 1000; + this->state_ = state; this->parent_->set_wiper_level(this->wiper_, *this->initial_value_); } else { ESP_LOGCONFIG(TAG, "Invalid initial value set, retaining previous wiper level.");