Community Hass.io Add-on: Paradox Alarm Interface

It was resolved yesterday.

here is a sample of mine. Chane the “service: notify.mobile_app_nyasha_a52” to match what your device is called

alias: Alarm Armed
description: ""
trigger:
  - platform: mqtt
    topic: paradox/control/partitions/Beams
    payload: arm_sleep
  - platform: mqtt
    topic: paradox/control/partitions/Beams
    payload: arm_stay
  - platform: mqtt
    topic: paradox/control/partitions/Whole_Home
    payload: arm_sleep
  - platform: mqtt
    topic: paradox/control/partitions/Whole_Home
    payload: arm_stay
condition: []
action:
  - service: notify.mobile_app_nyasha_a52
    data:
      message: Armed {{trigger.topic.split('/')[3]}} {{trigger.payload}}
      title: Alarm armed ({{ now().strftime('%H:%M:%S') }})
  - service: notify.mobile_app_rues_iphone
    data:
      message: Armed {{trigger.topic.split('/')[3]}} {{trigger.payload}}
      title: Alarm armed ({{ now().strftime('%H:%M:%S') }})
mode: single
1 Like

Does anybody know what is the meaning of the ‘run status’ sensor we get with PAI? Is it that it’s connected to the internet, or connected with myparadoxhome, or the Security Central?!

Thanks!

Hi,
I install PIA on HA and its works properly. Maybe someone can help and explain how I can know which binary_sensor was active when alarm siren start working?

I’m using Appdeamon to push a notification to my phone on what zones are in alarm. Start off by making a group with all the zones, then when there’s an alarm iterate through that group to find the ones in alarm (i.e. “on”). I use another group with all the door sensors to let me know if any doors are open when I arm the alarm. Here’s a snippet of the siren code’s checking:

    zone_in_alarm = ""
    zones = self.get_state("group.zones_in_alarm", attribute = "all")
    zone_entities = zones['attributes']['entity_id']

    self.log("Alarming zones entities: {}".format(zone_entities))

    for val in zone_entities:
      self.log("Checking: {}".format(val))
      self.log("Val: {}".format(self.get_state(val)))
      if self.get_state(val) == "on":  
        zone_in_alarm = self.get_state(val, attribute = "friendly_name")

    zone_in_alarm = "Siren! Zone: " + zone_in_alarm
1 Like

Thanks I will try use it.

Hi I’ve installed PAI and it is running flawlessly. Awesome Addon, but was wondering is there a way to do a bypass and arm and it seems to force arm if the are any open sensors. Thanks

I had same situation, so i turned off PAI and went with local paradox apk, bypassed the sensors and arm through the apk app.

You can bypass zones (and check their bypass state) by sending an MQTT message to the respective zones. Here’s an example:

- name: "Front Door - Bypass"
  icon: mdi:walk
  state_topic: "paradox/states/zones/Voordeur/bypassed"
  command_topic: "paradox/control/zones/Voordeur"
  availability_topic: "paradox/interface/availability"
  qos: 1
  payload_on: "bypass"
  payload_off: "clear_bypass"
  state_on: "True"
  state_off: "False"
  payload_available: "online"
  payload_not_available: "offline"
  retain: false

Hi all

Is there a way to activate the siren with a switch or something similar when the alarm is either status, armed or not armed?

Thanks

alias: alarm_triggered_home
description: ""
trigger:
  - platform: state
    entity_id: alarm_control_panel.1_home
    to: triggered
    for: "00:00:01"
condition: []
action:
  - service: notify.html5_xxxx
    data:
      message: HOME alarm
      title: "triggered"
  - service: notify.mobile_xxxxxx
    data:
      title: "triggered"
      message: Trigerred
mode: single

You put run service to activate remote relay

Hi,
I’m using PAI which works well for arming and disarming the alarm but regarding the zones they appear disabled or Not detected ?
[edit]
Everything is back to normal after configuration reset and new settings.

Hi, can anyone give me advice on the correct settings to connect on LAN only and not via SWAN. I’ve only been able to make this work putting in the site id and email address. If I take that out then I cannot connect to the panel.

