virtual void play(const Ts &...x)=0
Base class for all automation conditions.
void trigger(const Ts &...x)
AlarmControlPanelCall & triggered()
AlarmControlPanelCall & pending()
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)
void arm_home(const char *code=nullptr)
arm the alarm in home mode
AlarmControlPanelState get_state() const
Get the state.
void disarm(const char *code=nullptr)
disarm the alarm
void add_on_ready_callback(std::function< void()> &&callback)
Add a callback for when a ready state changes.
void arm_night(const char *code=nullptr)
arm the alarm in night mode
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.
void arm_away(const char *code=nullptr)
arm the alarm in away mode
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