Paradox Alarm MQTT Hassio addon

well I just heard back from my local supplier… they have shipped me version 4.3 so I guess I’m screwed unless I want to pay for another one :unamused:

@sparkydave I do not wish to hijack this thread, as it is a great module integrated with HA, but if you have problems with recent panels, this project may help you: https://github.com/jpbarraca/pai

2 Likes

Thanks, I’ll check it out once I get my Paradox alarm system up and running. Delivery is today

Hi @alfredo

Thanks for this addon. Everything is working very well.
Is it possible to control Paradox PGM from Home Assistant? I have my blades connected to PGM and would like to create some automations from HA.

Thanks

Hi Alfredo, Xessiv and all.

Thanks again for all your assistance on this project. Xessiv, you mention above that you have 2 areas that you control in Home Assistant and in your setup you simply add another entry under alarm_control_panel and append ‘/2’ onto the state_topic and command_topic.

Do these multiple areas need to be set up somewhere, or should the just work? I have 3 separate areas on my Paradox Evo192 (house, garage and office) and I tried adding ‘/2’ and ‘/3’ to the my alarm_control_panel, but only ‘/1’ (house) area works. The other two area show as ‘unknown’.

alarm_control_panel:
  - platform: mqtt
    state_topic: "paradox/alarm/state/1"
    command_topic: "paradox/alarm/cmnd/1"
    payload_disarm: "DISARM"
    payload_arm_home: "ARM_HOME"
    payload_arm_away: "ARM_AWAY"
    qos: 1
    name: "House alarm"
  - platform: mqtt
    state_topic: "paradox/alarm/state/2"
    command_topic: "paradox/alarm/cmnd/2"
    payload_disarm: "DISARM"
    payload_arm_home: "ARM_HOME"
    payload_arm_away: "ARM_AWAY"
    qos: 1
    name: "Office alarm"
  - platform: mqtt
    state_topic: "paradox/alarm/state/3"
    command_topic: "paradox/alarm/cmnd/3"
    payload_disarm: "DISARM"
    payload_arm_home: "ARM_HOME"
    payload_arm_away: "ARM_AWAY"
    qos: 1
    name: "Garage alarm"

Is there anything else I need to do to get these two other areas working?

Hi Claude, please see below.

My Paradox MQTT connection addon is standard, didn’t change anything on that except for Alarm host IP, and MQTT user/pass

In my configuration.yaml, I have the following:

alarm_control_panel:
  - platform: mqtt
    state_topic: "paradox/alarm/state/1"
    command_topic: "paradox/alarm/cmnd/1"
    payload_disarm: "DISARM"
    payload_arm_home: "ARM_HOME"
    payload_arm_away: "ARM_AWAY"
    qos: 1
    name: "Control State Home"
  - platform: mqtt
    state_topic: "paradox/alarm/state/2"
    command_topic: "paradox/alarm/cmnd/2"
    payload_disarm: "DISARM"
    payload_arm_home: "ARM_HOME"
    payload_arm_away: "ARM_AWAY"
    qos: 1
    name: "Control State Garage"

I’ve just had time to rebuild my HomeAssistant setup, and have encountered an issue where command_topic isn’t allowed to be in sensor format anymore, so I had to remove that.

So for the arm/disarm ‘sensor’, I have this in my sensors.yaml

- platform: mqtt
  state_topic: "paradox/alarm/state/1"
  qos: 1
  name: "Alarm State Home"
  
- platform: mqtt
  state_topic: "paradox/alarm/state/2"
  qos: 1
  name: "Alarm State Garage"

And for the actual switch component (arm/disarm separate zones), that just works from the data in configuration.yaml. The command that does the switching is the command_topic line, so when you reference the entity it will bring it up for you.

And this is how I’ve got them referenced in my groups.yaml - cut down version so you can test if it works for you.

default_view:
  view: yes
  icon: mdi:home
  entities:
    - sensor.alarm_state_home
    - sensor.alarm_state_garage
    - group.Alarm

Alarm:
  name: Alarm
  icon: mdi:alarm-light
  view: yes
  entities:
  - alarm_control_panel.control_state_home
  - alarm_control_panel.control_state_garage
  - sensor.alarm_state_home
  - sensor.alarm_state_garage

Tested and working on Home Assistant 0.87.1 with Paradox addon v5 running on HassOS 2.8 on a RPi 3B
Let me know if you have any more questions :slight_smile:

1 Like

Hi hybrix, sorry for the delay.

I’ve just written hopefully a more complete post below, with all of my sections documented. Please check it out - Paradox Alarm MQTT Hassio addon

Let me know if you’re still having issues :slight_smile:

Once again Xssesiv, many thanks for your time. Unfortunately, my setup was almost exactly the same as yours, but I still couldn’t get my system to see the other ‘areas’ of my Paradox installation.

My entire system was slowing down on a Raspberry Pi installation so I reinstalled a snapshot of my setup in a Docker container on an Ubuntu laptop and now it can see the other Paradox areas! Maybe just a problem with limited resources.

