@mshanemc/homebridge-hydrawise
Version:
A homebridge plugin that creates sprinkler accessories for all your Hydrawise zones
110 lines (109 loc) • 3.08 kB
JSON
{
"pluginAlias": "HydrawisePlatform",
"pluginType": "platform",
"singular": false,
"schema": {
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string",
"default": "Hydrawise",
"required": true
},
"default_run_minutes": {
"title": "Default Run Time",
"type": "number",
"description": "Minutes the zone will run if a command doesn't provide a time. Ignore the zone's default run time",
"minimum": 1,
"default": 5
},
"type": {
"title": "Connection Type",
"type": "string",
"default": "LOCAL",
"oneOf": [
{
"title": "Local",
"enum": ["LOCAL"]
},
{
"title": "Cloud",
"enum": ["CLOUD"]
}
],
"description": "Use a local connection where possible. This type of connection suffers no delays and has no rate limit. The cloud connection will only allow 30 requests every 5 min.",
"required": true
},
"api_key": {
"title": "Hydrawise Cloud API key",
"type": "string",
"description": "You can obtain your API key from the 'Account Details' screen on the <a target=\"_blank\" href=\"https://app.hydrawise.com/config/account/details\">Hydrawise platform</a>"
},
"host": {
"title": "Hostname or IP address",
"type": "string"
},
"user": {
"title": "Username",
"type": "string",
"default": "admin",
"description": "The username of your local controller. Should not be configured unless for specific setups. Defaults to 'admin'"
},
"password": {
"title": "Password",
"type": "string"
},
"polling_interval": {
"title": "Polling interval",
"type": "number",
"description": "The amount of ms between each poll to the local controller (default: 1000) or the Hydrawise cloud (default: 12000)",
"minimum": 200
}
}
},
"form": [
"name",
"default_run_minutes",
{
"key": "type",
"type": "radiobuttons"
},
{
"ref_name": "Local configuration",
"type": "fieldset",
"items": ["host", "password"],
"condition": {
"functionBody": "return model.type == 'LOCAL'"
}
},
{
"ref_name": "Cloud configuration",
"type": "fieldset",
"items": ["api_key"],
"condition": {
"functionBody": "return model.type == 'CLOUD'"
}
},
{
"type": "fieldset",
"expandable": true,
"title": "Advanced Settings",
"description": "Don't change these, unless you understand what you're doing.",
"items": [
{
"key": "user",
"condition": {
"functionBody": "return model.type == 'LOCAL'"
}
},
{
"key": "polling_interval",
"validationMessage": {
"101": "Should at least be 200 ms"
}
}
]
}
]
}