Sensors and Zones
Declare each sensor you want in HomeKit inside the sensors array so the plugin exposes exactly the devices you list.
How Sensors Are Added
Older versions of the plugin detected sensors automatically and managed their addition and removal on their own.
That approach caused problems. If the plugin failed to detect a sensor or the portal returned irregular data, it could remove every sensor at once and reset your setup by mistake.
An earlier setting (before v3.0.0) tried to prevent the removal of obsolete zones, but over time it felt more like a workaround than a real fix.
The current plugin instead asks you to list every sensor you want to integrate. Each sensor is one object inside the sensors array in your config.json.
Sensor Fields
Every object in the sensors array accepts the following fields.
| Field | Description |
|---|---|
name | Optional display name for the sensor. Offers clarity in the event of an unforeseen reset and helps you tell sensors apart from the names ADT technicians assigned. |
adtName | Required. Must match the name shown under the "Name" column in the "System" tab when you are logged in to the portal. |
adtZone | Required. Must match the zone shown under the "Zone" column in the "System" tab. Only zones 1 through 99 are supported for compatibility reasons. |
adtType | Required. Must match the device shown under the "Device Type" column in the "System" tab, mapped to one of the supported type values below. |
tip
If you set a custom name, use 2 to 50 characters that start and end with a letter or number. Spaces, apostrophes, and common punctuation are allowed between them, but emojis and unsupported symbols are not.
Leave name blank or omit it to use an ADT-derived display name. Keep adtName exactly as shown in the portal, even if it contains parentheses.
Supported Types
The adtType value selects how the plugin interprets a sensor's status, so it needs to match the device type shown on the portal.
| Value | Device Type on the Portal |
|---|---|
co | Carbon Monoxide Detector |
doorWindow | Door/Window Sensor, Door Sensor, or Window Sensor |
fire | Fire (Smoke/Heat) Detector |
flood | Water/Flood Sensor |
glass | Glass Break Detector |
heat | Heat (Rate-of-Rise) Detector |
motion | Motion Sensor, or Motion Sensor (Notable Events Only) |
shock | Shock Sensor |
temperature | Temperature Sensor |
For example, if the portal shows a device type of "Door/Window Sensor", set adtType to doorWindow. See Supported Devices for the full list of accessories the plugin can expose.
info
If your device type is not listed, the plugin notifies the maintainer automatically. It is recommended that you do not open a separate GitHub issue for it, since support is added once enough information is gathered about how the status appears on the portal.
Example Configuration
Add each sensor as an object inside the sensors array of your platform block.
{
"platforms": [
{
"platform": "ADTPulse",
"name": "ADT Pulse",
"sensors": [
{
"name": "Family Room Couch Window 1",
"adtName": "Family Room Window (99)",
"adtZone": 99,
"adtType": "doorWindow"
}
]
}
]
}
You can list as many sensors as you have, each as its own object.
{
"sensors": [
{
"name": "Kitchen Motion",
"adtName": "Kitchen Motion (12)",
"adtZone": 12,
"adtType": "motion"
},
{
"name": "Basement Flood",
"adtName": "Basement Water Sensor (34)",
"adtZone": 34,
"adtType": "flood"
}
]
}
Adding No Sensors
Assign an empty array if you do not want to add any sensors.
{
"sensors": []
}
Including all of your supported sensors is recommended, since a setup with none does not help the plugin perform at its best.
Related
- Supported Devices lists every accessory type and the exposed defaults.
- Configuration shows the full
config.jsonstructure and where thesensorsarray fits. - Operational Mode controls whether the plugin runs, pauses, or removes accessories.