Community Hass.io Add-on: Paradox Alarm Interface

Do you know if this works with the trikdis SP3 alarm board? Or can point me in the right direction? I have an esp32 and would like to get mqtt messages. Panel has IP/mac and 5v plus 12v supplies. data outputs also.

Just changed from a paradox sp6000 to the trikdis.

Thanks

Based on the descriptions, it can only be operated by yourself.
If I read correctly, external access is not possible.

IP180
The IP180 reports only to the IPC10 Paradox receiver/converter, BabyWare, and
communicates with the BlueEye application. IP180 uses an encrypted supervised connection with the IPC10 PC and BlueEye, based on
MQTT technology making it stable, fast, and reliable. The IP180 is remotely upgradable from InField and the BlueEye application. The IP180
supports all Paradox + panels and should operate with most Paradox panels produced after 2012.
THING YOU SHOULD KNOW, PLEASE READ:
While the IP180 programming is similar to the IP150, there are some differences you should know:
• IP180 does not support “Combo” mode, there is no serial output. A system with a combo connection cannot be upgraded to
IP180 without upgrading the panel to + with two serial outputs.
• The IP180, due to its nature, cannot support local closed networks. Paradox will offer future local solutions for closed networks.
• You can configure static IP in BlueEye installer menu for BlueEye but BlueEye does not support static IP connection and IP180 must
have internet connection.
• IP180 reports in Contact ID format only to the IPC10 (make sure the panel is set to Contact ID reporting), and from IPC10 to
CMS MLR2-DG or Ademco 685.
• IP180 supports and supervises up to three IPC10 reporting receivers and upon release will support up to four receivers (IP150+
Future MQTT version supports only two receivers).
• When IP180 is connected, only the BlueEye application will connect; Insite Gold will not connect to the IP180.
• When connected to a Paradox panel with two serial outputs, connect the IP180 to Serial-1 (main channel) and PCS265 V8 (MQTT
version) to Serial-2 (another IP180 can be connected to Serial-2 as well). Do not mix MQTT reporting devices and previous Turn
reporting devices on the same panel.

IP150+ (MQTT)
Introduction
The IP150 + Internet Module provides access to Paradox systems. The IP150 + reports only to the IPC10 Paradox
receiver/converter and BlueEye, based on MQTT technology making it stable, fast, and reliable.
The IP150 + is remotely upgradeable from InField and the BlueEye application. It supports all Paradox + panels and
should operate with most Paradox panels produced after 2012.
THINGS YOU SHOULD KNOW, PLEASE READ:
While the IP150 + programming is similar to the IP150+, there are some differences you should know:
• You can configure static IP in BlueEye installer menu for BlueEye but BlueEye does not support static IP
connection and IP150 + must have internet connection.
• IP150 + reports in Contact ID format only to the IPC10 (make sure the panel is set to Contact ID
reporting), and from IPC10 to CMS MLR2-DG, Ademco 685, or Ademco CID-TCP.
• IP150 + supports and supervises up to two IPC10 reporting receivers.
• When IP150 + is connected, only the BlueEye application will connect; Insite Gold will not connect to the
IP150 +.
• PCS port is not enabled, the combo configuration is not supported in MQTT reporting.

I didn’t have an available PGM and instead I used a zwave plug and then plugged a 12v transformer into that. The transformer powers a simple relay from off to on which in turn opens the zone (if N/C) and causes an alarm condition. If I want to trigger the alarm panel I simply turn on the zwave plug for the applicable amount of time for the zone’s configuration. Works well too but if there is an available PGM that is way simpler!

Is there a way to change the labels used by PAI?

So our Paradox alarm has three states

  • Armed - Everything Armed
  • Stay - Perimiter Armed
  • Sleep - 1st Floor Armed - 2nd not armed.

These do not line up with the PAI states which are

  • Armed Home = Stay
  • Armed Away = Armed
  • Armed Night = Sleep

Either I want to be able to change the Paradox terms in Babyware or the terms in PAI, is this possible?
i.e.

  • Armed Whole House
  • Armed Sleep (1st Floor)
  • Armed At Home (Perimeter)

