Interlogix Ultrasync

Sorry…

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 40, in <module>
    from .config import UltraSyncConfig
  File "/home/pi/ultrasync/ultrasync/config.py", line 27, in <module>
    from urllib.parse import urlparse
ImportError: No module named parse

This error insinuates that you’re running Python v2. Unfortunately this ultrasync tool will only work using Python v3. Do you have the option of installing this on the PC you’re using? Or can you get access to one that does in your household? You’ll need to just repeat the steps again once you do.

Hi Chris,

Installed a Virtual machine with linux, python3 and pip. Followed the steps, seems the problem is the same, no zip file generated:

lubuntu@lubuntu:~/ultrasync$ bin/ultrasync -c /home/lubuntu/ultrasync/ultrasync.cfg --watch
2021-01-24 13:15:45,889 - ERROR - Could not retrieve alarm status
lubuntu@lubuntu:~/ultrasync$ bin/ultrasync -c /home/lubuntu/ultrasync/ultrasync.cfg --debug-dump
lubuntu@lubuntu:~/ultrasync$ ls
bin                   MANIFEST.in       setup.cfg  tests      ultrasync.cfg
dev-requirements.txt  README.md         setup.py   tox.ini
LICENSE               requirements.txt  static     ultrasync

May be I could try with a some http downloader software…

That’s really unfortunate. It looks like you’ve done the right steps now. Are you certain you’ve put in the correct user/pass? Run the same --debug-dump again but also add -vvvv to the command:

bin/ultrasync -c /home/lubuntu/ultrasync/ultrasync.cfg --debug-dump -vvvv

I want to caution you though, it will dump a lot of information to the screen so you won’t want to paste it all here. I think we should take this debugging offline so we don’t drive the people following this thread for information on ultrasync nuts. If you could fire the information you receive as output to an email to me, we can resolve this together that way (again… just to avoid spamming this thread). My email is on my github page and also in this thread.

1 Like

Hello again! Just for your information I have found this in the logs.

2021-01-27 15:32:57 DEPRECATION WARNING (SyncWorker_10) [ultrasync] set() is being depricated and replaced with set_alarm()
1 Like

@l2g

got the same one… :frowning:

Hills Reliance R128 with Commnav Index Error List index out of range

Hi,
I have installed ultrasync from Hacs and get an error in the logfile
2021-01-28 13:55:18 ERROR (MainThread) [custom_components.ultrasync.coordinator] Unexpected error fetching ultrasync data: list index out of range
Traceback (most recent call last):
File “/snap/home-assistant-snap/123/lib/python3.8/site-packages/homeassistant/helpers/update_coordinator.py”, line 144, in async_refresh
self.data = await self._async_update_data()
File “/var/snap/home-assistant-snap/123/custom_components/ultrasync/coordinator.py”, line 108, in _async_update_data
return await self.hass.async_add_executor_job(_update_data)
File “/usr/lib/python3.8/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/var/snap/home-assistant-snap/123/custom_components/ultrasync/coordinator.py”, line 53, in _update_data
details = self.hub.details(max_age_sec=0)
File “/root/snap/home-assistant-snap/123/.local/lib/python3.8/site-packages/ultrasync/main.py”, line 578, in details
if not self.update(max_age_sec=max_age_sec):
File “/root/snap/home-assistant-snap/123/.local/lib/python3.8/site-packages/ultrasync/main.py”, line 563, in update
if not self._sequence():
File “/root/snap/home-assistant-snap/123/.local/lib/python3.8/site-packages/ultrasync/main.py”, line 1498, in sequence
return getattr(self, ’
{}_sequence’.format(self.vendor))()
File “/root/snap/home-assistant-snap/123/.local/lib/python3.8/site-packages/ultrasync/main.py”, line 1637, in _comnav_sequence
if area[‘sequence’] != a_seq[bank]:
IndexError: list index out of range
2021-01-28 13:55:18 WARNING (MainThread) [homeassistant.config_entries] Config entry for ultrasync not ready yet. Retrying in 80 seconds

when i run the utility I get the same error

~/.local/bin$ ./ultrasync -c ~/.config/ultrasync -w

