|
| | Lock () |
| |
| LockCall | make_call () |
| | Make a lock device control call, this is used to control the lock device, see the LockCall description for more info.
|
| |
| void | publish_state (LockState state) |
| | Publish a state to the front-end from the back-end.
|
| |
| void | lock () |
| | Turn this lock on.
|
| |
| void | unlock () |
| | Turn this lock off.
|
| |
| void | open () |
| | Open (unlatch) this lock.
|
| |
| void | add_on_state_callback (std::function< void()> &&callback) |
| | Set callback for state changes.
|
| |
| const StringRef & | get_name () const |
| |
| void | set_name (const char *name) |
| |
| void | set_name (const char *name, uint32_t object_id_hash) |
| | Set name with pre-computed object_id hash (avoids runtime hash calculation) Use hash=0 for dynamic names that need runtime calculation.
|
| |
| bool | has_own_name () const |
| |
| ESPDEPRECATED("object_id mangles names and all object_id methods are planned for removal " "(see https://github.com/esphome/backlog/issues/76). " "Now is the time to stop using object_id. If still needed, use get_object_id_to() " "which will remain available longer. get_object_id() will be removed in 2026.7.0", "2025.12.0") std uint32_t | get_object_id_hash () |
| |
| StringRef | get_object_id_to (std::span< char, OBJECT_ID_MAX_LEN > buf) const |
| | Get object_id with zero heap allocation For static case: returns StringRef to internal storage (buffer unused) For dynamic case: formats into buffer and returns StringRef to buffer.
|
| |
| size_t | write_object_id_to (char *buf, size_t buf_size) const |
| | Write object_id directly to buffer, returns length written (excluding null) Useful for building compound strings without intermediate buffer.
|
| |
| 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) |
| |
| Device * | get_device () const |
| |
| bool | has_state () const |
| |
| void | set_has_state (bool state) |
| |
| | ESPDEPRECATED ("Use make_entity_preference<T>() instead, or preferences won't be migrated. " "See https://github.com/esphome/backlog/issues/85. Will be removed in 2027.1.0.", "2026.7.0") uint32_t get_preference_hash() |
| | Get a unique hash for storing preferences/settings for this entity.
|
| |
| template<typename T > |
| ESPPreferenceObject | make_entity_preference (uint32_t version=0) |
| | Create a preference object for storing this entity's state/settings.
|
| |
Base class for all locks.
A lock is basically a switch with a combination of a binary sensor (for reporting lock values) and a write_state method that writes a state to the hardware. Locks can also have an "open" method to unlatch.
For integrations: Integrations must implement the method control(). Control will be called with the arguments supplied by the user and should be used to control all values of the lock.
Definition at line 110 of file lock.h.
| virtual void esphome::lock::Lock::open_latch |
( |
| ) |
|
|
inlineprotectedvirtual |
Perform the open latch action with hardware.
This method is optional to implement when creating a new lock.
In the implementation of this method, it is recommended you also call publish_state with "unlock" to acknowledge that the state was written to the hardware.
Reimplemented in esphome::template_::TemplateLock.
Definition at line 167 of file lock.h.