MQTT auto-discovery
PAI publishes Home Assistant MQTT discovery payloads so entities appear in HA automatically — no manual YAML configuration required.
Push notifications
PAI sends panel events directly to a Home Assistant notification service via the HA REST API.
Both features require an MQTT broker. Mosquitto is recommended. The MQTT integration must be enabled (
MQTT_ENABLE = True) before enabling auto-discovery.MQTT auto-discovery
Home Assistant’s MQTT discovery protocol lets PAI register entities without any manual HA configuration. PAI publishes entity configuration payloads to the discovery prefix topic on startup.Enabling auto-discovery
pai.conf
Discovery settings
Discovery prefix
Discovery prefix
MQTT_HOMEASSISTANT_DISCOVERY_PREFIX sets the root topic used for all discovery payloads. It must match the discovery prefix configured in your HA MQTT integration.| Config key | Default |
|---|---|
MQTT_HOMEASSISTANT_DISCOVERY_PREFIX | 'homeassistant' |
Alarm code
Alarm code
Set When this is set to
MQTT_HOMEASSISTANT_CODE to require a numeric code in the Home Assistant alarm control panel card before arming or disarming.pai.conf
None (default), HA sets code_arm_required, code_disarm_required, and code_trigger_required all to False — no code prompt is shown.Entity name prefix
Entity name prefix
MQTT_HOMEASSISTANT_ENTITY_PREFIX prepends a string to all entity names. The placeholders {serial_number} and {model} are replaced with values read from the detected panel.pai.conf
'' (no prefix).Device name prefix
Device name prefix
MQTT_PREFIX_DEVICE_NAME adds the device serial number as a prefix to entity names in the HA device registry (e.g., Paradox 12345678).| Config key | Default |
|---|---|
MQTT_PREFIX_DEVICE_NAME | False |
Entities created automatically
PAI creates the following entities in Home Assistant:alarm_control_panel — one per partition
alarm_control_panel — one per partition
An
The state topic is
alarm_control_panel entity is created for each partition detected by PAI. It maps HA actions to PAI commands:| HA action | MQTT payload sent |
|---|---|
| Arm away | arm |
| Arm home | arm_stay |
| Arm night | arm_sleep |
| Disarm | disarm |
paradox/states/partitions/{name}/current_state (using the default base and states topic).Additional partition property binary sensors are published for properties listed in HOMEASSISTANT_PUBLISH_PARTITION_PROPERTIES:pai.conf
binary_sensor — one per zone property
binary_sensor — one per zone property
A Zone sensors with property
binary_sensor entity is published for each property listed in HOMEASSISTANT_PUBLISH_ZONE_PROPERTIES for every zone:pai.conf
open are given device_class: motion. Other properties get no device class.When bypassed is included in the list, a switch entity is created instead of a binary sensor, with payloads bypass (on) and clear_bypass (off).When signal_strength is included, a numeric sensor entity is created.switch — one per PGM output
switch — one per PGM output
A
switch entity is created for each PGM/output detected. The state topic tracks the on property. Payloads are on and off.sensor — PAI status and system properties
sensor — PAI status and system properties
A
sensor entity named PAI Status is always created. Its state topic is paradox/interface/pai_status and carries values such as online, paused, offline, initializing, or error.System property sensors are also created for each detected system status key. Power-related sensors include a unit_of_measurement of V.System trouble keys produce binary_sensor entities instead.Control topic
HA’s alarm control panel sends commands to:hass_control segment is configured by MQTT_HOMEASSISTANT_CONTROL_TOPIC (default: 'hass_control').
Example auto-discovery configuration
pai.conf
Home Assistant notifications
PAI can send panel events to a Home Assistant notification service by calling the HA REST API directly. This works with the HA Supervisor (Hass.io add-on environment) or with a Long-Lived Access Token.Enabling notifications
pai.conf
When running PAI as a Hass.io add-on, the Supervisor token is used automatically and
HOMEASSISTANT_NOTIFICATIONS_API_TOKEN can be left empty. The API URL defaults to http://supervisor/core/api/services/:domain/:service.Notification settings
| Config key | Default | Description |
|---|---|---|
HOMEASSISTANT_NOTIFICATIONS_API_URL | 'http://supervisor/core/api/services/:domain/:service' | HA REST API endpoint |
HOMEASSISTANT_NOTIFICATIONS_API_TOKEN | '' | Long-Lived Access Token (not required under Supervisor) |
HOMEASSISTANT_NOTIFICATIONS_NOTIFIER_NAME | 'notify' | HA notification service name |
HOMEASSISTANT_NOTIFICATIONS_LOVELACE_URI | '' | URI opened when the notification is tapped |
HOMEASSISTANT_NOTIFICATIONS_MIN_EVENT_LEVEL | 'INFO' | Minimum event level to notify: DEBUG, INFO, WARN, ERROR, CRITICAL |
Event filtering
You can control which events trigger notifications using one of two approaches. The two approaches cannot be used together.- Tag-based filters (EVENT_FILTERS)
- Regexp-based filters (ALLOW / IGNORE)
HOMEASSISTANT_NOTIFICATIONS_EVENT_FILTERS accepts a list of comma-separated tag strings. Each string is an AND condition; multiple strings form an OR. Prefix a tag with - to exclude events carrying that tag.pai.conf
Example notification configuration
pai.conf