JavaScript client for communicating with Aritech ATS alarm panels (ATS1500AIP tested). Supports programmatic usage and CLI.
npm install aritech-clientAn unofficial, community-developed JavaScript client to monitor and control KGS (formerly UTC & Carrier) Aritech alarm panels over your local network.
This project is not affiliated with, endorsed by, or supported by KGS, UTC, Carrier, or any of their subsidiaries.
This library supports the ACE 2 ATS version 6 protocol, which works with Advisor Advanced panels:
- x500 panels: ATS1500A, ATS2000A, ATS3500A, ATS4500A (PIN-based login, AES-192)
- x700 (everon) panels: ATS1500A-IP-MM, ATS3500A-IP-MM, ATS4500A-IP-MM (username/password login, AES-256)
The older version 4 protocol for Master/Classic panels is not supported.
Note that protocol behavior may vary based on panel firmware version. This library has been tested with a limited set of panels. If you encounter issues, please mention your panel model and firmware version when reporting.
Clone the repository and create a config.json file based on your panel type:
For x500 panels (ATS1500A, ATS2000A, ATS3500A, ATS4500A):
Copy config.x500.json.example to config.json and edit with your settings:
``json`
{
"host": "192.168.1.100",
"port": 3001,
"pin": "1234",
"encryptionKey": "your-24-char-encryption-key"
}
For x700 panels (ATS1500A-IP-MM, ATS3500A-IP-MM, ATS4500A-IP-MM):
Copy config.x700.json.example to config.json and edit with your settings:
`json`
{
"host": "192.168.1.100",
"port": 3001,
"username": "ADMIN",
"password": "SECRET",
"encryptionKey": "your-48-char-encryption-key"
}
``
node aritech-cli.js
For troubleshooting, enable debug logging:
``
LOG_LEVEL=debug node aritech-cli.js
Note: Debug logs may contain sensitive information such as your PIN code.
`
Available commands:
aritech info - Show panel description info
aritech monitor - Start monitoring mode (COS events)
aritech arm [area] [type] [--force] - Arm area (default: area 1, type full)
Types: full, part1, part2
--force: Force arm despite faults/active zones
aritech disarm [area] - Disarm area (default: 1)
aritech zones - Show zone states
aritech areas - Show area states
aritech outputs - Show output names and states
aritech triggers - Show trigger names and states
aritech doors - Show door names and states
aritech filters - Show filter names and states
aritech inhibit
aritech uninhibit
aritech force-activate
Configuration options (override config.json):
--host
--port
--encryptionKey
x500 panels:
--pin
x700 panels:
--username
--password
Examples:
aritech --host 192.168.1.100 --pin 1234 --encryptionKey
aritech --host 192.168.1.100 --username ADMIN --password SECRET --encryptionKey
aritech arm 1 full - Full arm area 1
aritech arm 1 part1 - Part arm 1 (set 1)
aritech arm 2 part2 - Part arm 2 (set 2)
aritech arm part1 - Part arm area 1 (default)
aritech arm 1 full --force - Force full arm area 1
aritech outputs - Show all outputs with states
aritech force-activate 1 - Force activate output 1 (override to ON)
aritech cancel-force 1 - Cancel force on output 1 (return to normal)
aritech triggers - Show all triggers with states
aritech trigger-activate 1 - Activate trigger 1
`
Note that only with an installer pin you can force the status of an output.
An installer pin by default does not have arming/disarming permissions!
When using an installer pin you have to specify the login type as:
client.loginWithPin(LOGIN_TYPE.INSTALLER)`. Note that you can have only 1 installer login active, so ATS8500 will not work correctly while logged in with the client as installer.
Filters are read-only entities that represent logical conditions in the panel. They have a simple active/inactive state and cannot be controlled directly.
Pull requests are welcome. We have no plans to implement additional functionality at this time, but contributions are appreciated.
This software is provided "as is" without warranty of any kind. Use at your own risk. The authors are not responsible for any damage or security issues that may arise from using this software.
This is an independent project developed through protocol analysis. It is not based on any proprietary source code or documentation.
ATS, Advisor, and Aritech are trademarks of KGS Fire & Security. All other trademarks are the property of their respective owners. The use of these trademarks does not imply any affiliation with or endorsement by their owners.