Skip to main content

Test and REPL Scripts

Troubleshoot portal communication with the hap-test-api and hap-repl scripts bundled with the plugin.

Why Use These Scripts?

  1. Tests live portal operations so you can separate connectivity failures from Homebridge issues.
  2. Opens a read-eval-print loop so you can inspect API and authentication behavior when something unusual happens.
  3. Runs from your terminal without requiring you to enter the plugin's installed directory.

Available Scripts

The plugin ships with two commands for diagnosing portal issues.

CommandDescription
hap-test-apiExercises live portal login, reads, and security panel arm/disarm operations.
hap-replOpens an interactive read-eval-print loop (REPL) for the API and authentication helpers.

Usage

Run either command from any directory when your Homebridge installation exposes the plugin's npm binaries on PATH.

bash
# Exercise the live portal API and security panel.
hap-test-api

# Open the read-eval-print loop playground.
hap-repl

danger

hap-test-api connects to your real security system and cycles through arm and disarm states. Run it only while on the property, with the system disarmed and at least one door or window open, and after placing the system in MyADT test mode; the command asks for your agreement before starting.

Locating the Plugin Directory

If the commands are not on PATH, run the launchers by their installed paths without changing directories:

bash
node /path/to/homebridge-adt-pulse/bin/hap-test-api.mjs
node /path/to/homebridge-adt-pulse/bin/hap-repl.mjs

The plugin's installation path varies by system. Refer to the configuration reference for your Homebridge installation to find it:

Privacy Reminder

The scripts share the same anomaly-reporting behavior as the running plugin, so a privacy notice appears each time you use them.

warning

A warning is issued every time you run the included scripts, reminding you that any personally identifiable details, such as IP addresses, MAC addresses, or serial numbers, are automatically redacted before anything is sent.

For the full explanation of what the plugin reports and how identifying data is redacted, see Detection and Privacy.