2021-01-28 14:36:32 [001] Front Door[R : Ready
2021-01-28 14:36:32 [001] Dining Room Garage[R : Ready
2021-01-28 14:36:32 [001] Garage to Laundry : Ready
2021-01-28 14:36:32 [001] Upstairs Rumpus[M] : Ready
2021-01-28 14:36:32 [001] Bedroom 2,3,4 [M] : Ready
2021-01-28 14:36:32 [001] Dining Room[M] : Ready
2021-01-28 14:36:32 [001] Basement[M] : Ready
2021-01-28 14:36:32 [001] Under House Door[R] : Ready
2021-01-28 14:36:32 [001] Large Garage Door[R] : Ready
2021-01-28 14:36:32 [001] Small Garage Door[R] : Ready
2021-01-28 14:36:32 [001] Sewing Room[M] : Ready
2021-01-28 14:36:32 [001] Loft Door [R] : Ready
2021-01-28 14:36:32 [001] Basement Slide : Ready
2021-01-28 14:36:32 [001] Family Room Slide : Ready
2021-01-28 14:36:32 [001] Laundry Door[R] : Ready
2021-01-28 14:36:32 [001] Master Bedroom[M] : Ready
2021-01-28 14:36:32 [001] Dining Room Slide W : Ready
2021-01-28 14:36:32 [001] Dining Room Slide E : Ready
2021-01-28 14:36:32 [208] Inside House : Ready
2021-01-28 14:36:32 [000] Garage : Ready

Traceback (most recent call last):
File “./ultrasync”, line 8, in
sys.exit(main())
File “/usr/lib/python3/dist-packages/click/core.py”, line 764, in call
return self.main(*args, **kwargs)
File “/usr/lib/python3/dist-packages/click/core.py”, line 717, in main
rv = self.invoke(ctx)
File “/usr/lib/python3/dist-packages/click/core.py”, line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/usr/lib/python3/dist-packages/click/core.py”, line 555, in invoke
return callback(*args, **kwargs)
File “/home/halldave/.local/lib/python3.8/site-packages/ultrasync/cli.py”, line 199, in main
results = usync.details()
File “/home/halldave/.local/lib/python3.8/site-packages/ultrasync/main.py”, line 578, in details
if not self.update(max_age_sec=max_age_sec):
File “/home/halldave/.local/lib/python3.8/site-packages/ultrasync/main.py”, line 563, in update
if not self._sequence():
File “/home/halldave/.local/lib/python3.8/site-packages/ultrasync/main.py”, line 1498, in sequence
return getattr(self, ’
{}_sequence’.format(self.vendor))()
File “/home/halldave/.local/lib/python3.8/site-packages/ultrasync/main.py”, line 1637, in _comnav_sequence
if area[‘sequence’] != a_seq[bank]:
IndexError: list index out of range

I use Ultrasync as an app on the phone, and logging in directly to the comnav web app , the card is plugged into a Hills Reliance 128 zone panel. even though only 18 zones are configured

i have attached my debug file

20210128144216.ultrasync-dump.zip

1 Like

@polemopouli & @stefdewilde: No worries, it’s something I put i there that is part of ultrasync. I left it for compatibility because even when i upgrade ha-ultrasync i want it to remain compatible with the older versions. I’ll have the noise fixed soon (sorry about that), functionality wise there is no harm/risk. It’s just temporary noise :slight_smile:

@davehall: Thank you for creating the debug dump content; this is incredibly helpful! I believe i may have fixed this already, but I just haven’t pushed the changes upstream and made them official. I’ll do this soon and get you to try again (hopefully this weekend).

3 Likes

A Quick Automation script to send a message to a google home speaker if a door is left open for longer than 10 seconds between 11pm and 7:00am

alias: Notify if laundry door left open
description: ''
trigger:
  - platform: state
    entity_id: sensor.ultrasync_zone16state
    attribute: status
    from: Ready
    to: Not Ready
condition:
  - condition: time
    after: '23:00:00'
    before: '07:00:00'
action:
  - repeat:
      until:
        - condition: state
          entity_id: sensor.ultrasync_zone16state
          state: Ready
          attribute: status
      sequence:
        - delay: '10'
        - service: tts.google_translate_say
          data:
            entity_id: media_player.lounge_room_speaker
            message: After Hours Warning - Laundry door has been left open
mode: single
2 Likes

Hi, I am trying to create some blueprints and I would like to be able to provide all of the Zones/Areas in a drop down list, is it possible to set the domain to utrasync for all on the fly created zones and areas
eg. I would like the select_sensor in this example to draw from all of the ultrasync zones and areas

blueprint:
  name: Ultrasync Zone Not Ready TTS to Media Player
  description: Create an Automation between certain times that sends Message to TTS Media Players
  domain: automation 
  input:
    media_device:
      name: Media Player
      description: Message to Speak when Zone in Not Ready Status
      selector:
        target:
          entity:
            domain: media_player 
    select_sensor:
      name: Ultrasync Zone or Area
      description: Message to Speak when Zone in Not Ready Status
      selector:
        entity:
          domain: ultrasync  
    start_time:
      name: Start Time
      description: Choose the start time you would like this automation to monitor from
      default: '23:00:00'
      selector:
        time:
    end_time:
      name: End Time
      description: Choose the end time you would like this automation to monitor to
      default: '07:00:00'
      selector:
        time:
    not_ready_message:
      name: Zone/Area Not Ready Message
      description: Message to Speak when Zone in Not Ready Status
      default: 'Zone Not ready message'
    ready_message:
      name: Zone Ready Message
      description: Message to Speak when Zone is in Ready Status      
      default: 'Zone Ready message'
    time_between_messages:
      name: Time Between Messages 
      description: Delay between Repeating the Not Ready Message 
      default: 20
      selector:
        number:
          min: 0
          max: 60
          unit_of_measurement: seconds
          mode: slider

@l2g

Hey Chris! Do you think it is possible to add the Fire alarm activition in it?

Chris, great work

Question. I dont get the sensors in Node Red? Is that currently a limitation?

@stefdewilde: I can’t seem to find a spot via their website where I can activate this. Do you know if this is possible through the admin website (just via clicking around?). If we an get the code we need use, I’m sure we can add Police, Medical and instant Panic alarms (and whatever else).

@twmuller: I’m not very familiar with Node Red (only that it’s really popular). I think Node Red uses a MQTT server as a broker does it not? Someone would have to write an MQTT front end to the ultrasync tool for this to work from it.

@davehall: I can’'t help you at all here, I’m sorry. It sounds doable (via code). But I’m not sure if it’s doable using the rich templating feature HA offers or not. You could try asking that question in it’s own brand new thread on this Community forum. You might have better luck (as you’ll reach a bigger audience). I’m sure there are more people who’d like to do that as well but with whatever services/devices they’re maintaining.

Hi, I am looking into modernizing my alarm system and can really use your help and opinion. My current security system (not monitored) is Interlogix NX-4 and I would like to make it smarter to work with HA. Based on little I know about alarm systems, I have narrowed my options to following two. Can you please let me know which you would recommend or if there is a better way of doing it?

  1. Add NX-595E to my NX-4-V2 and integrate with HA
  2. Add Konnected (https://konnected.io/collections/shop-now/products/konnected-alarm-panel-pro-12-zone-kit?variant=31677817552969) to my wired system. The challenge with this is that I will need 2 programmable outputs and 2 free zones to setup my relay which will be needed to know when system is Armed, disarmed or engaged (https://www.youtube.com/watch?v=fcY0dYuBQCo%20) 19.25 min of this video will show what is exactly required. If I’m correct with my assumption, I will need to upgrade my NX-4-V2 to NX-6 or NX-8 and then add Konnected as all current 4 zones are used.

Thanks in advance for any guidance you gurus can provide,

To be honest I think the adding the NX 595E will be the better option. It’s the same brand, this custom integration works fine in HA,…

It is also the same price!

Thank you so much for your input. I now have to find NX 595E (which is obsolete) and then learn to program it. I will keep you guys posted.

Can anyone assist me in knowing how I can create an automation to only arm Area2?
I can’t seem to find a way of only arming an area without arming the entire system.

Cheers, Rob

I’m not sure if there is a method now that you put it that way. I’ll have to come up with one. Thanks for bringing this to my attention; I created a ticket here so I don’t forget.

In the meantime, I’m getting reports that the tool only reports the live status well for Area 1 and not any other Areas… Can you confirm this (see here)?

Thanks Chris, I’m surprised this wasn’t picked up sooner as I would have though many others would use area1 and 2. My house is on Area1 and Garage on Area2. I also have issues with the live status in Area 2 not updating.

Cheers, Rob

@najzblack: I’ll need your help to figure out the multi-area problem (since i personally don’t have the same setup). The person who original raised the issue hasn’t gotten back to me yet.

Basically what I asked of him/her… and what i need your help with is: having you trip one of your Area 2 Sensors (keep it tripped… so maybe you could prop a door or stay in front of a motion sensor). During this state (When you know Area 2 should not be in a Ready state, can you capture a --debug-dump using the CLI tool?
Have you use this tool before? There are instructions on it in this thread already, but i don’t mind elaborating more here if you like.

Optionally capturing an additional --debug-dump when Area 2 is in an okay state is helpful too, but capturing a not-ready state is the most important thing i need right now.

Could you help me out here?

Chris