{ "pluginAlias": "PrometheusExporter", "pluginType": "platform", "singular": true, "schema": { "type": "object", "required": ["pin"], "properties": { "pin": { "title": "Pin", "description": "Homebridge PIN for service authentication", "type": "string", "pattern": "^\\d{3}-\\d{2}-\\d{3}$", "required": true }, "debug": { "title": "Debug", "type": "boolean", "required": false, "default": false }, "prefix": { "title": "Metrics prefix", "type": "string", "required": false, "default": "homebridge" }, "port": { "title": "Metrics server port", "description": "TCP port where the Prometheus metrics server listens", "type": "integer", "required": false, "default": 36123 }, "interface": { "title": "Metrics server interface", "description": "Interface where the Prometheus metrics server listens. Can be an IP, a hostname, \"0.0.0.0\" for all IPv4 interfaces, \"::1\" for all IPv6 interfaces. Default is \"::\" which means \"any interface\"", "type": "string", "default": "::" }, "refresh_interval": { "title": "Service refresh interval", "description": "Discover new services every seconds", "type": "integer", "required": false, "default": 60 }, "request_timeout": { "title": "Request timeout", "description": "Request timeout when interacting with homebridge instances", "type": "integer", "required": false, "default": 10 }, "discovery_timeout": { "title": "Service discovery timeout", "description": "Discovery timeout after which the current discovery is considered failed", "type": "integer", "required": false, "default": 20 }, "tls_cert_file": { "title": "TLS cert file", "description": "Path to TLS certificate file (in PEM format)", "type": "string", "required": false }, "tls_key_file": { "title": "TLS key file", "description": "Path to TLS key file", "type": "string", "required": false }, "basic_auth": { "title": "Basic auth username/password pairs", "description": "Usernames and passwords for basic auth. Object key is the username, object value is the password. Password must be encoded with bcrypt. Example: {\"joanna\": \"$2a$12$5/mmmRB28wg9yzaXhee5Iupq3UrFr/qMgAe9LvAxGoY5jLcfVGTUq\"}", "type": "object", "additionalProperties": { "type": "string" }, "required": false } } } }