homebridge-dummy 1.4.1-beta.0 → 1.4.1-beta.2

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.
Files changed (55) hide show
  1. package/CHANGELOG.md +9 -4
  2. package/README.md +48 -15
  3. package/config.schema.json +57 -2
  4. package/dist/accessory/base.d.ts +1 -1
  5. package/dist/accessory/group.js +1 -1
  6. package/dist/accessory/group.js.map +1 -1
  7. package/dist/accessory/lock.d.ts +1 -1
  8. package/dist/accessory/lock.js +3 -3
  9. package/dist/accessory/lock.js.map +1 -1
  10. package/dist/accessory/onoff/lightbulb.d.ts +1 -1
  11. package/dist/accessory/onoff/lightbulb.js +4 -4
  12. package/dist/accessory/onoff/lightbulb.js.map +1 -1
  13. package/dist/accessory/onoff/onoff.d.ts +1 -1
  14. package/dist/accessory/onoff/onoff.js +3 -3
  15. package/dist/accessory/onoff/onoff.js.map +1 -1
  16. package/dist/accessory/position/garage.d.ts +2 -2
  17. package/dist/accessory/position/garage.js +2 -2
  18. package/dist/accessory/position/garage.js.map +1 -1
  19. package/dist/accessory/position/position.d.ts +3 -3
  20. package/dist/accessory/position/position.js +4 -4
  21. package/dist/accessory/position/position.js.map +1 -1
  22. package/dist/accessory/thermostat.d.ts +1 -1
  23. package/dist/accessory/thermostat.js +4 -4
  24. package/dist/accessory/thermostat.js.map +1 -1
  25. package/dist/homebridge/platform.js +1 -1
  26. package/dist/homebridge/platform.js.map +1 -1
  27. package/dist/homebridge-ui/public/index.html +1 -1
  28. package/dist/homebridge-ui/public/ui.js +1 -1
  29. package/dist/i18n/de.d.ts +17 -6
  30. package/dist/i18n/de.js +2 -3
  31. package/dist/i18n/de.js.map +1 -1
  32. package/dist/i18n/en.d.ts +15 -3
  33. package/dist/i18n/en.js +15 -3
  34. package/dist/i18n/en.js.map +1 -1
  35. package/dist/i18n/es.d.ts +17 -6
  36. package/dist/i18n/es.js +2 -3
  37. package/dist/i18n/es.js.map +1 -1
  38. package/dist/i18n/i18n.d.ts +15 -3
  39. package/dist/i18n/ru.d.ts +17 -6
  40. package/dist/i18n/ru.js +2 -3
  41. package/dist/i18n/ru.js.map +1 -1
  42. package/dist/i18n/template.d.ts +15 -3
  43. package/dist/model/enums.d.ts +8 -2
  44. package/dist/model/enums.js +16 -10
  45. package/dist/model/enums.js.map +1 -1
  46. package/dist/model/types.d.ts +3 -0
  47. package/dist/model/webhook.d.ts +12 -8
  48. package/dist/model/webhook.js +77 -47
  49. package/dist/model/webhook.js.map +1 -1
  50. package/dist/timeout/schedule.d.ts +3 -0
  51. package/dist/timeout/schedule.js +65 -3
  52. package/dist/timeout/schedule.js.map +1 -1
  53. package/dist/timeout/timeout.d.ts +1 -1
  54. package/dist/timeout/timeout.js.map +1 -1
  55. package/package.json +3 -1
@@ -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
- missing: string;
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
- unregisteredCommand: string;
279
- unsupportedCommand: string;
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
- missing: string;
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
- unregisteredCommand: string;
268
- unsupportedCommand: string;
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
- unregisteredCommand: string;
502
- unsupportedCommand: string;
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
- unregisteredCommand: 'Нет аксессуаров, зарегистрированных для команды вебхука %s. Вы включили «Вебхук» для этого аксессуара?',
239
- unsupportedCommand: 'Команда вебхука %s не поддерживается',
237
+ unregisteredCharacteristic: 'Нет аксессуаров, зарегистрированных для команды вебхука %s. Вы включили «Вебхук» для этого аксессуара?',
238
+ unsupportedCharacteristic: 'Команда вебхука %s не поддерживается',
240
239
  unregisteredId: 'Нет аксессуара, зарегистрированного для вебхуков с id %s. Правильный id указан в JSON-конфиге.',
241
240
  },
242
241
  };
@@ -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":"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"}
@@ -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
- missing: string;
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
- unregisteredCommand: string;
268
- unsupportedCommand: string;
279
+ unregisteredCharacteristic: string;
280
+ unsupportedCharacteristic: string;
269
281
  unregisteredId: string;
270
282
  };
271
283
  };
