UNPKG

homebridge-config-ui-x

Version:

A web based management, configuration and control platform for Homebridge

471 lines • 11.5 kB
{ "pluginAlias": "config", "pluginType": "platform", "singular": true, "schema": { "type": "object", "properties": { "name": { "title": "Name", "type": "string", "default": "Config", "minLength": 1, "required": true }, "port": { "title": "Port", "type": "integer", "default": 8080, "maximum": 65535, "required": true }, "auth": { "title": "Auth Mode", "type": "string", "default": "form", "oneOf": [ { "title": "Form", "enum": [ "form" ] }, { "title": "None", "enum": [ "none" ] } ], "required": true }, "theme": { "title": "UI Theme", "type": "string", "default": "auto", "oneOf": [ { "title": "Default", "enum": [ "auto" ] }, { "title": "Red", "enum": [ "red" ] }, { "title": "Pink", "enum": [ "pink" ] }, { "title": "Purple", "enum": [ "purple" ] }, { "title": "Purple - Deep", "enum": [ "deep-purple" ] }, { "title": "Indigo", "enum": [ "indigo" ] }, { "title": "Blue", "enum": [ "blue" ] }, { "title": "Blue - Navi", "enum": [ "navi-blue" ] }, { "title": "Blue Grey", "enum": [ "blue-grey" ] }, { "title": "Cyan", "enum": [ "cyan" ] }, { "title": "Green", "enum": [ "green" ] }, { "title": "Teal", "enum": [ "teal" ] }, { "title": "Orange", "enum": [ "orange" ] }, { "title": "Amber", "enum": [ "amber" ] }, { "title": "Grey", "enum": [ "grey" ] }, { "title": "Brown", "enum": [ "brown" ] }, { "title": "Dark Mode", "enum": [ "dark-mode" ] }, { "title": "Dark Mode (Old Version)", "enum": [ "dark-mode-v1" ] } ], "required": true }, "restart": { "title": "Restart Command", "type": "string" }, "temp": { "title": "Path to OS Temp File", "type": "string" }, "tempUnits": { "title": "Temperature Display Units", "type": "string", "required": true, "default": "c", "oneOf": [ { "title": "Celsius", "enum": [ "c" ] }, { "title": "Fahrenheit", "enum": [ "f" ] } ] }, "loginWallpaper": { "title": "Path to Login Wallpaper Image File", "type": "string" }, "sudo": { "title": " Use Sudo", "type": "boolean" }, "homebridgePackagePath": { "title": "Path To Homebridge Module", "type": "string" }, "noFork": { "title": "Do not run the Config UI web server in a seperate process/thread", "type": "boolean" }, "host": { "title": "The host ip address to listen on. In most cases this will be '::' or '0.0.0.0'", "type": "string" }, "debug": { "title": " Enable / disable debug level logging", "type": "boolean" }, "standalone": { "title": "Tell Homebridge the plugin is operating in standalone mode", "type": "boolean" }, "websocketCompatibilityMode": { "title": " Run the web socket connection in compatibility mode", "type": "boolean" }, "sessionTimeout": { "title": "Session timeout in seconds", "type": "integer" }, "log": { "type": "object", "properties": { "method": { "title": "Log Method", "type": "string", "oneOf": [ { "title": "From File", "enum": [ "file" ] }, { "title": "Systemd", "enum": [ "systemd" ] }, { "title": "Custom Command", "enum": [ "custom" ] } ] }, "path": { "title": "Log File Path", "type": "string" }, "service": { "title": "Systemd Service", "type": "string" }, "command": { "title": "Custom Command", "type": "string" }, "tail": { "type": "string", "description": "Depreciated" }, "systemd": { "type": "string", "description": "Depreciated" } } }, "ssl": { "title": "SSL Setup", "type": "object", "properties": { "key": { "title": "Path To Private Key", "type": "string" }, "cert": { "title": "Path To Certificate", "type": "string" }, "pfx": { "title": "Path To PKCS#12 Certificate", "type": "string" }, "passphrase": { "title": "PKCS#12 Certificate Passphrase", "type": "string" } } }, "accessoryControl": { "title": "Accessory Control Setup", "type": "object", "properties": { "debug": { "title": " Enable / disable debug level logging for accessory control", "type": "boolean" }, "instanceBlacklist": { "title": "Blacklisted Instances", "type": "array", "items": { "title": "Instance Username", "type": "string", "pattern": "^([A-Fa-f0-9]{2}:){5}[A-Fa-f0-9]{2}$" } } } }, "linux": { "title": "Linux Server Commands", "type": "object", "properties": { "shutdown": { "title": "Shutdown Command", "type": "string" }, "restart": { "title": "Restart Command", "type": "string" } } }, "proxyHost": { "title": "Reverse Proxy Hostname", "type": "string", "pattern": "^[^{}/ :\\\\]+(?::\\d+)?$" } } }, "layout": [ { "type": "flex", "flex-flow": "row wrap", "items": [ { "type": "flex", "flex-flow": "column", "items": [ "name", "theme" ] }, { "type": "flex", "flex-flow": "column", "items": [ "port", "auth" ] } ] }, { "type": "fieldset", "expandable": true, "title": "Log Viewer Setup", "items": [ "log.method", { "key": "log.path", "description": "Enter the full file path to your log file.", "required": true, "condition": { "functionBody": "return (model.log && model.log.method==='file')" } }, { "key": "log.service", "description": "Enter the systemd service name. Defaults to 'homebridge'.", "placeholder": "homebridge", "required": true, "condition": { "functionBody": "return (model.log && model.log.method==='systemd')" } }, { "key": "log.command", "description": "This command should stream the logs to stdout.", "required": true, "condition": { "functionBody": "return (model.log && model.log.method==='custom')" } } ] }, { "type": "fieldset", "title": "Accessory Control Settings", "expandable": true, "expanded": false, "items": [ "accessoryControl.debug", { "type": "help", "helpvalue": "<h6>Instance Blacklist</h6><em class='primary-text'>Enter the usernames of any other Homebridge instances on your network that you do not want to be able to control from this instance.</em>" }, { "nodescription": true, "notitle": true, "key": "accessoryControl.instanceBlacklist", "type": "array", "items": [ { "type": "div", "displayFlex": true, "flex-direction": "row", "items": [ { "key": "accessoryControl.instanceBlacklist[]", "flex": "1 1 50px", "notitle": true, "placeholder": "Enter homebridge username..." } ] } ] } ] }, { "type": "fieldset", "expandable": true, "title": "Advanced", "items": [ "sudo", "websocketCompatibilityMode", "debug", { "key": "restart", "description": "If no restart command is set the process will terminate with a non-zero exit code." }, { "key": "proxyHost", "placeholder": "eg. example.com:8443", "description": "When running behind a reverse proxy you may need to enter the hostname you use to access the UI." }, { "key": "loginWallpaper", "description": "Leave blank to use default wallpaper." }, { "key": "temp", "placeholder": "eg. /sys/class/thermal/thermal_zone0/temp" }, "tempUnits", { "key": "homebridgePackagePath", "description": "Leave blank unless you have not installed Homebridge as a global module." } ] }, { "type": "fieldset", "expandable": true, "title": "SSL Setup", "items": [ { "type": "help", "helpvalue": "<em class='primary-text'>Leave these fields blank to disable SSL.</em><br><em class='text-danger'>After enabling SSL you will only be able to access the Config UI using https://</div>" }, "ssl.key", "ssl.cert", "ssl.pfx", "ssl.passphrase" ] } ] }