I assume that if I just delete the site id and the email address, then it should connect via LAN?

Any advice?

Hi
When arming a PGM output is activated (configured with Babyware) but it is not deactivated when I disarm.
How do I automatically deactivate this PGM output when I disarm the alarm?

[Edit]
Resolved with Babyware in PGM output settings using “All Special Arming Events” on and “All Special Disarming Events” off.

I wanted to enter a code to disarm the alarm and I used this:

In the configuration.yaml file I inserted the line:
code_arm_required: false
but I still have to enter the code to arm

Hi
Is it possible to display zone bypass switches?

Hi - Im having such a simple issue but can not seem to find the solution.

I added a new PIR, to my MG5050 system, reloaded PAI, MQTT.
I can see the new PIR appear in the PAIconfig startup under adding ‘new label’.
When I check Homeassistant for the PIR Binary_Sensor i cant find it.
I have checked in MQTT explorer and I can see it under the paradox Topic from the panel but it is not in the homeassistant Topic.

The strange thing is I can see new sensors for pir_open and pir_tamper associated with the new PIR in homeassisatnt so something is defiantly getting through but just not the actual PIR.

Any help greatly appreciated. I would have thought the PIR binary sensor would be auto created but have to admit its been a few years since I added any new sensors to my setup.

Hi all,

Any idea why I’m getting bad password? I am using an IP150s on 1.4 firmware. Previously I was using the IP150 MQTT addin and it was working fine with just the panel password and panel code (only problem is that it’s no longer compatible with new OSes). I tried using the panel password where it asks for IP connection password and panel code where it says password, but for some reason I get below errors. I’m not using babyware that I know of, I’ve never actually seen it. The old addin just connected to the IP150S interface and scraped the data from the UI and worked fine.

Any ideas what I’m doing wrong here? Do I have to use babyware to make this work? Any idea where to get it from?

2023-05-10 23:13:17,751 - INFO     - PAI - Starting Paradox Alarm Interface 3.2.1
2023-05-10 23:13:17,751 - INFO     - PAI - Config loaded from /data/options.json
2023-05-10 23:13:17,751 - INFO     - PAI - Console Log level set to 20
2023-05-10 23:13:17,791 - INFO     - PAI.paradox.interfaces - Starting BasicMQTTInterface Interface
2023-05-10 23:13:17,793 - INFO     - PAI.paradox.interfaces.mqtt.core - MQTT loop started
2023-05-10 23:13:17,800 - INFO     - PAI.paradox.interfaces - Starting HomeAssistantMQTTInterface Interface
2023-05-10 23:13:17,800 - INFO     - PAI - Starting...
2023-05-10 23:13:17,801 - INFO     - PAI.paradox.paradox - Connecting to interface
2023-05-10 23:13:17,801 - INFO     - PAI.paradox.paradox - Using IP Connection
2023-05-10 23:13:17,903 - INFO     - PAI.paradox.connections.ip.connection - Connecting. Try 1/3
2023-05-10 23:13:17,904 - INFO     - PAI.paradox.connections.connection - Connection established
2023-05-10 23:13:17,904 - INFO     - PAI.paradox.connections.ip.commands - Authenticating with IP Module
2023-05-10 23:13:17,907 - INFO     - PAI.paradox.connections.ip.commands - Authentication Success. IP(IP150) Module version 20, firmware: 1.40, serial: 71083353
2023-05-10 23:13:17,913 - INFO     - PAI.paradox.connections.ip.commands - Session successfully established with IP Module
2023-05-10 23:13:17,914 - INFO     - PAI.paradox.paradox - Connecting to Panel
2023-05-10 23:13:18,793 - INFO     - PAI.paradox.interfaces.mqtt.core - MQTT Broker Connected
2023-05-10 23:13:18,942 - INFO     - PAI.paradox.paradox - Panel Identified EVO48 version 2.15 build 2
2023-05-10 23:13:18,942 - INFO     - PAI.paradox.paradox - Initiating panel connection
2023-05-10 23:13:19,967 - ERROR    - PAI.paradox.lib.handlers - No handler for message 7
Detail: Container: 
    fields = Container: 
        data = b'r\xff\x00\x01\x00\x02\xa1"\x01\x02\x15\x02\x03\x01\xfc\xa7'... (truncated, total 36)
        value = Container: 
            po = Container: 
                command = 7
                message_center = 2
            new_protocol = 255
            protocol_id = 0
            protocol = Container: 
                version = 1
                revision = 0
                build = 2
            family_id = (enum) (unknown) 161
            product_id = (enum) (unknown) 34
            talker = (enum) CONTROLLER_APPLICATION 1
            application = Container: 
                version = 2
                revision = 15
                build = 2
            serial_number = b'\x03\x01\xfc\xa7' (total 4)
            hardware = Container: 
                version = 0
                revision = 0
            bootloader = Container: 
                version = 2
                revision = 5
                build = 0
                day = 23
                month = 9
                year = 32
            processor_id = 7
            encryption_id = 65
            reserved0 = b'\x00W' (total 2)
            label = b'EVO48 \x00\x00' (total 8)
        offset1 = 0
        offset2 = 36
        length = 36
    checksum = b'T' (total 1)
