homebridge-dummy 1.4.3 → 1.5.0

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 (42) hide show
  1. package/CHANGELOG.md +27 -17
  2. package/README.md +7 -411
  3. package/config.schema.json +60 -80
  4. package/dist/accessory/base.d.ts +3 -3
  5. package/dist/accessory/base.js +13 -13
  6. package/dist/accessory/base.js.map +1 -1
  7. package/dist/accessory/lock.js +2 -2
  8. package/dist/accessory/lock.js.map +1 -1
  9. package/dist/accessory/onoff/lightbulb.d.ts +1 -1
  10. package/dist/accessory/onoff/lightbulb.js +3 -3
  11. package/dist/accessory/onoff/lightbulb.js.map +1 -1
  12. package/dist/accessory/onoff/onoff.js +2 -2
  13. package/dist/accessory/onoff/onoff.js.map +1 -1
  14. package/dist/accessory/position/position.js +2 -2
  15. package/dist/accessory/position/position.js.map +1 -1
  16. package/dist/homebridge-ui/public/index.html +1 -1
  17. package/dist/homebridge-ui/public/ui.js +1 -1
  18. package/dist/i18n/de.d.ts +26 -18
  19. package/dist/i18n/en.d.ts +26 -18
  20. package/dist/i18n/en.js +28 -20
  21. package/dist/i18n/en.js.map +1 -1
  22. package/dist/i18n/es.d.ts +26 -18
  23. package/dist/i18n/i18n.d.ts +26 -18
  24. package/dist/i18n/ru.d.ts +26 -18
  25. package/dist/i18n/template.d.ts +26 -18
  26. package/dist/model/enums.d.ts +1 -0
  27. package/dist/model/enums.js +1 -0
  28. package/dist/model/enums.js.map +1 -1
  29. package/dist/model/types.d.ts +17 -3
  30. package/dist/timeout/schedule.d.ts +11 -3
  31. package/dist/timeout/schedule.js +92 -19
  32. package/dist/timeout/schedule.js.map +1 -1
  33. package/dist/timeout/timeout.d.ts +1 -2
  34. package/dist/tools/configMigration.js +4 -3
  35. package/dist/tools/configMigration.js.map +1 -1
  36. package/dist/tools/storage.d.ts +12 -0
  37. package/dist/tools/storage.js +12 -0
  38. package/dist/tools/storage.js.map +1 -1
  39. package/package.json +1 -1
  40. package/dist/timeout/timer.d.ts +0 -14
  41. package/dist/timeout/timer.js +0 -68
  42. package/dist/timeout/timer.js.map +0 -1
@@ -1,68 +0,0 @@
1
- import { DelayLogStrings, SECOND, Timeout } from './timeout.js';
2
- import { isValidTimeUnits, printableValues, TimeUnits } from '../model/enums.js';
3
- import { strings } from '../i18n/i18n.js';
4
- import { Storage, Storage_Deprecated } from '../tools/storage.js';
5
- import { assert } from '../tools/validation.js';
6
- export class Timer extends Timeout {
7
- config;
8
- static new(dependency, config) {
9
- if (config === undefined || !assert(dependency.log, dependency.caller, config, 'delay', 'units')) {
10
- return;
11
- }
12
- if (!isValidTimeUnits(config.units)) {
13
- dependency.log.error(strings.timer.badUnits, dependency.caller, `'${config.units}'`, printableValues(TimeUnits));
14
- return;
15
- }
16
- return new Timer(dependency, config);
17
- }
18
- expiresTimestamp;
19
- constructor(dependency, config) {
20
- super(dependency);
21
- this.config = config;
22
- const storedTimestamp = Storage.get(dependency.identifier, Timer.name) ?? Storage_Deprecated.get(`${dependency.identifier}:Timer`);
23
- this.expiresTimestamp = storedTimestamp;
24
- }
25
- storeExpiresTimestamp(value) {
26
- Storage.set(this.dependency.identifier, Timer.name, value);
27
- }
28
- start(callback) {
29
- super.reset();
30
- const logStrings = DelayLogStrings(strings.timer.setMilliseconds, strings.timer.setSeconds, strings.timer.setMinutes, strings.timer.setHours);
31
- let delay;
32
- if (this.expiresTimestamp !== undefined) {
33
- const timeRemaining = this.expiresTimestamp - Date.now();
34
- if (timeRemaining > 0) {
35
- delay = timeRemaining;
36
- this.logIfDesired(strings.timer.resume);
37
- }
38
- else {
39
- delay = 0.1 * SECOND;
40
- this.logIfDesired(strings.timer.expired);
41
- }
42
- }
43
- else {
44
- delay = this.getDelay(this.config.delay, this.config.units, this.config.random, logStrings);
45
- this.storeExpiresTimestamp(Date.now() + delay);
46
- }
47
- this.timeout = setTimeout(async () => {
48
- this.reset();
49
- await callback();
50
- }, delay);
51
- return delay;
52
- }
53
- reset() {
54
- this.expiresTimestamp = undefined;
55
- this.storeExpiresTimestamp(undefined);
56
- super.reset();
57
- }
58
- cancel() {
59
- if (this.timeout) {
60
- this.logIfDesired(strings.timer.cancel);
61
- }
62
- super.cancel();
63
- }
64
- teardown() {
65
- super.reset();
66
- }
67
- }
68
- //# sourceMappingURL=timer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timer.js","sourceRoot":"","sources":["../../src/timeout/timer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAIhE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGjF,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,MAAM,OAAO,KAAM,SAAQ,OAAO;IAkBuC;IAhBvE,MAAM,CAAC,GAAG,CAAC,UAAgC,EAAE,MAAoB;QAE/D,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YACjG,OAAO;QACT,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;YACjH,OAAO;QACT,CAAC;QAED,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAEO,gBAAgB,CAAU;IAElC,YAAoB,UAAgC,EAAmB,MAAmB;QACxF,KAAK,CAAC,UAAU,CAAC,CAAC;QADmD,WAAM,GAAN,MAAM,CAAa;QAGxF,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,UAAU,QAAQ,CAAC,CAAC;QACnI,IAAI,CAAC,gBAAgB,GAAG,eAAyB,CAAC;IACpD,CAAC;IAEO,qBAAqB,CAAC,KAAyB;QACrD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,QAA8B;QAEzC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,MAAM,UAAU,GAAG,eAAe,CAChC,OAAO,CAAC,KAAK,CAAC,eAAe,EAC7B,OAAO,CAAC,KAAK,CAAC,UAAU,EACxB,OAAO,CAAC,KAAK,CAAC,UAAU,EACxB,OAAO,CAAC,KAAK,CAAC,QAAQ,CACvB,CAAC;QAEF,IAAI,KAAa,CAAC;QAClB,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAExC,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzD,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,KAAK,GAAG,aAAa,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC;gBACrB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC;QAEH,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC5F,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,QAAQ,EAAE,CAAC;QACnB,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,OAAO,KAAK,CAAC;IACf,CAAC;IAEQ,KAAK;QACZ,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACtC,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAEQ,MAAM;QAEb,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,KAAK,CAAC,MAAM,EAAE,CAAC;IACjB,CAAC;IAEQ,QAAQ;QACf,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;CACF"}