{
  "pluginAlias": "myQ",
  "pluginType": "platform",
  "singular": true,
  "headerDisplay": "[homebridge-myq](https://github.com/hjdhjd/homebridge-myq) provides HomeKit support to myQ-enabled smart garage door openers and other devices.",
  "footerDisplay": "See the [homebridge-myq developer page](https://github.com/hjdhjd/homebridge-myq) for detailed documentation, including [feature options](https://github.com/hjdhjd/homebridge-myq#feature-options).",
  "schema": {
    "type": "object",
    "properties": {

      "email": {
        "title": "myQ Username",
        "type": "string",
        "required": true,
        "placeholder": "user@example.com",
        "description": "Email address used for your myQ account."
      },

      "password": {
        "title": "myQ Password",
        "type": "string",
        "required": true,
        "placeholder": "mypassword",
        "description": "Password used for your myQ account."
      },

      "name": {
        "title": "Name",
        "type": "string",
        "placeholder": "myQ",
        "description": "The name to assign this plugin for logging purposes. Default: myQ."
      },

      "options": {
        "title": "Feature Options",
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "refreshInterval": {
        "title": "Refresh Interval",
        "type": "integer",
        "minimum": 5,
        "maximum": 60,
        "required": false,
        "description": "Normal myQ status refresh interval, in seconds. Default: 12."
      },

      "activeRefreshInterval": {
        "title": "Active Refresh Interval",
        "type": "integer",
        "minimum": 2,
        "maximum": 10,
        "required": false,
        "description": "Refresh interval in seconds to use once device state changes are detected. Default: 3."
      },

      "activeRefreshDuration": {
        "title": "Active Refresh Duration",
        "minimum": 5,
        "maximum": 900,
        "type": "integer",
        "required": false,
        "description": "Duration in seconds to use the Active Refresh Interval to query for additional device state changes. Default: 300."
      },

      "debug": {
        "title": "Debug Logging",
        "type": "boolean",
        "required": false,
        "description": "Logging verbosity for debugging. Default: false."
      },

      "appId": {
        "title": "myQ Application Identifier Override",
        "type": "string",
        "required": false,
        "description": "Override the builtin myQ application identifier when connecting to the myQ API. Use with extreme caution."
      }

    }
  },

  "layout": [
    {
      "key": "general",
      "title": "General Options",
      "type": "fieldset",
      "orderable": false,
      "expandable": true,
      "expanded": true,
      "items": [
        "email",
        "password",
        "name"
      ]
    },

    {
      "key": "options",
      "title": "Feature Options",
      "buttonText": "Add Feature Option",
      "type": "fieldset",
      "orderable": false,
      "expandable": true,
      "expanded": true,
      "items": [
        {
          "type": "string",
          "description": "Enter only one option per entry. See project page for the complete list of available options.",
          "placeholder": "e.g. Hide.SerialNumber",
          "displayFlex": true,
          "flex-direction": "row",
          "items": [
            {
              "key": "options[]"
            }
          ]
        }
      ]
    },

    {
      "key": "advanced",
      "title": "Advanced Settings (Optional)",
      "type": "fieldset",
      "orderable": false,
      "expandable": true,
      "expanded": false,
      "items": [
        "refreshInterval",
        "activeRefreshInterval",
        "activeRefreshDuration",
        "debug",
        "appId"
      ]
    }

  ]
}
