{
  "pluginAlias": "SenseEnergyMonitor",
  "pluginType": "platform",
  "singular": true,
  "headerDisplay": "Enhanced Homebridge plugin for Sense Home Energy Monitor with comprehensive API integration and real-time monitoring.",
  "footerDisplay": "For help and documentation visit the [plugin repository](https://github.com/seeloesix/homebridge-sense-energy-monitor#readme).",
  "schema": {
    "type": "object",
    "properties": {
      "name": {
        "title": "Platform Name",
        "type": "string",
        "default": "Sense Energy Monitor",
        "required": true,
        "description": "The name of this platform instance"
      },
      "username": {
        "title": "Sense Username/Email",
        "type": "string",
        "required": true,
        "format": "email",
        "description": "Your Sense account email address"
      },
      "password": {
        "title": "Sense Password",
        "type": "string",
        "required": true,
        "description": "Your Sense account password"
      },
      "mfaEnabled": {
        "title": "MFA Enabled",
        "type": "boolean",
        "default": false,
        "description": "Enable if your Sense account has multi-factor authentication (2FA) enabled"
      },
      "mfaSecret": {
        "title": "MFA Secret",
        "type": "string",
        "description": "TOTP secret key from your authenticator app setup (base32 encoded string)",
        "placeholder": "JBSWY3DPEHPK3PXP"
      },
      "monitor_id": {
        "title": "Monitor ID",
        "type": "string",
        "description": "Specific monitor ID (leave empty for auto-detection)",
        "placeholder": "Optional - will auto-detect if empty"
      },
      "pollingInterval": {
        "title": "Polling Interval (seconds)",
        "type": "integer",
        "default": 60,
        "minimum": 30,
        "maximum": 3600,
        "description": "How often to fetch daily trend data (and realtime data when WebSocket is disabled)"
      },
      "deviceLoggingInterval": {
        "title": "Device Logging Interval (minutes)",
        "type": "integer",
        "default": 2,
        "minimum": 1,
        "maximum": 60,
        "description": "How often to log device status (1-60 minutes, requires verbose mode)"
      },
      "useWebSocket": {
        "title": "Use WebSocket for Real-time Data",
        "type": "boolean",
        "default": true,
        "description": "Enable WebSocket connection for real-time power updates"
      },
      "devicePowerThreshold": {
        "title": "Device Power Threshold (watts)",
        "type": "integer",
        "default": 10,
        "minimum": 1,
        "maximum": 100,
        "description": "Minimum power consumption to consider a device 'active'"
      },
      "enableHistory": {
        "title": "Enable History (Eve App)",
        "type": "boolean",
        "default": true,
        "description": "Enable historical data logging for Eve app integration"
      },
      "verbose": {
        "title": "Verbose Logging",
        "type": "boolean",
        "default": false,
        "description": "Surface detailed plugin logging at info level (debug-level logging is always available with homebridge -D)"
      },
      "_bridge": {
        "type": "object",
        "properties": {
          "username": {
            "title": "Bridge Username",
            "type": "string",
            "pattern": "^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$",
            "description": "Homebridge username for this platform (auto-generated if not specified)"
          },
          "port": {
            "title": "Bridge Port",
            "type": "integer",
            "minimum": 1025,
            "maximum": 65535,
            "description": "Port for the child bridge (auto-assigned if not specified)"
          }
        }
      }
    }
  },
  "layout": [
    {
      "type": "section",
      "title": "Required Settings",
      "expandable": false,
      "expanded": true,
      "items": [
        "name",
        "username",
        "password",
        "mfaEnabled",
        "mfaSecret"
      ]
    },
    {
      "type": "section",
      "title": "Connection Settings",
      "expandable": true,
      "expanded": false,
      "items": [
        "monitor_id",
        "pollingInterval",
        "deviceLoggingInterval",
        "useWebSocket"
      ]
    },
    {
      "type": "section",
      "title": "Feature Settings",
      "expandable": true,
      "expanded": false,
      "items": [
        "devicePowerThreshold",
        "enableHistory"
      ]
    },
    {
      "type": "section",
      "title": "Debug Settings",
      "expandable": true,
      "expanded": false,
      "items": [
        "verbose"
      ]
    },
    {
      "type": "section",
      "title": "Advanced Settings",
      "expandable": true,
      "expanded": false,
      "items": [
        "_bridge.username",
        "_bridge.port"
      ]
    }
  ]
}