generated from homebridge/homebridge-plugin-template
-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathconfig.schema.json
135 lines (135 loc) · 5.95 KB
/
config.schema.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
{
"pluginAlias": "Dingz",
"pluginType": "platform",
"singular": false,
"schema": {
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string",
"default": "dingz and myStrom SmartHome platform",
"required": true
},
"pollerInterval": {
"title": "Update interval (in seconds)",
"type": "number",
"required": true,
"default": 10,
"minimum": 5,
"maximum": 60,
"description": "The plugin will poll all devices at regular intervals to get updated values for temperature, light or switch states, and to check whether the device is still reachable. The default value is set a 5s but can be changed to a different value. Reasonable ranges are between 5s-20s, everything below 5s will likely cause problems, longer intervals might lead to unmet user expectations e.g. with respect to automations etc."
},
"motionPoller": {
"title": "Poll dingz Motion Sensor",
"type": "boolean",
"default": false,
"description": "By default, motion events will be triggered via the callback action. With this setting, you can change this behaviour to a `polling` mode of operation. If checked, the dingz will be polled every 2.5 seconds for the motion state. If you disable this, the dingz will push a trigger event when motion begins and reset the motion event when the motion timer of the dingz fires at the end of the period defined in the dingz Web UI (default: 180s). While the pull puts additional strain on the dingz *and* introduces a certain lag, the push mode is dependent on the timer setting which might not be what you want."
},
"minStepTiltAngle": {
"title": "Minimum step for tilt angle (in percent)",
"type": "number",
"required": true,
"default": 1,
"minimum": 1,
"maximum": 100,
"description": "Sets the minimum step for the tilt angle in percent. Default is 1 percent."
},
"autoDiscover": {
"title": "Auto-discovery of devices",
"type": "boolean",
"description": "Disable this setting if you want auto-discovery to be turned off.",
"default": true
},
"globalToken": {
"title": "Global REST API Token",
"type": "string",
"description": "Set a global authentication token. This will be used for auto-discovery on the local network and as default token for manually specified devices."
},
"ignore": {
"title": "Ignored Devices",
"description": "Devices in this list will be excluded when found via auto-discovery. Add an entry (MAC-Address without the colon) for each devices that shall be ignored. The MAC-Address of your myStrom and Dingz devices can be found in the respective app, or via the device's own webpage.",
"type": "array",
"items": {
"title": "Device",
"type": "object",
"properties": {
"mac": {
"title": "MAC-Address",
"type": "string",
"pattern": "^([A-Fa-f0-9]{2}){5}[A-Fa-f0-9]{2}$",
"required": true
},
"comment": {
"title": "Comment",
"type": "string"
}
}
}
},
"callbackHostname": {
"title": "Hostname / IP to use for button callbacks ",
"type": "string",
"format": "hostname",
"description": "In order to implement button actions, the dingz plugin exposes a webserver for callbacks. By default, it will use the hostname where homebridge runs as address. Should you use a proxy service or run Homebridge inside a docker container, you might have to add it manually."
},
"callbackPort": {
"title": "Port for button callbacks",
"type": "number",
"description": "In order to implement button actions, the dingz plugin exposes a webserver for callbacks. By default, it listens on port 18081. Add this setting if you want to change this."
},
"callbackOverride": {
"title": "Override generic callbacks",
"type": "boolean",
"description": "If set, actions will be overriden, that is, existing action URLs (for the 'generic' endpoint) will be <em>replaced</em> by an action to this server only. Useful for testing and/or resetting your devices if you homebridge server's address changes."
},
"devices": {
"title": "dingz Devices",
"type": "array",
"items": {
"title": "dingz",
"type": "object",
"properties": {
"type": {
"title": "Device Type",
"type": "string",
"oneOf": [
{ "title": "dingz", "enum": ["dingz"] },
{ "title": "myStrom Switch", "enum": ["myStromSwitch"] },
{ "title": "myStrom Lightbulb", "enum": ["myStromBulb"] },
{ "title": "myStrom LED Strip", "enum": ["myStromLED"] },
{
"title": "myStrom PIR (Motion) Sensor",
"enum": ["myStromPIR"]
},
{ "title": "myStrom Button", "enum": ["myStromButton"] },
{
"title": "myStrom Button+ (2nd Gen)",
"enum": ["myStromButtonPlus"]
}
],
"required": true
},
"name": {
"title": "Name",
"type": "string",
"default": "dingz SmartHome Device",
"required": true
},
"address": {
"title": "IP / Hostname",
"type": "string",
"format": "hostname",
"required": true
},
"token": {
"title": "REST API Token",
"type": "string",
"description": "If you have set a Token to protect the REST API, enter it here. Highly recommended."
}
}
}
}
}
}
}