diff --git a/esphome/components/fan/fan_traits.h b/esphome/components/fan/fan_traits.h index bfb17a05ab4..df345f9b048 100644 --- a/esphome/components/fan/fan_traits.h +++ b/esphome/components/fan/fan_traits.h @@ -37,6 +37,11 @@ class FanTraits { } /// Set the preset modes supported by the fan (from vector). void set_supported_preset_modes(const std::vector &preset_modes) { this->preset_modes_ = preset_modes; } + + // Deleted overloads to catch incorrect std::string usage at compile time with clear error messages + void set_supported_preset_modes(const std::vector &preset_modes) = delete; + void set_supported_preset_modes(std::initializer_list preset_modes) = delete; + /// Return if preset modes are supported bool supports_preset_modes() const { return !this->preset_modes_.empty(); }