ESPHome  2021.11.3
Public Member Functions | Data Fields | Protected Member Functions | Protected Attributes
esphome::cover::Cover Class Referenceabstract

Base class for all cover devices. More...

#include <cover.h>

Inheritance diagram for esphome::cover::Cover:
esphome::EntityBase esphome::am43::Am43Component esphome::current_based::CurrentBasedCover esphome::demo::DemoCover esphome::endstop::EndstopCover esphome::template_::TemplateCover esphome::time_based::TimeBasedCover esphome::tuya::TuyaCover

Public Member Functions

 Cover ()
 
 Cover (const std::string &name)
 
CoverCall make_call ()
 Construct a new cover call used to control the cover. More...
 
 ESPDEPRECATED ("open() is deprecated, use make_call().set_command_open() instead.", "2021.9") void open()
 Open the cover. More...
 
 ESPDEPRECATED ("close() is deprecated, use make_call().set_command_close() instead.", "2021.9") void close()
 Close the cover. More...
 
 ESPDEPRECATED ("stop() is deprecated, use make_call().set_command_stop() 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
 
void set_device_class (const std::string &device_class)
 
std::string get_device_class ()
 
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...
 
- Public Member Functions inherited from esphome::EntityBase
 EntityBase ()
 
 EntityBase (std::string name)
 
const std::string & get_name () const
 
void set_name (const std::string &name)
 
const std::string & get_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)
 
const std::string & get_icon () const
 
void set_icon (const std::string &name)
 

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
 
virtual std::string device_class ()
 
optional< CoverRestoreStaterestore_state_ ()
 
uint32_t hash_base () override
 
- Protected Member Functions inherited from esphome::EntityBase
void calc_object_id_ ()
 

Protected Attributes

friend CoverCall
 
CallbackManager< void()> state_callback_ {}
 
optional< std::string > device_class_override_ {}
 
ESPPreferenceObject rtc_
 
- Protected Attributes inherited from esphome::EntityBase
std::string name_
 
std::string object_id_
 
std::string icon_
 
uint32_t object_id_hash_
 
bool internal_ {false}
 
bool disabled_by_default_ {false}
 
EntityCategory entity_category_ {ENTITY_CATEGORY_NONE}
 

Detailed Description

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.

Definition at line 111 of file cover.h.

Constructor & Destructor Documentation

◆ Cover() [1/2]

esphome::cover::Cover::Cover ( )
explicit

Definition at line 209 of file cover.cpp.

◆ Cover() [2/2]

esphome::cover::Cover::Cover ( const std::string &  name)
explicit

Definition at line 34 of file cover.cpp.

Member Function Documentation

◆ add_on_state_callback()

void esphome::cover::Cover::add_on_state_callback ( std::function< void()> &&  f)

Definition at line 167 of file cover.cpp.

◆ control()

virtual void esphome::cover::Cover::control ( const CoverCall call)
protectedpure virtual

◆ device_class()

std::string esphome::cover::Cover::device_class ( )
protectedvirtual

Definition at line 217 of file cover.cpp.

◆ ESPDEPRECATED() [1/3]

esphome::cover::Cover::ESPDEPRECATED ( "open() is  deprecated,
use make_call().set_command_open() instead."  ,
"2021.9"   
)

Open the cover.

This is a legacy method and may be removed later, please use .make_call() instead.

◆ ESPDEPRECATED() [2/3]

esphome::cover::Cover::ESPDEPRECATED ( "close() is  deprecated,
use make_call().set_command_close() instead."  ,
"2021.9"   
)

Close the cover.

This is a legacy method and may be removed later, please use .make_call() instead.

◆ ESPDEPRECATED() [3/3]

esphome::cover::Cover::ESPDEPRECATED ( "stop() is  deprecated,
use make_call().set_command_stop() instead."  ,
"2021.9"   
)

Stop the cover.

This is a legacy method and may be removed later, please use .make_call() instead.

◆ get_device_class()

std::string esphome::cover::Cover::get_device_class ( )

Definition at line 210 of file cover.cpp.

◆ get_traits()

virtual CoverTraits esphome::cover::Cover::get_traits ( )
pure virtual

◆ hash_base()

uint32_t esphome::cover::Cover::hash_base ( )
overrideprotectedvirtual

Implements esphome::EntityBase.

Definition at line 36 of file cover.cpp.

◆ is_fully_closed()

bool esphome::cover::Cover::is_fully_closed ( ) const

Helper method to check if the cover is fully closed. Equivalent to comparing .position against 0.0.

Definition at line 216 of file cover.cpp.

◆ is_fully_open()

bool esphome::cover::Cover::is_fully_open ( ) const

Helper method to check if the cover is fully open. Equivalent to comparing .position against 1.0.

Definition at line 215 of file cover.cpp.

◆ make_call()

CoverCall esphome::cover::Cover::make_call ( )

Construct a new cover call used to control the cover.

Definition at line 151 of file cover.cpp.

◆ publish_state()

void esphome::cover::Cover::publish_state ( bool  save = true)

Publish the current state of the cover.

First set the .position, .tilt, etc values and then call this method to publish the state of the cover.

Parameters
saveWhether to save the updated values in RTC area.

Definition at line 168 of file cover.cpp.

◆ restore_state_()

optional< CoverRestoreState > esphome::cover::Cover::restore_state_ ( )
protected

Definition at line 202 of file cover.cpp.

◆ set_device_class()

void esphome::cover::Cover::set_device_class ( const std::string &  device_class)

Definition at line 150 of file cover.cpp.

Field Documentation

◆ CoverCall

friend esphome::cover::Cover::CoverCall
protected

Definition at line 169 of file cover.h.

◆ current_operation

CoverOperation esphome::cover::Cover::current_operation {COVER_OPERATION_IDLE}

The current operation of the cover (idle, opening, closing).

Definition at line 117 of file cover.h.

◆ device_class_override_

optional<std::string> esphome::cover::Cover::device_class_override_ {}
protected

Definition at line 178 of file cover.h.

◆ position

float esphome::cover::Cover::position

The position of the cover from 0.0 (fully closed) to 1.0 (fully open).

For binary covers this is always equals to 0.0 or 1.0 (see also COVER_OPEN and COVER_CLOSED constants).

Definition at line 123 of file cover.h.

◆ rtc_

ESPPreferenceObject esphome::cover::Cover::rtc_
protected

Definition at line 180 of file cover.h.

◆ state_callback_

CallbackManager<void()> esphome::cover::Cover::state_callback_ {}
protected

Definition at line 177 of file cover.h.

◆ tilt

float esphome::cover::Cover::tilt {COVER_OPEN}

The current tilt value of the cover from 0.0 to 1.0.

Definition at line 125 of file cover.h.


The documentation for this class was generated from the following files: