-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathconfig.schema.json
More file actions
190 lines (190 loc) · 4.74 KB
/
config.schema.json
File metadata and controls
190 lines (190 loc) · 4.74 KB
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
{
"pluginAlias": "ISY Hub",
"pluginType": "platform",
"singular": true,
"schema": {
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string",
"required": true,
"default": "ISY Hub",
"placeholder": "Name for the plugin (default is ISY Hub)"
},
"hostname": {
"title": "Hostname",
"type": "string",
"required": true,
"placeholder": "eg. 192.168.1.2",
"format": "hostname"
},
"login": {
"title": "Login",
"type": "string",
"required": true,
"placeholder": "eg. john"
},
"password": {
"title": "Password",
"type": "string",
"required": true,
"placeholder": "eg. mypassword"
},
"hidden_nodes": {
"title": "Hidden Node",
"description": "List of nodes to hide from HomeKit (devices or scenes).",
"type": "array",
"items": {
"type": "string"
}
},
"stateless_scenes": {
"title": "Stateless Scene",
"description": "List of scenes to become Stateless Programable Switches in HomeKit. If not listed, defaults to regular Switch.",
"type": "array",
"items": {
"type": "string"
}
},
"on_level_scenes": {
"title": "Scene ON Level",
"description": "Set custom ON level for scenes. Used to get status of a scene if it's ON level is dimmed (less than 255). Does not apply to Stateless Scenes. [use keyboard arrows to adjust slider if mouse fails]",
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"title": "Address",
"type": "string"
},
"on_level": {
"title": "On Level",
"type": "integer",
"minimum": 1,
"maximum": 255
}
}
}
},
"refresh_interval": {
"title": "Refresh Interval",
"description": "Time in minutes to refresh all nodes via REST.",
"type": "integer",
"required": true,
"minimum": 1,
"default": 60,
"placeholder": "Time in minutes (leave blank to set default of 60 minutes)"
},
"reconnect_interval": {
"title": "Reconnect Interval",
"description": "Time in seconds to attempt a reconnect after the WebSocket termination.",
"type": "integer",
"required": true,
"minimum": 10,
"default": 30,
"placeholder": "Time in seconds (leave blank to set default of 30 seconds)"
},
"heartbeat_timeout": {
"title": "Heartbeat Timeout",
"description": "Time in seconds for the WebSocket's heatbeat. Terminates it and attempts a reconnect if no heartbeat if received in time.",
"type": "integer",
"required": true,
"minimum": 25,
"default": 30,
"placeholder": "Time in seconds (leave blank to set default of 30 seconds)"
},
"rest_timeout": {
"title": "REST Requests Timeout",
"description": "Time in seconds for REST requests. Request is canceled after timeout and next attemp will be triggered by Refresh Interval",
"type": "integer",
"required": true,
"minimum": 5,
"default": 10,
"placeholder": "Time in seconds (leave blank to set default of 10 seconds)"
}
}
},
"layout": [
"name",
{
"type": "div",
"displayFlex": true,
"flex-direction": "row",
"items": [
"hostname",
"login",
{
"key": "password",
"type": "password"
}
]
},
{
"title": "Optional Settings",
"type": "array",
"expandable": true,
"expanded": false,
"items": [
{
"key": "hidden_nodes",
"type": "array",
"expandable": true,
"expanded": false,
"items": {
"notitle": true,
"type": "string",
"placeholder": "device or scene address (eg. \"AA B2 CE 1\" or \"12345\")"
}
},
{
"key": "stateless_scenes",
"type": "array",
"expandable": true,
"expanded": false,
"items": {
"notitle": true,
"type": "string",
"placeholder": "scene address (eg. \"12345\")"
}
},
{
"key": "on_level_scenes",
"type": "array",
"expandable": true,
"expanded": false,
"items": [
{
"type": "div",
"displayFlex": true,
"flex-direction": "row",
"items": [
{
"key": "on_level_scenes[].address",
"notitle": true,
"placeholder": "scene address (eg. \"12345\")"
},
{
"key": "on_level_scenes[].on_level",
"notitle": true
}
]
}
]
}
]
},
{
"title": "Advanced Settings",
"type": "array",
"expandable": true,
"expanded": false,
"items": [
"refresh_interval",
"reconnect_interval",
"heartbeat_timeout",
"rest_timeout"
]
}
]
}