{
  "pluginAlias": "YamahaReceiver",
  "pluginType": "platform",
  "singular": true,
  "headerDisplay": "**IN DEVELOPMENT** - Homebridge plugin for Yamaha Audio Receivers",
  "footerDisplay": "Created by @nitaybz",
  "schema": {
    "type": "object",
    "properties": {
      "statePollingInterval": {
        "title": "Status Polling Interval in Seconds",
        "description": "Time in seconds between each status polling of the avr devices",
        "default": 30,
        "type": "integer",
        "minimum": 3,
        "maximum": 300
      },
      "debug": {
        "title": "Enable Debug Logs",
        "description": "When checked, the plugin will produce extra logs for debugging purposes",
        "type": "boolean",
        "default": false,
        "required": false
      },
      "receivers": {
        "type": "array",
        "required": false,
        "items": {
          "title": "Audio Receivers",
          "type": "object",
          "properties": {
            "name": {
              "title": "Name",
              "type": "string",
              "required": true
            },
            "ip": {
              "title": "IP Address (IPv4)",
              "type": "string",
              "required": true
            },
            "partySwitch": {
              "title": "Enable Party Mode Switch",
              "description": "Add a switch to control party mode",
              "type": "boolean",
              "default": false,
              "required": false
            },
            "directSwitch": {
              "title": "Enable Pure Direct Switch",
              "description": "Add a switch to toggle Pure Direct mode",
              "type": "boolean",
              "default": false,
              "required": false
            },
            "volumeAccessory": {
              "title": "External Volume Accessory",
              "description": "Extra accessory for better volume control",
              "type": "string",
              "required": false,
              "oneOf": [
                {
                  "title": "Fan",
                  "enum": [
                    "fan"
                  ]
                },
                {
                  "title": "Light Bulb",
                  "enum": [
                    "bulb"
                  ]
                }
              ]
            },
            "minVolume": {
              "title": "Main Zone Min Volume",
              "description": "Adjust if the minimum volume in HomeKit is too high or too low",
              "default": -80,
              "type": "integer",
              "minimum": -100,
              "maximum": 100
            },
            "maxVolume": {
              "title": "Main Zone Max Volume",
              "description": "Adjust if the maximum volume in HomeKit is too high or too low",
              "default": -10,
              "type": "integer",
              "minimum": -100,
              "maximum": 100
            },
            "enableZone2": {
              "title": "Enable Zone 2",
              "type": "boolean",
              "required": false
            },
            "zone2MinVolume": {
              "title": "Zone 2 Min Volume",
              "description": "Adjust if the minimum volume in HomeKit is too high or too low",
              "default": -80,
              "type": "integer",
              "minimum": -100,
              "maximum": 100
            },
            "zone2MaxVolume": {
              "title": "Zone 2 Max Volume",
              "description": "Adjust if the maximum volume in HomeKit is too high or too low",
              "default": -10,
              "type": "integer",
              "minimum": -100,
              "maximum": 100
            },
            "enableZone3": {
              "title": "Enable Zone 3",
              "type": "boolean",
              "required": false
            },
            "zone3MinVolume": {
              "title": "Zone 3 Min Volume",
              "description": "Adjust if the minimum volume in HomeKit is too high or too low",
              "default": -80,
              "type": "integer",
              "minimum": -100,
              "maximum": 100
            },
            "zone3MaxVolume": {
              "title": "Zone 3 Max Volume",
              "description": "Adjust if the minimum volume in HomeKit is too high or too low",
              "default": -10,
              "type": "integer",
              "minimum": -100,
              "maximum": 100
            },
            "enableZone4": {
              "title": "Enable Zone 4",
              "type": "boolean",
              "required": false
            },
            "zone4MinVolume": {
              "title": "Zone 4 Min Volume",
              "description": "Adjust if the minimum volume in HomeKit is too high or too low",
              "default": -80,
              "type": "integer",
              "minimum": -100,
              "maximum": 100
            },
            "zone4MaxVolume": {
              "title": "Zone 4 Max Volume",
              "description": "Adjust if the minimum volume in HomeKit is too high or too low",
              "default": -10,
              "type": "integer",
              "minimum": -100,
              "maximum": 100
            }
          }
        }
      }
    }
  },
  "layout": [
    {
      "key": "statePollingInterval"
    },
    {
      "key": "debug"
    },
    {
      "key": "receivers",
      "type": "array",
      "title": "Audio Receivers",
      "orderable": false,
      "buttonText": "Add Receiver",
      "expandable": true,
      "expanded": true,
      "items": [
        {
          "type": "section",
          "expandable": false,
          "title": "Configurations (Main Zone)",
          "items": [
            "receivers[].name",
            "receivers[].ip",
            "receivers[].partySwitch",
            "receivers[].directSwitch",
            "receivers[].volumeAccessory",
            "receivers[].minVolume",
            "receivers[].maxVolume",
            {
              "type": "section",
              "expandable": true,
              "title": "Zone 2",
              "items": [
                "receivers[].enableZone2",
                "receivers[].zone2MinVolume",
                "receivers[].zone2MaxVolume"
              ]
            },
            {
              "type": "section",
              "expandable": true,
              "title": "Zone 3",
              "items": [
                "receivers[].enableZone3",
                "receivers[].zone3MinVolume",
                "receivers[].zone3MaxVolume"
              ]
            },
            {
              "type": "section",
              "expandable": true,
              "title": "Zone 4",
              "items": [
                "receivers[].enableZone4",
                "receivers[].zone4MinVolume",
                "receivers[].zone4MaxVolume"
              ]
            }
          ]
        }
      ]
    }
  ]
}