IFTTT Alarm control panel
The ifttt
integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] allows you to integrate security systems that have no open API but can be controlled through IFTTT
This integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] depends on the IFTTT Home Assistant integration. See the integrations documentation to set it up.
It is important to note that this platform fully relies on IFTTT to receive updates when the security system’s state changes. Therefore, this platform shows an assumed state.
Configuration
To enable this, add the following lines to your configuration.yaml
The configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more] file.
After changing the configuration.yaml
The configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more] file, restart Home Assistant to apply the changes.
# Example configuration.yaml entry
ifttt:
key: YOUR_WEBHOOK_KEY
alarm_control_panel:
- platform: ifttt
name: YOUR_ALARM_NAME
code: YOUR_ALARM_CODE
event_arm_away: YOUR_ARM_AWAY_EVENT
event_arm_home: YOUR_ARM_HOME_EVENT
event_arm_night: YOUR_ARM_NIGHT_EVENT
event_disarm: YOUR_DISARM_EVENT
Configuration Variables
IFTTT webhook event to call when the state is set to armed away.
IFTTT webhook event to call when the state is set to armed home.
IFTTT webhook event to call when the state is set to armed night.
IFTTT webhook event to call when the state is set to disarmed.
It is strongly discouraged to use this platform when you don’t use encryption; otherwise, your API password will be send unprotected through the IFTTT Webhooks. It is advised to setup encryption using Let’s Encrypt.
Required IFTTT applets
Next, you will need to set up the required IFTTT applets as listed below.
This platform supports the alarm_disarm
, alarm_arm_away
, alarm_arm_home
and alarm_arm_night
actions. For each of these actions, an IFTTT webhook will be triggered.
For this system to operate correctly, the following IFTTT applets have to be setup. Obviously, if your alarm device does not support some states, no applets have to be provided for those.
-
IF Webhook event
YOUR_DISARM_EVENT
is called, THEN disarm the alarm system. -
IF Webhook event
YOUR_ARM_HOME_EVENT
is called, THEN set the alarm system to armed home. -
IF Webhook event
YOUR_ARM_NIGHT_EVENT
is called, THEN set the alarm system to armed away. -
IF Webhook event
YOUR_DISARM_EVENT
is called, THEN set the alarm system to armed night. -
IF the alarm system was disarmed, THEN perform a Webhook
POST
web request to URLhttps://HASS_URL/api/services/ifttt/push_alarm_state?api_password=API_PASSWORD
with content typeapplication/json
and body{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "disarmed"}
. -
IF the alarm system state changed to armed home, THEN perform a Webhook
POST
web request to URLhttps://HASS_URL/api/services/ifttt/push_alarm_state?api_password=API_PASSWORD
with content typeapplication/json
and body{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_home"}
. -
IF the alarm system state changed to armed away, THEN perform a Webhook
POST
web request to URLhttps://HASS_URL/api/services/ifttt/push_alarm_state?api_password=API_PASSWORD
with content typeapplication/json
and body{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_away"}
. -
IF the alarm system state changed to armed night, THEN perform a Webhook
POST
web request to URLhttps://HASS_URL/api/services/ifttt/push_alarm_state?api_password=API_PASSWORD
with content typeapplication/json
and body{"entity_id": "alarm_control_panel.DEVICE_NAME", "state": "armed_night"}
.