homebridge-dummy 1.4.0 → 1.4.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -3
- package/README.md +48 -15
- package/config.schema.json +57 -2
- package/dist/accessory/base.d.ts +1 -1
- package/dist/accessory/group.js +1 -1
- package/dist/accessory/group.js.map +1 -1
- package/dist/accessory/lock.d.ts +1 -1
- package/dist/accessory/lock.js +3 -3
- package/dist/accessory/lock.js.map +1 -1
- package/dist/accessory/onoff/lightbulb.d.ts +1 -1
- package/dist/accessory/onoff/lightbulb.js +4 -4
- package/dist/accessory/onoff/lightbulb.js.map +1 -1
- package/dist/accessory/onoff/onoff.d.ts +1 -1
- package/dist/accessory/onoff/onoff.js +3 -3
- package/dist/accessory/onoff/onoff.js.map +1 -1
- package/dist/accessory/position/garage.d.ts +2 -2
- package/dist/accessory/position/garage.js +2 -2
- package/dist/accessory/position/garage.js.map +1 -1
- package/dist/accessory/position/position.d.ts +3 -3
- package/dist/accessory/position/position.js +4 -4
- package/dist/accessory/position/position.js.map +1 -1
- package/dist/accessory/thermostat.d.ts +1 -1
- package/dist/accessory/thermostat.js +4 -4
- package/dist/accessory/thermostat.js.map +1 -1
- package/dist/homebridge/platform.js +1 -1
- package/dist/homebridge/platform.js.map +1 -1
- package/dist/homebridge-ui/public/index.html +1 -1
- package/dist/homebridge-ui/public/ui.js +1 -1
- package/dist/i18n/de.d.ts +17 -6
- package/dist/i18n/de.js +2 -3
- package/dist/i18n/de.js.map +1 -1
- package/dist/i18n/en.d.ts +15 -3
- package/dist/i18n/en.js +15 -3
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/es.d.ts +17 -6
- package/dist/i18n/es.js +2 -3
- package/dist/i18n/es.js.map +1 -1
- package/dist/i18n/i18n.d.ts +15 -3
- package/dist/i18n/ru.d.ts +17 -6
- package/dist/i18n/ru.js +2 -3
- package/dist/i18n/ru.js.map +1 -1
- package/dist/i18n/template.d.ts +15 -3
- package/dist/model/enums.d.ts +8 -2
- package/dist/model/enums.js +16 -10
- package/dist/model/enums.js.map +1 -1
- package/dist/model/types.d.ts +3 -0
- package/dist/model/webhook.d.ts +12 -8
- package/dist/model/webhook.js +77 -47
- package/dist/model/webhook.js.map +1 -1
- package/dist/timeout/schedule.d.ts +3 -0
- package/dist/timeout/schedule.js +65 -3
- package/dist/timeout/schedule.js.map +1 -1
- package/package.json +3 -1
package/dist/i18n/i18n.d.ts
CHANGED
|
@@ -74,6 +74,7 @@ declare const translations: {
|
|
|
74
74
|
intervalSeconds: string;
|
|
75
75
|
intervalMinutes: string;
|
|
76
76
|
intervalHours: string;
|
|
77
|
+
sunTime: string;
|
|
77
78
|
};
|
|
78
79
|
thermostat: {
|
|
79
80
|
auto: string;
|
|
@@ -120,10 +121,13 @@ declare const translations: {
|
|
|
120
121
|
cron: string;
|
|
121
122
|
custom: string;
|
|
122
123
|
daily: string;
|
|
124
|
+
dawn: string;
|
|
123
125
|
day: string;
|
|
124
126
|
door: string;
|
|
127
|
+
dusk: string;
|
|
125
128
|
fahrenheit: string;
|
|
126
129
|
garageDoorOpener: string;
|
|
130
|
+
goldenHour: string;
|
|
127
131
|
heat: string;
|
|
128
132
|
hour: string;
|
|
129
133
|
hourly: string;
|
|
@@ -147,10 +151,13 @@ declare const translations: {
|
|
|
147
151
|
milliseconds: string;
|
|
148
152
|
minutes: string;
|
|
149
153
|
motionSensor: string;
|
|
154
|
+
night: string;
|
|
150
155
|
secondly: string;
|
|
151
156
|
seconds: string;
|
|
152
157
|
secured: string;
|
|
153
158
|
smokeSensor: string;
|
|
159
|
+
sunrise: string;
|
|
160
|
+
sunset: string;
|
|
154
161
|
switch: string;
|
|
155
162
|
thermostat: string;
|
|
156
163
|
unsecured: string;
|
|
@@ -199,11 +206,14 @@ declare const translations: {
|
|
|
199
206
|
fadeOut: string;
|
|
200
207
|
groupName: string;
|
|
201
208
|
interval: string;
|
|
209
|
+
latitude: string;
|
|
202
210
|
limit: string;
|
|
203
211
|
limiter: string;
|
|
212
|
+
longitude: string;
|
|
204
213
|
minimumTemperature: string;
|
|
205
214
|
maximumTemperature: string;
|
|
206
215
|
name: string;
|
|
216
|
+
offset: string;
|
|
207
217
|
operator: string;
|
|
208
218
|
pattern: string;
|
|
209
219
|
period: string;
|
|
@@ -267,7 +277,9 @@ declare const translations: {
|
|
|
267
277
|
webhook: {
|
|
268
278
|
badPort: string;
|
|
269
279
|
badUnits: string;
|
|
270
|
-
|
|
280
|
+
missingId: string;
|
|
281
|
+
missingCharacteristic: string;
|
|
282
|
+
missingValue: string;
|
|
271
283
|
received: string;
|
|
272
284
|
register: string;
|
|
273
285
|
started: string;
|
|
@@ -275,8 +287,8 @@ declare const translations: {
|
|
|
275
287
|
stopping: string;
|
|
276
288
|
validRange: string;
|
|
277
289
|
validValues: string;
|
|
278
|
-
|
|
279
|
-
|
|
290
|
+
unregisteredCharacteristic: string;
|
|
291
|
+
unsupportedCharacteristic: string;
|
|
280
292
|
unregisteredId: string;
|
|
281
293
|
};
|
|
282
294
|
};
|
package/dist/i18n/ru.d.ts
CHANGED
|
@@ -63,6 +63,7 @@ declare const ru: {
|
|
|
63
63
|
intervalSeconds: string;
|
|
64
64
|
intervalMinutes: string;
|
|
65
65
|
intervalHours: string;
|
|
66
|
+
sunTime: string;
|
|
66
67
|
};
|
|
67
68
|
thermostat: {
|
|
68
69
|
auto: string;
|
|
@@ -109,10 +110,13 @@ declare const ru: {
|
|
|
109
110
|
cron: string;
|
|
110
111
|
custom: string;
|
|
111
112
|
daily: string;
|
|
113
|
+
dawn: string;
|
|
112
114
|
day: string;
|
|
113
115
|
door: string;
|
|
116
|
+
dusk: string;
|
|
114
117
|
fahrenheit: string;
|
|
115
118
|
garageDoorOpener: string;
|
|
119
|
+
goldenHour: string;
|
|
116
120
|
heat: string;
|
|
117
121
|
hour: string;
|
|
118
122
|
hourly: string;
|
|
@@ -136,10 +140,13 @@ declare const ru: {
|
|
|
136
140
|
milliseconds: string;
|
|
137
141
|
minutes: string;
|
|
138
142
|
motionSensor: string;
|
|
143
|
+
night: string;
|
|
139
144
|
secondly: string;
|
|
140
145
|
seconds: string;
|
|
141
146
|
secured: string;
|
|
142
147
|
smokeSensor: string;
|
|
148
|
+
sunrise: string;
|
|
149
|
+
sunset: string;
|
|
143
150
|
switch: string;
|
|
144
151
|
thermostat: string;
|
|
145
152
|
unsecured: string;
|
|
@@ -188,11 +195,14 @@ declare const ru: {
|
|
|
188
195
|
fadeOut: string;
|
|
189
196
|
groupName: string;
|
|
190
197
|
interval: string;
|
|
198
|
+
latitude: string;
|
|
191
199
|
limit: string;
|
|
192
200
|
limiter: string;
|
|
201
|
+
longitude: string;
|
|
193
202
|
minimumTemperature: string;
|
|
194
203
|
maximumTemperature: string;
|
|
195
204
|
name: string;
|
|
205
|
+
offset: string;
|
|
196
206
|
operator: string;
|
|
197
207
|
pattern: string;
|
|
198
208
|
period: string;
|
|
@@ -256,7 +266,9 @@ declare const ru: {
|
|
|
256
266
|
webhook: {
|
|
257
267
|
badPort: string;
|
|
258
268
|
badUnits: string;
|
|
259
|
-
|
|
269
|
+
missingId: string;
|
|
270
|
+
missingCharacteristic: string;
|
|
271
|
+
missingValue: string;
|
|
260
272
|
received: string;
|
|
261
273
|
register: string;
|
|
262
274
|
started: string;
|
|
@@ -264,8 +276,8 @@ declare const ru: {
|
|
|
264
276
|
stopping: string;
|
|
265
277
|
validRange: string;
|
|
266
278
|
validValues: string;
|
|
267
|
-
|
|
268
|
-
|
|
279
|
+
unregisteredCharacteristic: string;
|
|
280
|
+
unsupportedCharacteristic: string;
|
|
269
281
|
unregisteredId: string;
|
|
270
282
|
};
|
|
271
283
|
} & {
|
|
@@ -490,7 +502,6 @@ declare const ru: {
|
|
|
490
502
|
webhook: {
|
|
491
503
|
badPort: string;
|
|
492
504
|
badUnits: string;
|
|
493
|
-
missing: string;
|
|
494
505
|
received: string;
|
|
495
506
|
register: string;
|
|
496
507
|
started: string;
|
|
@@ -498,8 +509,8 @@ declare const ru: {
|
|
|
498
509
|
stopping: string;
|
|
499
510
|
validRange: string;
|
|
500
511
|
validValues: string;
|
|
501
|
-
|
|
502
|
-
|
|
512
|
+
unregisteredCharacteristic: string;
|
|
513
|
+
unsupportedCharacteristic: string;
|
|
503
514
|
unregisteredId: string;
|
|
504
515
|
};
|
|
505
516
|
};
|
package/dist/i18n/ru.js
CHANGED
|
@@ -227,7 +227,6 @@ const overrides = {
|
|
|
227
227
|
webhook: {
|
|
228
228
|
badPort: 'Порт для сервера вебхуков должен быть числом. Возврат к значению по умолчанию %d',
|
|
229
229
|
badUnits: 'В команде вебхука %s указаны недопустимые единицы температуры %s. Допустимые: ',
|
|
230
|
-
missing: 'В запросе отсутствуют следующие поля:',
|
|
231
230
|
received: 'Команда вебхука получена',
|
|
232
231
|
register: 'Регистрация аксессуара с id %s для команды вебхука %s',
|
|
233
232
|
started: 'Сервер вебхуков слушает порт %s',
|
|
@@ -235,8 +234,8 @@ const overrides = {
|
|
|
235
234
|
stopping: 'Остановка сервера вебхуков…',
|
|
236
235
|
validRange: 'Команда вебхука %s ожидает числовое значение между %s и %s',
|
|
237
236
|
validValues: 'Допустимые значения для команды вебхука %s:',
|
|
238
|
-
|
|
239
|
-
|
|
237
|
+
unregisteredCharacteristic: 'Нет аксессуаров, зарегистрированных для команды вебхука %s. Вы включили «Вебхук» для этого аксессуара?',
|
|
238
|
+
unsupportedCharacteristic: 'Команда вебхука %s не поддерживается',
|
|
240
239
|
unregisteredId: 'Нет аксессуара, зарегистрированного для вебхуков с id %s. Правильный id указан в JSON-конфиге.',
|
|
241
240
|
},
|
|
242
241
|
};
|
package/dist/i18n/ru.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ru.js","sourceRoot":"","sources":["../../src/i18n/ru.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ru.js","sourceRoot":"","sources":["../../src/i18n/ru.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAC;AAEjC,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,SAAS,GAAG;IAEhB,SAAS,EAAE;QACT,YAAY,EAAE,qCAAqC;QACnD,WAAW,EAAE,iCAAiC;QAC9C,eAAe,EAAE,uCAAuC;KACzD;IAED,OAAO,EAAE;QACP,KAAK,EAAE,mCAAmC;QAC1C,QAAQ,EAAE,qBAAqB;KAChC;IAED,SAAS,EAAE;QACT,UAAU,EAAE,mBAAmB;QAC/B,OAAO,EAAE,4BAA4B;KACtC;IAED,OAAO,EAAE;QACP,SAAS,EAAE,qFAAqF;QAChG,QAAQ,EAAE,wDAAwD;QAClE,OAAO,EAAE,sCAAsC;QAC/C,kBAAkB,EAAE,kGAAkG;QACtH,gBAAgB,EAAE,oDAAoD;QACtE,cAAc,EAAE,iDAAiD;QACjE,gBAAgB,EAAE,iDAAiD;QACnE,gBAAgB,EAAE,kDAAkD;KACrE;IAED,IAAI,EAAE;QACJ,UAAU,EAAE,6EAA6E;QACzF,OAAO,EAAE,iBAAiB;QAC1B,SAAS,EAAE,kBAAkB;KAC9B;IAED,KAAK,EAAE;QACL,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,YAAY;KACtB;IAED,QAAQ,EAAE;QACR,UAAU,EAAE,uEAAuE;QACnF,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,WAAW;KAClB;IAED,QAAQ,EAAE;QACR,OAAO,EAAE,+DAA+D;QACxE,QAAQ,EAAE,yEAAyE;QACnF,IAAI,EAAE,sCAAsC;QAC5C,oBAAoB,EAAE,wCAAwC;QAC9D,eAAe,EAAE,mCAAmC;QACpD,eAAe,EAAE,kCAAkC;QACnD,aAAa,EAAE,kCAAkC;KAClD;IAED,UAAU,EAAE;QACV,IAAI,EAAE,4BAA4B;QAClC,UAAU,EAAE,uEAAuE;QACnF,QAAQ,EAAE,0DAA0D;QACpE,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,4BAA4B;QAClC,GAAG,EAAE,2BAA2B;QAChC,YAAY,EAAE,wBAAwB;QACtC,YAAY,EAAE,wBAAwB;QACtC,mBAAmB,EAAE,2CAA2C;KACjE;IAED,KAAK,EAAE;QACL,QAAQ,EAAE,8DAA8D;QACxE,MAAM,EAAE,uBAAuB;QAC/B,OAAO,EAAE,yEAAyE;QAClF,MAAM,EAAE,0BAA0B;QAClC,eAAe,EAAE,2BAA2B;QAC5C,UAAU,EAAE,sBAAsB;QAClC,UAAU,EAAE,qBAAqB;QACjC,QAAQ,EAAE,qBAAqB;KAChC;IAED,MAAM,EAAE;QACN,WAAW,EAAE;YACX,QAAQ,EAAE,oFAAoF;YAC9F,IAAI,EAAE,mCAAmC;YACzC,OAAO,EAAE,gIAAgI;YACzI,MAAM,EAAE,sDAAsD;YAC9D,QAAQ,EAAE,qHAAqH;YAC/H,KAAK,EAAE,uEAAuE;YAC9E,eAAe,EAAE,sFAAsF;SACxG;QAED,SAAS,EAAE;YACT,IAAI,EAAE,MAAM;YACZ,mBAAmB,EAAE,gBAAgB;YACrC,oBAAoB,EAAE,aAAa;YACnC,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,SAAS;YACxB,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,kBAAkB;YAC1B,KAAK,EAAE,WAAW;YAClB,GAAG,EAAE,MAAM;YACX,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,UAAU;YACrB,aAAa,EAAE,OAAO;YACtB,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE,aAAa;YAC9B,GAAG,EAAE,OAAO;YACZ,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;YACjB,YAAY,EAAE,cAAc;YAC5B,OAAO,EAAE,QAAQ;YACjB,YAAY,EAAE,UAAU;YACxB,QAAQ,EAAE,aAAa;YACvB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,eAAe;YACxB,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,aAAa;YACrB,UAAU,EAAE,WAAW;YACvB,SAAS,EAAE,gBAAgB;YAC3B,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,MAAM;YACd,cAAc,EAAE,wBAAwB;YACxC,MAAM,EAAE,UAAU;SACnB;QAED,OAAO,EAAE,wCAAwC;QACjD,iBAAiB,EAAE,uFAAuF;QAC1G,iBAAiB,EAAE,6FAA6F;QAChH,iBAAiB,EAAE,0HAA0H;QAC7I,iBAAiB,EAAE,sCAAsC;QACzD,iBAAiB,EAAE,eAAe;QAClC,2BAA2B,EAAE,gEAAgE;QAC7F,qBAAqB,EAAE,0BAA0B;QACjD,EAAE,EAAE,KAAK;QACT,OAAO,EAAE,8BAA8B;QACvC,QAAQ,EAAE,yBAAyB;QACnC,GAAG,EAAE,IAAI;QAET,KAAK,EAAE;YACL,SAAS,EAAE,WAAW;YACtB,YAAY,EAAE,kBAAkB;YAChC,UAAU,EAAE,eAAe;YAC3B,SAAS,EAAE,cAAc;YACzB,WAAW,EAAE,kBAAkB;YAC/B,WAAW,EAAE,oBAAoB;YACjC,QAAQ,EAAE,SAAS;YACnB,kBAAkB,EAAE,+BAA+B;YACnD,aAAa,EAAE,uBAAuB;YACtC,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,mBAAmB;YAC/B,iBAAiB,EAAE,sBAAsB;YACzC,eAAe,EAAE,wBAAwB;YACzC,YAAY,EAAE,wBAAwB;YACtC,kBAAkB,EAAE,0BAA0B;YAC9C,KAAK,EAAE,UAAU;YACjB,cAAc,EAAE,uBAAuB;YACvC,YAAY,EAAE,iBAAiB;YAC/B,SAAS,EAAE,YAAY;YACvB,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE,aAAa;YACrB,cAAc,EAAE,uBAAuB;YACvC,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,mBAAmB;YAC3B,KAAK,EAAE,oBAAoB;YAC3B,eAAe,EAAE,qCAAqC;YACtD,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,SAAS;SACjB;KACF;IAED,MAAM,EAAE;QACN,OAAO,EAAE,4DAA4D;QAErE,aAAa,EAAE;YACb,MAAM,EAAE,gCAAgC;YACxC,QAAQ,EAAE,wCAAwC;SACnD;QAED,cAAc,EAAE;YACd,MAAM,EAAE,6BAA6B;YACrC,QAAQ,EAAE,qCAAqC;SAChD;QAED,OAAO,EAAE;YACP,MAAM,EAAE,sBAAsB;YAC9B,QAAQ,EAAE,kCAAkC;SAC7C;QAED,IAAI,EAAE;YACJ,MAAM,EAAE,mBAAmB;YAC3B,QAAQ,EAAE,+BAA+B;SAC1C;QAED,MAAM,EAAE;YACN,MAAM,EAAE,uBAAuB;YAC/B,QAAQ,EAAE,mCAAmC;SAC9C;QAED,SAAS,EAAE;YACT,MAAM,EAAE,0BAA0B;YAClC,QAAQ,EAAE,sCAAsC;SACjD;QAED,KAAK,EAAE;YACL,MAAM,EAAE,kBAAkB;YAC1B,QAAQ,EAAE,8BAA8B;SACzC;KACF;IAED,OAAO,EAAE;QACP,eAAe,EAAE,8FAA8F;QAC/G,iBAAiB,EAAE,sCAAsC;QACzD,eAAe,EAAE,wDAAwD;QACzE,eAAe,EAAE,sGAAsG;QACvH,sBAAsB,EAAE,0CAA0C;QAClE,eAAe,EAAE,4FAA4F;QAC7G,YAAY,EAAE,+BAA+B;QAC7C,eAAe,EAAE,sBAAsB;QACvC,kBAAkB,EAAE,4BAA4B;QAChD,aAAa,EAAE,uBAAuB;QACtC,eAAe,EAAE,qCAAqC;QACtD,OAAO,EAAE;YACP,yGAAyG;YACzG,wEAAwE;YACxE,qFAAqF;YACrF,wGAAwG;SACzG;KACF;IAED,OAAO,EAAE;QACP,OAAO,EAAE,kFAAkF;QAC3F,QAAQ,EAAE,gFAAgF;QAC1F,QAAQ,EAAE,0BAA0B;QACpC,QAAQ,EAAE,uDAAuD;QACjE,OAAO,EAAE,iCAAiC;QAC1C,OAAO,EAAE,4BAA4B;QACrC,QAAQ,EAAE,6BAA6B;QACvC,UAAU,EAAE,4DAA4D;QACxE,WAAW,EAAE,6CAA6C;QAC1D,0BAA0B,EAAE,wGAAwG;QACpI,yBAAyB,EAAE,sCAAsC;QACjE,cAAc,EAAE,gGAAgG;KACjH;CACF,CAAC;AAEF,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;AACpC,eAAe,EAAE,CAAC"}
|
package/dist/i18n/template.d.ts
CHANGED
|
@@ -63,6 +63,7 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
|
|
|
63
63
|
intervalSeconds: string;
|
|
64
64
|
intervalMinutes: string;
|
|
65
65
|
intervalHours: string;
|
|
66
|
+
sunTime: string;
|
|
66
67
|
};
|
|
67
68
|
thermostat: {
|
|
68
69
|
auto: string;
|
|
@@ -109,10 +110,13 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
|
|
|
109
110
|
cron: string;
|
|
110
111
|
custom: string;
|
|
111
112
|
daily: string;
|
|
113
|
+
dawn: string;
|
|
112
114
|
day: string;
|
|
113
115
|
door: string;
|
|
116
|
+
dusk: string;
|
|
114
117
|
fahrenheit: string;
|
|
115
118
|
garageDoorOpener: string;
|
|
119
|
+
goldenHour: string;
|
|
116
120
|
heat: string;
|
|
117
121
|
hour: string;
|
|
118
122
|
hourly: string;
|
|
@@ -136,10 +140,13 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
|
|
|
136
140
|
milliseconds: string;
|
|
137
141
|
minutes: string;
|
|
138
142
|
motionSensor: string;
|
|
143
|
+
night: string;
|
|
139
144
|
secondly: string;
|
|
140
145
|
seconds: string;
|
|
141
146
|
secured: string;
|
|
142
147
|
smokeSensor: string;
|
|
148
|
+
sunrise: string;
|
|
149
|
+
sunset: string;
|
|
143
150
|
switch: string;
|
|
144
151
|
thermostat: string;
|
|
145
152
|
unsecured: string;
|
|
@@ -188,11 +195,14 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
|
|
|
188
195
|
fadeOut: string;
|
|
189
196
|
groupName: string;
|
|
190
197
|
interval: string;
|
|
198
|
+
latitude: string;
|
|
191
199
|
limit: string;
|
|
192
200
|
limiter: string;
|
|
201
|
+
longitude: string;
|
|
193
202
|
minimumTemperature: string;
|
|
194
203
|
maximumTemperature: string;
|
|
195
204
|
name: string;
|
|
205
|
+
offset: string;
|
|
196
206
|
operator: string;
|
|
197
207
|
pattern: string;
|
|
198
208
|
period: string;
|
|
@@ -256,7 +266,9 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
|
|
|
256
266
|
webhook: {
|
|
257
267
|
badPort: string;
|
|
258
268
|
badUnits: string;
|
|
259
|
-
|
|
269
|
+
missingId: string;
|
|
270
|
+
missingCharacteristic: string;
|
|
271
|
+
missingValue: string;
|
|
260
272
|
received: string;
|
|
261
273
|
register: string;
|
|
262
274
|
started: string;
|
|
@@ -264,8 +276,8 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
|
|
|
264
276
|
stopping: string;
|
|
265
277
|
validRange: string;
|
|
266
278
|
validValues: string;
|
|
267
|
-
|
|
268
|
-
|
|
279
|
+
unregisteredCharacteristic: string;
|
|
280
|
+
unsupportedCharacteristic: string;
|
|
269
281
|
unregisteredId: string;
|
|
270
282
|
};
|
|
271
283
|
};
|
package/dist/model/enums.d.ts
CHANGED
|
@@ -75,14 +75,20 @@ export declare enum TimeUnits {
|
|
|
75
75
|
export declare function isValidTimeUnits(input: TimeUnits): boolean;
|
|
76
76
|
export declare enum ScheduleType {
|
|
77
77
|
INTERVAL = "INTERVAL",
|
|
78
|
-
CRON = "CRON"
|
|
78
|
+
CRON = "CRON",
|
|
79
|
+
DAWN = "DAWN",
|
|
80
|
+
DUSK = "DUSK",
|
|
81
|
+
GOLDEN_HOUR = "GOLDEN_HOUR",
|
|
82
|
+
NIGHT = "NIGHT",
|
|
83
|
+
SUNRISE = "SUNRISE",
|
|
84
|
+
SUNSET = "SUNSET"
|
|
79
85
|
}
|
|
80
86
|
export declare enum TemperatureUnits {
|
|
81
87
|
CELSIUS = "C",
|
|
82
88
|
FAHRENHEIT = "F"
|
|
83
89
|
}
|
|
84
90
|
export declare function isValidTemperatureUnits(input?: TemperatureUnits): boolean;
|
|
85
|
-
export declare enum
|
|
91
|
+
export declare enum WebhookCharacteristic {
|
|
86
92
|
Brightness = "Brightness",
|
|
87
93
|
LockTargetState = "LockTargetState",
|
|
88
94
|
On = "On",
|
package/dist/model/enums.js
CHANGED
|
@@ -109,6 +109,12 @@ export var ScheduleType;
|
|
|
109
109
|
(function (ScheduleType) {
|
|
110
110
|
ScheduleType["INTERVAL"] = "INTERVAL";
|
|
111
111
|
ScheduleType["CRON"] = "CRON";
|
|
112
|
+
ScheduleType["DAWN"] = "DAWN";
|
|
113
|
+
ScheduleType["DUSK"] = "DUSK";
|
|
114
|
+
ScheduleType["GOLDEN_HOUR"] = "GOLDEN_HOUR";
|
|
115
|
+
ScheduleType["NIGHT"] = "NIGHT";
|
|
116
|
+
ScheduleType["SUNRISE"] = "SUNRISE";
|
|
117
|
+
ScheduleType["SUNSET"] = "SUNSET";
|
|
112
118
|
})(ScheduleType || (ScheduleType = {}));
|
|
113
119
|
export var TemperatureUnits;
|
|
114
120
|
(function (TemperatureUnits) {
|
|
@@ -118,16 +124,16 @@ export var TemperatureUnits;
|
|
|
118
124
|
export function isValidTemperatureUnits(input) {
|
|
119
125
|
return input === undefined || Object.values(TemperatureUnits).includes(input);
|
|
120
126
|
}
|
|
121
|
-
export var
|
|
122
|
-
(function (
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
})(
|
|
127
|
+
export var WebhookCharacteristic;
|
|
128
|
+
(function (WebhookCharacteristic) {
|
|
129
|
+
WebhookCharacteristic["Brightness"] = "Brightness";
|
|
130
|
+
WebhookCharacteristic["LockTargetState"] = "LockTargetState";
|
|
131
|
+
WebhookCharacteristic["On"] = "On";
|
|
132
|
+
WebhookCharacteristic["TargetDoorState"] = "TargetDoorState";
|
|
133
|
+
WebhookCharacteristic["TargetHeatingCoolingState"] = "TargetHeatingCoolingState";
|
|
134
|
+
WebhookCharacteristic["TargetPosition"] = "TargetPosition";
|
|
135
|
+
WebhookCharacteristic["TargetTemperature"] = "TargetTemperature";
|
|
136
|
+
})(WebhookCharacteristic || (WebhookCharacteristic = {}));
|
|
131
137
|
export function printableValues(o) {
|
|
132
138
|
return Object.values(o).map(value => `'${value}'`).join(', ');
|
|
133
139
|
}
|
package/dist/model/enums.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/model/enums.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/model/enums.ts"],"names":[],"mappings":"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"}
|
package/dist/model/types.d.ts
CHANGED
package/dist/model/webhook.d.ts
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { CharacteristicValue } from 'homebridge';
|
|
2
|
-
import {
|
|
3
|
-
import { CharacteristicType
|
|
4
|
-
import { DummyAccessory } from '../accessory/base.js';
|
|
2
|
+
import { WebhookCharacteristic } from './enums.js';
|
|
3
|
+
import { CharacteristicType } from './types.js';
|
|
5
4
|
import { Log } from '../tools/log.js';
|
|
6
|
-
type
|
|
5
|
+
type WebhookGetter = () => (CharacteristicValue);
|
|
6
|
+
type WebhookSetter = (value: CharacteristicValue) => (string);
|
|
7
7
|
export declare class Webhook {
|
|
8
8
|
readonly id: string;
|
|
9
|
-
readonly
|
|
10
|
-
readonly
|
|
11
|
-
|
|
9
|
+
readonly characteristic: WebhookCharacteristic;
|
|
10
|
+
readonly getter: WebhookGetter;
|
|
11
|
+
readonly setter: WebhookSetter;
|
|
12
|
+
constructor(id: string, characteristic: WebhookCharacteristic, getter: WebhookGetter, setter: WebhookSetter);
|
|
12
13
|
}
|
|
13
14
|
export declare class WebhookManager {
|
|
14
15
|
private readonly Characteristic;
|
|
@@ -17,10 +18,13 @@ export declare class WebhookManager {
|
|
|
17
18
|
private server;
|
|
18
19
|
private readonly webhooks;
|
|
19
20
|
constructor(Characteristic: CharacteristicType, log: Log, port: number | undefined);
|
|
20
|
-
|
|
21
|
+
registerWebhooks(webhooks: Webhook[]): void;
|
|
21
22
|
startServer(): void;
|
|
22
23
|
teardown(): void;
|
|
23
24
|
private requestHandler;
|
|
25
|
+
private getValue;
|
|
26
|
+
private setValue;
|
|
27
|
+
private getWebhook;
|
|
24
28
|
private isValidValue;
|
|
25
29
|
private isValueWithinRange;
|
|
26
30
|
private onBadRequest;
|
package/dist/model/webhook.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import escape from 'escape-html';
|
|
2
2
|
import express from 'express';
|
|
3
|
-
import { isValidTemperatureUnits, printableValues, TemperatureUnits,
|
|
3
|
+
import { isValidTemperatureUnits, printableValues, TemperatureUnits, WebhookCharacteristic } from './enums.js';
|
|
4
4
|
import { strings } from '../i18n/i18n.js';
|
|
5
5
|
import { toPrimitive } from '../tools/primitive.js';
|
|
6
6
|
import { fromCelsius, toCelsius } from '../tools/temperature.js';
|
|
@@ -10,12 +10,14 @@ const MINIMUM_TEMPERATURE = 10;
|
|
|
10
10
|
const MAXIMUM_TEMPERATURE = 38;
|
|
11
11
|
export class Webhook {
|
|
12
12
|
id;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
characteristic;
|
|
14
|
+
getter;
|
|
15
|
+
setter;
|
|
16
|
+
constructor(id, characteristic, getter, setter) {
|
|
16
17
|
this.id = id;
|
|
17
|
-
this.
|
|
18
|
-
this.
|
|
18
|
+
this.characteristic = characteristic;
|
|
19
|
+
this.getter = getter;
|
|
20
|
+
this.setter = setter;
|
|
19
21
|
}
|
|
20
22
|
}
|
|
21
23
|
export class WebhookManager {
|
|
@@ -23,7 +25,7 @@ export class WebhookManager {
|
|
|
23
25
|
log;
|
|
24
26
|
port;
|
|
25
27
|
server = undefined;
|
|
26
|
-
webhooks =
|
|
28
|
+
webhooks = [];
|
|
27
29
|
constructor(Characteristic, log, port) {
|
|
28
30
|
this.Characteristic = Characteristic;
|
|
29
31
|
this.log = log;
|
|
@@ -34,22 +36,17 @@ export class WebhookManager {
|
|
|
34
36
|
this.port = DEFAULT_PORT;
|
|
35
37
|
}
|
|
36
38
|
}
|
|
37
|
-
|
|
38
|
-
for (const webhook of
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
callbacks = new Map();
|
|
42
|
-
this.webhooks.set(webhook.command, callbacks);
|
|
43
|
-
}
|
|
44
|
-
callbacks.set(webhook.id, webhook.callback);
|
|
45
|
-
this.log.ifVerbose(strings.webhook.register, `'${webhook.id}'`, `'${webhook.command}'`);
|
|
39
|
+
registerWebhooks(webhooks) {
|
|
40
|
+
for (const webhook of webhooks) {
|
|
41
|
+
this.webhooks.push(webhook);
|
|
42
|
+
this.log.ifVerbose(strings.webhook.register, `\`${webhook.id}\``, `\`${webhook.characteristic}\``);
|
|
46
43
|
}
|
|
47
44
|
}
|
|
48
45
|
startServer() {
|
|
49
46
|
if (this.server !== undefined) {
|
|
50
47
|
throw new Error('Trying to start webhook server when it is already running');
|
|
51
48
|
}
|
|
52
|
-
if (this.webhooks.
|
|
49
|
+
if (this.webhooks.length === 0) {
|
|
53
50
|
return;
|
|
54
51
|
}
|
|
55
52
|
const exp = express();
|
|
@@ -75,34 +72,56 @@ export class WebhookManager {
|
|
|
75
72
|
requestHandler(request, response) {
|
|
76
73
|
const data = { ...request.query, ...request.body };
|
|
77
74
|
this.log.ifVerbose(`${strings.webhook.received}\n${JSON.stringify(data)}`);
|
|
78
|
-
if (!assert(this.log, 'Webhook', data, 'id'
|
|
79
|
-
|
|
80
|
-
this.onBadRequest(response, `${strings.webhook.missing} ${missingValues.join(', ')}`, false);
|
|
75
|
+
if (!assert(this.log, 'Webhook', data, 'id')) {
|
|
76
|
+
this.onBadRequest(response, strings.webhook.missingId, false);
|
|
81
77
|
return;
|
|
82
78
|
}
|
|
83
79
|
const id = data.id;
|
|
84
|
-
|
|
85
|
-
|
|
80
|
+
if (data.get !== undefined) {
|
|
81
|
+
this.getValue(response, id, data.get);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const characteristic = data.set ?? data.command;
|
|
85
|
+
if (characteristic === undefined) {
|
|
86
|
+
this.onBadRequest(response, strings.webhook.missingCharacteristic);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
if (!assert(this.log, 'Webhook', data, 'value')) {
|
|
90
|
+
this.onBadRequest(response, strings.webhook.missingValue, false);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const value = toPrimitive(data.value);
|
|
94
|
+
this.setValue(response, id, characteristic, value, data.units);
|
|
95
|
+
}
|
|
96
|
+
getValue(response, id, characteristic) {
|
|
97
|
+
const webhook = this.getWebhook(response, id, characteristic);
|
|
98
|
+
if (webhook === undefined) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const value = webhook.getter();
|
|
102
|
+
response.status(200).send(`{ "value": ${value} }\n`);
|
|
103
|
+
}
|
|
104
|
+
setValue(response, id, characteristic, value, temperatureUnits) {
|
|
86
105
|
let validRequest;
|
|
87
106
|
let requirements;
|
|
88
|
-
switch (
|
|
89
|
-
case
|
|
107
|
+
switch (characteristic) {
|
|
108
|
+
case WebhookCharacteristic.Brightness: {
|
|
90
109
|
validRequest = this.isValueWithinRange(value, 0, 100);
|
|
91
|
-
requirements = strings.webhook.validRange.replace('%s',
|
|
110
|
+
requirements = strings.webhook.validRange.replace('%s', characteristic).replace('%s', '0').replace('%s', '100');
|
|
92
111
|
break;
|
|
93
112
|
}
|
|
94
|
-
case
|
|
113
|
+
case WebhookCharacteristic.LockTargetState: {
|
|
95
114
|
validRequest = this.isValidValue(value, [this.Characteristic.LockTargetState.UNSECURED, this.Characteristic.LockTargetState.SECURED]);
|
|
96
115
|
const validValues = '0 (UNSECURED), 1 (SECURED)';
|
|
97
|
-
requirements = `${strings.webhook.validValues.replace('%s',
|
|
116
|
+
requirements = `${strings.webhook.validValues.replace('%s', characteristic)} ${validValues}`;
|
|
98
117
|
break;
|
|
99
118
|
}
|
|
100
|
-
case
|
|
119
|
+
case WebhookCharacteristic.On: {
|
|
101
120
|
validRequest = this.isValidValue(value, [true, false]);
|
|
102
|
-
requirements = `${strings.webhook.validValues.replace('%s',
|
|
121
|
+
requirements = `${strings.webhook.validValues.replace('%s', characteristic)} true, false`;
|
|
103
122
|
break;
|
|
104
123
|
}
|
|
105
|
-
case
|
|
124
|
+
case WebhookCharacteristic.TargetHeatingCoolingState: {
|
|
106
125
|
validRequest = this.isValidValue(value, [
|
|
107
126
|
this.Characteristic.TargetHeatingCoolingState.OFF,
|
|
108
127
|
this.Characteristic.TargetHeatingCoolingState.HEAT,
|
|
@@ -110,50 +129,61 @@ export class WebhookManager {
|
|
|
110
129
|
this.Characteristic.TargetHeatingCoolingState.AUTO,
|
|
111
130
|
]);
|
|
112
131
|
const validValues = '0 (OFF), 1 (HEAT), 2 (COOL), 3 (AUTO)';
|
|
113
|
-
requirements = `${strings.webhook.validValues.replace('%s',
|
|
132
|
+
requirements = `${strings.webhook.validValues.replace('%s', characteristic)} ${validValues}`;
|
|
114
133
|
break;
|
|
115
134
|
}
|
|
116
|
-
case
|
|
135
|
+
case WebhookCharacteristic.TargetPosition: {
|
|
117
136
|
validRequest = this.isValueWithinRange(value, 0, 100);
|
|
118
|
-
requirements = strings.webhook.validRange.replace('%s',
|
|
137
|
+
requirements = strings.webhook.validRange.replace('%s', characteristic).replace('%s', '0').replace('%s', '100');
|
|
119
138
|
break;
|
|
120
139
|
}
|
|
121
|
-
case
|
|
122
|
-
if (!isValidTemperatureUnits(
|
|
140
|
+
case WebhookCharacteristic.TargetTemperature: {
|
|
141
|
+
if (!isValidTemperatureUnits(temperatureUnits)) {
|
|
123
142
|
validRequest = false;
|
|
124
|
-
requirements = `${strings.webhook.badUnits.replace('%s',
|
|
143
|
+
requirements = `${strings.webhook.badUnits.replace('%s', characteristic)
|
|
144
|
+
.replace('%s', `\`${temperatureUnits}\``)} ${printableValues(TemperatureUnits)}`;
|
|
125
145
|
break;
|
|
126
146
|
}
|
|
127
|
-
const units =
|
|
147
|
+
const units = temperatureUnits ?? TemperatureUnits.CELSIUS;
|
|
128
148
|
const minTemp = fromCelsius(MINIMUM_TEMPERATURE, units);
|
|
129
149
|
const maxTemp = fromCelsius(MAXIMUM_TEMPERATURE, units);
|
|
130
150
|
validRequest = this.isValueWithinRange(value, minTemp, maxTemp);
|
|
131
|
-
requirements = strings.webhook.validRange.replace('%s',
|
|
151
|
+
requirements = strings.webhook.validRange.replace('%s', characteristic).replace('%s', `${minTemp}`).replace('%s', `${maxTemp}`);
|
|
132
152
|
if (validRequest) {
|
|
133
153
|
value = toCelsius(value, units);
|
|
134
154
|
}
|
|
135
155
|
break;
|
|
136
156
|
}
|
|
137
157
|
default:
|
|
138
|
-
this.onBadRequest(response, strings.webhook.
|
|
158
|
+
this.onBadRequest(response, strings.webhook.unsupportedCharacteristic.replace('%s', characteristic));
|
|
139
159
|
return;
|
|
140
160
|
}
|
|
141
161
|
if (!validRequest) {
|
|
142
162
|
this.onBadRequest(response, requirements);
|
|
143
163
|
return;
|
|
144
164
|
}
|
|
145
|
-
const
|
|
146
|
-
if (
|
|
147
|
-
|
|
165
|
+
const webhook = this.getWebhook(response, id, characteristic);
|
|
166
|
+
if (webhook === undefined) {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
const message = webhook.setter(value);
|
|
170
|
+
response.status(200).send(`{ "success": "${escape(message)}" }\n`);
|
|
171
|
+
}
|
|
172
|
+
getWebhook(response, id, characteristic) {
|
|
173
|
+
const byId = this.webhooks.filter((webhook) => webhook.id === id);
|
|
174
|
+
if (byId.length === 0) {
|
|
175
|
+
this.onBadRequest(response, strings.webhook.unregisteredId.replace('%s', `\`${id}\``));
|
|
148
176
|
return;
|
|
149
177
|
}
|
|
150
|
-
const
|
|
151
|
-
if (
|
|
152
|
-
this.onBadRequest(response, strings.webhook.
|
|
178
|
+
const byCharacteristic = byId.filter((webhook) => webhook.characteristic === characteristic);
|
|
179
|
+
if (byCharacteristic.length === 0) {
|
|
180
|
+
this.onBadRequest(response, strings.webhook.unregisteredCharacteristic.replace('%s', characteristic));
|
|
153
181
|
return;
|
|
154
182
|
}
|
|
155
|
-
|
|
156
|
-
|
|
183
|
+
if (byId.length > 1) {
|
|
184
|
+
throw new Error(`Expected only one webhook for charactersitic/id but got ${byId.length}`);
|
|
185
|
+
}
|
|
186
|
+
return byId[0];
|
|
157
187
|
}
|
|
158
188
|
isValidValue(value, validValues) {
|
|
159
189
|
if (typeof value === 'boolean' || typeof value === 'number') {
|