Thanks
d7bd80eb1325bb93e9e61f2cee81379137207115_2_690x408

Hi, I’m completely new here and I’m new to home assistant. I need an advice…
can someone explain in detail step by step (as if for morons) how to add Paradox alarm system to Home Assistant with IP 150 (preferably via panel serial number)

I can’t find what needs to be activated in the PAI configuration to show tamper status. Movement is indicated by the sensor, e.g. Zone 01 Open Clear/Occupied. However, e.g. the door contact Zone 01 Tamper always shows Off, regardless of whether the door is open or closed.

Start with project’s wiki page. Home · ParadoxAlarmInterface/pai Wiki (github.com)

Tamper usually means somebody has disconnected wires from the sensor.

1 Like

Thank you. Sorry, I made a fool of myself :slight_smile: . Everything really worked out. Your project is great. :+1:

Hi all,

I’m trying to integrate my EvoHD control panel with an IP150+ module

This is the error it gives me. some advice?

Thanks!!

2024-04-09 12:13:26,851 - INFO     - PAI - Starting...
2024-04-09 12:13:26,851 - INFO     - PAI.paradox.paradox - Disconnecting from the Alarm Panel
2024-04-09 12:13:26,851 - INFO     - PAI.paradox.paradox - Clean Session
2024-04-09 12:13:26,851 - INFO     - PAI.paradox.paradox - Cleaning previous session. Closing connection
2024-04-09 12:13:26,852 - ERROR    - PAI.paradox.connections.protocols - Connection was closed: None
2024-04-09 12:13:26,852 - ERROR    - PAI.paradox.connections.connection - Connection was lost
2024-04-09 12:13:26,852 - INFO     - PAI.paradox.paradox - Disconnected from the Alarm Panel
2024-04-09 12:13:26,852 - INFO     - PAI.paradox.paradox - Connecting to interface
2024-04-09 12:13:26,852 - INFO     - PAI.paradox.connections.ip.connection - Connecting. Try 1/3
2024-04-09 12:13:26,858 - INFO     - PAI.paradox.connections.connection - Connection established
2024-04-09 12:13:26,858 - INFO     - PAI.paradox.connections.ip.commands - Authenticating with IP Module
2024-04-09 12:13:26,865 - INFO     - PAI.paradox.connections.ip.commands - Authentication Success. IP(114) Module version 20, firmware: 5.6, serial: 72054ef7
2024-04-09 12:13:26,876 - INFO     - PAI.paradox.connections.ip.commands - Session successfully established with IP Module
2024-04-09 12:13:26,877 - INFO     - PAI.paradox.paradox - Connecting to Panel
2024-04-09 12:13:26,902 - INFO     - PAI.paradox.paradox - Panel Identified EVOHD version 7.31 build 1
2024-04-09 12:13:26,902 - INFO     - PAI.paradox.paradox - Initiating panel connection
2024-04-09 12:13:26,926 - ERROR    - PAI - Restarting
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 172, in initialize_communication
    payload = parsers.InitializeCommunication.build(
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 356, in build
    self.build_stream(obj, stream, **contextkw)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 368, in build_stream
    self._build(obj, stream, context, "(building)")
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 2024, in _build
    buildret = sc._build(subobj, stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 2493, in _build
    return self.subcon._build(obj, stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 4386, in _build
    buildret = self.subcon._build(value, stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 2024, in _build
    buildret = sc._build(subobj, stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 2493, in _build
    return self.subcon._build(obj, stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 2761, in _build
    return self.subcon._build(obj, stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 865, in _build
    stream_write(stream, data, length, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 109, in stream_write
    raise StreamError("bytes object of wrong length, expected %d, found %d" % (length, len(data)), path=path)
construct.core.StreamError: Error in path (building) -> fields -> pc_password
bytes object of wrong length, expected 2, found 3

Here the PAI conf on Hassio:

LOGGING_LEVEL_CONSOLE: 20
LOGGING_LEVEL_FILE: 40
CONNECTION_TYPE: IP
SERIAL_PORT: /dev/ttyUSB0
SERIAL_BAUD: 9600
IP_CONNECTION_HOST: 192.168.0.106
IP_CONNECTION_PORT: 10000
IP_CONNECTION_PASSWORD: paradox
KEEP_ALIVE_INTERVAL: 10
LIMITS:
  zone: auto
  user: 1-10
  door: ""
  pgm: 1-5
  partition: auto
  module: ""
  repeater: ""
  keypad: ""
  key-switch: ""
SYNC_TIME: true
SYNC_TIME_MIN_DRIFT: 120
PASSWORD: "000000" (installer password)
MQTT_ENABLE: true
MQTT_HOST: core-mosquitto
MQTT_PORT: 1883
MQTT_KEEPALIVE: 60
MQTT_USERNAME: pai
MQTT_PASSWORD: pai
MQTT_HOMEASSISTANT_AUTODISCOVERY_ENABLE: true
COMMAND_ALIAS:
  arm: partition all arm
  disarm: partition all disarm
MQTT_COMMAND_ALIAS:
  armed_home: arm_stay
  armed_night: arm_sleep
  armed_away: arm
  disarmed: disarm
HOMEASSISTANT_NOTIFICATIONS_EVENT_FILTERS:
  - live,alarm,-restore
  - trouble,-clock
  - live,tamper
HOMEASSISTANT_PUBLISH_PARTITION_PROPERTIES:
  - target_state
  - current_state
HOMEASSISTANT_PUBLISH_ZONE_PROPERTIES:
  - open
  - tamper
PUSHBULLET_CONTACTS: []
PUSHBULLET_EVENT_FILTERS:
  - live,alarm,-restore
  - trouble,-clock
  - live,tamper
PUSHOVER_EVENT_FILTERS:
  - live,alarm,-restore
  - trouble,-clock
  - live,tamper
PUSHOVER_BROADCAST_KEYS: []
SIGNAL_CONTACTS: []
SIGNAL_EVENT_FILTERS:
  - live,alarm,-restore
  - trouble,-clock
  - live,tamper
GSM_CONTACTS: []
GSM_EVENT_FILTERS:
  - live,alarm,-restore
  - trouble,-clock
  - live,tamper
IP_INTERFACE_ENABLE: false
IP_INTERFACE_PASSWORD: "1234" (panel password)
DUMMY_EVENT_FILTERS: []

I recommend reading the wiki. Home · ParadoxAlarmInterface/pai Wiki (github.com)

SOLVED
installer gave me wrong pc password (babyware)

Hi,
Is there a possibility of disarming the alarm with a voice command by announcing the code or another solution with automation?

Hi, I’m using the PAI addon and so far it’s been great. I’m trying to get the notifications to work so I know when the alarm is armed or disarmed and by who from home assistant.

The notification part is working correctly to my mobile, but it doesn’t tell me who armed or disarmed.

I’m not sure if extra settings are required in the configuration of PAI, or where this setting comes from.

When I listed to “paradox/events/raw” in MQQT settings, I can see the arming and disarming, but no name of the person who did it.

Any ideas or tips appreciated. Thank you

Hi everyone,

I’m currently experiencing issues with setting up my Paradox SP5500 and IP150 module with PAI. It was working perfectly when connected directly via IP, but since the monitoring center connected to it, I can’t seem to connect through the local IP anymore. Additionally, I tried using the SWAN service, but it’s also failing. Note that I set-up Blue Eye since the beginning; when I was connected to it I could login through PAI, but as soon as I disconnected Blue Eye PAI was working normally. Now, Blue Eye works, but PAI doesn’t, even if I’m not connected to Blue Eye.

LOGS:

Local IP Connection Failure:
When trying to connect locally, it fails with the following logs:

2024-05-26 13:14:03,326 - INFO     - MainThread - PAI.paradox.connections.ip.connection - Connecting. Try 3/3
2024-05-26 13:14:03,329 - ERROR    - MainThread - PAI.paradox.connections.ip.connection - Connect failed (try 3/3): [Errno 111] Connect call failed ('192.168.1.250', 10000)
2024-05-26 13:14:03,329 - ERROR    - MainThread - PAI.paradox.paradox - Failed to connect to interface
2024-05-26 13:14:03,330 - ERROR    - MainThread - PAI - Unable to connect to alarm
2024-05-26 13:14:03,330 - DEBUG    - MainThread - PAI.paradox.interfaces.mqtt.core - MQTT: paradox/interface/pai_status=error
2024-05-26 13:14:03,331 - DEBUG    - MainThread - PAI.paradox.interfaces.mqtt.core - MQTT: paradox/interface/availability=offline

SWAN Service Connection Failure:
When attempting to connect via SWAN, I receive the following error:

2024-05-25 14:34:05,169 - INFO     - PAI - Starting...
2024-05-25 14:34:05,170 - INFO     - PAI.paradox.paradox - Connecting to interface
2024-05-25 14:34:05,170 - INFO     - PAI.paradox.paradox - Using IP Connection
2024-05-25 14:34:05,381 - INFO     - PAI.paradox.connections.ip.connection - Connecting. Try 1/3
2024-05-25 14:34:05,381 - INFO     - PAI.paradox.connections.ip.stun_session - Connecting to Site: ****
2024-05-25 14:34:05,381 - INFO     - PAI.paradox.connections.ip.stun_session - Getting site info
2024-05-25 14:34:05,643 - ERROR    - PAI.paradox.connections.ip.connection - Unhandled exception while connecting (try 1/3): Unable to find module with desired  panel serial
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/paradox/connections/ip/connection.py", line 28, in connect
    await self._try_connect()
  File "/usr/local/lib/python3.11/site-packages/paradox/connections/ip/connection.py", line 148, in _try_connect
    await self.stun_session.connect()
  File "/usr/local/lib/python3.11/site-packages/paradox/connections/ip/stun_session.py", line 44, in connect
    raise ConnectToSiteFailed("Unable to find module with desired panel serial")
paradox.exceptions.ConnectToSiteFailed: Unable to find module with desired panel serial

Has anyone encountered similar issues after their alarm system was connected by a monitoring center? Could it be that the center’s connection settings are interfering with my local connection attempts? Any specific tips for connecting with SWAN?

Thanks in advance!

Hello everyone,

I am new to the PAI addon. Recently i managed to get the installation running on HA and all was working well until i decided to mess around with Babyware and label zones etc…

Now when i try to Arm the alarm i get the following errors:

2024-06-01 18:48:05,150 - INFO - PAI.paradox.interfaces.mqtt.core - MQTT Broker Connected

2024-06-01 18:48:07,405 - INFO - PAI.paradox.interfaces.mqtt.basic - message topic=paradox/control/partitions/Area_1, payload=arm

2024-06-01 18:48:07,406 - INFO - PAI.paradox.interfaces.mqtt.basic - Partition command: Area_1=arm user: None

2024-06-01 18:48:07,407 - ERROR - PAI.paradox.paradox - No partitions selected

2024-06-01 18:48:07,408 - WARNING - PAI.paradox.interfaces.mqtt.basic - Partition command refused: Area_1=arm user: None

So Area 1 is the entire house which consisits of 8 zones at the moment.

User from what i can see in babyware are the installer and user 001

Given that i have used autodiscovery in mqtt, I am not sure where i should select the partition if i have to and the user?

Any help on this would be appreciated.

Hey. Most probably you have renamed the partition. It used to be a name “Area 1” and now it has a different name. If you have renamed something I recommend you to delete whole device in HomeAssistant and restart PAI.

Thanks @yozik04. I ended it up doing that and starting from scratch

Hi,
I use PAI and I would like to have the possibility of disarming the alarm with a voice command (the 4 digits of the code) which would be more practical when I arrive by car (my garage is protected). Is it possible ?

Not sure about voice, but i have the ability to arm and disarm the alarm as well as open and close garage (and other functions) through Home assistant for CarPlay. I am sure it is also possible for android auto.