{
  "pluginAlias": "HomebridgeMQTTCeilingFanRemote",
  "pluginType": "platform",
  "singular": true,
  "customUi": true,
  "schema": {
    "type": "object",
    "properties": {
      "_version": {
        "type": "string",
        "condition": {
          "functionBody": "return false"
        },
        "default": "1.0.0"
      },
      "name": {
        "type": "string",
        "title": "Plugin Name",
        "default": "homebridge-mqtt-ceiling-fan-remote"
      },
      "mqtt": {
        "type": "object",
        "title": "MQTT",
        "properties": {
          "protocol": {
            "title": "Protocol",
            "type": "string",
            "oneOf": [
              { "title": "mqtt", "enum": ["mqtt"] },
              { "title": "mqtts", "enum": ["mqtts"] },
              { "title": "tcp", "enum": ["tcp"] },
              { "title": "tls", "enum": ["tls"] },
              { "title": "ws", "enum": ["ws"] },
              { "title": "wss", "enum": ["wss"] },
              { "title": "wxs", "enum": ["wxs"] },
              { "title": "alis", "enum": ["alis"] }
            ],
            "default": "mqtt",
            "required": true
          },
          "host": {
            "title": "Broker",
            "type": "string",
            "default": "0.0.0.0",
            "required": true
          },
          "port": {
            "title": "Port",
            "type": "string",
            "default": "1883",
            "required": true
          },
          "user": {
            "title": "Username",
            "type": "string"
          },
          "password": {
            "title": "Password",
            "type": "string"
          }
        }
      },
      "rfbridge": {
        "type": "object",
        "title": "RF Bridge",
        "properties": {
          "topic": {
            "title": "Topic",
            "type":"string",
            "required": true
          },
          "protocol": {
            "title": "Protocol Index",
            "type":"string",
            "required": true,
            "default": "00"
          }
        }
      },
      "rooms": {
        "title": "Rooms",
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "_id": {
              "type": "string",
              "condition": {
                "functionBody": "return false"
              }
            },
            "name": {
              "title": "Name",
              "type": "string",
              "required": true
            },
            "remote_ids":{
              "title": "Remotes",
              "description": "Homekit inputs will be sent from the first remote code",
              "type": "array",
              "minItems": 1,
              "items": {
                "title": "Remote Code",
                "description": "Binary string of nibble 1-40 of remote payload. <br/>Example: 0010101110101001001111001110001110111101",
                "type": "string",
                "required": true
              }
            }
          }
        }
      }
    }
  }
}