{
  "pluginAlias": "wled-ws",
  "pluginType": "platform",
  "singular": true,
  "headerDisplay": "Homebridge plugin for LED strips controlled by WLED",
  "footerDisplay": "For a detailed description, see the [README](https://github.com/smhex/homebridge-wled-ws#readme) file.",
  "schema": {
    "type": "object",
    "properties": {
      "name": {
        "title": "Plugin Platform Name",
        "type": "string",
        "required": true,
        "default": "wled-ws platform",
        "description": "This name is only visible in the Homebridge logs."
      },
      "controllers": {
        "title": "Controller",
        "type": "array",
        "items": {
          "title": "Controller",
          "type": "object",
          "properties": {
            "name": {
              "title": "Name",
              "type": "string",
              "required": true,
              "description": "This name is used as accessory name in Homekit"
            },
            "address": {
              "title": "IP Address / Hostname",
              "type": "string",
              "required": true,
              "format": "hostname",
              "description": "Enter IP address or hostname"
            },
            "presets": {
              "title": "List of presets",
              "type": "string",
              "required": false,
              "pattern": "^([^,]+(?:,[^,]+)*)?$",
              "description": "Enter a list of comma separated presets"
            },
            "showRealTimeModeButton": {
              "title": "Realtime Mode Button",
              "type": "boolean",
              "default": false,
              "description": "If enabled, an additional button will be added in homebridge."
            },
            "resetRealTimeModeAfterStream": {
              "title": "Reset Realtime Mode After Stream",
              "type": "boolean",
              "default": true,
              "description": "If enabled, realtime mode will be enabled again, after the current session is closed."
            }
          }
        }
      },

      "logging": {
        "title": "Logging",
        "type": "boolean",
        "default": false,
        "description": "If enabled, additional log messages will be printed to the Homebridge log. This is useful for debugging purposes, but may also lead to a lot of log messages."
      }
    }
  },

  "form": [
    {
      "type": "fieldset",
      "expandable": true,
      "title": "Required Plugin Settings",
      "description": "Configure neccessary plugin settings",
      "items": [
          "name"
      ]
    },

    {
      "type": "fieldset",
      "title": "Controllers",
      "description": "Configure devices running WLED",
      "expandable": true,
      "expanded": false,
      "items": [
        {
          "notitle": true,
          "key": "controllers",
          "type": "array",
          "items": [
            {
              "items": [
                {
                  "key": "controllers[].name",
                  "notitle": true
                },
                {
                  "key": "controllers[].address",
                  "notitle": true
                },
                {
                  "key": "controllers[].presets",
                  "notitle": true
                },
                {
                  "key": "controllers[].showRealTimeModeButton",
                  "notitle": false
                },
                {
                  "key": "controllers[].resetRealTimeModeAfterStream",
                  "notitle": false
                }
              ]
            }
          ]
        }
      ]
    },

    {
      "type": "fieldset",
      "expandable": true,
      "title": "Advanced Settings",
      "description": "Don't change these, unless you understand what you're doing.",
      "items": [
        "logging"
      ]
    }
  ]
}