ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
esphome::alarm_control_panel::AlarmControlPanel Class Referenceabstract

#include <alarm_control_panel.h>

Inheritance diagram for esphome::alarm_control_panel::AlarmControlPanel:
esphome::EntityBase esphome::demo::DemoAlarmControlPanel esphome::template_::TemplateAlarmControlPanel

Public Member Functions

AlarmControlPanelCall make_call ()
 Make a AlarmControlPanelCall.
 
void publish_state (AlarmControlPanelState state)
 Set the state of the alarm_control_panel.
 
template<typename F >
void add_on_state_callback (F &&callback)
 Add a callback for when the state of the alarm_control_panel changes.
 
template<typename F >
void add_on_cleared_callback (F &&callback)
 Add a callback for when the state of the alarm_control_panel clears from triggered.
 
template<typename F >
void add_on_chime_callback (F &&callback)
 Add a callback for when a chime zone goes from closed to open.
 
template<typename F >
void add_on_ready_callback (F &&callback)
 Add a callback for when a ready state changes.
 
virtual uint32_t get_supported_features () const =0
 A numeric representation of the supported features as per HomeAssistant.
 
virtual bool get_requires_code () const =0
 Returns if the alarm_control_panel has a code.
 
virtual bool get_requires_code_to_arm () const =0
 Returns if the alarm_control_panel requires a code to arm.
 
void arm_away (const char *code=nullptr)
 arm the alarm in away mode
 
void arm_away (const optional< std::string > &code)
 
void arm_home (const char *code=nullptr)
 arm the alarm in home mode
 
void arm_home (const optional< std::string > &code)
 
void arm_night (const char *code=nullptr)
 arm the alarm in night mode
 
void arm_night (const optional< std::string > &code)
 
void arm_vacation (const char *code=nullptr)
 arm the alarm in vacation mode
 
void arm_vacation (const optional< std::string > &code)
 
void arm_custom_bypass (const char *code=nullptr)
 arm the alarm in custom bypass mode
 
void arm_custom_bypass (const optional< std::string > &code)
 
void disarm (const char *code=nullptr)
 disarm the alarm
 
void disarm (const optional< std::string > &code)
 
AlarmControlPanelState get_state () const
 Get the state.
 
bool is_state_armed (AlarmControlPanelState state)
 
bool is_armed_pending_or_triggered ()
 Armed, pending (entry delay) or triggered; not ARMING (exit delay).
 
- Public Member Functions inherited from esphome::EntityBase
 ESPDEPRECATED ("Use get_name_to() or get_log_name() instead. Will be removed in ESPHome 2027.5.0", "2026.11.0") const StringRef &get_name() const
 The name is in flash here; the first call makes a RAM copy that is kept for the life of the device.
 
StringRef get_name_to (std::span< char, ENTITY_NAME_BUF_SIZE > buffer) const
 Get the name of this Entity, copied out of flash into buffer.
 
 ESPDEPRECATED ("Use get_name_to() or get_log_name() instead. Will be removed in ESPHome 2027.5.0", "2026.11.0") const StringRef &get_name() const
 
const StringRef & get_name_to (std::span< char, ENTITY_NAME_BUF_SIZE >) const
 
bool name_equals (const StringRef &other) const
 
const ProgmemStringRef & get_name_progmem () const
 The name as stored, for consumers that read flash themselves (e.g. API progmem fields).
 
size_t write_name_to (char *buf, size_t buf_size) const
 Copy the name into buf (null terminated), returns its length.
 
const LogString * get_log_name () const
 Get the name for a "%s" log argument (LOG_STR_ARG).
 
bool has_own_name () const
 
uint32_t get_object_id_hash () const
 
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
 
EntityCategory get_entity_category () const
 
const char * get_device_class_to (std::span< char, MAX_DEVICE_CLASS_LENGTH > buffer) const
 
ProgmemStringRef get_device_class_progmem () const
 The device class as stored (in flash on ESP8266), for consumers that read flash themselves.
 
StringRef get_unit_of_measurement_ref () const
 
const char * get_icon_to (std::span< char, MAX_ICON_LENGTH > buffer) const
 
ProgmemStringRef get_icon_progmem () const
 The icon as stored (in flash on ESP8266), for consumers that read flash themselves.
 
uint32_t get_device_id () const
 
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.
 
template<typename T >
ESPPreferenceObject make_entity_preference (uint32_t version, bool in_flash)
 As make_entity_preference(), stored in flash or RTC memory where the backend supports the choice.
 

Protected Member Functions

void arm_with_code_ (AlarmControlPanelCall &(AlarmControlPanelCall::*arm_method)(), const char *code)
 
virtual void control (const AlarmControlPanelCall &call)=0
 
- Protected Member Functions inherited from esphome::EntityBase
friend void::setup ()
 
friend void::original_setup ()
 
