homebridge-dummy 1.4.3 → 1.5.0-beta.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 +14 -4
  2. package/README.md +37 -24
  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,7 +1,7 @@
1
1
  import fs from 'fs';
2
2
  import { strings } from '../i18n/i18n.js';
3
3
  import { LEGACY_ALIAS, PLATFORM_NAME } from '../homebridge/settings.js';
4
- import { AccessoryType, OnState, TimeUnits } from '../model/enums.js';
4
+ import { AccessoryType, OnState, ScheduleType, TimeUnits } from '../model/enums.js';
5
5
  function migrateAccessory(legacyConfig) {
6
6
  const dummyConfig = {
7
7
  id: crypto.randomUUID(),
@@ -19,8 +19,9 @@ function migrateAccessory(legacyConfig) {
19
19
  lightbulbConfig.defaultBrightness = legacyConfig.brightness ?? 0;
20
20
  }
21
21
  if (!legacyConfig.stateful && legacyConfig.time) {
22
- dummyConfig.timer = {
23
- delay: legacyConfig.time,
22
+ dummyConfig.autoReset = {
23
+ type: ScheduleType.TIMEOUT,
24
+ time: legacyConfig.time,
24
25
  units: TimeUnits.MILLISECONDS,
25
26
  random: legacyConfig.random,
26
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"configMigration.js","sourceRoot":"","sources":["../../src/tools/configMigration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configMigration.js","sourceRoot":"","sources":["../../src/tools/configMigration.ts"],"names":[],"mappings":"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"}
@@ -8,10 +8,22 @@ export declare class Storage {
8
8
  static get(identifier: string, key: string): Storable | undefined;
9
9
  static set(identifier: string, key: string, item: Storable | undefined): Promise<void>;
10
10
  }
11
+ /**
12
+ * @deprecated
13
+ */
11
14
  export declare function storageGet_Deprecated(key: string): Promise<Storable | undefined>;
15
+ /**
16
+ * @deprecated
17
+ */
12
18
  export declare class Storage_Deprecated {
13
19
  private static readonly bucket;
20
+ /**
21
+ * @deprecated
22
+ */
14
23
  static init(): Promise<void>;
24
+ /**
25
+ * @deprecated
26
+ */
15
27
  static get(key: string): Storable | undefined;
16
28
  }
17
29
  export {};
@@ -45,11 +45,20 @@ export class Storage {
45
45
  await storage.set(PLATFORM_NAME, storageJson);
46
46
  }
47
47
  }
48
+ /**
49
+ * @deprecated
50
+ */
48
51
  export async function storageGet_Deprecated(key) {
49
52
  return Storage_Deprecated.get(key) ?? await storage.get(key);
50
53
  }
54
+ /**
55
+ * @deprecated
56
+ */
51
57
  export class Storage_Deprecated {
52
58
  static bucket = new Map();
59
+ /**
60
+ * @deprecated
61
+ */
53
62
  static async init() {
54
63
  const bucketJson = await storage.get('Storage.bucket');
55
64
  if (bucketJson === undefined) {
@@ -65,6 +74,9 @@ export class Storage_Deprecated {
65
74
  // ignore
66
75
  }
67
76
  }
77
+ /**
78
+ * @deprecated
79
+ */
68
80
  static get(key) {
69
81
  return Storage_Deprecated.bucket.get(key);
70
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/tools/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/tools/storage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "displayName": "Homebridge Dummy",
5
5
  "description": "Create accessories to help with HomeKit automation and control — scheduling, delays, sensors, commands, conditions, webhooks, and more",
6
6
  "type": "module",
7
- "version": "1.4.3",
7
+ "version": "1.5.0-beta.0",
8
8
  "homepage": "https://github.com/mpatfield/homebridge-dummy#readme",
9
9
  "repository": {
10
10
  "type": "git",
@@ -1,14 +0,0 @@
1
- import { Timeout } from './timeout.js';
2
- import { DummyAddonDependency } from '../accessory/base.js';
3
- import { TimerConfig } from '../model/types.js';
4
- export declare class Timer extends Timeout {
5
- private readonly config;
6
- static new(dependency: DummyAddonDependency, config?: TimerConfig): Timer | undefined;
7
- private expiresTimestamp?;
8
- private constructor();
9
- private storeExpiresTimestamp;
10
- start(callback: () => Promise<void>): number;
11
- reset(): void;
12
- cancel(): void;
13
- teardown(): void;
14
- }
@@ -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":"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"}