UNPKG

homebridge-adt-pulse

Version:
347 lines (346 loc) 10.5 kB
{ "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 }