homebridge-adt-pulse
Version:
Homebridge security system platform for ADT Pulse
347 lines (346 loc) • 10.5 kB
JSON
{
"pluginAlias": "ADTPulse",
"pluginType": "platform",
"singular": true,
"customUi": true,
"customUiPath": "./build/config-ui",
"schema": {
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string",
"required": true,
"description": "Enter a unique name for this plugin. The name will mainly be used for identification purposes, such as in Homebridge logs.",
"default": "ADT Pulse",
"placeholder": "ADT Pulse",
"minLength": 1,
"maxLength": 50
},
"subdomain": {
"title": "Portal Region",
"type": "string",
"required": true,
"description": "Select the portal region based on where you are subscribed in.",
"oneOf": [
{
"title": "United States \uD83C\uDDFA\uD83C\uDDF8</span>",
"enum": [
"portal"
]
},
{
"title": "Canada \uD83C\uDDE8\uD83C\uDDE6",
"enum": [
"portal-ca"
]
}
],
"default": "portal"
},
"username": {
"title": "Username",
"type": "string",
"required": true,
"description": "Provide the username you use to login to the portal.",
"placeholder": "e.g. user@example.com",
"minLength": 1,
"maxLength": 100
},
"password": {
"title": "Password",
"type": "string",
"required": true,
"description": "Provide the password you use to login to the portal.",
"placeholder": "e.g. Mys7r0nG!P@ssw0rd",
"minLength": 1,
"maxLength": 300
},
"fingerprint": {
"title": "Fingerprint",
"type": "string",
"required": true,
"description": "Generate a new fingerprint by deleting the configuration and re-running setup.",
"placeholder": "e.g. VGhpc0lzQVNlY3VyZVBhc3N3b3JkMTIzIQ==",
"minLength": 1,
"maxLength": 10240
},
"mode": {
"title": "Operational Mode",
"type": "string",
"required": true,
"description": "Choose the operational mode for the plugin. Debug mode is enabled only when Homebridge debug mode is on; there is no separate setting for this.",
"oneOf": [
{
"title": "Normal",
"enum": [
"normal"
]
},
{
"title": "Paused",
"enum": [
"paused"
]
},
{
"title": "Reset",
"enum": [
"reset"
]
}
],
"default": "normal"
},
"speed": {
"title": "Synchronization Speed",
"type": "number",
"required": true,
"description": "Choose the synchronization speed for the plugin. Designed to enhance the performance of devices with older hardware. May result in slower device updates.",
"oneOf": [
{
"title": "Normal Speed (1x)",
"enum": [
1
]
},
{
"title": "Moderate Speed (0.75x)",
"enum": [
0.75
]
},
{
"title": "Slower Speed (0.5x)",
"enum": [
0.5
]
},
{
"title": "Slowest Speed (0.25x)",
"enum": [
0.25
]
}
],
"default": 1
},
"options": {
"title": "Advanced Options",
"type": "array",
"description": "Customize the features of this plugin. Please note these advanced options will disable expected functionality. Only enable them if necessary.",
"items": {
"type": "string",
"enum": [
"disableAlarmRingingSwitch",
"ignoreSensorProblemStatus"
]
}
},
"sensors": {
"title": "Sensors",
"type": "array",
"description": "Define your sensors here. Sensors include devices like \"Door/Window Sensor\" or \"Motion Sensor\". <strong class=\"font-weight-bold\">Please note that Z-Wave accessories are not supported.</strong> A maximum of 147 sensors can be added (3 slots are reserved for the gateway, security panel, and alarm ringing switch).",
"items": {
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string",
"required": false,
"description": "<strong class=\"font-weight-bold\">Optional.</strong> Provide a display name for this sensor to differentiate it from the names assigned by ADT technicians during installation.",
"placeholder": "e.g. Family Room Couch Window 1",
"minLength": 0,
"maxLength": 50
},
"adtName": {
"title": "ADT Sensor Name",
"type": "string",
"required": true,
"description": "Specify the <strong class=\"font-weight-bold\">exact name</strong> associated with the sensor you want to add. Double-check the names to ensure they don't include extra characters when copying and pasting.",
"placeholder": "e.g. Family Room Window (99)",
"minLength": 1,
"maxLength": 100
},
"adtZone": {
"title": "ADT Sensor Zone",
"type": "number",
"required": true,
"description": "Specify the <strong class=\"font-weight-bold\">exact zone</strong> associated with the sensor you want to add. Double-check the zone to ensure the correct sensor is added.",
"placeholder": "e.g. 99",
"minimum": 1,
"maximum": 99
},
"adtType": {
"title": "ADT Sensor Type",
"type": "string",
"required": true,
"description": "Select the <strong class=\"font-weight-bold\">type</strong> associated with the sensor you want to add. Ensure your selection matches the sensor type, as selecting the wrong type may lead to incorrect status detection.",
"oneOf": [
{
"title": "Carbon Monoxide Detector",
"enum": [
"co"
]
},
{
"title": "Door/Window Sensor :: Door Sensor :: Window Sensor",
"enum": [
"doorWindow"
]
},
{
"title": "Fire (Smoke/Heat) Detector",
"enum": [
"fire"
]
},
{
"title": "Water/Flood Sensor",
"enum": [
"flood"
]
},
{
"title": "Glass Break Detector",
"enum": [
"glass"
]
},
{
"title": "Heat (Rate-of-Rise) Detector",
"enum": [
"heat"
]
},
{
"title": "Motion Sensor :: Motion Sensor (Notable Events Only)",
"enum": [
"motion"
]
},
{
"title": "Shock Sensor",
"enum": [
"shock"
]
},
{
"title": "Temperature Sensor",
"enum": [
"temperature"
]
}
]
}
}
},
"minItems": 0,
"maxItems": 147
}
}
},
"layout": [
{
"type": "tabs",
"tabs": [
{
"title": "General",
"htmlClass": "px-3 pt-3 pb-0",
"items": [
{
"key": "name",
"type": "text"
},
{
"key": "mode",
"type": "select"
},
{
"key": "speed",
"type": "select"
},
{
"key": "options",
"type": "checkboxes",
"titleMap": [
{
"value": "disableAlarmRingingSwitch",
"name": "Disable \"Alarm Ringing\" switch"
},
{
"value": "ignoreSensorProblemStatus",
"name": "Ignore \"Sensor Problem\" Panel Status"
}
]
}
]
},
{
"title": "Login",
"htmlClass": "px-3 pt-3 pb-0",
"items": [
{
"key": "subdomain",
"type": "select"
},
{
"key": "username",
"type": "text"
},
{
"key": "password",
"type": "password"
}
]
},
{
"title": "Fingerprint",
"htmlClass": "px-3 pt-3 pb-0",
"items": [
{
"key": "fingerprint",
"type": "password"
}
]
},
{
"title": "Devices",
"htmlClass": "px-3 pt-3 pb-0",
"items": [
{
"key": "sensors",
"buttonText": "Add Sensor",
"items": [
{
"type": "div",
"htmlClass": "my-4 p-4",
"items": [
{
"key": "sensors[].name",
"type": "text"
},
{
"key": "sensors[].adtName",
"type": "text"
},
{
"key": "sensors[].adtZone",
"type": "number"
},
{
"key": "sensors[].adtType",
"type": "select"
}
]
}
]
}
]
}
]
}
],
"form": null,
"display": null
}