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.
omni_pca.bypass_zone
Section titled “omni_pca.bypass_zone”Bypass a single zone. The panel ignores the zone’s state until restored.
| Field | Required | Notes |
|---|---|---|
entry_id | yes | Config entry of the panel. |
zone_index | yes | 1-based zone number (1..176). |
service: omni_pca.bypass_zonedata: entry_id: 01J8K9XYZ... # from a config_entry selector zone_index: 7omni_pca.restore_zone
Section titled “omni_pca.restore_zone”Restore a previously bypassed zone.
| Field | Required | Notes |
|---|---|---|
entry_id | yes | Config entry of the panel. |
zone_index | yes | 1-based zone number (1..176). |
service: omni_pca.restore_zonedata: entry_id: 01J8K9XYZ... zone_index: 7omni_pca.execute_program
Section titled “omni_pca.execute_program”Run a stored program by its 1-based index.
| Field | Required | Notes |
|---|---|---|
entry_id | yes | Config entry of the panel. |
program_index | yes | 1-based program number (1..1024). |
service: omni_pca.execute_programdata: entry_id: 01J8K9XYZ... program_index: 42Useful 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).
omni_pca.show_message
Section titled “omni_pca.show_message”Display a stored message on panel consoles.
| Field | Required | Notes |
|---|---|---|
entry_id | yes | Config entry of the panel. |
message_index | yes | 1-based stored message number (1..128). |
service: omni_pca.show_messagedata: entry_id: 01J8K9XYZ... message_index: 3omni_pca.clear_message
Section titled “omni_pca.clear_message”Clear the currently displayed message.
| Field | Required | Notes |
|---|---|---|
entry_id | yes | Config entry of the panel. |
message_index | yes | 1-based message number to clear (1..128). |
service: omni_pca.clear_messagedata: entry_id: 01J8K9XYZ... message_index: 3omni_pca.acknowledge_alerts
Section titled “omni_pca.acknowledge_alerts”Acknowledge all outstanding alerts and trouble conditions.
| Field | Required | Notes |
|---|---|---|
entry_id | yes | Config entry of the panel. |
service: omni_pca.acknowledge_alertsdata: entry_id: 01J8K9XYZ...omni_pca.send_command
Section titled “omni_pca.send_command”Power-user escape hatch. Sends a raw Command (opcode 20) with arbitrary
parameters. See the Command enum reference for
valid byte values.
| Field | Required | Default | Notes |
|---|---|---|---|
entry_id | yes | — | Config entry of the panel. |
command | yes | — | Numeric Command enum value (0..255). |
parameter1 | no | 0 | Single byte (0..255). |
parameter2 | no | 0 | BE uint16 (0..65535) — almost always the object number. |
# Equivalent to omni_pca.execute_program with index=42:service: omni_pca.send_commanddata: entry_id: 01J8K9XYZ... command: 104 # Command.EXECUTE_PROGRAM parameter1: 0 parameter2: 42Automation example
Section titled “Automation example”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.