{
  "pluginAlias": "ChGreeACPlatformWithWebHooks",
  "pluginType": "platform",
  "headerDisplay": "This plugin is tested only with NodeJS 16!",
  "singular": true,
  "schema": {
    "type": "object",
    "properties": {
      "name": {
        "title": "Name",
        "type": "string",
        "required": true,
        "default": "Gree ACs"
      },
      "manufacturer": {
        "title": "Manufacturer",
        "type": "string",
        "required": false,
        "default": "Gree"
      },
      "broadcastAddress": {
        "title": "Broadcast Address",
        "type": "string",
        "required": true,
        "default": "192.168.50.255",
        "description": "The broadcast address to search for the AC"
      },
      "threeSpeedUnit": {
        "title": "3-Speed Unit",
        "type": "boolean",
        "required": true,
        "default": true,
        "description": "Set to true if the unit has 3 speeds and false if it has 5"
      },
      "coolingMinTemp": {
        "title": "The min temperature for cooling",
        "type": "integer",
        "required": true,
        "default": 16,
        "description": "Set the minimum temperature for cooling"
      },
      "coolingMaxTemp": {
        "title": "The max temperature for cooling",
        "type": "integer",
        "required": true,
        "default": 30,
        "description": "Set the maximum temperature for cooling"
      },
      "heatingMinTemp": {
        "title": "The min temperature for heating",
        "type": "integer",
        "required": true,
        "default": 16,
        "description": "Set the minimum temperature for heating"
      },
      "heatingMaxTemp": {
        "title": "The max temperature for heating",
        "type": "integer",
        "required": true,
        "default": 30,
        "description": "Set the maximum temperature for heating"
      },
      "httpPort": {
        "title": "HTTP port (for web hooks)",
        "type": "number",
        "required": false,
        "default": "4567"
      },
      "mqtt": {
        "title": "MQTT",
        "type": "object",
        "required": true,
        "properties": {
          "base_topic": {
            "title": "Base topic",
            "type": "string",
            "required": true,
            "default": "zigbee2mqtt",
            "placeholder": "zigbee2mqtt"
          },
          "server": {
            "title": "Server",
            "type": "string",
            "required": true,
            "default": "mqtt://localhost:1883",
            "placeholder": "mqtt://localhost:1883"
          },
          "ca": {
            "title": "SSL/TLS certificate of CA",
            "type": "string",
            "required": false
          },
          "key": {
            "title": "SSL/TLS key for client-authentication",
            "type": "string",
            "required": false
          },
          "cert": {
            "title": "SSL/TLS certificate for client-authentication",
            "type": "string",
            "required": false
          },
          "user": {
            "title": "Username",
            "type": "string",
            "required": false
          },
          "password": {
            "title": "Password",
            "type": "string",
            "required": false
          },
          "client_id": {
            "title": "Client ID",
            "type": "string",
            "required": false
          },
          "reject_unauthorized": {
            "title": "Disable self-signed SSL certificates",
            "type": "boolean",
            "default": false,
            "required": false
          },
          "keepalive": {
            "title": "Keep Alive",
            "type": "integer",
            "default": 60,
            "required": false
          },
          "version": {
            "title": "MQTT version",
            "type": "integer",
            "default": 4,
            "minimum": 3,
            "maximum": 5,
            "required": false
          },
          "disable_qos": {
            "title": "Disable QoS",
            "type": "boolean",
            "default": false,
            "required": false
          }
        }
      },
      "devices": {
        "title": "Devices",
        "type": "array",
        "required": false,
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "title": "AC device mac",
              "type": "string",
              "required": true,
              "minLength": 3,
              "placeholder": "0x1234567890abcdef"
            },
            "sensorTopic": {
              "title": "MQTT sensor topic",
              "type": "string",
              "required": true,
              "placeholder": "zigbee2mqtt/0x00158d0001f0b1d1"
            },
            "sensorTemperatureKey": {
              "title": "MQTT sensor temperature key",
              "type": "string",
              "required": false,
              "placeholder": "temperature",
              "default": "temperature"
            }
          }
        }
      }
    }
  }
}
