Interlogix Ultrasync

Hey Chris,

Can confirm everything seems to be working well on my system. Amazing work adding all the sensors in to HA individually! Definitely picking up on the “burglar alarm” states now too.

2020-12-17 12:54:33 [001] Laundry Door            : Ready
2020-12-17 12:54:33 [164] Home                    : Ready
---
2020-12-17 12:54:57 [165] Home                    : Exit Delay 1
---                                                                                                                      
2020-12-17 12:54:58 [166] Home                    : Exit Delay 1                                                         
---                                                                                                                      
2020-12-17 12:55:15 [167] Home                    : Exit Delay 1                                                         
---                                                                                                                      
2020-12-17 12:55:27 [168] Home                    : Armed Away                                                           
---                                                                                                                      
2020-12-17 12:55:28 [169] Home                    : Armed Away                                                           
---                                                                                                                      
2020-12-17 12:55:57 [170] Home                    : Armed Away                                                           
---                                                                                                                      
2020-12-17 12:55:58 [171] Home                    : Armed Away                                                           
---                                                                                                                      
2020-12-17 12:55:59 [173] Home                    : Armed Away                                                           
---                                                                                                                      
2020-12-17 12:56:02 [002] Kitchen/DiningMotion    : Not Ready                                                            
2020-12-17 12:56:02 [174] Home                    : Armed Away                                                           
---                                                                                                                      
2020-12-17 12:56:03 [175] Home                    : Armed Away                                                           
---                                                                                                                      
2020-12-17 12:56:04 [003] Kitchen/DiningMotion    : Ready                                                                
2020-12-17 12:56:04 [176] Home                    : Burglar Alarm                                                        
---
2020-12-17 12:56:06 [177] Home                    : Burglar Alarm

1 Like

I installed the same card myself this afternoon and if you just leave out the code: yourowncode parts the keypad also automagically dissapears.

Hi Chris i installed your HACS version earlier today on my home assistant instance on my rpi and it all seams to work fine. my version seams to be CN-0.108-O

Thank you so much for putting in al the time and effort to make this work it makes my alarm system 10 times more useful.

1 Like

But then you don’t need to put in a code? It just arms and disarms without then?

As far as I can see it uses the code you used to set up the connection.

I made a separate code for home assistant in my alarm system because I can’t connect from 2 devices to the system at once and my personal login is used when I acces the system from my phone.

Hey Chris @l2g ,

Thanks a lot for building this in - works a treat!

A quick question with the dynamic sensors… When I go through the install process and then connect my ComNav to HA, it adds 128 sensors (zones) when there are only 8 sensors set up on my Alarm Panel. It doesn’t seem to understand that there are only 8 sensors connected. In my normal alarm web interface via UltraConnect, it shows the 8 sensors here but the full 128 zones in HA.

Is this expected behavior?

EDIT: I found that you can disable the sensors / entities manually in HA (I am fairly new to HA) which then gives the expected behavior.

Also a suggestion that I came across, that the sensor names should have preceding zeros so they are really easy to find and search when the issue above happens as they will be in numerical order.

EG:

  • UltraSync Zone001State
  • UltraSync Zone002State
  • UltraSync Zone003State

At the moment, there is no preceding 0 so the sensors are a bit all over the place when displaying in HA with it thinking 100 is before 1.

@SubJimbo

I agree, i should add the zero, but this is going to break a lot of peoples configuration. So I may hold off for now. I never considered that all 128 zones could be visible.

… it adds 128 sensors (zones) when there are only 8 sensors set up on my Alarm Panel

Ideally I’d like to only show/detect the sensors you and I both know are present/installed. Like you, I think it’s overkill for you to see all 128 entries and have to start disabling them one at a time; that’s definitely no fun.

Can you access a terminal and get me a ultrasync --debug-dump. I’d be curious to see what the version of your ComNav panel is. I should be able to work with what you provide me and clean the output up for you. :+1:

There are lots of instructions around on how to get this Here is a recent ticket another person had where i documented it in further detail in case it helps. If you’re concerned with others seeing your alarm details, just send it directly to me via email (you can find it on my github page or in this thread i believe).

