|
| | Cover () |
| |
| CoverCall | make_call () |
| | Construct a new cover call used to control the cover.
|
| |
| void | add_on_state_callback (std::function< void()> &&f) |
| |
| void | publish_state (bool save=true) |
| | Publish the current state of the cover.
|
| |
| virtual CoverTraits | get_traits ()=0 |
| |
| bool | is_fully_open () const |
| | Helper method to check if the cover is fully open. Equivalent to comparing .position against 1.0.
|
| |
| bool | is_fully_closed () const |
| | Helper method to check if the cover is fully closed. Equivalent to comparing .position against 0.0.
|
| |
| const StringRef & | get_name () const |
| |
| void | set_name (const char *name) |
| |
| void | set_name (const char *name, uint32_t object_id_hash) |
| | Set name with pre-computed object_id hash (avoids runtime hash calculation) Use hash=0 for dynamic names that need runtime calculation.
|
| |
| bool | has_own_name () const |
| |
| ESPDEPRECATED("object_id mangles names and all object_id methods are planned for removal " "(see https://github.com/esphome/backlog/issues/76). " "Now is the time to stop using object_id. If still needed, use get_object_id_to() " "which will remain available longer. get_object_id() will be removed in 2026.7.0", "2025.12.0") std uint32_t | get_object_id_hash () |
| |
| 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 |
| |
| void | set_internal (bool internal) |
| |
| bool | is_disabled_by_default () const |
| |
| void | set_disabled_by_default (bool disabled_by_default) |
| |
| EntityCategory | get_entity_category () const |
| |
| void | set_entity_category (EntityCategory entity_category) |
| |
| ESPDEPRECATED("Use get_icon_ref() instead for better performance (avoids string copy). Will be removed in ESPHome 2026.5.0", "2025.11.0") std void | set_icon (const char *icon) |
| |
| StringRef | get_icon_ref () const |
| |
| uint32_t | get_device_id () const |
| |
| void | set_device (Device *device) |
| |
| 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.
|
| |
| ESPDEPRECATED("Use get_device_class_ref() instead for better performance (avoids string copy). Will be removed in " "ESPHome 2026.5.0", "2025.11.0") std void | set_device_class (const char *device_class) |
| | Get the device class, using the manual override if set.
|
| |
| StringRef | get_device_class_ref () const |
| | Get the device class as StringRef.
|
| |
Base class for all cover devices.
Covers currently have three properties:
- position - The current position of the cover from 0.0 (fully closed) to 1.0 (fully open). For covers with only binary OPEN/CLOSED position this will always be either 0.0 or 1.0
- tilt - The tilt value of the cover from 0.0 (closed) to 1.0 (closed)
- current_operation - The operation the cover is currently performing, this can be one of IDLE, OPENING and CLOSING.
For users: All cover operations must be performed over the .make_call() interface. To command a cover, use .make_call() to create a call object, set all properties you wish to set, and activate the command with .perform(). For reading out the current values of the cover, use the public .position, .tilt etc properties (these are read-only for users)
For integrations: Integrations must implement two methods: control() and get_traits(). Control will be called with the arguments supplied by the user and should be used to control all values of the cover. Also implement get_traits() to return what operations the cover supports.
Definition at line 110 of file cover.h.