Skip to main content

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.

FieldDescription
nameOptional 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.
adtNameRequired. Must match the name shown under the "Name" column in the "System" tab when you are logged in to the portal.
adtZoneRequired. Must match the zone shown under the "Zone" column in the "System" tab. Only zones 1 through 99 are supported for compatibility reasons.
adtTypeRequired. Must match the device shown under the "Device Type" column in the "System" tab, mapped to one of the supported type values below.

tip

Copy the adtName value directly from the portal and double-check that no extra characters slipped in during the copy. A mismatch means the sensor will not be found.

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.

ValueDevice Type on the Portal
coCarbon Monoxide Detector
doorWindowDoor/Window Sensor, Door Sensor, or Window Sensor
fireFire (Smoke/Heat) Detector
floodWater/Flood Sensor
glassGlass Break Detector
heatHeat (Rate-of-Rise) Detector
motionMotion Sensor, or Motion Sensor (Notable Events Only)
shockShock Sensor
temperatureTemperature 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.

config.json
json
{
  "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.

config.json
json
{
  "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.

config.json
json
{
  "sensors": []
}

Including all of your supported sensors is recommended, since a setup with none does not help the plugin perform at its best.

  • Supported Devices lists every accessory type and the exposed defaults.
  • Configuration shows the full config.json structure and where the sensors array fits.
  • Operational Mode controls whether the plugin runs, pauses, or removes accessories.