{
  "pluginAlias": "xiaomifan",
  "pluginType": "platform",
  "singular": true,
  "headerDisplay": "Homebridge plugin for Xiaomi Fans",
  "footerDisplay": "For a detailed description, see the [README](https://github.com/merdok/homebridge-xiaomi-fan#platform-configuration-fields)",
  "schema": {
    "devices": {
      "title": "Devices",
      "type": "array",
      "required": true,
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "title": "Name",
            "description": "The name of your fan.",
            "type": "string",
            "default": "My Xiaomi Fan",
            "minLength": 1,
            "required": true
          },
          "ip": {
            "title": "Fan ip address",
            "description": "The ip address of your fan.",
            "type": "string",
            "format": "ipv4",
            "required": true
          },
          "token": {
            "title": "Fan device token",
            "description": "The token of your fan.",
            "type": "string",
            "required": true
          },
          "deviceId": {
            "title": "Fan device id",
            "description": "The device id of your fan.",
            "type": "string",
            "required": false
          },
          "model": {
            "title": "The fan model",
            "description": "The model of your fan. If specified then the accessory will be created instantly without the need to first discover and identify the fan.",
            "type": "string",
            "required": false
          },
          "prefsDir": {
            "title": "Prefs directory",
            "description": "The location where to store fan information. Default is: ~/.homebridge/.xiaomiFan",
            "type": "string",
            "required": false
          },
          "pollingInterval": {
            "title": "Background polling interval",
            "description": "How often to check the status of the fan in seconds.",
            "type": "number",
            "default": 5,
            "required": false
          },
          "deepDebugLog": {
            "title": "Enable deep debug log",
            "description": "Enables additional more detailed debug log. Useful when trying to figure out issues with the plugin.",
            "type": "boolean"
          },
          "buzzerControl": {
            "title": "Buzzer control service",
            "description": "Whether to show buzzer control buttons.",
            "type": "boolean",
            "default": true,
            "required": false
          },
          "ledControl": {
            "title": "Led control service",
            "description": "Whether to show led control buttons.",
            "type": "boolean",
            "default": true,
            "required": false
          },
          "naturalModeControl": {
            "title": "Natural mode control service",
            "description": "Whether to show a switch which allows to quickly enable/disable the natural mode. Only on supported devices!",
            "type": "boolean",
            "default": true,
            "required": false
          },
          "sleepModeControl": {
            "title": "Sleep mode control service",
            "description": "Whether to show a switch which allows to quickly enable/disable the sleep mode. Only on supported devices!",
            "type": "boolean",
            "default": true,
            "required": false
          },
          "moveControl": {
            "title": "Move control service",
            "description": "Whether to show switches which allows to move the fan left or right. Only on supported devices!",
            "type": "boolean",
            "default": false,
            "required": false
          },
          "shutdownTimer": {
            "title": "Shutdown timer service",
            "description": "Show a slider (light bulb) to control the auto shutdown timer.",
            "type": "boolean",
            "default": false,
            "required": false
          },
          "angleButtons": {
            "title": "Angle buttons",
            "description": "Allows to create buttons that can switch between oscillation angles. Only on supported devices!",
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "verticalAngleButtons": {
            "title": "Vertical angle buttons",
            "description": "Allows to create buttons that can switch between vertical oscillation angles. Only on supported devices!",
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "ioniserControl": {
            "title": "Ioniser control service",
            "description": "Show a switch which allows to quickly enable/disable the ioniser on your fan. Only on supported devices!",
            "type": "boolean",
            "default": false,
            "required": false
          },
          "fanLevelControl": {
            "title": "Fan level service",
            "description": "Show fan level switches which allow to change the fan level. Only on supported devices!",
            "type": "boolean",
            "required": false
          }
        }
      }
    }
  }
}
