{
  "pluginAlias": "BigAssFans-i6",
  "pluginType": "platform",
  "singular": true,
  "customUi": true,
  "customUiPath": "./homebridge-ui",
  "headerDisplay": "Homebridge 2.0 plugin for Big Ass Fans (i6, es6, Haiku H/I, Haiku L)",
  "footerDisplay": "For details, see the [README](https://github.com/applemanj/homebridge-bigAssFans-2#readme). Whoosh is now native SwingMode in the fan tile. Fan Auto is now native in the fan tile via TargetFanState.",
  "schema": {
    "type": "object",
    "required": [
      "name",
      "fans"
    ],
    "properties": {
      "name": {
        "title": "Platform Name",
        "description": "Display name for this Homebridge platform instance.",
        "type": "string",
        "default": "Big Ass Fans"
      },
      "fans": {
        "title": "Fans",
        "description": "Add one entry for each Big Ass Fans / Haiku fan you want to expose to HomeKit.",
        "type": "array",
        "minItems": 1,
        "items": {
          "type": "object",
          "required": [
            "name",
            "ip",
            "mac"
          ],
          "properties": {
            "name": {
              "title": "Fan Name",
              "description": "Display name for this fan in HomeKit.",
              "type": "string",
              "minLength": 1,
              "default": "i6 fan"
            },
            "ip": {
              "title": "Fan IP Address Or Hostname",
              "description": "IP address, DNS hostname, or mDNS .local hostname for the fan.",
              "type": "string",
              "minLength": 1
            },
            "mac": {
              "title": "MAC Address",
              "description": "MAC address from the Big Ass Fans app Wi-Fi settings.",
              "type": "string",
              "pattern": "^([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$"
            },
            "showFanAutoSwitch": {
              "title": "Fan Auto Switch (Legacy)",
              "description": "Add a separate switch for Fan Auto in addition to the native fan-tile control.",
              "type": "boolean",
              "default": false
            },
            "showLightAutoSwitch": {
              "title": "Light Auto Switch",
              "description": "Add a switch for Light Auto mode when the fan has lights.",
              "type": "boolean",
              "default": false
            },
            "showDimToWarmSwitch": {
              "title": "Dim To Warm Switch",
              "description": "Add a switch for Dim to Warm when supported by the fan.",
              "type": "boolean",
              "default": false
            },
            "showEcoModeSwitch": {
              "title": "Eco Mode Switch",
              "description": "Add a switch for Eco Mode when supported by the fan.",
              "type": "boolean",
              "default": false
            },
            "disableDirectionControl": {
              "title": "Disable Direction Control",
              "description": "Hide the fan direction control in HomeKit.",
              "type": "boolean",
              "default": false
            },
            "probeFrequency": {
              "title": "Probe Frequency (ms)",
              "description": "Keep-alive and state refresh interval in milliseconds. Set to 0 to disable probing.",
              "type": "integer",
              "minimum": 0,
              "default": 60000
            },
            "noLights": {
              "title": "Hide Light Controls",
              "description": "Hide all light-related services for this fan, including downlight, uplight, UVC, and standby LED controls.",
              "type": "boolean",
              "default": false
            },
            "showHumidity": {
              "title": "Show Humidity Sensor",
              "description": "Expose the humidity sensor when supported by the fan.",
              "type": "boolean",
              "default": true
            },
            "showTemperature": {
              "title": "Show Temperature Sensor",
              "description": "Expose the temperature sensor when supported by the fan.",
              "type": "boolean",
              "default": true
            },
            "downlightEquipped": {
              "title": "Downlight Detection",
              "description": "Use Auto Detect unless the plugin guesses wrong. Force Present exposes a downlight; Force Hidden hides it.",
              "default": "auto",
              "oneOf": [
                {
                  "title": "Auto Detect",
                  "enum": [
                    "auto"
                  ]
                },
                {
                  "title": "Force Present",
                  "enum": [
                    true
                  ]
                },
                {
                  "title": "Force Hidden",
                  "enum": [
                    false
                  ]
                }
              ]
            },
            "uplightEquipped": {
              "title": "Uplight Detection",
              "description": "Use Auto Detect unless the plugin guesses wrong. Force Present exposes an uplight; Force Hidden hides it.",
              "default": "auto",
              "oneOf": [
                {
                  "title": "Auto Detect",
                  "enum": [
                    "auto"
                  ]
                },
                {
                  "title": "Force Present",
                  "enum": [
                    true
                  ]
                },
                {
                  "title": "Force Hidden",
                  "enum": [
                    false
                  ]
                }
              ]
            },
            "showFanOccupancySensor": {
              "title": "Show Fan Occupancy Sensor",
              "description": "Expose the fan occupancy sensor when supported by the fan.",
              "type": "boolean",
              "default": false
            },
            "showLightOccupancySensor": {
              "title": "Show Light Occupancy Sensor",
              "description": "Expose the light occupancy sensor when supported by the fan.",
              "type": "boolean",
              "default": false
            },
            "showStandbyLED": {
              "title": "Show Standby LED Controls",
              "description": "Expose night light / standby LED controls when supported by the fan. Hidden if Hide Light Controls is enabled.",
              "type": "boolean",
              "default": false
            },
            "enableIncrementalButtons": {
              "title": "Enable +/- Buttons",
              "description": "Add momentary +/- buttons for brightness and fan speed.",
              "type": "boolean",
              "default": false
            },
            "incrementalButtonsDelay": {
              "title": "Incremental Button Reset Delay (ms)",
              "description": "Auto-reset delay for the optional +/- buttons in milliseconds.",
              "type": "integer",
              "minimum": 0,
              "default": 500
            },
            "enableDebugPort": {
              "title": "Enable Debug Port",
              "description": "Enable a localhost-only TCP debug port for runtime debug level changes and detailed timing diagnostics. Leave off for normal use.",
              "type": "boolean",
              "default": false
            }
          }
        }
      }
    }
  }
}
