Interlogix Ultrasync

Need support for Interlogix Ultrasync!

would be great indeed!

I realize this post is old, but I too have an Interlogix alarm panel and have been playing with some code to interact with it. I can already change the scenes (armed, stay, and disarm), but that’s about it. I can’t make promises it will work for others. Here is the GitHub page I started.

The library still needs work before it can be integrated into HA, but it’s still a good start. I need to figure out more about how the registers are being returned to me via the panel (zone assignments, which sensors have been tripped, etc). I’m quite certain I’ve extrapolated all of this data as well, i just need to figure out what is what.

Consider this a call for help/testers :slight_smile:

On a side note: Interlogix has actually announced that they’re leaving the security industry back in Sept 2019 (but will still support the products they did create). I’m not sure how this is going to impact the future of this product.

Interlogix Ultrasync integration would be great!

Vote from me too!

Originally I bought the UltraSync Hub for its Z-wave integration. Unfortunately, the programming for automations are very limited. That´s why I switched to HomeAssistant and it would be great to have an UltraSync integration.

The only way to connect both systems so far, is by using the the IMAP e-mail integration. It processes all logs from UltraSync in order to control automations. The sending/receiving process takes about 30-40 seconds, which is too long.

Finally, although Interlogix left security industry in North-America, they are still active in Europe.

There seem to be several things called Interlogix UltraSync, but they may have the same web interface.

