{
  "pluginAlias": "SwitchBotSmartLock",
  "pluginType": "platform",
  "singular": true,
  "schema": {
    "type": "object",
    "properties": {
      "name": {
        "title": "Platform Name",
        "type": "string",
        "default": "SwitchBot Smart Lock",
        "description": "The name for this platform (optional)"
      },
      "accessoryName": {
        "title": "Accessory Name",
        "type": "string",
        "default": "Smart Lock",
        "description": "The name that will appear in HomeKit for this lock"
      },
      "token": {
        "title": "API Token",
        "type": "string",
        "description": "Your SwitchBot API token from the SwitchBot app",
        "required": true
      },
      "secret": {
        "title": "API Secret",
        "type": "string",
        "description": "Your SwitchBot API secret from the SwitchBot app",
        "required": true
      },
      "deviceId": {
        "title": "Device ID",
        "type": "string",
        "description": "The device ID of your SwitchBot Smart Lock",
        "required": true
      },
      "pollingInterval": {
        "title": "Status Polling Interval (seconds)",
        "type": "number",
        "default": 10,
        "description": "How often to check lock status in seconds. Enter a value between 5 and 300.",
        "placeholder": "10"
      }
    },
    "required": ["token", "secret", "deviceId"]
  },
  "layout": [
    {
      "type": "fieldset",
      "title": "SwitchBot API Configuration",
      "description": "Get these values from the SwitchBot app under Developer Options",
      "expandable": true,
      "expanded": true,
      "items": [
        "token",
        "secret"
      ]
    },
    {
      "type": "fieldset",
      "title": "Device Configuration",
      "items": [
        "accessoryName",
        "deviceId"
      ]
    },
    {
      "type": "fieldset",
      "title": "Advanced Settings",
      "expandable": true,
      "expanded": false,
      "items": [
        "pollingInterval"
      ]
    }
  ]
}