homebridge-adguardhome
Version:
Homebridge plugin for AdGuard Home
215 lines (214 loc) • 6.82 kB
JSON
{
"pluginAlias": "AdGuardHome",
"pluginType": "platform",
"singular": true,
"headerDisplay": "Homebridge plugin for AdGuard Home and GL.iNet router with integrated AdGuard Home",
"footerDisplay": "For more information, see the [README](https://github.com/davidmerrique/homebridge-adguardhome#readme)",
"schema": {
"type": "object",
"properties": {
"accessories": {
"title": "AdGuard Home",
"type": "array",
"required": true,
"items": {
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string",
"required": true,
"description": "Please provide <u>unique name</u> for each configuration. Name can be use to send command with Siri."
},
"host": {
"title": "IP Address/Hostname",
"type": "string",
"required": true,
"format": "hostname",
"default": "localhost",
"description": "AdGuard Home IP address or hostname. For GL.iNet router, use your router IP address. Default is <i>localhost</i>."
},
"https": {
"title": "Use HTTPS?",
"type": "boolean",
"default": false,
"description": "Use HTTPS to connect to AdGuard Home."
},
"port": {
"title": "AdGuard Home Port",
"type": "integer",
"required": false,
"default": 3000,
"description": "AdGuard Home port. If you're using GL.iNet router, the default port is <i>3000</i>."
},
"glinetport": {
"title": "GL.iNet Port",
"type": "integer",
"required": false,
"default": 80,
"description": "Gl.iNet web UI port, default port is <i>80</i>. Leave it empty if you're not using GL.iNet router."
},
"username": {
"title": "Username",
"type": "string",
"required": true,
"default": "root",
"description": "AdGuard Home username. The default user GL.iNet router user is <i>root</i>."
},
"password": {
"title": "Password",
"type": "string",
"required": true,
"description": "AdGuard Home password. For GL.iNet router, type your web login password."
},
"isGlinet": {
"title": "GL.iNet Router",
"type": "boolean",
"required": true,
"default": false,
"description": "Use GL.iNet router credential to connect to AdGuard Home."
},
"interval": {
"title": "Pooling Interval",
"type": "integer",
"required": false,
"default": 5,
"description": "The interval in seconds for plugin to check AdGuard Home status."
},
"type": {
"type": "string",
"title": "HomeKit Accesory Type",
"description": "Display accessory as regular switch or security lock. For security lock, the Jammed state means plugin can't connect to AdGuard Home server.",
"oneOf": [
{
"title": "Switch",
"enum": ["SWITCH"]
},
{
"title": "Lock",
"enum": ["LOCK"]
}
]
},
"autoOnTimer": {
"title": "Auto On Timer",
"type": "integer",
"required": false,
"default": 0,
"description": "Timer in minutes to automatically turn On AdGuard Home after it turned Off. Set to 0 to disable timer."
},
"stateLogging": {
"title": "State Log",
"type": "boolean",
"default": false,
"description": "Display more information logs about accessory state."
}
}
}
},
"debug": {
"type": "boolean",
"title": "Extra debug messages",
"default": "false"
}
}
},
"layout": [
{
"key": "accessories",
"type": "array",
"items": [
{
"type": "flex",
"items": [
{
"type": "flex",
"displayFlex": true,
"flex-direction": "row",
"items": [
{
"key": "accessories[].name"
}
]
},
{
"type": "flex",
"displayFlex": true,
"flex-direction": "row",
"items": [
{
"key": "accessories[].host",
"flex": "2 2 50%"
},
{
"key": "accessories[].port",
"flex": "1 1 25%"
},
{
"key": "accessories[].glinetport",
"flex": "1 1 25%"
}
]
},
{
"type": "flex",
"displayFlex": true,
"flex-direction": "row",
"items": [
{
"key": "accessories[].https",
"flex": "1 1 33.33%"
},
{
"key": "accessories[].isGlinet",
"flex": "1 1 33.33%"
},
{
"key": "accessories[].stateLogging",
"flex": "1 1 33.33%"
}
]
},
{
"type": "flex",
"displayFlex": true,
"flex-direction": "row",
"items": [
{
"key": "accessories[].username"
},
{
"key": "accessories[].password"
}
]
},
{
"type": "flex",
"displayFlex": true,
"flex-direction": "row",
"items": [
{
"key": "accessories[].type",
"flex": "1 1 33.33%"
},
{
"key": "accessories[].autoOnTimer",
"flex": "1 1 33.33%"
},
{
"key": "accessories[].interval",
"flex": "1 1 33.33%"
}
]
}
]
}
]
},
{
"key": "debug",
"type": "boolean",
"default": false
}
]
}