Paradox Alarm MQTT Hassio addon

It’s telling you that the addon is not successfully connecting to the IP150S. Shut down the addon and then try to connect to

http://192.168.1.17

with your web browser which is on same network segment as your hass server and try using the same username and login. If it works, then you need to make sure to close any browser session that’s connected to the IP150S web page, because it only allows one connection at a time, and restart the addon and see what you get.

Hi.
I tried to do as you said me, in web browser by calling the address http://192.168.1.17 (IP150 address) it connects correctly.

In original IP150 web page, in IP150 Configuration, I have:

IP: 192.168.1.17
Software Port: 10000
HTTP Port: 80
HTTPS: NO
HTTPS Port: 443

iParadox App for iOS work perfectly (i use DynDNS no-ip.com for that, set in my router)

But from HomeAssistant add-on it doesn’t work.

When I restart Paradox IP150 MQTT Adapter add-on, in Home Assistant notifications appear this message:
Login attempt or request with invalid authentication from 172.30.xx.x

When I delete that error message, this appears in the log:

Traceback (most recent call last):
  File "ip150_mqtt.py", line 140, in <module>
    ip_mqtt.loop_forever()
  File "ip150_mqtt.py", line 122, in loop_forever
    self.ip.login(self._cfg['PANEL_CODE'], self._cfg['PANEL_PASSWORD'])
  File "/ip150.py", line 143, in login
    'Wrong page fetcehd. Did you connect to the right server and port? Server returned: {}'.format(lpage.text))
ip150.Paradox_IP150_Error: Wrong page fetcehd. Did you connect to the right server and port? Server returned: <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
<html>
<head>
	<meta http-equiv='content-type' content='text/html; charset=UTF-8' />
	<link rel='stylesheet' type='text/css' href='webstyles.css' />
	<script type='text/javascript' src='langue.js'></script><script type='text/javascript' src='commun.js'></script></head><body><div id = 'ERROR' style='margin-top:60px;'></div><title>CASA</title><script type='text/javascript'>;var sre = "<table><tr><td align='middle'><div class='box' style='width:460px;margin:80px;'><div class='box-title strips'>" + top.ln_cant[1] + "</div><div class='box-content'><div class='msg' id='MESSAGE'></div></div></div></td></tr></table>";document.getElementById('ERROR').innerHTML = sre; document.getElementById('MESSAGE').innerHTML = top.cant('System Master');</script></body></html>

Login attempt or request with invalid authentication from 172.30.xx.x

this message in home assistant notifications occurs every 5 minutes

That looks like your MQTT user/pass credentials aren’t correct in your Paradox addon. Can you double check them?
Also, not sure if this would matter, but maybe change the host from mqtt://homeassistant to mqtt://core-mosquitto if you’re using the Mosquitto addon within HA

Hi!
Now it works perfectly, it was an error in the mqtt password (but mqtt address was correct).

This is my configuration.yaml:

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"

This is my alarm_control_panel.yaml:

  - platform: mqtt
    state_topic: 'paradox/alarm/state/1'
    command_topic: 'paradox/alarm/cmnd/1'
    name: CASA
    payload_disarm: "DISARM"
    payload_arm: "ARM"
    payload_arm_home: "ARM_HOME"
    payload_arm_away: "ARM_AWAY"
    qos: 1
    code: *mycode*

The “alarm_control_panel:” part in configuration.yaml is necessary?
Or I can delete it and put

alarm_control_panel:! includes includes / alarm_control_panel.yaml

?

Great news!
I actually think your alarm_control_panel.yaml file code has more wrong to it than the one in your configuration.yaml. Why don’t you remove alarm_control_panel.yaml and change the name in your configuration.yaml to CASA? Then I think you’ll achieve what you want, without an extra file :slight_smile:

If I delete alarm_control_panel.yaml, and copy/paste this code in configuration.yaml , on lovelace card I see the keyboard for alarm panel code.

  - platform: mqtt
    state_topic: 'paradox/alarm/state/1'
    command_topic: 'paradox/alarm/cmnd/1'
    name: CASA
    payload_disarm: "DISARM"
    payload_arm: "ARM"
    payload_arm_home: "ARM_HOME"
    payload_arm_away: "ARM_AWAY"
    qos: 1
    code: xxxx

I preferred as it was previously, without code for ARM/DISARM alarm system.

I have seen that some users in configuration.yaml only have

alarm_control_panel:! includes includes / alarm_control_panel.yaml

you don’t need the code: xxxx line in your configuration. Remove that and you should be fine.

Ok, now I deleted alarm_control_panel.yaml file, and in configuration.yaml I have like this:

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"

It work PERFECTLY! Thanks @xessiv .

Now…next step…

How can I view my alarm sensors? I have a lot of door and pir sensor , can I view their states?

In your sensors.yaml… add these and continue for however many sensors and zones you have

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

