generated from homebridge/homebridge-plugin-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.schema.json
251 lines (251 loc) · 8.04 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
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
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
{
"pluginAlias": "OpenSpa",
"pluginType": "platform",
"singular": true,
"headerDisplay": "OpenSpa by Ungodly Design. Hardware available [here](https://ungodly.design/openspa).",
"schema": {
"type": "object",
"properties": {
"manufacturer": {
"type": "string",
"title": "Manufacturer",
"description": "Name of the manufacturer.",
"required": true
},
"platform": {
"type": "string",
"title": "Platform Name",
"description": "Name of the platform.",
"required": true
},
"name": {
"type": "string",
"title": "Sauna System Name",
"description": "Custom name for the sauna system.",
"required": true
},
"serial": {
"type": "string",
"title": "Serial Number",
"description": "Custom serial number for the sauna system.",
"required": true
},
"hasSauna": {
"type": "boolean",
"title": "Enable Sauna",
"description": "Indicates if the sauna functionality is available.",
"default": false
},
"hasSaunaSplitPhase": {
"type": "boolean",
"title": "Sauna Split Phase",
"description": "False for 120V, True for 240V sauna configuration.",
"default": false
},
"hasSteam": {
"type": "boolean",
"title": "Enable Steam",
"description": "Indicates if the steam room functionality is available.",
"default": false
},
"hasSteamI2C": {
"type": "boolean",
"title": "Steam I2C Sensor",
"description": "Indicates if the I2C humidity/temp sensor is available.",
"default": false
},
"hasSteamSplitPhase": {
"type": "boolean",
"title": "Steam Split Phase",
"description": "False for 120V, True for 240V steam configuration.",
"default": false
},
"hasLight": {
"type": "boolean",
"title": "Enable Light Control",
"description": "Indicates if light control is available.",
"default": false
},
"hasFan": {
"type": "boolean",
"title": "Enable Fan Control",
"description": "Indicates if fan control is available.",
"default": false
},
"inverseSaunaDoor": {
"type": "boolean",
"title": "Inverse Sauna Door Logic",
"description": "True if sauna door sensor logic is inverted.",
"default": false
},
"inverseSteamDoor": {
"type": "boolean",
"title": "Inverse Steam Door Logic",
"description": "True if steam door sensor logic is inverted.",
"default": false
},
"temperatureUnitFahrenheit": {
"type": "boolean",
"title": "Temperature Unit Fahrenheit",
"description": "True for Fahrenheit, False for Celsius.",
"default": false
},
"GPIO": {
"type": "object",
"title": "GPIO Pins Configuration",
"properties": {
"saunaPowerPins": {
"type": "array",
"title": "Sauna Power Pins",
"description": "Array of GPIO pins for sauna power control.",
"items": {
"type": "number"
},
"default": []
},
"steamPowerPins": {
"type": "array",
"title": "Steam Power Pins",
"description": "Array of GPIO pins for steam power control.",
"items": {
"type": "number"
},
"default": []
},
"lightPin": {
"type": "number",
"title": "Light Control Pin",
"description": "Optional GPIO pin for light control.",
"default": null
},
"fanPin": {
"type": "number",
"title": "Fan Control Pin",
"description": "Optional GPIO pin for fan control.",
"default": null
},
"saunaDoorPin": {
"type": "number",
"title": "Sauna Door Sensor Pin",
"description": "GPIO pin for sauna door sensor.",
"default": null
},
"steamDoorPin": {
"type": "number",
"title": "Steam Door Sensor Pin",
"description": "GPIO pin for steam door sensor.",
"default": null
}
}
},
"thermistors": {
"type": "array",
"title": "Auxiliary Sensors",
"description": "Array of auxiliary sensors for additional readings.",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"title": "Sensor Name",
"description": "Name or label for the auxiliary sensor.",
"required": true
},
"channel": {
"type": "number",
"title": "ADC Channel",
"description": "ADC channel for the auxiliary sensor.",
"required": true
},
"system": {
"type": "string",
"title": "Associated System",
"description": "System this sensor is associated with.",
"enum": ["sauna", "steam", "controller", null],
"default": null
},
"control": {
"type": "boolean",
"title": "Impact Control",
"description": "Whether this sensor impacts system control.",
"default": false
},
"resistanceAt25C": {
"type": "number",
"title": "Resistance at 25°C",
"description": "NTC resistance in Ohms at 25°C.",
"required": true
},
"bValue": {
"type": "number",
"title": "B Value",
"description": "NTC beta value.",
"required": true
}
}
},
"default": []
},
"saunaOnWhileDoorOpen": {
"type": "boolean",
"title": "Sauna On While Door Open",
"description": "Allows the sauna to be on while the door is open.",
"default": false
},
"steamOnWhileDoorOpen": {
"type": "boolean",
"title": "Steam On While Door Open",
"description": "Allows the steam room to be on while the door is open.",
"default": false
},
"saunaTimeout": {
"type": "number",
"title": "Sauna Timeout",
"description": "Maximum runtime for the sauna in minutes before auto-shutdown.",
"default": 60
},
"steamTimeout": {
"type": "number",
"title": "Steam Timeout",
"description": "Maximum runtime for the steam room in minutes before auto-shutdown.",
"default": 60
},
"controllerSafetyTemperature": {
"type": "number",
"title": "Controller Safety Temperature",
"description": "Safety limit for the controller board temperature in degrees.",
"default": 85
},
"saunaMaxTemperature": {
"type": "number",
"title": "Sauna Maximum Temperature",
"description": "Maximum user-configurable temperature for the sauna in degrees.",
"default": 80
},
"saunaSafetyTemperature": {
"type": "number",
"title": "Sauna Safety Temperature",
"description": "Safety limit for sauna temperature in degrees.",
"default": 100
},
"steamMaxTemperature": {
"type": "number",
"title": "Steam Maximum Temperature",
"description": "Maximum user-configurable temperature for the steam room in degrees.",
"default": 50
},
"steamSafetyTemperature": {
"type": "number",
"title": "Steam Safety Temperature",
"description": "Safety limit for steam room temperature in degrees.",
"default": 60
},
"steamMaxHumidity": {
"type": "number",
"title": "Steam Maximum Humidity",
"description": "Maximum user-configurable humidity for the steam room in percent.",
"default": 95
}
}
}
}