Interlogix Ultrasync

I created a similar alarm panel yesterday; I was experimenting with reactive CSS too and coloring:

1 Like

Hey Chris @l2g,

I’ve noticed when the alarm goes off (triggered), it does give an signal or status to the sensor. Is this correct? Would be nice if the sensor could read that their is an alarm going off…

Also:

Is it possible to add an option menu to the integration? When I change the pin or username so I don’t have to re add the integration.

Thanks
Stef

Hej,

First of all Chris thanks for your awesome work! I stumbled on this thread and still curious if this might work on my Raspberry Pi with Home Assistent OS. I saw @stefdewilde tried to, but where you able in the end?

Hey man!

Yes, at last thanks to @dd77!

https://mega.nz/file/MMhXmY7I#KK7srlghPQAOY6Wvabm4v3-orUMJrSgc9TgSNPXAnx8
Download this rar file.
Unpack it
Place it in your custom_components map
Restart your device :wink:

Should I ssh to the Pi?

No, make sure you have Samba share addon installed.

If you’ve done that you can access it from your pc. Then go to the map config. If there ain’t a map custom_components make one and copy the map ultrasync in it.

Restart your HA and it should work

Hero! Will try it now!

Na, I ain’t the hero. Chris @l2g is the hero for making this beautifull integration.

1 Like

@stefdewilde

I’ve noticed when the alarm goes off (triggered), it does give an signal or status to the sensor. Is this correct? Would be nice if the sensor could read that their is an alarm going off…

This is definitely a bug; i’m noticing that my (Interlogix) alarm code is not picking up on the Armed Status. So i think i still need some work here. For your alarm panel, would you be able to trigger an alarm (as you noticed wasn’t working) and capture a --debug-dump from the ultrasync tool for me while it is happening. I can use these file offline to debug/test with.

Is it possible to add an option menu to the integration? When I change the pin or username so I don’t have to re add the integration.

This should be doable; i’ll look into it for sure.

For those wanting to impliment this code into yours; it’s awesome you’ve got your own method. AT the end of the day you really only need 2 things (from my branch):

  1. homeassistant/components/ultrasync/
  2. generated/config_flows.py

You can install the latest version of Home Assistant and just make sure you copy/paste the directory and file above in the same respected folder of your code and it should work fine.

Fair enough. So I installed it like you said. Is there a way to create cards like you or Chris did (as seen above)?

You will need to add the custom card custom component for mine. I’ve also edited the code so it looks like this: (it’s in dutch, I’m from Belgium so yeah) Alarm Aan = Armed, Alarm Thuis = Stay, alarm uit = disarm. The Big Shield changes when it’s armed or when it 's on the stay function or when it’s on delay

type: horizontal-stack
cards:
  - type: vertical-stack
    cards:
      - type: 'custom:button-card'
        entity: sensor.ultrasync_area1state
        show_name: false
        show_state: true
        show_label: false
        styles:
          card:
            - height: 226px
        state:
          - value: Ready
            color: green
            icon: 'mdi:shield-check'
          - value: Not Ready
            color: green
            icon: 'mdi:shield-check'
          - value: Armed Stay
            color: orange
            icon: 'mdi:shield-account'
          - value: Exit Delay 1
            color: orange
            icon: 'mdi:shield-alert'
            styles:
              card:
                - animation: blink 2s ease infinite
          - value: Armed Away
            color: red
            icon: 'mdi:shield-home'
  - type: vertical-stack
    cards:
      - type: 'custom:button-card'
        tap_action:
          action: call-service
          service: ultrasync.away
        icon: 'mdi:lock'
        name: Alarm aan
        color: red
        styles:
          card:
            - height: 70px
        align: null
        hold_action:
          action: none
      - type: 'custom:button-card'
        tap_action:
          action: call-service
          service: ultrasync.stay
        icon: 'mdi:lock-open'
        name: Alarm thuis
        color: orange
        styles:
          card:
            - height: 70px
        hold_action:
          action: none
      - type: 'custom:button-card'
        tap_action:
          action: call-service
          service: ultrasync.disarm
        icon: 'mdi:lock-open-variant'
        name: Alarm thuis
        color: green
        styles:
          card:
            - height: 70px
        hold_action:
          action: none

