diff --git a/esphome/components/fan/automation.h b/esphome/components/fan/automation.h index 48de8d66fbd..ae0af1a9bd3 100644 --- a/esphome/components/fan/automation.h +++ b/esphome/components/fan/automation.h @@ -215,8 +215,9 @@ class FanPresetSetTrigger : public Trigger { const auto *preset_mode = state->get_preset_mode(); auto should_trigger = preset_mode != this->last_preset_mode_; this->last_preset_mode_ = preset_mode; - if (should_trigger && preset_mode != nullptr) { - this->trigger(preset_mode); + if (should_trigger) { + // Trigger with empty string when nullptr to maintain backward compatibility + this->trigger(preset_mode != nullptr ? preset_mode : ""); } }); this->last_preset_mode_ = state->get_preset_mode();