I can now unset the system using alarm_control_panel and see all motion sensors, door sensors etc. The only problem is that I can’t set the alarm.

I have the following setup for my areas:

- platform: mqtt
  state_topic: 'paradox/alarm/state/1'
  command_topic: 'paradox/alarm/cmnd/1'
  name: alarm_house
  payload_disarm: 'DISARM'
  payload_arm_home: 'ARM_HOME'
  payload_arm_away: 'ARM_AWAY'
  qos: 1

- platform: mqtt
  state_topic: 'paradox/alarm/state/2'
  command_topic: 'paradox/alarm/cmnd/2'
  name: alarm_cottage
  payload_disarm: 'DISARM'
  payload_arm_home: 'ARM_HOME'
  payload_arm_away: 'ARM_AWAY'
  qos: 1

My Lovelace alarm panels are set up as follows:

  - entity: alarm_control_panel.alarm_house
    name: House
    states:
      - arm_home
      - arm_away
    type: alarm-panel
  - entity: alarm_control_panel.alarm_garage
    name: Garage
    states:
      - arm_home
      - arm_away
    type: alarm-panel

and lastly, my Paradox setup is as follows:

{
  "IP150_ADDRESS": "http://192.168.xxx.xxx:xxxx",
  "PANEL_CODE": "XXXX",
  "PANEL_PASSWORD": "xxxxxxxx",
  "MQTT_ADDRESS": "mqtt://core-mosquitto",
  "MQTT_USERNAME": "XXXXX",
  "MQTT_PASSWORD": "xxxxxxxxxxx",
  "ALARM_PUBLISH_TOPIC": "paradox/alarm/state",
  "ALARM_SUBSCRIBE_TOPIC": "paradox/alarm/cmnd",
  "ZONE_PUBLISH_TOPIC": "paradox/zone/state",
  "CTRL_PUBLISH_TOPIC": "paradox/ctrl/state",
  "CTRL_SUBSCRIBE_TOPIC": "paradox/ctrl/cmnd"
}

Can anyone see any reason why I can only disarm my alarm and not arm them?

Thanks in advance for your help.

Hi Claude,

I don’t know why you still can’t control more than one area, very strange! Maybe try to remove the single new line between the first and second areas under your alarm_control_panel: code?
For the arm/disarm though, maybe you’ve got too much information on the Lovelace alarm panel section?
Maybe just try having the entity and name lines, and remove the states/type because it may work without them?

The code I put up for my groups.yaml has displayed this for Lovelace. Circle highlighted are the sensors and then 1/2 are the 2 areas, which can be controlled separately, and can arm/disarm:
image
And in Pending state when Arm Away is selected:
image

Hope this helps you/anyone out further.

Hi, I just did my test and it works with IParadox app and HA connected to the IP150. I guess IParadox app doesn’t use web interface. If I try to connect through browser I get message “Only one connection at a time”.
So I was arming/disarming the panel with the app and the info in HA was changing real time.

Hey All,

I’m very glad you’re making progress in having the add-on work in more and more setups. I know this is just half-backed, and it especially lacks documentation; the community extra effort to help other new users out is awesome!

I’ll try to address a few items that arose recently:

@UbiMaiden Yes, the IP150 module (firmware V3) can be accessed in two ways: a web interface (say, port 80 via a web browser); a binary protocol (typically, port 1000, I guess with a proprietary software). Now, from my tests these two systems interconnect quite in a peculiar way:

  • If you’re logged on the binary protocol (and not on the web interface), then you can’t log into the web interface
  • If you’re logged on the web interface, then you can still log via the binary protocol

That’s exactly why I’ve implemented this add-on to access via the web interface, so that you still have the binary interface available, which some mobile apps (or, in my case, the remote monitoring system from the alarm installers) use. Crucially, this seems to differ from the other pieces of software, which prefer the binary interface, and hence end up also disabling access via the web interface.

@jpbarraca Thanks for sharing, what an awesome effort! I seem to understand the beta IP access you’ve recently added goes via the binary protocol and not the web interface (see above). If you’re interested, please feel free to embed/link the code I’ve developed to achieve that for firmware V3; the code should be modular enough to ease integration.

@rogercrespo I’m not too familiar with the PGM in the Paradox alarm. I’d say that if you can control them via the web interface, then my add-on can likely be extended to support them. However, I’m not sure I fully understand their purpose, and don’t use any in my setup; so I’d like to set expectations that developing, testing and releasing them may not happen so soon. I’m however very open to contribution, in case someone wants to jot down the required extension to the code.

@J-P, you said:

that sounds interesting! Out of curiosity, does it work on the lines: “If someone leaves home and alarm is not triggered, send out a reminder notification”? And this assumes you have other means to detect presence?

Finally, I still haven’t found a way to trigger the alarm from the web interface, neither in “panic” mode (no siren) nor regular trigger. If anyone finds a way please just let me know, and we can add the relevant support in the add-on so that you can define a switch to trigger the alarm. This would allow, for instance, to define automations to use your own window sensors or cameras with motion detection to trigger the alarm when it’s armed.