2023-05-10 23:13:21,040 - INFO     - PAI.paradox.hardware.evo.panel - Installer login
2023-05-10 23:13:22,065 - ERROR    - PAI.paradox.hardware.evo.panel - Authentication Failed. Wrong PASSWORD. Make sure you use correct PC Password. In Babyware: Right click on your panel -> Properties -> PC Communication (Babyware) -> PC Communication (Babyware) Tab.
2023-05-10 23:13:22,065 - ERROR    - PAI - PAI Critical exception. Stopping PAI
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/paradox/main.py", line 81, in run_loop
    if await alarm.full_connect():
  File "/usr/local/lib/python3.9/site-packages/paradox/paradox.py", line 212, in full_connect
    if not await self.connect():
  File "/usr/local/lib/python3.9/site-packages/paradox/paradox.py", line 192, in connect
    result = await self.panel.initialize_communication(cfg.PASSWORD)
  File "/usr/local/lib/python3.9/site-packages/paradox/hardware/evo/panel.py", line 181, in initialize_communication
    raise AuthenticationFailed("Wrong PASSWORD")
paradox.exceptions.AuthenticationFailed: Wrong PASSWORD
2023-05-10 23:13:22,073 - INFO     - PAI.paradox.paradox - Disconnecting from the Alarm Panel
2023-05-10 23:13:22,073 - INFO     - PAI.paradox.paradox - Clean Session
2023-05-10 23:13:22,074 - INFO     - PAI.paradox.paradox - Cleaning previous session. Closing connection
2023-05-10 23:13:22,074 - ERROR    - PAI.paradox.connections.protocols - Connection was closed: None
2023-05-10 23:13:22,075 - ERROR    - PAI.paradox.connections.connection - Connection was lost
2023-05-10 23:13:22,075 - INFO     - PAI.paradox.paradox - Disconnected from the Alarm Panel
2023-05-10 23:13:22,075 - INFO     - PAI.paradox.interfaces.interface_manager - Stopping all interfaces
2023-05-10 23:13:22,075 - INFO     - PAI.paradox.interfaces.interface_manager - Stopping BasicMQTTInterface
2023-05-10 23:13:22,076 - INFO     - PAI.paradox.interfaces.interface_manager - Stopping HomeAssistantMQTTInterface
2023-05-10 23:13:22,076 - ERROR    - PAI.paradox.interfaces.mqtt.core - MQTT Broker unexpectedly disconnected. Code: None
2023-05-10 23:13:22,077 - INFO     - PAI.paradox.interfaces.mqtt.core - MQTT loop stopped
2023-05-10 23:13:22,077 - INFO     - PAI - Good bye!

The old addin just connected to the IP150S interface and scraped the data from the UI and worked fine.

PAI did not ever do page scrapping. If you read the error more carefully then it tells where to get required PC Password. You need Babyware program for that.
The other plugin you are referring to has used a different authentication method and is not compatible with new IP module firmware versions.

1 Like

Thanks. I felt like I read the install docs pretty carefully but I guess I missed this. Any idea where I can get a copy of Babyware?