From 794b7ef56271e83d55ce869fedd09c369723a431 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 26 Mar 2026 15:55:49 -1000 Subject: [PATCH] Fix supports_preset_modes: use same precedence as getter --- esphome/components/fan/fan_traits.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/esphome/components/fan/fan_traits.h b/esphome/components/fan/fan_traits.h index 78c215dc8c..229dd5a0c5 100644 --- a/esphome/components/fan/fan_traits.h +++ b/esphome/components/fan/fan_traits.h @@ -55,7 +55,11 @@ class FanTraits { /// Return if preset modes are supported bool supports_preset_modes() const { - return (this->preset_modes_ && !this->preset_modes_->empty()) || !this->compat_preset_modes_.empty(); + // Same precedence as supported_preset_modes() getter + if (this->preset_modes_) { + return !this->preset_modes_->empty(); + } + return !this->compat_preset_modes_.empty(); } /// Find and return the matching preset mode pointer from supported modes, or nullptr if not found. const char *find_preset_mode(const char *preset_mode) const {