ADT Pulse for Homebridge
This is a verified Homebridge plugin for ADT Pulse users that allow homeowners to control their security system and view sensor status through HomeKit. The API relies on the ADT Pulse Web Portal (by Icontrol One).
To use this plugin, here are three simple steps you need to follow:
npm install homebridge-adt-pulse
- Configure the plugin using the configuration example
- Restart Homebridge
When configuring this plugin, simply add the platform to your existing
config.json file. Mind that the
platform name must always be
Even though the plugin name is "ADT Pulse for Homebridge", this Homebridge plugin supports certain ADT hardware. In addition, this plugin is NOT a complete replacement to the official ADT Pulse app.
The hardware configurations supported by this plugin are:
- ADT Security Panel (
- ADT Door/Window Sensors (
- ADT Glass Break Detectors (
- ADT Motion Sensors (
- ADT Carbon Monoxide Detector (
- ADT Fire (Smoke/Heat) Detector (
If you have a sensor that is unsupported by this plugin, please submit an issue so I can add support for it.
Due to ADT Pulse limitations, accessories that are connected to the Z-Wave Platform cannot be supported. Consider using other Homebridge plugins.
Force Arming (Arm Away/Stay/Night)
Due to the nature of how HomeKit and ADT Pulse processes
setDeviceStatus commands, this plugin will force arm when it detects active motion or open sensors.
Without force arm, arm away/stay/night may stall and reset to Disarm with no errors.
Before arming, please check the status of your Home (instructions below), as HomeKit will not check if your devices are in an active state.
- Open the Home app
- Tap the Status Details (listed in the Home tab below the title)
- View the ATTENTION area of your home
Arm Night Support
As for ADT Pulse systems, Arm Night is only available for use through the panel itself. Although it is not visible on the Web Portal or the mobile app, you can still place your system in Arm Night mode with this plugin.
Because of the force arming procedure (above), please make sure no devices are open or reporting motion as this may render the Arm Night mode less effective.
Log Level (Debugging)
Debugging is difficult without the proper information, in such, this plugin offers a way to filter out messages sent to the logs. Optional.
The default is
logLevel with the values below:
10for errors only
20for warnings (and the above)
30for info (and the above)
40for debugging (and the above)
50for verbose (and the above)
NOTE: If the
logLevel setting has been specified incorrectly, a warning will be shown then subsequently set to
NOTE 2: Don't forget to enable Homebridge Debug Mode when setting
40 or above or else debug messages won't be shown.
While the plugin is running, it has the ability to record alarm and sensor activity from the ADT Pulse portal to the Homebridge logs. Optional.
The default is
logActivity with the values below:
truefor active mode
falsefor passive mode
NOTE: Logging alarm and sensor activity requires the
logLevel setting to be set to
30 or greater.
Remove Obsolete Zones
The plugin offers a way to automatically detect and remove obsolete zones. If you have recently experienced sensor reset issues, you may disable this setting. Optional.
The default is
removeObsoleteZones with the values below:
truefor removal mode
falsefor notification mode
NOTE: If recently, you had sensors removed from ADT Pulse, the plugin will not remove these sensors unless
removeObsoleteZones is set to
Resetting the Plugin
Managing many accessories in a Homebridge environment is already a seemingly hard task, and sometimes you might want to step back and do a reset. Optional.
The default is
resetAll with the values below:
truefor reset mode
falsefor normal mode
NOTE: To prevent accidental removal of all accessories, the
resetAll setting can be configured manually in the
NOTE 2: Once reset is complete, remember to set the
resetAll setting back to
false or else the plugin will just repeat reset mode again.
The script provides an active connection to the ADT Pulse portal. Here is a list of must-knows, just in case you might want to debug (or improve) the plugin:
- Device and zone statuses will be fetched every 3 seconds. If logins have failed more than 2 times, portal sync will pause for 10 minutes.
- Supported versions are
19.0.0-89. If this plugin does not support either version, a warning will appear in the logs. Please submit an issue to let me know!