Interlogix Ultrasync

UltraSync is also used by Carrier brands, such as Aritech. However ATS, like the Hills system (on the new firmware) require a connection to be made with ultraconnect.com first.

Is there anyone who already has this working? I would love to hook up my ATS to HA.

First thing i must mention, is thank you for creating this library. Its fantastic to be able to arm/disarm my security system via home assistant!

My security company created an ā€œautomationā€ in UltraSync+ that i believe is called a scene that can be triggered to open a roller door. On the overview page in the iOS application, the automations are below the alarm status (away, stay, disarm) and the current status (home is disarmed/armed). There is a section called Automations underneath with a blue circle button that i can press to trigger this automation and open the roller door. When i access the settings, i can see the automation (i think) via the ā€œscenesā€ menu option, although it looks like it just disarms the alarms and nothing about the roller door.

Is there a way to be able to use your library (or perhaps a feature request) to access these automations so i can open the roller door?

I am trying to setup my Hills Reliance 128 Alarm System with UltraSync+ within my HomeAssistant. I have installed the integration successfully via HACS, but for some reason, I cannot get it to configure within the Integrations section of HomeAssistant.
Here is how I am configuring it. The IP address is definitely correct and the actual username and pin are what I have configured within the UltraSync+ app via my phone (I added a dedicated HomeAssistant user within the app)

When I try to connect, all I get is this:

Can anyone assist with what I am doing wrong?

The UltraSync+ app on my phone works a treat, it’s just getting it to connect to HomeAssistant.

Thank you.

Yeah kinda weird, maybe it’s just not supported?

Received these warnings the other day:

Logger: homeassistant.helpers.typing
Source: helpers/deprecation.py:222
First occurred: April 23, 2025 at 8:10:11 PM (4 occurrences)
Last logged: April 23, 2025 at 8:10:12 PM

HomeAssistantType was used from ultrasync, this is a deprecated alias which will be removed in HA Core 2025.5. Use homeassistant.core.HomeAssistant instead, please report it to the author of the 'ultrasync' custom integration
Logger: homeassistant.helpers.frame
Source: helpers/frame.py:380
First occurred: April 23, 2025 at 8:10:12 PM (1 occurrences)
Last logged: April 23, 2025 at 8:10:12 PM

Detected code that calls async_forward_entry_setup for integration ultrasync with title: http://ultrasync.*******.***/ and entry_id: ************************, during setup without awaiting async_forward_entry_setup, which can cause the setup lock to be released before the setup is done. This will stop working in Home Assistant 2025.1, please report this issue
Logger: homeassistant.helpers.frame
Source: helpers/frame.py:335
First occurred: April 23, 2025 at 8:10:12 PM (2 occurrences)
Last logged: April 23, 2025 at 8:11:11 PM

Detected that custom integration 'ultrasync' calls async_forward_entry_setup for integration, ultrasync with title: http://ultrasync.*****.***/ and entry_id: *************************, which is deprecated, await async_forward_entry_setups instead at custom_components/ultrasync/__init__.py, line 68: entry.async_create_task(. This will stop working in Home Assistant 2025.6, please create a bug report at https://github.com/caronc/ha-ultrasync/issues
Detected that custom integration 'ge_home' accesses hass.helpers.aiohttp_client, which should be updated to import functions used from aiohttp_client directly at custom_components/ge_home/config_flow.py, line 38: session = hass.helpers.aiohttp_client.async_get_clientsession(hass). This will stop working in Home Assistant 2025.5, please report it to the author of the 'ge_home' custom integration

Are you on the latest version? I don’t have that error.

Good call… Somehow It didnt show in HACS and I needed to readd it to get the update.

1 Like

You’re a legend, mate! I managed to get it working and can now arm and disarm using a script in Home Assistant. The only thing I’m stuck on is displaying the status in Home Assistant. For arming and disarming, I authenticate and pass the keys, but I’m wondering what the best way is to poll the system for the status without needing to authenticate every time.

hey. I do not have to. Most methods have:

if not self.session_id and not self.login():
                return False

The login method in ultrasync will set the session.

I actually updated the ultrasync/main.py file and the login method to do the remote auth.

def login(self):
        """
        Performs login to UltraSync (which then redirects to area.htm)

        """
        # Our initialiation
        self.session_id = None
        self.__updated = None

        print("Logib")
        # check if we need to remote log in and update the host
        if self.master_key:
            date = datetime.now().strftime("%Y%m%dT%H%M%SZ")
            signature = self.get_signature(date, '/xquery/1.0/relay.json', self.serial_number)
            payload = {
                'id': self.serial_number,
                'passcode': self.passcode,
                'apptype': self.apptype,
                'appver': 2.25,
                'date': date,
                'signature': signature
            }
....
# Store our session
        self.session_id = match.group('session')

this is what I have. The buttons are clickable and will set the alarm.

Have just made proposed changes to the Ultrasync integration that would implement remote trigger using the inbuilt Fire/Medical/Panic functions. This is specifically for Comnav (as that is what I have and can test with), but I’d assume other systems covered by the integration would have potential to implement similar functionality.

2 Likes

Chris has graciously approved my PRs and released a new version of the integration including the alarm triggers. My next goal is to work on implementing the ā€˜history’ i.e. who last set/disarmed the alarm. This may be more complicated as there is no existing implementation I can piggyback off like there was for the keypad functions. Will update here if I manage to make it work.

1 Like

This is probably something basic that I am just not getting… but have you got instructions on how to install/use this integration?

I’ve added the custom repository in HACS (GitHub - phyco1991/ha-ultrasync at cloud-login) and downloaded the Ultrasync integration. It asks me for the remote host and username, and works fine when I put it in programming mode. But as soon as I turn off programming mode, the entities become ā€˜unavailable’, much like the main ha-ultrasync integration by caronc.

It doesn’t seem like it’s using the cloud login and I can’t figure out what I am doing wrong…