Home Assistant / IQ/ADC Integration (Arm and Alarm State)

This integration is being included in my submission to Shelly’s Smart Home Challenge 2025.

Sending Status to Home Assistant

This integration aims to send the following to Home Assistant from an IQ 4 / Alarm.com alarm system. The specific statuses shown are:

  • Arm Status, including
    • Armed
    • Disarmed
    • Alarm active (the siren is sounding, etc)

Components Utilized

  • On the Alarm System side:
    • IQ 4 Alarm Panel
    • Alarm.com (ADC) website / app for automation logic
    • IQ Hardwire 16
    • Shelly Wave 1
  • On the Home Assistant Side:
    • Shelly Wave i4 DC

Design Standards

  • Must be all 12v DC to be driven off of common power (for eventual installation in a project box or equipment enclosure
  • Uses Zwave and IQ Hardware (or various IQ compatible wireless sensors) for the IQ side
  • Uses Zigbee and/or z-wave devices for the Home Assistant Side

Overall Configuration

Part 1: Getting Arm/Disarm status to Home Assistant

The Shelly Wave 1 is added to the IQ 4 as a light called “SW1-ArmState”. This dry contact relay will activate when the system is armed, and be open when disarmed.

This is controlled via automation rules in ADC that turn that relay off, and on as the system is armed or disarmed.

The dry contacts on the SW1-ArmState relay are connected to a Shelly Wave i4 DC scene controller that is joined to Home Assistant. Specifically in this example, I have them connected to the SW3 input. The Wave i4 DC is setup with a Switch Type of “Toggle Switch” on those inputs.

Home Assistant is then configured to recognize the open or closed state of that switch input as a sensor to tell if the alarm is armed or disarmed. From there we can build logic as needed throughout our home automation system. In this test environment, I added it to a dashboard about the alarm’s status and other scene controls. (See the rest of this series for more details.)

Part 2: Sensing when the system in Alarm (Siren is going off)

In order to sense this, we take advantage of the siren dry contact relay in the IQ Hardwire. This could have been done a number of ways - with PGM outputs, another zwave relay with ADC automation, etc - but we went with what was as close to local logic as possible and using what was available on this particular test system.


When the system is in Alarm, and the siren activates, the SIREN IN and OUT terminals on the Hardwire 16 become closed. We take advantage of this by wiring those terminals into the SW4 input on the same Shelly Wave i4 DC as above.

We then program Home Assistant to recognize this as an alarm event. In this demo, I only display it on a Dashboard, but you can imagine other automations that can be driven from this information.