|
ESPHome 2025.12.0-dev
|
Base class for all valve devices. More...
#include <valve.h>
Public Member Functions | |
| Valve () | |
| ValveCall | make_call () |
| Construct a new valve call used to control the valve. | |
| void | add_on_state_callback (std::function< void()> &&f) |
| void | publish_state (bool save=true) |
| Publish the current state of the valve. | |
| virtual ValveTraits | get_traits ()=0 |
| bool | is_fully_open () const |
| Helper method to check if the valve is fully open. Equivalent to comparing .position against 1.0. | |
| bool | is_fully_closed () const |
| Helper method to check if the valve is fully closed. Equivalent to comparing .position against 0.0. | |
Public Member Functions inherited from esphome::EntityBase | |
| 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) |
| 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) |
| bool | has_state () const |
| void | set_has_state (bool state) |
| uint32_t | get_preference_hash () |
| Get a unique hash for storing preferences/settings for this entity. | |
Public Member Functions inherited from esphome::EntityBase_DeviceClass | |
| 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. | |
Data Fields | |
| ValveOperation | current_operation {VALVE_OPERATION_IDLE} |
| The current operation of the valve (idle, opening, closing). | |
| float | position |
| The position of the valve from 0.0 (fully closed) to 1.0 (fully open). | |
Protected Member Functions | |
| virtual void | control (const ValveCall &call)=0 |
| optional< ValveRestoreState > | restore_state_ () |
Protected Member Functions inherited from esphome::EntityBase | |
| StringRef | get_object_id_ref_for_api_ () const |
| void | calc_object_id_ () |
| bool | is_object_id_dynamic_ () const |
| Check if the object_id is dynamic (changes with MAC suffix) | |
Protected Attributes | |
| friend | ValveCall |
| CallbackManager< void()> | state_callback_ {} |
| ESPPreferenceObject | rtc_ |
Protected Attributes inherited from esphome::EntityBase | |
| StringRef | name_ |
| const char * | object_id_c_str_ {nullptr} |
| const char * | icon_c_str_ {nullptr} |
| uint32_t | object_id_hash_ {} |
| Device * | device_ {} |
| struct esphome::EntityBase::EntityFlags | flags_ |
Protected Attributes inherited from esphome::EntityBase_DeviceClass | |
| const char * | device_class_ {nullptr} |
| Device class override. | |
Base class for all valve devices.
Valves currently have three properties:
For users: All valve operations must be performed over the .make_call() interface. To command a valve, 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 valve, use the public .position, 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 valve. Also implement get_traits() to return what operations the valve supports.
| void esphome::valve::Valve::add_on_state_callback | ( | std::function< void()> && | f | ) |
|
protectedpure virtual |
Implemented in esphome::demo::DemoValve, and esphome::template_::TemplateValve.
|
pure virtual |
Implemented in esphome::demo::DemoValve, and esphome::template_::TemplateValve.
| bool esphome::valve::Valve::is_fully_closed | ( | ) | const |
| bool esphome::valve::Valve::is_fully_open | ( | ) | const |
| ValveCall esphome::valve::Valve::make_call | ( | ) |
| void esphome::valve::Valve::publish_state | ( | bool | save = true | ) |
|
protected |
| ValveOperation esphome::valve::Valve::current_operation {VALVE_OPERATION_IDLE} |
| float esphome::valve::Valve::position |
|
protected |
|
protected |