Good luck!

Chris

Hello Chris,

I recently purchased one alarm system with this “OS”. It has the same web interface but can’t logic with HACS integration, I get “failed to connect” error.

Installed ultrasync and can’t generate a debug dump. If You want I can send the html source from my system.

May be the error is that my login webpage is in spanish. Once logged the user is in english

Regards

Hi @GenGT,

Sorry to take so long to get back to you! It’s possible you have another UltraSync vendor that I haven’t known about. Is this a ComNav device? An Interlogix model? Or recently i learned of an xGen model that I’ve begun adding support for.

If you can’t get a --debug-dump, then the next best thing you can try to get for me is the HTML source of the webpage displayed to you after you log in. So basically: log into your Ultrasync Alarm panel (through the web page in your browser) and then from the (browser) menu options above, you should have an option to view html source.

Got tired of waiting for the integration to be added to the main OS so I installed HACS over the weekend. Great work on this @l2g

2 Likes

Hello Chris,

I’m having problems with the Alarm that lost the connectivity and I’m waiting for the technician to solve the problem. Meanwhile I saved the html after the alarm get “locked”. Its a Xgen 8

<!DOCTYPE html>
<!-- saved from url=(0020)http://x.x.x.x/ -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <script>if(0 == 1 && location.href.indexOf("https://") == -1) {location.href = location.href.replace("http://", "https://");}</script> 
    <title>xGen :: Secure Network</title>
    <meta name="viewport" content="initial-scale=1.0, width=device-width, maximum-scale = 1.0, minimum-scale = 1.0">
    <script src="./xGen __ Secure Network_files/es_es.js.descarrega" charset="utf-8"></script>
    <link href="./xGen __ Secure Network_files/m.css" rel="stylesheet">
    <script src="./xGen __ Secure Network_files/master.js.descarrega" charset="utf-8"></script>

<body onload="afterLoad();">
    <div class="ban">
        <p>UltraSync</p>
    </div> 
    <div class="login">
        <form method="post" action="http://172.16.0.189/login.cgi" id="login" onsubmit="return true;" data-bitwarden-watching="1">
            <h1 id="sign">Ingresar:</h1>
            <label id="namelab">Introduzca su nombre:</label>
            <input type="text" name="lgname" id="lgname" value="">
            <label id="pwlabel">Ingrese su Contraseña:</label>
            <input type="password" name="lgpin" id="lgpin" value="">
            <input type="submit" id="butn" value="Ingresar">
            <script>
            document.getElementById('lgname').focus();
            </script>
        </form>
    </div>
  <script>
  time="6002C63C";
      function afterLoad()
      {
       	document.getElementById('namelab').innerHTML = masterStrings[17]+':';
       	document.getElementById('pwlabel').innerHTML = masterStrings[18]+':';
       	document.getElementById('sign').innerHTML = masterStrings[19]+':';
       	document.getElementById('butn').value = masterStrings[19];
      }
  </script>     



</body></html>

@GenGT,

Thanks for sharing that, this is really new :slight_smile:; specifically this:

In every alarm panel up until now, the syntax has always been /v_XX_n.nnn-R/. I recently just added support for another xGen device and even it had the syntax: v_XG_04.01-B (see here).

Anyway, it shouldn’t be an issue, we’ll just have to handle your Alarm Panel a bit differently. I’ll need to learn more about it though. It’s an xGen v8 you say? Is it a relatively new device or an old model? Do you know much about it? These questions here are more for me so when I code around the xGen __ Secure Network_files reference, i can better identify it (for future reference purposes).

Nice work Chris. Thanks for making possible to integrate NX-595E to HASS through HACS.

Everything runs great on the latest HASS version on a pi4. I have 2 questions.

  1. Is it possible to change the username/pin that was stored during the install? If we have to change the pin used on installation we have to delete the integration and then reinstall it. This messes up the names of the partitions/zones etc.

  2. Everything works great but I cannot figure out how to use the ultrasync.sensor.update event. I have made a very simple automation just to check it but I cannot make it trigger.

