mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-04-26 14:27:34 +00:00
224 lines
7.1 KiB
Markdown
224 lines
7.1 KiB
Markdown
---
|
|
title: Manual MQTT Alarm control panel
|
|
description: Instructions on how to integrate manual alarms into Home Assistant with MQTT support.
|
|
ha_category:
|
|
- Alarm
|
|
ha_release: '0.50'
|
|
ha_domain: manual_mqtt
|
|
ha_iot_class: Local Push
|
|
ha_platforms:
|
|
- alarm_control_panel
|
|
ha_integration_type: integration
|
|
related:
|
|
- docs: /docs/configuration/
|
|
title: Configuration file
|
|
ha_quality_scale: legacy
|
|
---
|
|
|
|
The `mqtt` {% term integration %} extends the [manual alarm](/integrations/manual) by adding support for MQTT control of the alarm by a remote device. It can be used to create external keypads which simply change the state of the manual alarm in Home Assistant.
|
|
|
|
It's essentially the opposite of the [MQTT Alarm Panel](/integrations/alarm_control_panel.mqtt/) which allows Home Assistant to observe an existing, fully-featured alarm where all of the alarm logic is embedded in that physical device.
|
|
|
|
The {% term integration %} will accept the following commands from your Alarm Panel via the `command_topic`:
|
|
|
|
- `DISARM`
|
|
- `ARM_HOME`
|
|
- `ARM_AWAY`
|
|
- `ARM_NIGHT`
|
|
- `ARM_VACATION`
|
|
- `ARM_CUSTOM_BYPASS`
|
|
|
|
When the state of the manual alarm changes, Home Assistant will publish one of the following states to the `state_topic`:
|
|
|
|
- 'disarmed'
|
|
- 'armed_home'
|
|
- 'armed_away'
|
|
- 'armed_night'
|
|
- 'armed_vacation'
|
|
- 'armed_custom_bypass'
|
|
- 'pending'
|
|
- 'triggered'
|
|
|
|
## Configuration
|
|
|
|
To use your panel in your installation, add the following to your {% term "`configuration.yaml`" %} file.
|
|
{% include integrations/restart_ha_after_config_inclusion.md %}
|
|
|
|
```yaml
|
|
# Example configuration.yaml entry
|
|
alarm_control_panel:
|
|
- platform: manual_mqtt
|
|
state_topic: home/alarm
|
|
command_topic: home/alarm/set
|
|
```
|
|
|
|
The following configuration variables from the base manual alarm platform are available:
|
|
|
|
{% configuration %}
|
|
name:
|
|
description: The name of the alarm.
|
|
required: false
|
|
type: string
|
|
default: HA Alarm
|
|
code:
|
|
description: >
|
|
If defined, specifies a code to enable or disable the alarm in the frontend.
|
|
This code is not required for MQTT interactions.
|
|
Only one of **code** and **code_template** can be specified.
|
|
required: exclusive
|
|
type: string
|
|
code_template:
|
|
description: >
|
|
If defined, returns a code to enable or disable the alarm in the frontend; an empty string disables checking the code.
|
|
Inside the template, the variables **from_state** and **to_state** identify the current and desired state.
|
|
Only one of **code** and **code_template** can be specified.
|
|
required: exclusive
|
|
type: string
|
|
code_arm_required:
|
|
description: >
|
|
If true, the code is required to arm the alarm. If false, the code is not validated.
|
|
required: false
|
|
type: boolean
|
|
default: true
|
|
delay_time:
|
|
description: The time in seconds of delay added to the triggered state's **pending_time** before triggering the alarm.
|
|
required: false
|
|
type: integer
|
|
default: 0
|
|
pending_time:
|
|
description: The time in seconds of the pending time before effecting a state change.
|
|
required: false
|
|
type: integer
|
|
default: 60
|
|
trigger_time:
|
|
description: The time in seconds of the trigger time in which the alarm is firing.
|
|
required: false
|
|
type: integer
|
|
default: 120
|
|
disarm_after_trigger:
|
|
description: If true, the alarm will automatically disarm after it has been triggered instead of returning to the previous state.
|
|
required: false
|
|
type: boolean
|
|
default: false
|
|
armed_home/armed_away/armed_night/armed_vacation/armed_custom_bypass/disarmed/triggered:
|
|
description: State specific settings
|
|
required: false
|
|
type: list
|
|
keys:
|
|
delay_time:
|
|
description: State specific setting for **delay_time** (all states except **triggered**).
|
|
required: false
|
|
type: integer
|
|
pending_time:
|
|
description: State specific setting for **pending_time** (all states except **disarmed**).
|
|
required: false
|
|
type: integer
|
|
trigger_time:
|
|
description: State specific setting for **trigger_time** (all states except **triggered**).
|
|
required: false
|
|
type: integer
|
|
{% endconfiguration %}
|
|
|
|
See the documentation for the [manual alarm platform](/integrations/manual) for a description.
|
|
|
|
Additionally, the following MQTT configuration variables are also available.
|
|
|
|
{% configuration %}
|
|
state_topic:
|
|
description: The MQTT topic Home Assistant will publish state updates to.
|
|
required: true
|
|
type: string
|
|
command_topic:
|
|
description: The MQTT topic Home Assistant will subscribe to, to receive commands from a remote device to change the alarm state.
|
|
required: true
|
|
type: string
|
|
qos:
|
|
description: The maximum QoS level to be used when receiving and publishing messages.
|
|
required: false
|
|
type: integer
|
|
default: 0
|
|
payload_disarm:
|
|
description: The payload to disarm this Alarm Panel.
|
|
required: false
|
|
type: string
|
|
default: DISARM
|
|
payload_arm_home:
|
|
description: The payload to set armed-home mode on this Alarm Panel.
|
|
required: false
|
|
type: string
|
|
default: ARM_HOME
|
|
payload_arm_away:
|
|
description: The payload to set armed-away mode on this Alarm Panel.
|
|
required: false
|
|
type: string
|
|
default: ARM_AWAY
|
|
payload_arm_night:
|
|
description: The payload to set armed-night mode on this Alarm Panel.
|
|
required: false
|
|
type: string
|
|
default: ARM_NIGHT
|
|
payload_arm_vacation:
|
|
description: The payload to set armed-vacation mode on this Alarm Panel.
|
|
required: false
|
|
type: string
|
|
default: ARM_VACATION
|
|
payload_arm_custom_bypass:
|
|
description: The payload to set armed-custom bypass mode on this Alarm Panel.
|
|
required: false
|
|
type: string
|
|
default: ARM_CUSTOM_BYPASS
|
|
{% endconfiguration %}
|
|
|
|
## Examples
|
|
|
|
In the configuration example below:
|
|
|
|
- The disarmed state never triggers the alarm
|
|
- The armed_home state will leave no time to leave the building or disarm the alarm
|
|
- While other states state will give 30 seconds to leave the building before triggering the alarm, and 20 seconds to disarm the alarm when coming back
|
|
- Setting pending_time to 0 for triggered state allows the alarm to trigger after previous state's delay time only. If not set, the alarm will be pending for previous state's delay_time plus the default pending_time before triggering.
|
|
|
|
```yaml
|
|
# Example configuration.yaml entry
|
|
alarm_control_panel:
|
|
- platform: manual_mqtt
|
|
state_topic: home/alarm
|
|
command_topic: home/alarm/set
|
|
pending_time: 30
|
|
delay_time: 20
|
|
trigger_time: 4
|
|
disarmed:
|
|
trigger_time: 0
|
|
armed_home:
|
|
pending_time: 0
|
|
delay_time: 0
|
|
triggered:
|
|
pending_time: 0
|
|
```
|
|
|
|
Refer to the [Manual Alarm Control page](/integrations/manual#examples) for more real-life examples on how to use this panel.
|
|
|
|
## MQTT control
|
|
|
|
The state of this alarm can be controlled using [MQTT](/integrations/mqtt/). Ensure you've configured that before adding this component.
|
|
|
|
To change the state of the alarm, publish one of the following messages to the `command_topic`:
|
|
|
|
- `DISARM`
|
|
- `ARM_HOME`
|
|
- `ARM_AWAY`
|
|
- `ARM_NIGHT`
|
|
- `ARM_VACATION`
|
|
- `ARM_CUSTOM_BYPASS`
|
|
|
|
To receive state updates from HA, subscribe to the `state_topic`. Home Assistant will publish a new message whenever the state changes:
|
|
|
|
- `disarmed`
|
|
- `armed_home`
|
|
- `armed_away`
|
|
- `armed_night`
|
|
- `armed_vacation`
|
|
- `armed_custom_bypass`
|
|
- `pending`
|
|
- `triggered`
|