- platform: mqtt
  state_topic: "paradox/zone/state/2"
  name: "Master BR"

- platform: mqtt
  state_topic: "paradox/zone/state/3"
  name: "Dining Room"

- platform: mqtt
  state_topic: "paradox/zone/state/4"
  name: "Smoke Kitchen"

How can I create a bynary sensor?

I tried to do this:

binary_sensor:  
  - platform: mqtt
    state_topic: "paradox/zone/state/10"
    payload_on: "Open"
    payload_off: "Closed"
    name: "Porta Ingresso"
    device_class: door

Sensor was created, but it doesn’t work (no icon and no changing status)

Here’s what i have for a door:

  - platform: mqtt
    state_topic: "paradox/zone/state/1"
    name: "Front Door (Zone 1)"
    qos: 1
    payload_on: "on"
    payload_off: "off"
    availability_topic: "paradox/ctrl/state"
    payload_available: "Connected"
    payload_not_available: "Disconnected"
    device_class: door
1 Like

Thank you @scstraus it work perfectly!

Do you have also PIR sensor configuration and other features?

Here’s one for PIR:

  - platform: mqtt
    state_topic: "paradox/zone/state/3"
    name: "Play Room (Zone 3)"
    qos: 1
    payload_on: "on"
    payload_off: "off"
    availability_topic: "paradox/ctrl/state"
    payload_available: "Connected"
    payload_not_available: "Disconnected"
    device_class: motion

and one for window:

  - platform: mqtt
    state_topic: "paradox/zone/state/13"
    name: "Laundry Room Window (Zone 13)"
    qos: 1
    payload_on: "on"
    payload_off: "off"
    availability_topic: "paradox/ctrl/state"
    payload_available: "Connected"
    payload_not_available: "Disconnected"
    device_class: window

Ok , It work!

But how can I do this?
2019-12-27_101547

I think you’d need the custom secondary info row card and define some template sensors to show the last motion. I do something similar with a different technique using home feed card and history graph… It’s a bit slow to render but is also more comprehensive… You can see the config in the last 4 cards in this view in my config

Wow your configuration has many things.
Can you put some screenshot?

This is the whole tab:

Hi, why I don’t see the last time under Sensor Name in lovelace card?

sensor1

- platform: mqtt
  state_topic: "paradox/ctrl/state"
  name: alarm_connection_status

############################################################################
# Last motion detection (Paradox PIRs)
############################################################################
- platform: template
  sensors:
    alarm_last_motion:
      friendly_name: 'Last Motion'
      icon_template: 'mdi:walk'
      entity_id:
        - binary_sensor.lounge_pir
        - binary_sensor.toves_office_pir
        - binary_sensor.dining_room_pir
        - binary_sensor.entrance_hall_pir
        - binary_sensor.skylight_pir
        - binary_sensor.guest_room_pir
        - binary_sensor.troys_room_pir
        - binary_sensor.savannas_room_pir
        - binary_sensor.kitchen_pir
        - binary_sensor.bedroom_passage_pir
        - binary_sensor.master_bedroom_pir
        - binary_sensor.master_bathroom_pir
        - binary_sensor.aquarium_area_pir
        - binary_sensor.tv_room_pir
        - binary_sensor.pir_games_room_landing
        - binary_sensor.pir_games_room_door
        - binary_sensor.pir_games_room_bathroom
        - binary_sensor.pir_cottage_living_area
        - binary_sensor.pir_cottage_bedroom
        - binary_sensor.pir_cottage_bathroom
        - binary_sensor.pir_garage
      value_template: >
        {%- set pirs = [states.binary_sensor.lounge_pir, states.binary_sensor.toves_office_pir, states.binary_sensor.dining_room_pir, states.binary_sensor.entrance_hall_pir, states.binary_sensor.skylight_pir, states.binary_sensor.guest_room_pir, states.binary_sensor.troys_room_pir, states.binary_sensor.savannas_room_pir, states.binary_sensor.kitchen_pir, states.binary_sensor.bedroom_passage_pir, states.binary_sensor.master_bedroom_pir, states.binary_sensor.master_bathroom_pir, states.binary_sensor.aquarium_area_pir, states.binary_sensor.tv_room_pir, states.binary_sensor.pir_games_room_landing, states.binary_sensor.pir_games_room_door, states.binary_sensor.pir_games_room_bathroom, states.binary_sensor.pir_cottage_living_area, states.binary_sensor.pir_cottage_bedroom, states.binary_sensor.pir_cottage_bathroom, states.binary_sensor.pir_garage] %}
        {% for pir in pirs %}
          {% if as_timestamp(pir.last_changed) == as_timestamp(pirs | map(attribute='last_changed') | max) %}
            {{ pir.name }}
          {% endif %}
        {% endfor %}

I believe you need to use the custom secondary info row card to display it in lovelace like he did.