homebridge-sense-energy-monitor
Version:
Enhanced Homebridge plugin for Sense Home Energy Monitor with comprehensive API integration and real-time monitoring
166 lines • 4.93 kB
JSON
{
"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"
]
}
]
}