ESPHome
2024.8.3
|
Base class for all cover devices. More...
#include <cover.h>
Public Member Functions | |
Cover () | |
CoverCall | make_call () |
Construct a new cover call used to control the cover. More... | |
ESPDEPRECATED ("open() is deprecated, use make_call().set_command_open().perform() instead.", "2021.9") void open() | |
Open the cover. More... | |
ESPDEPRECATED ("close() is deprecated, use make_call().set_command_close().perform() instead.", "2021.9") void close() | |
Close the cover. More... | |
ESPDEPRECATED ("stop() is deprecated, use make_call().set_command_stop().perform() instead.", "2021.9") void stop() | |
Stop the cover. More... | |
void | add_on_state_callback (std::function< void()> &&f) |
void | publish_state (bool save=true) |
Publish the current state of the cover. More... | |
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. More... | |
bool | is_fully_closed () const |
Helper method to check if the cover is fully closed. Equivalent to comparing .position against 0.0. More... | |
![]() | |
const StringRef & | get_name () const |
void | set_name (const char *name) |
bool | has_own_name () const |
std::string | get_object_id () const |
void | set_object_id (const char *object_id) |
uint32_t | get_object_id_hash () |
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) |
std::string | get_icon () const |
void | set_icon (const char *icon) |
![]() | |
std::string | get_device_class () |
Get the device class, using the manual override if set. More... | |
void | set_device_class (const char *device_class) |
Manually set the device class. More... | |
Data Fields | |
CoverOperation | current_operation {COVER_OPERATION_IDLE} |
The current operation of the cover (idle, opening, closing). More... | |
float | position |
The position of the cover from 0.0 (fully closed) to 1.0 (fully open). More... | |
float | tilt {COVER_OPEN} |
The current tilt value of the cover from 0.0 to 1.0. More... | |
Protected Member Functions | |
virtual void | control (const CoverCall &call)=0 |
optional< CoverRestoreState > | restore_state_ () |
![]() | |
virtual uint32_t | hash_base () |
The hash_base() function has been deprecated. More... | |
void | calc_object_id_ () |
Protected Attributes | |
friend | CoverCall |
CallbackManager< void()> | state_callback_ {} |
ESPPreferenceObject | rtc_ |
![]() | |
StringRef | name_ |
const char * | object_id_c_str_ {nullptr} |
const char * | icon_c_str_ {nullptr} |
uint32_t | object_id_hash_ |
bool | has_own_name_ {false} |
bool | internal_ {false} |
bool | disabled_by_default_ {false} |
EntityCategory | entity_category_ {ENTITY_CATEGORY_NONE} |
![]() | |
const char * | device_class_ {nullptr} |
Device class override. More... | |
Base class for all cover devices.
Covers currently have three properties:
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.
void esphome::cover::Cover::add_on_state_callback | ( | std::function< void()> && | f | ) |
|
protectedpure virtual |
Implemented in esphome::current_based::CurrentBasedCover, esphome::feedback::FeedbackCover, esphome::template_::TemplateCover, esphome::demo::DemoCover, esphome::tuya::TuyaCover, esphome::am43::Am43Component, esphome::endstop::EndstopCover, esphome::time_based::TimeBasedCover, esphome::he60r::HE60rCover, and esphome::copy::CopyCover.
esphome::cover::Cover::ESPDEPRECATED | ( | "open() is | deprecated, |
use make_call().set_command_open().perform() instead." | , | ||
"2021.9" | |||
) |
Open the cover.
This is a legacy method and may be removed later, please use .make_call()
instead.
esphome::cover::Cover::ESPDEPRECATED | ( | "close() is | deprecated, |
use make_call().set_command_close().perform() instead." | , | ||
"2021.9" | |||
) |
Close the cover.
This is a legacy method and may be removed later, please use .make_call()
instead.
esphome::cover::Cover::ESPDEPRECATED | ( | "stop() is | deprecated, |
use make_call().set_command_stop().perform() instead." | , | ||
"2021.9" | |||
) |
Stop the cover.
This is a legacy method and may be removed later, please use .make_call()
instead. As per solution from issue #2885 the call should include perform()
|
pure virtual |
Implemented in esphome::demo::DemoCover, esphome::current_based::CurrentBasedCover, esphome::feedback::FeedbackCover, esphome::template_::TemplateCover, esphome::tuya::TuyaCover, esphome::endstop::EndstopCover, esphome::am43::Am43Component, esphome::time_based::TimeBasedCover, esphome::he60r::HE60rCover, and esphome::copy::CopyCover.
bool esphome::cover::Cover::is_fully_closed | ( | ) | const |
bool esphome::cover::Cover::is_fully_open | ( | ) | const |
CoverCall esphome::cover::Cover::make_call | ( | ) |
void esphome::cover::Cover::publish_state | ( | bool | save = true | ) |
|
protected |
CoverOperation esphome::cover::Cover::current_operation {COVER_OPERATION_IDLE} |
float esphome::cover::Cover::position |
|
protected |
|
protected |
float esphome::cover::Cover::tilt {COVER_OPEN} |