A self contained hub / modular hub (https://www.interlogix.com/intrusion/category/control-panels?brand=17).

There is also the NX-595 comms (Hills ComNav in Australia) board https://www.interlogix.com/intrusion/product/networx-ip-communication-module

The app I was given, for my NX-595, is Ultra Connect, but there is a newer UltraSync that works with the same details (serial number, access code).

The configured web access server in the NX-595 is s1 .zerowire.com :443

It is also possible to log in locally direct to the controller, e.g. ht tp:// 192.168.1.xxx/

Both of the two prototype projects on GitHub seem to use the same web interface, e.g. post to /user /keyfunction.cgi, etc. I think this is just scraping/replicating what the web interface does, not a true separate API, but that is good enough. (If you have the installer code for your system, you can even log in as that and reverse engineer those functions)

I’ve be able to modify this project below to work on my ComNav (NX-595E)
https://github.com/simonhebert/nx595e-webapi.

It provides a Web API with the following information

Alarm Status

{"armType":"off","isSystemReady":true,"isFireAlarm":false,"isIntrusionAlarm":false,"isExitTimeDelay":false,"isEntryTimeDelay":false,"isZoneBypassEnabled":false,"isChimeEnabled":false,"systemStatus":"No System Faults","zones":[{"index":0,"name":"Entry","status":"Ready","isBypassed":false},{"index":1,"name":"Living","status":"Ready","isBypassed":false},{"index":2,"name":"Kitchen","status":"Ready","isBypassed":false},{"index":3,"name":"Master","status":"Ready","isBypassed":false},{"index":4,"name":"Family","status":"Ready","isBypassed":false},{"index":5,"name":"Hallway","status":"Ready","isBypassed":false}]}

i’m also able to arm/disarm via a post command to the Web API.

anyone able to help in integrating the NX595 into HA

Just letting you all know I made massive productivity on my Ultrasync code base here. The API (also viewable through --details) should be able to make it possible to integrate into Home Assistant.

Prior to this update, you could always fully arm and disarm the alarm (including in stay mode). My latest changes allow you to monitor your security. It took a very long time to reverse engineer how all of the area and sensor banks are referenced, but i think i nailed it. Would love some feedback if anyone is willing to test it:

# simple installation
pip install ultrasync

Instructions are on my GitHub page, but I’m more than happy to help anyone else get set up or if they have any questions.

If I could get some feedback, that would be awesome! :slight_smile:

Hey Chris

Really curious how I can add this to my HomeAssistant OS.

hi @stefdewilde,

I’m starting the integration now, but it’s not complete. The first step was the library (and CLI tool) I shared that allows us to expose the UltraSync Hub in a way that we can be communicated to (and monitor) it via a API; this part is done! :+1: :tada: . You can use this tool (as is) right now if you want.

I haven’t done a pull request to Home Assistant yet, but I have begun the process here.

It’ll be pretty basic at first, but I’d like to be able to send away, stay, and disarm through HomeAssistant. I also want my initial release of this integration so that we can set up triggers to automatically arm the alarm (as stay) at night and disarm in the morning (as an example). As I make progress, I’ll share here. Please know that this is kind of an overwhelming undertaking, so please be patient; if you can help, by all means feel free too! :slightly_smiling_face:

3 Likes

Thanks for the answer chris.

I can help with beta testing haha. Not really a great coder. The link in your post is not working by the way.

Going to double post, so sorry mods :smiley:

I’ve looked to the component you’ve added and it looks good. Is there an option to import this and test it out?

Sure, it doesn’t work yet, but here is the flow (hopefully the instructions below aren’t too confusion; it requires docker unless you can get set up another way):

# Prep (location to work within)
mkdir -p ultrasync-test/config
cd ultrasync-test

# Launch Home Assistant Docker Container
docker run -d --name="ha-ultrasync-test" \
    -v $(pwd)/config:/config \
    -v /etc/localtime:/etc/localtime:ro \
    -p 8123:8123 \
    --net=host homeassistant/home-assistant:stable

# Get the container name name
CONTAINER=$(docker ps | egrep ha-ultrasync-test | awk '{print $1}')

# Connect to container and do a bit of changes...
docker exec -it $CONTAINER /bin/bash 

#
# Inside of bash container
#
# Clone my fork of the project
git clone https://github.com/caronc/core.git /usr/src/homeassistant.ultrasync

# Install ultrasync (use latest on github)
pip install git+https://github.com/caronc/ultrasync.git

# Move new checkout in place
mv /usr/src/homeassistant /usr/src/homeassistant.orig && \
    mv /usr/src/homeassistant.ultrasync /usr/src/homeassistant

# We need to restart the homeassistant tool now
exit

Now we’re back outside of our container; let’s restart it:

# Restarting our container allows us to kill the old instance and
# start the new one that is part of my git branch at this time
CONTAINER=$(docker ps | egrep ha-ultrasync-test | awk '{print $1}')
docker restart $CONTAINER

Be patient now at this point as it takes some time to startup. This could be 30 seconds or so but at some point the website http://localhost:8123 should be accessible.

  1. Create some testing account in with some easy to use account (for testing) as this container will allow you to test and not obstruct your actual HA installed elsewhere.
  2. Click on Configuration
  3. Click on Integrations
  4. Click on the big circle (bottom right) to Add (:heavy_plus_sign:) a new integration
  5. Search for Ultrasync
  6. Select the entry when it appears
  7. Provide the hostname of your UltraSync Hub, a user account (it’s strongly suggested you create your own custom one just for this) and the pin that goes with it.

Now I plan on editing this comment as i learn more… Above is what i WANT to happen :slightly_smiling_face:, but UltraSync isn’t showing up as an integration yet (Step 5). I still need to play with the code a little more; I feel I’m close… I do have a full time job, so hopefully I’ll be able to pick up more on this over the weekend. But once again I’m open to anyone who has suggestions or finds anything to get further.

Edit 2020-10-27: Flow works as intended now using latest code and following instructions identified here.

Just wanna say i’ve been waiting for someone to code this for a long time so thank you for your sharing and hopefully not too long till it gets to where you want it to be.

Pushed some more code today; those who successfully follow my instructions and use the latest code will now see 4 working area sensors:

I haven’t figured out how to send the away/stay/disarm yet; I’ll keep you posted if i do.

2 Likes

Just take your time to make it work.

You are close to greatness haha.

I created a Pull Request against Home Assistant here. I am currently missing unit tests; I’ll start working on these next. There are some other things i need to review too, but there hopefully shouldn’t be a whole lot of work up ahead. If you use my branch; it all works right now (well for me anyway).

There are 3 services you can use stay, away, and disarm which are working perfectly in Home Assistant now too! I tried to document most of this in the in the PR.

Can’t test it because I don’t have home assistant running in a docker but as a Raspberry Pi OS.

I have been waiting for something like this for a long time to be able to get alarm status info on my hass.io installation through my 595E. If somebody could point me towards the way to install it without docker I would be glad to help with testing.