{
  "pluginAlias": "AirGradientPlatform",
  "pluginType": "platform",
  "headerDisplay": "AirGradient Configuration",
  "schema": {
    "type": "object",
    "properties": {
      "fetchLogs": {
        "title": "Fetch Logs",
        "type": "boolean",
        "default": true,
        "description": "When disabled, all log output during data fetching is suppressed."
      },
      "verboseLogs": {
        "title": "Verbose Logs",
        "type": "boolean",
        "default": true,
        "description": "When disabled, log messages omit data payloads and stack traces."
      },
      "sensors": {
        "type": "array",
        "title": "AirGradient Sensors",
        "items": {
          "type": "object",
          "properties": {
            "serialno": {
              "title": "Serial Number",
              "type": "string",
              "required": true
            },
            "pollingInterval": {
              "title": "Polling Interval (ms)",
              "type": "number",
              "default": 60000,
              "minimum": 1000
            },
            "useCompensatedValues": {
              "title": "Use Compensated Values",
              "type": "boolean",
              "default": false
            },
            "co2AlertThreshold": {
              "type": "number",
              "title": "CO2 Alert Threshold",
              "default": 800,
              "description": "The CO\u2082 level (ppm) above which HomeKit shows an alert."
            }
          }
        }
      }
    }
  },
  "layout": [
    {
      "type": "section",
      "items": [
        {
          "key": "verboseLogs",
          "type": "checkbox",
          "title": "Verbose Logs"
        },
        {
          "key": "fetchLogs",
          "type": "checkbox",
          "title": "Fetch Logs"
        },
        {
          "key": "sensors",
          "type": "array",
          "add": "Add Sensor",
          "items": [
            {
              "key": "sensors[].serialno",
              "placeholder": "Enter your Serial Number"
            },
            {
              "key": "sensors[].pollingInterval",
              "placeholder": 60000
            },
            {
              "key": "sensors[].useCompensatedValues",
              "type": "checkbox",
              "title": "Use Compensated Values"
            },
            {
              "key": "sensors[].co2AlertThreshold",
              "placeholder": 800
            }
          ]
        }
      ]
    }
  ]
}