ESPHome
2024.12.2
|
Base class for all binary_sensor-type classes. More...
#include <binary_sensor.h>
Public Member Functions | |
BinarySensor () | |
void | add_on_state_callback (std::function< void(bool)> &&callback) |
Add a callback to be notified of state changes. More... | |
void | publish_state (bool state) |
Publish a new state to the front-end. More... | |
void | publish_initial_state (bool state) |
Publish the initial state, this will not make the callback manager send callbacks and is meant only for the initial state on boot. More... | |
void | add_filter (Filter *filter) |
void | add_filters (const std::vector< Filter *> &filters) |
void | set_publish_initial_state (bool publish_initial_state) |
void | send_state_internal (bool state, bool is_initial) |
virtual bool | has_state () const |
Return whether this binary sensor has outputted a state. More... | |
virtual bool | is_status_binary_sensor () const |
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) |
std::string | get_icon () const |
void | set_icon (const char *icon) |
Public Member Functions inherited from esphome::EntityBase_DeviceClass | |
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 | |
bool | state {false} |
The current reported state of the binary sensor. More... | |
Protected Attributes | |
CallbackManager< void(bool)> | state_callback_ {} |
Filter * | filter_list_ {nullptr} |
bool | has_state_ {false} |
bool | publish_initial_state_ {false} |
Deduplicator< bool > | publish_dedup_ |
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_ |
bool | has_own_name_ {false} |
bool | internal_ {false} |
bool | disabled_by_default_ {false} |
EntityCategory | entity_category_ {ENTITY_CATEGORY_NONE} |
Protected Attributes inherited from esphome::EntityBase_DeviceClass | |
const char * | device_class_ {nullptr} |
Device class override. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from esphome::EntityBase | |
virtual uint32_t | hash_base () |
The hash_base() function has been deprecated. More... | |
void | calc_object_id_ () |
Base class for all binary_sensor-type classes.
This class includes a callback that components such as MQTT can subscribe to for state changes. The sub classes should notify the front-end of new states via the publish_state() method which handles inverted inputs for you.
Definition at line 37 of file binary_sensor.h.
|
explicit |
Definition at line 45 of file binary_sensor.cpp.
void esphome::binary_sensor::BinarySensor::add_filter | ( | Filter * | filter | ) |
Definition at line 47 of file binary_sensor.cpp.
void esphome::binary_sensor::BinarySensor::add_filters | ( | const std::vector< Filter *> & | filters | ) |
Definition at line 58 of file binary_sensor.cpp.
void esphome::binary_sensor::BinarySensor::add_on_state_callback | ( | std::function< void(bool)> && | callback | ) |
Add a callback to be notified of state changes.
callback | The void(bool) callback. |
Definition at line 10 of file binary_sensor.cpp.
|
virtual |
Return whether this binary sensor has outputted a state.
Reimplemented in esphome::binary_sensor::BinarySensorInitiallyOff.
Definition at line 63 of file binary_sensor.cpp.
|
virtual |
Reimplemented in esphome::status::StatusBinarySensor.
Definition at line 64 of file binary_sensor.cpp.
void esphome::binary_sensor::BinarySensor::publish_initial_state | ( | bool | state | ) |
Publish the initial state, this will not make the callback manager send callbacks and is meant only for the initial state on boot.
state | The new state. |
Definition at line 23 of file binary_sensor.cpp.
void esphome::binary_sensor::BinarySensor::publish_state | ( | bool | state | ) |
Publish a new state to the front-end.
state | The new state. |
Definition at line 14 of file binary_sensor.cpp.
void esphome::binary_sensor::BinarySensor::send_state_internal | ( | bool | state, |
bool | is_initial | ||
) |
Definition at line 32 of file binary_sensor.cpp.
|
inline |
Definition at line 66 of file binary_sensor.h.
|
protected |
Definition at line 79 of file binary_sensor.h.
|
protected |
Definition at line 80 of file binary_sensor.h.
|
protected |
Definition at line 82 of file binary_sensor.h.
|
protected |
Definition at line 81 of file binary_sensor.h.
bool esphome::binary_sensor::BinarySensor::state {false} |
The current reported state of the binary sensor.
Definition at line 61 of file binary_sensor.h.
|
protected |
Definition at line 78 of file binary_sensor.h.