void configure_entity_ (const char *name, uint32_t object_id_hash, uint32_t entity_fields)
 Combined entity setup from codegen: set name, object_id hash, entity string indices, and flags.
 
void set_device_ (Device *device)
 
ESPPreferenceObject make_entity_preference_ (size_t size, uint32_t version)
 Non-template helpers for make_entity_preference() to avoid code bloat.
 
ESPPreferenceObject make_entity_preference_ (size_t size, uint32_t version, bool in_flash)
 
uint32_t entity_preference_key_ (uint32_t version)
 Key for both helpers; preference hash migration goes here.
 

Protected Attributes

friend AlarmControlPanelCall
 
ESPPreferenceObject pref_
 
AlarmControlPanelState current_state_ {ACP_STATE_DISARMED}
 
AlarmControlPanelState desired_state_ {ACP_STATE_DISARMED}
 
uint32_t last_update_ {0}
 
LazyCallbackManager< void(AlarmControlPanelState)> state_callback_ {}
 
LazyCallbackManager< void()> cleared_callback_ {}
 
LazyCallbackManager< void()> chime_callback_ {}
 
LazyCallbackManager< void()> ready_callback_ {}
 
- Protected Attributes inherited from esphome::EntityBase
ProgmemStringRef name_
 
uint32_t object_id_hash_ {}
 
Device * device_ {}
 
struct esphome::EntityBase::EntityFlags flags_
 
uint8_t device_class_idx_ {}
 
uint8_t uom_idx_ {}
 
uint8_t icon_idx_ {}
 

Detailed Description

Definition at line 22 of file alarm_control_panel.h.

Member Function Documentation

◆ add_on_chime_callback()

template<typename F >
void esphome::alarm_control_panel::AlarmControlPanel::add_on_chime_callback ( F && callback)
inline

Add a callback for when a chime zone goes from closed to open.

Definition at line 50 of file alarm_control_panel.h.

◆ add_on_cleared_callback()

template<typename F >
void esphome::alarm_control_panel::AlarmControlPanel::add_on_cleared_callback ( F && callback)
inline

Add a callback for when the state of the alarm_control_panel clears from triggered.

Definition at line 45 of file alarm_control_panel.h.

◆ add_on_ready_callback()

template<typename F >
void esphome::alarm_control_panel::AlarmControlPanel::add_on_ready_callback ( F && callback)
inline

Add a callback for when a ready state changes.

Definition at line 55 of file alarm_control_panel.h.

◆ add_on_state_callback()

template<typename F >
void esphome::alarm_control_panel::AlarmControlPanel::add_on_state_callback ( F && callback)
inline

Add a callback for when the state of the alarm_control_panel changes.

Triggers can check get_state() to determine the new state.

Parameters
callbackThe callback function

Definition at line 40 of file alarm_control_panel.h.

◆ arm_away() [1/2]

void esphome::alarm_control_panel::AlarmControlPanel::arm_away ( const char * code = nullptr)

arm the alarm in away mode

Parameters
codeThe code

Definition at line 63 of file alarm_control_panel.cpp.

◆ arm_away() [2/2]

void esphome::alarm_control_panel::AlarmControlPanel::arm_away ( const optional< std::string > & code)
inline

Definition at line 79 of file alarm_control_panel.h.

◆ arm_custom_bypass() [1/2]

void esphome::alarm_control_panel::AlarmControlPanel::arm_custom_bypass ( const char * code = nullptr)

arm the alarm in custom bypass mode

Parameters
codeThe code

Definition at line 73 of file alarm_control_panel.cpp.

◆ arm_custom_bypass() [2/2]

void esphome::alarm_control_panel::AlarmControlPanel::arm_custom_bypass ( const optional< std::string > & code)
inline

Definition at line 115 of file alarm_control_panel.h.

◆ arm_home() [1/2]

void esphome::alarm_control_panel::AlarmControlPanel::arm_home ( const char * code = nullptr)

arm the alarm in home mode

Parameters
codeThe code

Definition at line 65 of file alarm_control_panel.cpp.

◆ arm_home() [2/2]

void esphome::alarm_control_panel::AlarmControlPanel::arm_home ( const optional< std::string > & code)
inline

Definition at line 88 of file alarm_control_panel.h.

◆ arm_night() [1/2]

void esphome::alarm_control_panel::AlarmControlPanel::arm_night ( const char * code = nullptr)

arm the alarm in night mode

Parameters
codeThe code

Definition at line 67 of file alarm_control_panel.cpp.

◆ arm_night() [2/2]

void esphome::alarm_control_panel::AlarmControlPanel::arm_night ( const optional< std::string > & code)
inline

Definition at line 97 of file alarm_control_panel.h.

◆ arm_vacation() [1/2]

void esphome::alarm_control_panel::AlarmControlPanel::arm_vacation ( const char * code = nullptr)

arm the alarm in vacation mode

Parameters
codeThe code

