{
  "pluginAlias": "EcoFlowHomebridge",
  "pluginType": "platform",
  "singular": true,
  "customUi": true,
  "customUiPath": "./dist/homebridge-ui",
  "schema": {
    "type": "object",
    "properties": {
      "name": {
        "title": "Name",
        "type": "string",
        "default": "Homebridge EcoFlow",
        "required": true
      },
      "devices": {
        "title": "Devices",
        "type": "array",
        "required": true,
        "uniqueItems": true,
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "title": "Name",
              "type": "string",
              "required": true,
              "description": "Name of the EcoFlow device"
            },
            "model": {
              "title": "Model",
              "type": "string",
              "default": "Delta 2",
              "required": true,
              "enum": ["Delta 2", "Delta 2 Max", "Delta Pro 3", "PowerStream", "Smart Plug"]
            },
            "serialNumber": {
              "title": "Serial Number",
              "type": "string",
              "required": true,
              "description": "Serial number of the EcoFlow device"
            },
            "location": {
              "title": "Location",
              "type": "string",
              "default": "EU",
              "required": true,
              "enum": ["EU", "US"],
              "description": "API host depends on device's location (EU: api-e.ecoflow.com, US: api-a.ecoflow.com)"
            },
            "accessKey": {
              "title": "Access Key",
              "type": "string",
              "required": true,
              "description": "Access Key from \"EcoFlow IoT Developer Platform\" (https://developer-eu.ecoflow.com)"
            },
            "secretKey": {
              "title": "Secret Key",
              "type": "string",
              "required": true,
              "description": "Secret Key from \"EcoFlow IoT Developer Platform\" (https://developer-eu.ecoflow.com)"
            },
            "disabled": {
              "title": "Disabled",
              "type": "boolean",
              "required": false,
              "description": "A value indicating whether device should be ignored"
            },
            "simulate": {
              "title": "Simulate",
              "type": "boolean",
              "required": false,
              "description": "A value indicating whether device should be simulated"
            },
            "battery": {
              "title": "Battery Settings",
              "type": "object",
              "properties": {
                "additionalCharacteristics": {
                  "title": "Battery Additional Characteristics",
                  "description": "List of additional characteristics for battery",
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "title": "Characteristic",
                    "type": "string",
                    "enum": [
                      "Battery Level, %",
                      "Input Consumption, W",
                      "Output Consumption, W",
                      "Charging State",
                      "Status Low Battery"
                    ]
                  }
                }
              }
            },
            "powerStream": {
              "title": "PowerStream Settings",
              "type": "object",
              "properties": {
                "type": {
                  "title": "Type",
                  "type": "string",
                  "required": true,
                  "default": "600",
                  "enum": ["600", "800"],
                  "description": "Maximum power, W"
                },
                "batteryAdditionalCharacteristics": {
                  "title": "Battery Additional Characteristics",
                  "description": "List of additional characteristics for Battery connected to PowerStream",
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "title": "Characteristic",
                    "type": "string",
                    "enum": [
                      "Battery Level, %",
                      "Input Consumption, W",
                      "Output Consumption, W",
                      "Charging State",
                      "Status Low Battery"
                    ]
                  }
                },
                "pvAdditionalCharacteristics": {
                  "title": "PV Additional Characteristics",
                  "description": "List of additional characteristics for PVs connected for PowerStream",
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "title": "Characteristic",
                    "type": "string",
                    "enum": ["Output Consumption, W"]
                  }
                },
                "inverterAdditionalCharacteristics": {
                  "title": "Inverter Additional Characteristics",
                  "description": "List of additional characteristics for PowerStream",
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "title": "Characteristic",
                    "type": "string",
                    "enum": ["Input Consumption, W", "Output Consumption, W"]
                  }
                }
              }
            },
            "powerOcean": {
              "title": "PowerOcean Settings",
              "type": "object",
              "properties": {
                "batteryAdditionalCharacteristics": {
                  "title": "Battery Additional Characteristics",
                  "description": "List of additional characteristics for Battery connected to PowerStream",
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "title": "Characteristic",
                    "type": "string",
                    "enum": [
                      "Battery Level, %",
                      "Input Consumption, W",
                      "Output Consumption, W",
                      "Charging State",
                      "Status Low Battery"
                    ]
                  }
                },
                "pvAdditionalCharacteristics": {
                  "title": "PV Additional Characteristics",
                  "description": "List of additional characteristics for PVs connected for PowerStream",
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "title": "Characteristic",
                    "type": "string",
                    "enum": ["Output Consumption, W"]
                  }
                },
                "inverterAdditionalCharacteristics": {
                  "title": "Inverter Additional Characteristics",
                  "description": "List of additional characteristics for PowerStream",
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "title": "Characteristic",
                    "type": "string",
                    "enum": ["Input Consumption, W", "Output Consumption, W"]
                  }
                }
              }
            },
            "outlet": {
              "title": "Outlet Settings",
              "type": "object",
              "properties": {
                "additionalCharacteristics": {
                  "title": "Outlet Additional Characteristics",
                  "description": "List of additional characteristics for Outlet",
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "title": "Characteristic",
                    "type": "string",
                    "enum": ["Output Consumption, W", "Output Voltage, V", "Output Current, A"]
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
