Total Connect

The totalconnect integration provides connectivity with Resideo Total Connect 2.0-enabled alarm systems.

The integration allows automations based on the state of the alarm system. For example: when the alarm is armed, turn on the outside light.

The integration can also arm or disarm the alarm panel. For example: when I arrive home, disarm the alarm panel

Supported devices

This integration supports alarm panels with “communicator modules” that are compatible with the Total Connect 2.0 service. An active account is required via a third party alarm monitoring company. Panels may be branded as Resideo, Honeywell, Ademco or other third party alarm companies.

Device models known to work include:

  • ProSeries (ProA7, ProA7Plus)
  • Lyric (AIO, Gateway)
  • Lynx Touch (L5100, L5200, L5210, L7000)
  • Lynx Plus (L3000)
  • VISTA (15P, 20P, 21iP)

Unsupported devices

The following devices are not supported:

  • Older Lynx models (not Touch or Plus)
  • Other panels without a Total Connect compatible communicator module

Prerequisites

Log in to the Total Connect website and create a “standard” Total Connect user account specifically for use with Home Assistant. It should not have full administrative privileges.

Give the user access to your Location, along with a user code, usually a 4 digit number.

Notes for Home Assistant Core Installations

If you have issues running this integration, you may require libxml2-dev and libxmlsec1-dev packages. To install these on Raspbian, run the command:

sudo apt install libxml2-dev libxmlsec1-dev

Configuration

To add the Total Connect integration to your Home Assistant instance, use this My button:

Manual configuration steps

If the above My button doesn’t work, you can also perform the following steps manually:

  • Browse to your Home Assistant instance.

  • Go to Settings > Devices & Services.

  • In the bottom right corner, select the Add Integration button.

  • From the list, select Total Connect.

  • Follow the instructions on screen to complete the setup.

Configuration Options

Auto Bypass Low Battery: if enabled, TotalConnect zones will immediately be bypassed when they report low battery. This option helps because zones tend to report low battery in the middle of the night. The downside of this option is that when the alarm system is armed, the bypassed zone will not be monitored.

Require Code: if enabled, you must enter the user code to arm or disarm the alarm.

Alarm control panel

The integration provides an alarm control panel for each Total Connect location. It uses the name of your location from Total Connect. For example, if your location name in Total Connect is “Home”, Home Assistant will use alarm_control_panel.home.

The triggered state also provides a state attribute called triggered_source giving more detail on what triggered the alarm:

  • Police/Medical is when sensors detected a burglar and/or the Police or Medical button was pressed
  • Fire/Smoke is when fire or smoke is detected, and/or the Fire button was pressed
  • Carbon Monoxide is when carbon monoxide is detected

Binary sensor

The integration provides a binary sensor for each Total Connect zone. To see faulted zones in Home Assistant, your Total Connect account must have “Sensor Activities” enabled. Your alarm monitoring company may charge an extra fee to enable this. If available, these can be found in the Total Connect 2 web portal at Notifications -> Sensor Activities. Alternately, they can be found in the Total Connect mobile app at More -> Settings -> Notifications -> Sensor Activities. Enable each zone you want to monitor. Unmonitored zones will display as Closed in Home Assistant.

Home Assistant device class door is assigned to Total Connect entry/exit, perimeter, and motion zones; along with most alarm panel buttons. The sensor will appear as True if the zone is opened (either fault or triggered in Total Connect) and False if closed. Device class smoke is assigned to Total Connect smoke detectors and alarm panel buttons set to a “Fire No Verification” response type. The sensor will appear as True if smoke is detected or the respective button is pressed. Device class gas is assigned to Total Connect carbon monoxide detectors. The sensor will appear as True if carbon monoxide is detected.

Buttons

The integration provides a bypass button for each zone that can be bypassed. The Bypass All button for the alarm panel will bypass all faulted or troubled zones. The Clear Bypass button for the alarm panel will clear all bypassed zones.

Actions

The alarm control panel supports the following basic actions: alarm_arm_away, alarm_arm_home, alarm_arm_night, and alarm_disarm.

Action: Arm home instant

The totalconnect.arm_home_instant action puts the alarm panel in “arm home” with zero entry delay, triggering the alarm instantly if an entry/exit zone is faulted. This is equivalent to “arm stay instant” in most alarm panels.

Data attribute Optional Description
entity_id No The ID of the alarm panel to arm.

Action: Arm away instant

The totalconnect.arm_away_instant action puts the alarm panel in “arm away” with zero entry delay, triggering the alarm instantly if an entry/exit zone is faulted. This is equivalent to “arm away instant” in most alarm panels.

Data attribute Optional Description
entity_id No The ID of the alarm panel to arm.

Diagnostic Sensors

The following diagnostic sensors are available:

  • Low Battery for Zones and Alarm Panels will be On if the battery is low.
  • Tamper for Zones and Alarm Panels will be On if in a tampered state.
  • Power for Alarm Panels will be On if main power is connected or Off if running on the backup battery.

Automation example

automation:
  - alias: "Alarm: Disarmed Daytime"
    triggers:
      - trigger: state
        entity_id: alarm_control_panel.home
        to: "disarmed"
    conditions:
      - condition: sun
        before: sunset
    actions:
      - action: scene.turn_on
        target:
          entity_id: scene.on_disarmed_day_time

  - alias: "Alarm: Armed Away"
    triggers:
      - trigger: state
        entity_id: alarm_control_panel.home
        to: "armed_away"
    actions:
      - action: scene.turn_on
        target:
          entity_id: scene.on_armed_away

  - alias: "Alarm: Arm Home Instant at Sunset"
    triggers:
      - trigger: sun
        event: sunset
        offset: 0
    actions:
      - action: totalconnect.arm_home_instant
        target:
          entity_id: alarm_control_panel.home

Removing the integration

This integration follows standard integration removal. No extra steps are required.

To remove an integration instance from Home Assistant

  1. Go to Settings > Devices & services and select the integration card.
  2. From the list of devices, select the integration instance you want to remove.
  3. Next to the entry, select the three-dot menu. Then, select Delete.

After deleting the integration, go to Total Connect and remove the user account you created for Home Assistant.

Data Updates

Your alarm panel contacts the Total Connect 2.0 server to provide status updates. This is a “polling integration” that contacts the Total Connect 2.0 server every 30 seconds to retrieve the status of your alarm panel and sensors. Home Assistant cannot communicate locally with the alarm panel.

Limitations

The polling window is 30 seconds. If your door opens and then closes again within 30 seconds, it may not be visible in Home Assistant. Automations based on the short term status of doors and windows are not recommended.

The Total Connect API has limited zone type information. Many zones are simply described as “perimeter” and thus appear as a door in Home Assistant. You may have to manually adjust some entities.

Some alarm panels integrate Z-Wave, cameras, smart locks or garage door openers, and those add-on devices can be controlled by the Total Connect app. This integration does not yet support awareness of or control of these add-on devices.

This integration cannot “trigger” the alarm panel or cause the alarm to sound.

Troubleshooting

Error Connecting or Service Unavailable

The integration depends on the Total Connect 2.0 servers and your internet connection. Verify your internet is working and check https://status.resideo.com/ for server outages.

Unknown ResultCode, ArmingState, ZoneType or ZoneStatus

The Total Connect API does not fully document all modes of every alarm panel so the integration was developed based on testing with the developers’ own hardware. New or different hardware may result in unknown ResultCode, ArmingState, ZoneType, ZoneStatus or similar messages in the Home Assistant logs. If encountered, please submit an issue for total-connect-client which enables this integration.