UNPKG

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
{ "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" ] } ] }