{
  "pluginAlias": "Hikvision-Local",
  "pluginType": "platform",
  "singular": true,
  "headerDisplay": "",
  "footerDisplay": "",
  "schema": {
    "type": "object",
    "properties": {
      "name": {
        "title": "Name",
        "type": "string",
        "required": true,
        "default": "Hikvision-Local",
        "description": "Plugin name as displayed in the Homebridge log"
      },
      "host": {
        "title": "HikVision NVR/DVR Host Address",
        "type": "string",
        "required": true,
        "description": "This is the name / ip address for your HikVision NVR/DVR."
      },
      "port": {
        "title": "HikVision NVR/DVR Host port",
        "type": "number",
        "required": true,
        "description": "This is the port for your HikVision NVR/DVR. Typically 80 or 443"
      },
      "secure": {
        "title": "HikVision NVR/DVR SSL Connection",
        "type": "boolean",
        "required": false,
        "description": "This enables SSL support for the HikVision NVR/DVR connection"
      },
      "ignoreInsecureTls": {
        "title": "Enable self signed SSL certificates",
        "type": "boolean",
        "required": false,
        "default": true,
        "description": "This enables usage of self signed SSL certificates for the HikVision NVR/DVR connection."
      },
      "username": {
        "title": "Username",
        "type": "string",
        "required": true,
        "placeholder": "",
        "description": "This is the username for your HikVision NVR/DVR."
      },
      "password": {
        "title": "Password",
        "type": "string",
        "required": true,
        "placeholder": "",
        "description": "This is the Password for your HikVision NVR/DVR."
      },
      "debugFfmpeg": {
        "title": "Enable Debug for FFMPEG",
        "type": "boolean",
        "required": false,
        "description": "Enable Debug logging for FFMPEG connection. Very noisy in the log file."
      },
      "refresh": {
        "title": "Refresh interval of cameras from NVR/DVR",
        "type": "number",
        "required": false,
        "description": "Number of hours between refreshes of the camera list from the NVR/DVR. Default is 12 hours. Minimum is 1 hour."
      },
      "test": {
        "title": "Development / Test flag",
        "type": "boolean",
        "required": false,
        "description": "Set on to enable test mode. This will prevent 'Service name \"xxxxx\" is already in use on the network' messages."
      },
      "doorbells": {
        "title": "Doorbell Camera's",
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "debug": {
        "title": "Enable debug logging",
        "type": "boolean",
        "required": false,
        "description": "Enable debug logging for the plugin. Very noisy in the log file."
      }
    }
  },
  "form": [
    {
      "type": "fieldset",
      "title": "Required Settings",
      "items": [
          "host",
          "secure",
   
          "username",
          "password"
      ]
    },
    {
      "type": "fieldset",
      "expandable": true,
      "title": "Optional Settings",
      "items": [
        {
          "key": "doorbells",
          "type": "array",
          "items": {
            "title": "Camera Name",
            "description": "Name of the camera you want to enable as a doorbell. Creates a switch to be used with an automation to trigger the doorbell.",
            "type": "string"
          }
        },
        "debugFfmpeg",
        "ignoreInsecureTls",
        "refresh",
        "debug"
      ]
    }
  ]
}