alias: light_event
description: ''
trigger:
  - platform: event
    event_type: ultrasync_sensor_update
action:
  - type: turn_on
    device_id: 1ae1f4ab48f65a7b1fa71543e0140a84
    entity_id: light.office_light
    domain: light
mode: single

@polemopouli, The way I’ve been doing it is actually clicking on the Zones themselves to find out what they are associated with. You can open the properties of say… UltraSync_Zone8State and learn that it’s set up to be your Front Door Sensor. Knowing this, you can set up an automation like:

- alias: "Turn On Lights When Someone Enters The Home"
  trigger:
    platform: state
    entity_id: sensor.ultrasync_zone8state
    from: 'Ready'
    to: 'Not Ready'

  condition:
    - condition: state
      entity_id: switch.frontdoor_light
      state: 'off'
      for:
        # The lights have to have previously been off for at least 20
        # seconds prior; Without this check, the lights will come on when
        # you leave through the front door too (when going somewhere)! :)
        seconds: 20

  action:
    - service: switch.turn_on
      entity_id: switch.frontdoor_light

Hopefully this example will help you out.

1 Like

@GenGT: I created this Pull Request for you so we can start trying to add support for your panel. But I’ll still need a --debug-dump from you first. I realize it doesn’t work for you right now and hat’s why I’d like to redirect you to the link I just shared (detailed instructions can be found there). There is just enough changes to that custom version of my ultrasync tool that should allow you to capture a dump for me so we can advance a bit further with your request. :+1:

@SubJimbo: I still have not received a --debug-dump from you either. If the issue is still bothering you, by all means get a dump and pass it along so we can clean up your zone listing (to have no unused zones displayed). :slightly_smiling_face:

I also just want to thank the few of you for the small donations you sent my way. It’s really kind of you and I really appreciate the acknowledgement! :heart:

@l2g Sorry for my long time to answer, today I get the xgen working again by the technician. This afternoon I’m going to follow your instructions on the link to get the --debug-dump.

Thanks for your work!

Hi,

Can’t get --debug-dump file. This is the result:

pi@hassio:~ $ git clone https://github.com/caronc/ultrasync.git
Cloning into 'ultrasync'...
remote: Enumerating objects: 120, done.
remote: Counting objects: 100% (120/120), done.
remote: Compressing objects: 100% (62/62), done.
remote: Total 331 (delta 72), reused 92 (delta 55), pack-reused 211
Receiving objects: 100% (331/331), 454.88 KiB | 82.00 KiB/s, done.
Resolving deltas: 100% (162/162), done.
pi@hassio:~ $ git checkout 10-xgen8-support
fatal: not a git repository (or any of the parent directories): .git
pi@hassio:~ $ cd ultrasync/
pi@hassio:~/ultrasync $ git checkout 10-xgen8-support
Branch '10-xgen8-support' set up to track remote branch '10-xgen8-support' from 'origin'.
Switched to a new branch '10-xgen8-support'
pi@hassio:~/ultrasync $ bin/ultrasync -c /home/pi/ultrasync.conf --debug-dump
Traceback (most recent call last):
  File "bin/ultrasync", line 56, in <module>
    from ultrasync.cli import main
  File "/home/pi/ultrasync/ultrasync/__init__.py", line 34, in <module>
    from .main import UltraSync
  File "/home/pi/ultrasync/ultrasync/main.py", line 26, in <module>
    import requests
ImportError: No module named requests

Sorry

No worries,

That’s actually my fault, I should have included another piece of instruction in my pull request. I’ve updated it there, but to save you from clicking, you just need to also pull in the package dependencies:

# revisit the directory you pulled the source code down into

cd ultrasync/
# Install dependencies:
pip install -r requirements.txt

# Then give it another go:
bin/ultrasync -c /home/pi/ultrasync.conf --debug-dump

Hi Again, I’m a noob with python:

pi@hassio:~/ultrasync $ pip -install -r requirements.txt

Usage:
  pip <command> [options]

no such option: -i

You wrote:

pip -install -r requirements.txt
#   ^
#   |
# Drop the dash

You want to write:

pip install -r requirements.txt