diff --git a/esphome/components/hbridge/fan/hbridge_fan.cpp b/esphome/components/hbridge/fan/hbridge_fan.cpp index 01680ae651..18591fb1ff 100644 --- a/esphome/components/hbridge/fan/hbridge_fan.cpp +++ b/esphome/components/hbridge/fan/hbridge_fan.cpp @@ -51,11 +51,8 @@ void HBridgeFan::dump_config() { void HBridgeFan::control(const fan::FanCall &call) { if (call.get_state().has_value()) this->state = *call.get_state(); - if (call.get_speed().has_value()) { + if (call.get_speed().has_value()) this->speed = *call.get_speed(); - // Speed manually set, clear preset mode - this->clear_preset_mode_(); - } if (call.get_oscillating().has_value()) this->oscillating = *call.get_oscillating(); if (call.get_direction().has_value()) diff --git a/esphome/components/speed/fan/speed_fan.cpp b/esphome/components/speed/fan/speed_fan.cpp index 43b149e382..c1ccb0a0bb 100644 --- a/esphome/components/speed/fan/speed_fan.cpp +++ b/esphome/components/speed/fan/speed_fan.cpp @@ -23,11 +23,8 @@ void SpeedFan::dump_config() { LOG_FAN("", "Speed Fan", this); } void SpeedFan::control(const fan::FanCall &call) { if (call.get_state().has_value()) this->state = *call.get_state(); - if (call.get_speed().has_value()) { + if (call.get_speed().has_value()) this->speed = *call.get_speed(); - // Speed manually set, clear preset mode - this->clear_preset_mode_(); - } if (call.get_oscillating().has_value()) this->oscillating = *call.get_oscillating(); if (call.get_direction().has_value()) diff --git a/esphome/components/template/fan/template_fan.cpp b/esphome/components/template/fan/template_fan.cpp index 4ec7e121cf..7793fc0b7c 100644 --- a/esphome/components/template/fan/template_fan.cpp +++ b/esphome/components/template/fan/template_fan.cpp @@ -23,11 +23,8 @@ void TemplateFan::dump_config() { LOG_FAN("", "Template Fan", this); } void TemplateFan::control(const fan::FanCall &call) { if (call.get_state().has_value()) this->state = *call.get_state(); - if (call.get_speed().has_value() && (this->speed_count_ > 0)) { + if (call.get_speed().has_value() && (this->speed_count_ > 0)) this->speed = *call.get_speed(); - // Speed manually set, clear preset mode - this->clear_preset_mode_(); - } if (call.get_oscillating().has_value() && this->has_oscillating_) this->oscillating = *call.get_oscillating(); if (call.get_direction().has_value() && this->has_direction_)