|
ESPHome 2026.10.0-dev
|
#include <fan.h>
Public Member Functions | |
| FanCall | turn_on () |
| FanCall | turn_off () |
| FanCall | toggle () |
| FanCall | make_call () |
| template<typename F > | |
| void | add_on_state_callback (F &&callback) |
| Register a callback that will be called each time the state changes. | |
| void | publish_state () |
| virtual FanTraits | get_traits ()=0 |
| void | set_supported_preset_modes (std::initializer_list< const char * > preset_modes) |
| Set the supported preset modes (stored on Fan, referenced by FanTraits via pointer). | |
| void | set_supported_preset_modes (const std::vector< const char * > &preset_modes) |
| void | set_restore_mode (FanRestoreMode restore_mode) |
| Set the restore mode of this fan. | |
| StringRef | get_preset_mode () const |
| Get the current preset mode. | |
| bool | has_preset_mode () const |
| Check if a preset mode is currently active. | |
Public Member Functions inherited from esphome::EntityBase | |
| const StringRef & | get_name () const |
| bool | has_own_name () const |
| uint32_t | get_object_id_hash () const |
| StringRef | get_object_id_to (std::span< char, OBJECT_ID_MAX_LEN > buf) const |
| Get object_id with zero heap allocation For static case: returns StringRef to internal storage (buffer unused) For dynamic case: formats into buffer and returns StringRef to buffer. | |
| size_t | write_object_id_to (char *buf, size_t buf_size) const |
| Write object_id directly to buffer, returns length written (excluding null) Useful for building compound strings without intermediate buffer. | |
| bool | is_internal () const |
| ESPDEPRECATED ("set_internal() is undefined behavior at runtime — components and Home Assistant are NOT " "notified. Use the 'internal:' YAML key instead. Will be removed in 2027.3.0.", "2026.3.0") void set_internal(bool internal) | |
| bool | is_disabled_by_default () const |
| EntityCategory | get_entity_category () const |
| const char * | get_device_class_to (std::span< char, MAX_DEVICE_CLASS_LENGTH > buffer) const |
| StringRef | get_unit_of_measurement_ref () const |
| const char * | get_icon_to (std::span< char, MAX_ICON_LENGTH > buffer) const |
| uint32_t | get_device_id () const |
| Device * | get_device () const |
| bool | has_state () const |
| void | set_has_state (bool state) |
| ESPDEPRECATED ("Use make_entity_preference<T>() instead, or preferences won't be migrated. " "See https://github.com/esphome/backlog/issues/85. Will be removed in 2027.1.0.", "2026.7.0") uint32_t get_preference_hash() | |
| Get a unique hash for storing preferences/settings for this entity. | |
| template<typename T > | |
| ESPPreferenceObject | make_entity_preference (uint32_t version=0) |
| Create a preference object for storing this entity's state/settings. | |
Data Fields | |
| bool | state {false} |
| The current on/off state of the fan. | |
| bool | oscillating {false} |
| The current oscillation state of the fan. | |
| int | speed {0} |
| The current fan speed level. | |
| FanDirection | direction {FanDirection::FORWARD} |
| The current direction of the fan. | |
Protected Member Functions | |
| virtual void | control (const FanCall &call)=0 |
| optional< FanRestoreState > | restore_state_ () |
| void | save_state_ () |
| void | dump_traits_ (const char *tag, const char *prefix) |
| bool | set_preset_mode_ (const char *preset_mode, size_t len) |
| Set the preset mode (finds and stores pointer from traits). | |
| bool | set_preset_mode_ (const char *preset_mode) |
| bool | set_preset_mode_ (const std::string &preset_mode) |
| bool | set_preset_mode_ (StringRef preset_mode) |
| void | clear_preset_mode_ () |
| Clear the preset mode. | |
| void | apply_preset_mode_ (const FanCall &call) |
| Apply preset mode from a FanCall (handles speed-clears-preset convention) | |
| const char * | find_preset_mode_ (const char *preset_mode) |
| Find and return the matching preset mode pointer from traits, or nullptr if not found. | |
| const char * | find_preset_mode_ (const char *preset_mode, size_t len) |
| void | wire_preset_modes_ (FanTraits &traits) |
| Wire the Fan-owned preset modes pointer into the given traits object. | |
Protected Member Functions inherited from esphome::EntityBase | |
| friend | void::setup () |
| friend | void::original_setup () |
| void | configure_entity_ (const char *name, uint32_t object_id_hash, uint32_t entity_fields) |
| Combined entity setup from codegen: set name, object_id hash, entity string indices, and flags. | |
| void | set_device_ (Device *device) |
| ESPPreferenceObject | make_entity_preference_ (size_t size, uint32_t version) |
| Non-template helper for make_entity_preference() to avoid code bloat. | |
| void | calc_object_id_ () |
Protected Attributes | |
| friend | FanCall |
| LazyCallbackManager< void()> | state_callback_ {} |
| ESPPreferenceObject | rtc_ |
| FanRestoreMode | restore_mode_ |
Protected Attributes inherited from esphome::EntityBase | |
| StringRef | name_ |
| uint32_t | object_id_hash_ {} |
| Device * | device_ {} |
| struct esphome::EntityBase::EntityFlags | flags_ |
| uint8_t | device_class_idx_ {} |
| uint8_t | uom_idx_ {} |
| uint8_t | icon_idx_ {} |
|
inline |
|
protected |
|
protected |
|
protectedpure virtual |
|
protected |
|
protected |
|
protected |
|
inline |
|
pure virtual |
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
| FanDirection esphome::fan::Fan::direction {FanDirection::FORWARD} |
| bool esphome::fan::Fan::oscillating {false} |
|
protected |
|
protected |
| bool esphome::fan::Fan::state {false} |
|
protected |