12namespace alarm_control_panel {
14static const char *
const TAG =
"alarm_control_panel";
39#if defined(USE_ALARM_CONTROL_PANEL) && defined(USE_CONTROLLER_REGISTRY)
116 call.set_code(code.
value());
124 call.set_code(code.
value());
132 call.set_code(code.
value());
140 call.set_code(code.
value());
146 call.arm_custom_bypass();
148 call.set_code(code.
value());
156 call.set_code(code.
value());
static void notify_alarm_control_panel_update(alarm_control_panel::AlarmControlPanel *obj)
CallbackManager< void()> disarmed_callback_
void add_on_triggered_callback(std::function< void()> &&callback)
Add a callback for when the state of the alarm_control_panel chanes to triggered.
AlarmControlPanelState desired_state_
friend AlarmControlPanelCall
void add_on_state_callback(std::function< void()> &&callback)
Add a callback for when the state of the alarm_control_panel changes.
CallbackManager< void()> triggered_callback_
bool is_state_armed(AlarmControlPanelState state)
void add_on_pending_callback(std::function< void()> &&callback)
Add a callback for when the state of the alarm_control_panel changes to pending.
ESPPreferenceObject pref_
void add_on_armed_night_callback(std::function< void()> &&callback)
Add a callback for when the state of the alarm_control_panel changes to armed_night.
void add_on_armed_home_callback(std::function< void()> &&callback)
Add a callback for when the state of the alarm_control_panel changes to armed_home.
void arm_vacation(optional< std::string > code=nullopt)
arm the alarm in vacation mode
void arm_home(optional< std::string > code=nullopt)
arm the alarm in home mode
void arm_away(optional< std::string > code=nullopt)
arm the alarm in away mode
CallbackManager< void()> armed_night_callback_
CallbackManager< void()> state_callback_
CallbackManager< void()> armed_away_callback_
CallbackManager< void()> cleared_callback_
void arm_night(optional< std::string > code=nullopt)
arm the alarm in night mode
AlarmControlPanelState current_state_
CallbackManager< void()> chime_callback_
CallbackManager< void()> pending_callback_
void add_on_armed_away_callback(std::function< void()> &&callback)
Add a callback for when the state of the alarm_control_panel changes to armed_away.
CallbackManager< void()> armed_home_callback_
void arm_custom_bypass(optional< std::string > code=nullopt)
arm the alarm in custom bypass mode
void publish_state(AlarmControlPanelState state)
Set the state of the alarm_control_panel.
void disarm(optional< std::string > code=nullopt)
disarm the alarm
void add_on_ready_callback(std::function< void()> &&callback)
Add a callback for when a ready state changes.
CallbackManager< void()> arming_callback_
void add_on_cleared_callback(std::function< void()> &&callback)
Add a callback for when the state of the alarm_control_panel clears from triggered.
void add_on_disarmed_callback(std::function< void()> &&callback)
Add a callback for when the state of the alarm_control_panel changes to disarmed.
void add_on_chime_callback(std::function< void()> &&callback)
Add a callback for when a chime zone goes from closed to open.
CallbackManager< void()> ready_callback_
void add_on_arming_callback(std::function< void()> &&callback)
Add a callback for when the state of the alarm_control_panel chanes to arming.
AlarmControlPanelCall make_call()
Make a AlarmControlPanelCall.
value_type const & value() const
const LogString * alarm_control_panel_state_to_string(AlarmControlPanelState state)
Returns a string representation of the state.
@ ACP_STATE_ARMED_VACATION
@ ACP_STATE_ARMED_CUSTOM_BYPASS
Providing packet encoding functions for exchanging data with a remote host.
uint32_t IRAM_ATTR HOT millis()