69 void play(
const Ts &...
x)
override {
71 auto code = this->code_.optional_value(
x...);
72 if (code.has_value()) {
73 call.set_code(code.value());
89 void play(
const Ts &...
x)
override {
91 auto code = this->code_.optional_value(
x...);
92 if (code.has_value()) {
93 call.set_code(code.value());
109 void play(
const Ts &...
x)
override {
111 auto code = this->code_.optional_value(
x...);
112 if (code.has_value()) {
113 call.set_code(code.value());
virtual void play(const Ts &...x)=0
Base class for all automation conditions.
void trigger(const Ts &...x)
AlarmControlPanelCall & triggered()
AlarmControlPanelCall & arm_night()
AlarmControlPanelCall & arm_away()
AlarmControlPanelCall & pending()
AlarmControlPanelCall & arm_home()
bool check(const Ts &...x) override
AlarmControlPanel * parent_
AlarmControlPanelCondition(AlarmControlPanel *parent)
void add_on_state_callback(std::function< void()> &&callback)
Add a callback for when the state of the alarm_control_panel changes.
bool is_state_armed(AlarmControlPanelState state)
AlarmControlPanelState get_state() const
Get the state.
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.
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_chime_callback(std::function< void()> &&callback)
Add a callback for when a chime zone goes from closed to open.
AlarmControlPanelCall make_call()
Make a AlarmControlPanelCall.
TEMPLATABLE_VALUE(std::string, code) void play(const Ts &...x) override
ArmAwayAction(AlarmControlPanel *alarm_control_panel)
AlarmControlPanel * alarm_control_panel_
ArmHomeAction(AlarmControlPanel *alarm_control_panel)
TEMPLATABLE_VALUE(std::string, code) void play(const Ts &...x) override
AlarmControlPanel * alarm_control_panel_
TEMPLATABLE_VALUE(std::string, code) void play(const Ts &...x) override
AlarmControlPanel * alarm_control_panel_
ArmNightAction(AlarmControlPanel *alarm_control_panel)
Trigger on chime event (zone opened while disarmed)
ChimeTrigger(AlarmControlPanel *alarm_control_panel)
Trigger when leaving TRIGGERED state (alarm cleared)
ClearedTrigger(AlarmControlPanel *alarm_control_panel)
AlarmControlPanel * alarm_control_panel_
TEMPLATABLE_VALUE(std::string, code) void play(const Ts &...x) override
DisarmAction(AlarmControlPanel *alarm_control_panel)
PendingAction(AlarmControlPanel *alarm_control_panel)
AlarmControlPanel * alarm_control_panel_
void play(const Ts &...x) override
Trigger on ready state change.
ReadyTrigger(AlarmControlPanel *alarm_control_panel)
Template trigger that fires when entering a specific state.
StateEnterTrigger(AlarmControlPanel *alarm_control_panel)
AlarmControlPanel * alarm_control_panel_
Trigger on any state change.
StateTrigger(AlarmControlPanel *alarm_control_panel)
TriggeredAction(AlarmControlPanel *alarm_control_panel)
AlarmControlPanel * alarm_control_panel_
void play(const Ts &...x) override