@@ -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 WebhookCommand {
91
+ export declare enum WebhookCharacteristic {
86
92
  Brightness = "Brightness",
87
93
  LockTargetState = "LockTargetState",
88
94
  On = "On",
@@ -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 WebhookCommand;
122
- (function (WebhookCommand) {
123
- WebhookCommand["Brightness"] = "Brightness";
124
- WebhookCommand["LockTargetState"] = "LockTargetState";
125
- WebhookCommand["On"] = "On";
126
- WebhookCommand["TargetDoorState"] = "TargetDoorState";
127
- WebhookCommand["TargetHeatingCoolingState"] = "TargetHeatingCoolingState";
128
- WebhookCommand["TargetPosition"] = "TargetPosition";
129
- WebhookCommand["TargetTemperature"] = "TargetTemperature";
130
- })(WebhookCommand || (WebhookCommand = {}));
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/model/enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAUX;AAVD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,sDAAqC,CAAA;IACrC,wCAAuB,CAAA;IACvB,gDAA+B,CAAA;IAC/B,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,0CAAyB,CAAA;IACzB,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;AACnC,CAAC,EAVW,aAAa,KAAb,aAAa,QAUxB;AAED,MAAM,CAAN,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,yDAA2C,CAAA;IAC3C,2DAA6C,CAAA;IAC7C,6CAA+B,CAAA;IAC/B,uCAAyB,CAAA;IACzB,2CAA6B,CAAA;IAC7B,iDAAmC,CAAA;IACnC,yCAA2B,CAAA;AAC7B,CAAC,EARW,UAAU,KAAV,UAAU,QAQrB;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAiB;IACjD,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAN,IAAY,oBAQX;AARD,WAAY,oBAAoB;IAC9B,uEAA+C,CAAA;IAC/C,yEAAiD,CAAA;IACjD,iEAAyC,CAAA;IACzC,qDAA6B,CAAA;IAC7B,yDAAiC,CAAA;IACjC,+DAAuC,CAAA;IACvC,uDAA+B,CAAA;AACjC,CAAC,EARW,oBAAoB,KAApB,oBAAoB,QAQ/B;AAED,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,gCAAW,CAAA;IACX,8BAAS,CAAA;AACX,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B;AAED,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,sCAAuB,CAAA;IACvB,0BAAW,CAAA;AACb,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,MAAM,CAAN,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,oBAAS,CAAA;IACT,sBAAW,CAAA;AACb,CAAC,EAHW,OAAO,KAAP,OAAO,QAGlB;AAED,MAAM,UAAU,cAAc,CAAC,KAAe;IAC5C,OAAO,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;AACvB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAiB;IAChD,OAAO,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,6BAAiB,CAAA;AACnB,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,MAAM,UAAU,eAAe,CAAC,KAAgB;IAC9C,OAAO,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAID,MAAM,UAAU,YAAY,CAAC,KAAqB;IAEhD,IAAI,cAAc,CAAC,KAAgB,CAAC,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,eAAe,CAAC,KAAiB,CAAC,EAAE,CAAC;QACvC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,gBAAgB,CAAC,KAAkB,CAAC,EAAE,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAN,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,uCAAa,CAAA;IACb,uCAAa,CAAA;IACb,uCAAa,CAAA;IACb,qCAAW,CAAA;AACb,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAA8B;IACnE,OAAO,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,yBAAW,CAAA;IACX,2BAAa,CAAA;IACb,6BAAe,CAAA;AACjB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAED,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,0CAA6B,CAAA;IAC7B,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,4BAAe,CAAA;AACjB,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAgB;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,qCAAqB,CAAA;IACrB,6BAAa,CAAA;AACf,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,oCAAgB,CAAA;AAClB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAwB;IAC9D,OAAO,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,CAAN,IAAY,cAQX;AARD,WAAY,cAAc;IACxB,2CAAyB,CAAA;IACzB,qDAAmC,CAAA;IACnC,2BAAS,CAAA;IACT,qDAAmC,CAAA;IACnC,yEAAuD,CAAA;IACvD,mDAAiC,CAAA;IACjC,yDAAuC,CAAA;AACzC,CAAC,EARW,cAAc,KAAd,cAAc,QAQzB;AAED,MAAM,UAAU,eAAe,CAAI,CAAqC;IACtE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/model/enums.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,9 @@ export type ScheduleConfig = Assertable & {
27
27
  random?: boolean;
28
28
  cron?: string;
29
29
  cronCustom?: string;
30
+ offset?: number;
31
+ latitude?: number;
32
+ longitude?: number;
30
33
  };
31
34
  export type TimerConfig = Assertable & {
32
35
  delay: number;
@@ -1,14 +1,15 @@
1
1
  import { CharacteristicValue } from 'homebridge';
2
- import { WebhookCommand } from './enums.js';
3
- import { CharacteristicType, DummyConfig } from './types.js';
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 WebhookCallback = (value: CharacteristicValue) => (string);
5
+ type WebhookGetter = () => (CharacteristicValue);
6
+ type WebhookSetter = (value: CharacteristicValue) => (string);
7
7
  export declare class Webhook {
8
8
  readonly id: string;
9
- readonly command: WebhookCommand;
10
- readonly callback: WebhookCallback;
11
- constructor(id: string, command: WebhookCommand, callback: WebhookCallback);
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
- registerAccessory(accessory: DummyAccessory<DummyConfig>): void;
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;
@@ -1,6 +1,6 @@
1
1
  import escape from 'escape-html';
2
2
  import express from 'express';
3
- import { isValidTemperatureUnits, printableValues, TemperatureUnits, WebhookCommand } from './enums.js';
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
- command;
14
- callback;
15
- constructor(id, command, callback) {
13
+ characteristic;
14
+ getter;
15
+ setter;
16
+ constructor(id, characteristic, getter, setter) {
16
17
  this.id = id;
17
- this.command = command;
18
- this.callback = callback;
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 = new Map();
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
- registerAccessory(accessory) {
38
- for (const webhook of accessory.webhooks()) {
39
- let callbacks = this.webhooks.get(webhook.command);
40
- if (callbacks === undefined) {
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.size === 0) {
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', 'command', 'value')) {
79
- const missingValues = ['id', 'command', 'value'].filter((key) => data[key] === undefined);
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
- const command = data.command;
85
- let value = toPrimitive(data.value);
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 (command) {
89
- case WebhookCommand.Brightness: {
107
+ switch (characteristic) {
108
+ case WebhookCharacteristic.Brightness: {
90
109
  validRequest = this.isValueWithinRange(value, 0, 100);
91
- requirements = strings.webhook.validRange.replace('%s', command).replace('%s', '0').replace('%s', '100');
110
+ requirements = strings.webhook.validRange.replace('%s', characteristic).replace('%s', '0').replace('%s', '100');
92
111
  break;
93
112
  }
94
- case WebhookCommand.LockTargetState: {
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', command)} ${validValues}`;
116
+ requirements = `${strings.webhook.validValues.replace('%s', characteristic)} ${validValues}`;
98
117
  break;
99
118
  }
100
- case WebhookCommand.On: {
119
+ case WebhookCharacteristic.On: {
101
120
  validRequest = this.isValidValue(value, [true, false]);
102
- requirements = `${strings.webhook.validValues.replace('%s', command)} true, false`;
121
+ requirements = `${strings.webhook.validValues.replace('%s', characteristic)} true, false`;
103
122
  break;
104
123
  }
105
- case WebhookCommand.TargetHeatingCoolingState: {
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', command)} ${validValues}`;
132
+ requirements = `${strings.webhook.validValues.replace('%s', characteristic)} ${validValues}`;
114
133
  break;
115
134
  }
116
- case WebhookCommand.TargetPosition: {
135
+ case WebhookCharacteristic.TargetPosition: {
117
136
  validRequest = this.isValueWithinRange(value, 0, 100);
118
- requirements = strings.webhook.validRange.replace('%s', command).replace('%s', '0').replace('%s', '100');
137
+ requirements = strings.webhook.validRange.replace('%s', characteristic).replace('%s', '0').replace('%s', '100');
119
138
  break;
120
139
  }
121
- case WebhookCommand.TargetTemperature: {
122
- if (!isValidTemperatureUnits(data.units)) {
140
+ case WebhookCharacteristic.TargetTemperature: {
141
+ if (!isValidTemperatureUnits(temperatureUnits)) {
123
142
  validRequest = false;
124
- requirements = `${strings.webhook.badUnits.replace('%s', command).replace('%s', `'${data.units}'`)} ${printableValues(TemperatureUnits)}`;
143
+ requirements = `${strings.webhook.badUnits.replace('%s', characteristic)
144
+ .replace('%s', `\`${temperatureUnits}\``)} ${printableValues(TemperatureUnits)}`;
125
145
  break;
126
146
  }
127
- const units = data.units ?? TemperatureUnits.CELSIUS;
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', command).replace('%s', `${minTemp}`).replace('%s', `${maxTemp}`);
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.unsupportedCommand.replace('%s', command));
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 callbacks = this.webhooks.get(command);
146
- if (callbacks === undefined) {
147
- this.onBadRequest(response, strings.webhook.unregisteredCommand.replace('%s', command));
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 callback = callbacks.get(id);
151
- if (callback === undefined) {
152
- this.onBadRequest(response, strings.webhook.unregisteredId.replace('%s', `'${id}'`));
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
- const message = callback(value);
156
- response.status(200).send(`{ "success": "${escape(message)}" }\n`);
183
+ if (byCharacteristic.length > 1) {
184
+ throw new Error(`Expected only one webhook for charactersitic/id but got ${byCharacteristic.length}`);
185
+ }
186
+ return byCharacteristic[0];
157
187
  }
158
188
  isValidValue(value, validValues) {
159
189
  if (typeof value === 'boolean' || typeof value === 'number') {