ESPHome  1.14.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::Nameable esphome::endstop::EndstopCover esphome::template_::TemplateCover esphome::time_based::TimeBasedCover

Public Member Functions

 Cover ()
 
 Cover (const std::string &name)
 
CoverCall make_call ()
 Construct a new cover call used to control the cover. More...
 
void open ()
 Open the cover. More...
 
void close ()
 Close the cover. More...
 
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::Nameable
 Nameable ()
 
 Nameable (const std::string &name)
 
const std::string & get_name () const
 
void set_name (const std::string &name)
 
const std::string & get_object_id ()
 Get the sanitized name of this nameable as an ID. Caching it internally. More...
 
uint32_t get_object_id_hash ()
 
bool is_internal () const
 
void set_internal (bool internal)
 

Data Fields

CoverOperation current_operation {COVER_OPERATION_IDLE}
 The current operation of the cover (idle, opening, closing). More...
 
union {
   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::Nameable
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::Nameable
std::string name_
 
std::string object_id_
 
uint32_t object_id_hash_
 
bool internal_ {false}
 

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 106 of file cover.h.

Constructor & Destructor Documentation

◆ Cover() [1/2]

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

Definition at line 189 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 147 of file cover.cpp.

◆ close()

void esphome::cover::Cover::close ( )

Close the cover.

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

Definition at line 137 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 197 of file cover.cpp.

◆ get_device_class()

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

Definition at line 190 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::Nameable.

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 196 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 195 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 131 of file cover.cpp.

◆ open()

void esphome::cover::Cover::open ( )

Open the cover.

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

Definition at line 132 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 148 of file cover.cpp.

◆ restore_state_()

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

Definition at line 182 of file cover.cpp.

◆ set_device_class()

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

Definition at line 130 of file cover.cpp.

◆ stop()

void esphome::cover::Cover::stop ( )

Stop the cover.

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

Definition at line 142 of file cover.cpp.

Field Documentation

◆ @13

union { ... }

◆ CoverCall

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

Definition at line 164 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 112 of file cover.h.

◆ device_class_override_

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

Definition at line 173 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 119 of file cover.h.

◆ rtc_

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

Definition at line 175 of file cover.h.

◆ state_callback_

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

Definition at line 172 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 123 of file cover.h.


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