Definition at line 69 of file alarm_control_panel.cpp.

◆ arm_vacation() [2/2]

void esphome::alarm_control_panel::AlarmControlPanel::arm_vacation ( const optional< std::string > & code)
inline

Definition at line 106 of file alarm_control_panel.h.

◆ arm_with_code_()

void esphome::alarm_control_panel::AlarmControlPanel::arm_with_code_ ( AlarmControlPanelCall &(AlarmControlPanelCall::* arm_method )(),
const char * code )
protected

Definition at line 54 of file alarm_control_panel.cpp.

◆ control()

virtual void esphome::alarm_control_panel::AlarmControlPanel::control ( const AlarmControlPanelCall & call)
protectedpure virtual

◆ disarm() [1/2]

void esphome::alarm_control_panel::AlarmControlPanel::disarm ( const char * code = nullptr)

disarm the alarm

Parameters
codeThe code

Definition at line 77 of file alarm_control_panel.cpp.

◆ disarm() [2/2]

void esphome::alarm_control_panel::AlarmControlPanel::disarm ( const optional< std::string > & code)
inline

Definition at line 124 of file alarm_control_panel.h.

◆ get_requires_code()

virtual bool esphome::alarm_control_panel::AlarmControlPanel::get_requires_code ( ) const
pure virtual

◆ get_requires_code_to_arm()

virtual bool esphome::alarm_control_panel::AlarmControlPanel::get_requires_code_to_arm ( ) const
pure virtual

◆ get_state()

AlarmControlPanelState esphome::alarm_control_panel::AlarmControlPanel::get_state ( ) const
inline

Get the state.

Definition at line 129 of file alarm_control_panel.h.

◆ get_supported_features()

virtual uint32_t esphome::alarm_control_panel::AlarmControlPanel::get_supported_features ( ) const
pure virtual

A numeric representation of the supported features as per HomeAssistant.

Implemented in esphome::demo::DemoAlarmControlPanel, and esphome::template_::TemplateAlarmControlPanel.

◆ is_armed_pending_or_triggered()

bool esphome::alarm_control_panel::AlarmControlPanel::is_armed_pending_or_triggered ( )
inline

Armed, pending (entry delay) or triggered; not ARMING (exit delay).

Backs the is_armed and ready conditions.

Definition at line 135 of file alarm_control_panel.h.

◆ is_state_armed()

bool esphome::alarm_control_panel::AlarmControlPanel::is_state_armed ( AlarmControlPanelState state)

Definition at line 17 of file alarm_control_panel.cpp.

◆ make_call()

AlarmControlPanelCall esphome::alarm_control_panel::AlarmControlPanel::make_call ( )

Make a AlarmControlPanelCall.

Definition at line 15 of file alarm_control_panel.cpp.

◆ publish_state()

void esphome::alarm_control_panel::AlarmControlPanel::publish_state ( AlarmControlPanelState state)

Set the state of the alarm_control_panel.

Parameters
stateThe AlarmControlPanelState.

Definition at line 30 of file alarm_control_panel.cpp.

Field Documentation

◆ AlarmControlPanelCall

friend esphome::alarm_control_panel::AlarmControlPanel::AlarmControlPanelCall
protected

Definition at line 141 of file alarm_control_panel.h.

◆ chime_callback_

LazyCallbackManager<void()> esphome::alarm_control_panel::AlarmControlPanel::chime_callback_ {}
protected

Definition at line 159 of file alarm_control_panel.h.

◆ cleared_callback_

LazyCallbackManager<void()> esphome::alarm_control_panel::AlarmControlPanel::cleared_callback_ {}
protected

Definition at line 157 of file alarm_control_panel.h.

◆ current_state_

AlarmControlPanelState esphome::alarm_control_panel::AlarmControlPanel::current_state_ {ACP_STATE_DISARMED}
protected

Definition at line 147 of file alarm_control_panel.h.

◆ desired_state_

AlarmControlPanelState esphome::alarm_control_panel::AlarmControlPanel::desired_state_ {ACP_STATE_DISARMED}
protected

Definition at line 149 of file alarm_control_panel.h.

◆ last_update_

uint32_t esphome::alarm_control_panel::AlarmControlPanel::last_update_ {0}
protected

Definition at line 151 of file alarm_control_panel.h.

◆ pref_

ESPPreferenceObject esphome::alarm_control_panel::AlarmControlPanel::pref_
protected

Definition at line 145 of file alarm_control_panel.h.

◆ ready_callback_

LazyCallbackManager<void()> esphome::alarm_control_panel::AlarmControlPanel::ready_callback_ {}
protected

Definition at line 161 of file alarm_control_panel.h.

◆ state_callback_

LazyCallbackManager<void(AlarmControlPanelState)> esphome::alarm_control_panel::AlarmControlPanel::state_callback_ {}
protected

Definition at line 155 of file alarm_control_panel.h.


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