@stefdewilde
I’m not sure if i fixed your problem, or made it worse. Please try the temporary ultrasync branch: informix-away-not-monitored

# make sure it's not already installed (so you don't have any conflicts)
pip uninstall ultrasync

# Then install the branch version:
pip install git+https://github.com/caronc/ultrasync.git@interlogix-away-not-monitored

Hey Chris, happy cake day first of all.

I tried your new version, but it still doesn’t show up. I’m also not able to dump the debug file. I get some weird error’s that it can’t connect to the IP and then it crashes…

Whenever I click a button this is shown:

Failed to call service ultrasync/away. Service not found.

Did you add the integration?

Go to Configuration -> Integrations -> Add Integrations (or a big ‘+’ button)
Then search for Ultrasync
Give in your host (ip adress of your Interlogix) user and the pincode. (Best is to make a new user for HomeAssistant use only)

1 Like

Thanks! That was it!

1 Like

Kudos to the creator for his effort, he created a long awaited integration!

Is there a way to read indivudual sensor states; i would like to use window sensors to switch off heater actuators. I can do this with homeip own sensors as well, but why should i buy and install duplicate sensor on each opening? Alarms wireless sensors are already in place?

@l2g

Sent some debugs across from when my alarm is going off with both branches of your code.

@panos2310

Have a look at post #67 for this thread.

here

While each individual sensor or zone is not exposed individually right now he did put in a Home Assistant event that includes the name of the sensor being tripped. I have found this perfectly fine for use as triggers on something like an automation but I dont think it can be used for something like a condition.

I just want you all to know I didn’t forget about any of you or the alarm issue you brought forth (thank you @stefdewilde for pointing out this very big flaw!). Bryan (@bojo) was very kind to send me his debug information as identified above.

Work has been really busy for me this past week but I finally had a chance to sit down and look into it now and I think i fixed it. I created the branch report-burglar-alarm and this Pull Request which should fix what you’ve identified :crossed_fingers:. Hopefully you guys are good at the drill now; if you could help me test the branch out (before i merge it), that would be awesome!

There are 2 ways to test it… the easiest is to keep using my ultrasync tool because what it produces is EXACTLY what gets passed back to Home Assistant (this tool wraps the exact same library where the bug was patched).

  1. The pip3 install method:
    # make sure it's not already installed (so you don't have any conflicts)
    pip uninstall ultrasync
    
    # Then install the branch version:
    pip install git+https://github.com/caronc/ultrasync.git@report-burglar-alarm
    
  2. Using the test tool i ship right with the code on github now (in bin/ of repo) which means you can still have your exiting ultrasync installed and not touch what is already in place, yet test this in it’s own virtual world. Basicaly what i mean is:
    # you can just checkout the source code in a temporary directory:
    mkdir tmp
    # change to your temporary directory
    cd tmp
    # clone a copy of ultrasync
    git clone https://github.com/caronc/ultrasync.git
    # change into the directory that was created:
    cd ultrasync
    #  change to the report-burglar-alarm branch
    git checkout report-burglar-alarm
    # Now use bin/ultrasync as you would the natively installed ultrasync tool
    ./bin/ultrasync --config="path/to/config" --watch
    

Option 2 above seems longer, but you can just delete the tmp/ directory you created when you’re done. No harm, no fowl. Your existing copy of ultrasync that might be already install will run untouched. Food for thought anyway; use either option above and let me know how it goes.

1 Like

Finally had some time to test your new branch.

I still don’t get a status that the alarm is triggered.
Still not able to debug dump it. Too little time, otherwise the whole neighboorhood would be coming to my house to check the alarm haha.