Skip to content

Home Assistant services

The integration registers seven services under the omni_pca.* namespace. Every service takes an entry_id field with HA’s config_entry selector so you pick the right panel when you have multiple configured.

Field schemas are sourced from custom_components/omni_pca/services.yaml and enforced by voluptuous in services.py.

Bypass a single zone. The panel ignores the zone’s state until restored.

FieldRequiredNotes
entry_idyesConfig entry of the panel.
zone_indexyes1-based zone number (1..176).
service: omni_pca.bypass_zone
data:
entry_id: 01J8K9XYZ... # from a config_entry selector
zone_index: 7

Restore a previously bypassed zone.

FieldRequiredNotes
entry_idyesConfig entry of the panel.
zone_indexyes1-based zone number (1..176).
service: omni_pca.restore_zone
data:
entry_id: 01J8K9XYZ...
zone_index: 7

Run a stored program by its 1-based index.

FieldRequiredNotes
entry_idyesConfig entry of the panel.
program_indexyes1-based program number (1..1024).
service: omni_pca.execute_program
data:
entry_id: 01J8K9XYZ...
program_index: 42

Useful when you know the program number from PC Access but the integration hasn’t surfaced it as a button entity (the v1.0 library doesn’t have a RequestProperties path for Program objects).

Display a stored message on panel consoles.

FieldRequiredNotes
entry_idyesConfig entry of the panel.
message_indexyes1-based stored message number (1..128).
service: omni_pca.show_message
data:
entry_id: 01J8K9XYZ...
message_index: 3

Clear the currently displayed message.

FieldRequiredNotes
entry_idyesConfig entry of the panel.
message_indexyes1-based message number to clear (1..128).
service: omni_pca.clear_message
data:
entry_id: 01J8K9XYZ...
message_index: 3

Acknowledge all outstanding alerts and trouble conditions.

FieldRequiredNotes
entry_idyesConfig entry of the panel.
service: omni_pca.acknowledge_alerts
data:
entry_id: 01J8K9XYZ...

Power-user escape hatch. Sends a raw Command (opcode 20) with arbitrary parameters. See the Command enum reference for valid byte values.

FieldRequiredDefaultNotes
entry_idyesConfig entry of the panel.
commandyesNumeric Command enum value (0..255).
parameter1no0Single byte (0..255).
parameter2no0BE uint16 (0..65535) — almost always the object number.
# Equivalent to omni_pca.execute_program with index=42:
service: omni_pca.send_command
data:
entry_id: 01J8K9XYZ...
command: 104 # Command.EXECUTE_PROGRAM
parameter1: 0
parameter2: 42

Notify on any alarm activation in real time:

automation:
- alias: Notify on alarm
trigger:
- platform: state
entity_id: event.panel_events
condition: >
{{ trigger.to_state.attributes.event_type == "alarm_activated" }}
action:
- service: notify.mobile_app
data:
title: ALARM
message: >
Area {{ trigger.to_state.attributes.area_index }}
({{ trigger.to_state.attributes.alarm_type }})

The event.panel_events entity is created automatically by the integration’s event platform; it relays every typed push event from the panel as a state-change with event_type and event_data attributes.