Thanks all, and enjoy!

Hi Alfredo,
PGMs are relays that you could use to activate different utilities (open garage doors, turn on heat…). The only way to activate alarm is, if the zone changes state when armed. To do that through web interface you would need to use IP150 I/O with relay that opens zone when armed. Google for the document IP150_EI02.pdf input/output. I used to turn on my home PC through IParadox app and PGM.
The other way to turn on alarm, would be to use Sonoff basic with relay, that does the same job as IP 150 I/O.

Just came across some information that may be useful for people that want to downgrade their firmware!
As always, use at your own risk
https://github.com/Tertiush/ParadoxIP150v2/issues/22#issuecomment-397906467

Hi @UbiMaiden,

Thanks for the hint. From the documentation, it seems it should be possible to trigger output PGM by home assistant, via the web interface; since the documentation doesn’t say whether the input PGM status can be inspected from the web interface, it’s not sure you could use those as sensors in home assistant. At this stage, I don’t plan implementing this feature, since as you say a Sonoff could probably do the same and would be way easier to integrate.

Re: triggering the alarm, an input PGM may work, but I find it a bit convoluted: you’d need a remotely controlled relay to alter the PGM status. I’d have preferred a button to click on the web interface, which would have worked much like arming and disarming.

In fact, my alarm can be triggered in two ways: 1) by opening a zone, which triggers the siren after a delay; 2) in “panic” mode via a remote control, where the siren doesn’t trigger, and there’s no delay. But unfortunately none of them seems to be available via the web interface.

Cheers,
Alfredo

Hi alfredo

Yes here is the automation I am currently using, having some issues with the new person: feature and playing with armed vs pending states for notifications. I only do this during the day as our phones go into coma mode and are marked away at night.

- alias: Detect if Alarm should be set
  hide_entity: false
  trigger:
    - platform: state
      entity_id: person.jean_pierre, person.anja, device_tracker.getrekt
      to: 'not_home'
  condition:
      - condition: state
        entity_id: sensor.alarm_state
        state: 'disarmed'
      - condition: state
        entity_id: sensor.hassio_connected
        state: 'Connected'   
      - condition: sun
        before: sunset
      - condition: sun
        after: sunrise
  action:
    service: notify.pushbullet
    data: 
     title: Alarm not set 
     message: The alarm is not set and no one is home.
1 Like

Hi all,
Has anyone gotten a recent version of hass.io to recognize this addon? Has anything changed? I followed the instructions below on v.90.2 (supervisor 152) and it refuses to recognize any addons after many refreshes…

cd /addons
git clone https://github.com/alfredopironti/Paradox_IP150.git paradox_ip150_mqtt

It downloaded the folder and the folder called ip150_mqtt is sitting in the addons folder with a bunch of stuff in it, and one time I got a log message in the supervisor logs about it missing some files, but since then I’ve been trying to add and remove it and refresh a bunch of times, but it never shows up in the hass.io addons page… Any way I could add it from a repository instead?

So I put it instead into the “local” folder under “addons” and hit the refresh button. Then it gives me this error:

19-04-03 21:55:56 WARNING (MainThread) [hassio.addons.data] Can't read /data/addons/local/paradox_ip150_mqtt/config.json: required key not provided @ data['arch']. Got None

So I had to add the arch option to config.json like so and then it showed up…

{
  "name": "Paradox IP150 MQTT Adapter",
  "version": "0.5",
  "slug": "paradox_ip150_mqtt",
  "description": "Expose an MQTT interface for the Paradox IP150 web interface",
  "arch": ["amd64"],
  "url": "https://github.com/alfredopironti/Paradox_IP150",
  "startup": "services",
  "boot": "auto",

Will open a case and pull request about it.

EDIT: Sorry, I hadn’t read the post above mine… it seems like someone had already figured it out. Thanks scstraus :slight_smile:

Hi guys!

Thanks for keeping this module alive! It serves me well for my IP150! :slight_smile:

Just to keep everyone in the loop, I’ve reinstalled my Home Assistant installation from scratch and while trying to do the installation of this addon, I couldn’t get it working. The addon would never get recognized by Home Assistant (0.91.4). I would get this error in the logs while trying to refresh the addons:
WARNING (MainThread) [hassio.addons.data] Can't read /data/addons/local/paradox_ip150_mqtt/config.json: required key not provided @ data['arch']. Got None

I fixed it by editing my config.json and inserting a new arch mandatory tag :
"arch": ["amd64"],

I was able to see the addon after this modification. Perhaps someone with a bit of time could update the config file on github? :slight_smile:

Thanks and have a great day!

I already made a pull request, but it hasn’t been accepted yet… I also wouldn’t mind to make a little howto for the github page, but first we need @alfredo to come back and pay us a visit so he can update the github repository…

Thanks for doign the pull request scstraus. :+1: As for the howto, I am sure it will benefit others since this addon requires a bit of tech knowledge to get it working.