homebridge-dummy 1.1.0-beta.1 → 1.1.0-beta.3

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.
@@ -0,0 +1,28 @@
1
+ import { CharacteristicValue, PlatformAccessory } from 'homebridge';
2
+ import { DummyAccessory } from './base.js';
3
+ import { AccessoryType, CharacteristicType, ServiceType, ThermostatConfig } from '../model/types.js';
4
+ import { Log } from '../tools/log.js';
5
+ export declare class ThermostatAccessory extends DummyAccessory<ThermostatConfig> {
6
+ private readonly STATE_AUTO;
7
+ private readonly STATE_COOL;
8
+ private readonly STATE_HEAT;
9
+ private readonly STATE_OFF;
10
+ private state;
11
+ private temperature;
12
+ constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: ThermostatConfig, log: Log, persistPath: string, isGrouped: boolean);
13
+ private initializeThermostat;
14
+ private get defaulTemperatureStorageKey();
15
+ protected getAccessoryType(): AccessoryType;
16
+ private get defaultState();
17
+ private get defaultTemperature();
18
+ private getUnits;
19
+ protected getCurrentState(): Promise<CharacteristicValue>;
20
+ private getState;
21
+ private setState;
22
+ private getTemperature;
23
+ private setTemperature;
24
+ trigger(): Promise<void>;
25
+ reset(): Promise<void>;
26
+ protected logState(value: CharacteristicValue): void;
27
+ protected logTemperature(value: CharacteristicValue): void;
28
+ }
@@ -0,0 +1,147 @@
1
+ import { DummyAccessory } from './base.js';
2
+ import { strings } from '../i18n/i18n.js';
3
+ import { AccessoryType, DefaultThermostatState, TemperatureUnits } from '../model/types.js';
4
+ import { STORAGE_KEY_SUFFIX_DEFAULT_TEMPERATURE, storageGet, storageSet } from '../tools/storage.js';
5
+ import { toCelsius } from '../tools/temperature.js';
6
+ const DEFAULT_TEMPERATURE = 20;
7
+ export class ThermostatAccessory extends DummyAccessory {
8
+ STATE_AUTO;
9
+ STATE_COOL;
10
+ STATE_HEAT;
11
+ STATE_OFF;
12
+ state;
13
+ temperature;
14
+ constructor(Service, Characteristic, accessory, config, log, persistPath, isGrouped) {
15
+ super(Service, Characteristic, accessory, config, log, persistPath, isGrouped);
16
+ this.STATE_AUTO = Characteristic.TargetHeatingCoolingState.AUTO;
17
+ this.STATE_COOL = Characteristic.TargetHeatingCoolingState.COOL;
18
+ this.STATE_HEAT = Characteristic.TargetHeatingCoolingState.HEAT;
19
+ this.STATE_OFF = Characteristic.TargetHeatingCoolingState.OFF;
20
+ this.state = this.defaultState;
21
+ this.temperature = this.defaultTemperature;
22
+ this.accessoryService.getCharacteristic(this.Characteristic.TemperatureDisplayUnits)
23
+ .onGet(this.getUnits.bind(this));
24
+ this.accessoryService.getCharacteristic(this.Characteristic.CurrentHeatingCoolingState)
25
+ .onGet(this.getCurrentState.bind(this));
26
+ this.accessoryService.getCharacteristic(this.Characteristic.TargetHeatingCoolingState)
27
+ .setProps({
28
+ minStep: 1,
29
+ validValues: [
30
+ this.STATE_OFF,
31
+ this.STATE_HEAT,
32
+ this.STATE_COOL,
33
+ this.STATE_AUTO,
34
+ ],
35
+ })
36
+ .onGet(this.getState.bind(this))
37
+ .onSet(this.setState.bind(this));
38
+ this.accessoryService.getCharacteristic(this.Characteristic.CurrentTemperature)
39
+ .onGet(this.getTemperature.bind(this));
40
+ this.accessoryService.getCharacteristic(this.Characteristic.TargetTemperature)
41
+ .onGet(this.getTemperature.bind(this))
42
+ .onSet(this.setTemperature.bind(this));
43
+ this.initializeThermostat();
44
+ }
45
+ async initializeThermostat() {
46
+ if (this.isStateful) {
47
+ this.state = await storageGet(this.persistPath, this.defaultStateStorageKey) ?? this.state;
48
+ this.temperature = await storageGet(this.persistPath, this.defaulTemperatureStorageKey) ?? this.temperature;
49
+ }
50
+ this.accessoryService.updateCharacteristic(this.Characteristic.TargetHeatingCoolingState, this.state);
51
+ this.accessoryService.updateCharacteristic(this.Characteristic.TargetTemperature, this.temperature);
52
+ this.accessoryService.updateCharacteristic(this.Characteristic.CurrentTemperature, this.temperature);
53
+ }
54
+ get defaulTemperatureStorageKey() {
55
+ return `${this.identifier}:${STORAGE_KEY_SUFFIX_DEFAULT_TEMPERATURE}`;
56
+ }
57
+ getAccessoryType() {
58
+ return AccessoryType.Thermostat;
59
+ }
60
+ get defaultState() {
61
+ switch (this.config.defaultThermostatState) {
62
+ case DefaultThermostatState.AUTO:
63
+ return this.STATE_AUTO;
64
+ case DefaultThermostatState.COOL:
65
+ return this.STATE_COOL;
66
+ case DefaultThermostatState.HEAT:
67
+ return this.STATE_HEAT;
68
+ }
69
+ return this.STATE_OFF;
70
+ }
71
+ get defaultTemperature() {
72
+ return this.config.defaultTemperature ? toCelsius(this.config.defaultTemperature, this.config.temperatureUnits) : DEFAULT_TEMPERATURE;
73
+ }
74
+ async getUnits() {
75
+ return this.config.temperatureUnits === TemperatureUnits.FAHRENHEIT ?
76
+ this.Characteristic.TemperatureDisplayUnits.FAHRENHEIT : this.Characteristic.TemperatureDisplayUnits.CELSIUS;
77
+ }
78
+ async getCurrentState() {
79
+ return this.Characteristic.CurrentHeatingCoolingState.OFF;
80
+ }
81
+ async getState() {
82
+ return this.state;
83
+ }
84
+ async setState(value) {
85
+ if (this.state !== value) {
86
+ this.logState(value);
87
+ if (this.config.commandOff && value === this.STATE_OFF) {
88
+ this.executeCommand(this.config.commandOff);
89
+ }
90
+ else if (this.config.commandOn && this.state === this.STATE_OFF && value !== this.STATE_OFF) {
91
+ this.executeCommand(this.config.commandOn);
92
+ }
93
+ }
94
+ this.state = value;
95
+ if (this.isStateful) {
96
+ await storageSet(this.persistPath, this.defaultStateStorageKey, this.state);
97
+ }
98
+ this.accessoryService.updateCharacteristic(this.Characteristic.TargetHeatingCoolingState, this.state);
99
+ }
100
+ async getTemperature() {
101
+ return this.temperature;
102
+ }
103
+ async setTemperature(value) {
104
+ if (this.temperature !== value) {
105
+ this.logTemperature(value);
106
+ if (this.config.commandTemperature) {
107
+ this.executeCommand(this.config.commandTemperature);
108
+ }
109
+ }
110
+ this.temperature = value;
111
+ if (this.isStateful) {
112
+ await storageSet(this.persistPath, this.defaulTemperatureStorageKey, this.temperature);
113
+ }
114
+ this.accessoryService.updateCharacteristic(this.Characteristic.TargetTemperature, this.temperature);
115
+ this.accessoryService.updateCharacteristic(this.Characteristic.CurrentTemperature, this.temperature);
116
+ }
117
+ async trigger() {
118
+ throw new Error(strings.accessory.thermostat.unsupportedFunction.replace('%s', `${this.trigger.name}()`));
119
+ }
120
+ async reset() {
121
+ throw new Error(strings.accessory.thermostat.unsupportedFunction.replace('%s', `${this.reset.name}()`));
122
+ }
123
+ logState(value) {
124
+ let message;
125
+ switch (value) {
126
+ case this.STATE_AUTO:
127
+ message = strings.accessory.thermostat.auto;
128
+ break;
129
+ case this.STATE_COOL:
130
+ message = strings.accessory.thermostat.cool;
131
+ break;
132
+ case this.STATE_HEAT:
133
+ message = strings.accessory.thermostat.heat;
134
+ break;
135
+ default:
136
+ message = strings.accessory.thermostat.off;
137
+ }
138
+ this.logIfDesired(message, this.config.name);
139
+ }
140
+ logTemperature(value) {
141
+ const message = this.config.temperatureUnits === TemperatureUnits.FAHRENHEIT ?
142
+ strings.accessory.thermostat.temperatureF : strings.accessory.thermostat.temperatureC;
143
+ const temperature = typeof value === 'number' ? Math.round(value) : value.toString();
144
+ this.logIfDesired(message, this.config.name, temperature);
145
+ }
146
+ }
147
+ //# sourceMappingURL=thermostat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thermostat.js","sourceRoot":"","sources":["../../src/accessory/thermostat.ts"],"names":[],"mappings":"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"}
@@ -43,4 +43,4 @@
43
43
  <em><p i18n="migrationDetails5" i18n_replace="migration"></p></em></br>
44
44
  </div>
45
45
 
46
- <script src="ui.js?v=1.1.0-beta.1"></script>
46
+ <script src="ui.js?v=1.1.0-beta.3"></script>
package/dist/i18n/en.d.ts CHANGED
@@ -22,15 +22,26 @@ declare const en: {
22
22
  closed: string;
23
23
  open: string;
24
24
  };
25
+ thermostat: {
26
+ auto: string;
27
+ cool: string;
28
+ heat: string;
29
+ off: string;
30
+ temperatureC: string;
31
+ temperatureF: string;
32
+ unsupportedFunction: string;
33
+ };
25
34
  timer: {
26
35
  cancel: string;
27
36
  reset: string;
37
+ setMilliseconds: string;
28
38
  setSeconds: string;
29
39
  setMinutes: string;
30
40
  setHours: string;
31
41
  };
32
42
  trigger: {
33
43
  cron: string;
44
+ intervalMilliseconds: string;
34
45
  intervalSeconds: string;
35
46
  intervalMinutes: string;
36
47
  intervalHours: string;
@@ -57,12 +68,17 @@ declare const en: {
57
68
  trigger: string;
58
69
  };
59
70
  enumNames: {
71
+ auto: string;
60
72
  carbonDioxideSensor: string;
61
73
  carbonMonoxideSensor: string;
74
+ celsius: string;
62
75
  closed: string;
63
76
  contactSensor: string;
77
+ cool: string;
64
78
  cron: string;
65
79
  door: string;
80
+ fahrenheit: string;
81
+ heat: string;
66
82
  hours: string;
67
83
  interval: string;
68
84
  leakSensor: string;
@@ -73,12 +89,14 @@ declare const en: {
73
89
  on: string;
74
90
  open: string;
75
91
  outlet: string;
92
+ milliseconds: string;
76
93
  minutes: string;
77
94
  motionSensor: string;
78
95
  seconds: string;
79
96
  secured: string;
80
97
  smokeSensor: string;
81
98
  switch: string;
99
+ thermostat: string;
82
100
  unsecured: string;
83
101
  window: string;
84
102
  windowCovering: string;
@@ -92,10 +110,12 @@ declare const en: {
92
110
  commandOpen: string;
93
111
  commandLock: string;
94
112
  commandUnlock: string;
113
+ commandTemperature: string;
95
114
  cron: string;
96
115
  defaultBrightness: string;
97
116
  defaultPosition: string;
98
117
  defaultState: string;
118
+ defaultTemperature: string;
99
119
  delay: string;
100
120
  disableLogging: string;
101
121
  groupName: string;
package/dist/i18n/en.js CHANGED
@@ -22,15 +22,26 @@ const en = {
22
22
  closed: '%s is closed', // accessory name
23
23
  open: '%s is open', // accessory name
24
24
  },
25
+ thermostat: {
26
+ auto: '%s set to Auto', // accessory name
27
+ cool: '%s set to Cool', // accessory name
28
+ heat: '%s set to Heat', // accessory name
29
+ off: '%s set to Off', // accessory name
30
+ temperatureC: '%s set to %s°C', // accessory name
31
+ temperatureF: '%s set to %s°F', // accessory name
32
+ unsupportedFunction: '%s is unsupported for thermostats', // function name
33
+ },
25
34
  timer: {
26
35
  cancel: 'Cancelled the timer for %s', // accessory name
27
36
  reset: 'Reset the timer for %s', // accessory name
37
+ setMilliseconds: '%s is waiting %s milliseconds', // accessory name, number
28
38
  setSeconds: '%s is waiting %s seconds', // accessory name, number
29
39
  setMinutes: '%s is waiting %s minutes', // accessory name, number
30
40
  setHours: '%s is waiting %s hours', // accessory name, number
31
41
  },
32
42
  trigger: {
33
43
  cron: '%s starting trigger cronjob', // accessory name
44
+ intervalMilliseconds: '%s will trigger in %s milliseconds', // accessory name, number
34
45
  intervalSeconds: '%s will trigger in %s seconds', // accessory name, number
35
46
  intervalMinutes: '%s will trigger in %s minutes', // accessory name, number
36
47
  intervalHours: '%s will trigger in %s hours', // accessory name, number
@@ -57,12 +68,17 @@ const en = {
57
68
  trigger: 'Set the accessory to its opposite (non-default) value at specified interval or times',
58
69
  },
59
70
  enumNames: {
71
+ auto: 'Auto',
60
72
  carbonDioxideSensor: 'Carbon Dioxide',
61
73
  carbonMonoxideSensor: 'Carbon Monoxide',
74
+ celsius: '°C',
62
75
  closed: 'Closed',
63
76
  contactSensor: 'Contact',
77
+ cool: 'Cool',
64
78
  cron: 'Cron',
65
79
  door: 'Door',
80
+ fahrenheit: '°F',
81
+ heat: 'Heat',
66
82
  hours: 'Hours',
67
83
  interval: 'Interval',
68
84
  leakSensor: 'Leak',
@@ -73,12 +89,14 @@ const en = {
73
89
  on: 'On',
74
90
  open: 'Open',
75
91
  outlet: 'Outlet',
92
+ milliseconds: 'Milliseconds',
76
93
  minutes: 'Minutes',
77
94
  motionSensor: 'Motion',
78
95
  seconds: 'Seconds',
79
96
  secured: 'Locked',
80
97
  smokeSensor: 'Smoke',
81
98
  switch: 'Switch',
99
+ thermostat: 'Thermostat',
82
100
  unsecured: 'Unlocked',
83
101
  window: 'Window',
84
102
  windowCovering: 'Window Convering (Blinds)',
@@ -92,10 +110,12 @@ const en = {
92
110
  commandOpen: 'Open Command',
93
111
  commandLock: 'Lock Command',
94
112
  commandUnlock: 'Unlock Command',
113
+ commandTemperature: 'Temperature Changed Command',
95
114
  cron: 'Cron',
96
115
  defaultBrightness: 'Default Brightness',
97
116
  defaultPosition: 'Default Position',
98
117
  defaultState: 'Default State',
118
+ defaultTemperature: 'Default Temperature',
99
119
  delay: 'Delay',
100
120
  disableLogging: 'Disable Logging',
101
121
  groupName: 'Group Name (Beta)',
@@ -1 +1 @@
1
- {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"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"}
@@ -31,15 +31,26 @@ declare const translations: {
31
31
  closed: string;
32
32
  open: string;
33
33
  };
34
+ thermostat: {
35
+ auto: string;
36
+ cool: string;
37
+ heat: string;
38
+ off: string;
39
+ temperatureC: string;
40
+ temperatureF: string;
41
+ unsupportedFunction: string;
42
+ };
34
43
  timer: {
35
44
  cancel: string;
36
45
  reset: string;
46
+ setMilliseconds: string;
37
47
  setSeconds: string;
38
48
  setMinutes: string;
39
49
  setHours: string;
40
50
  };
41
51
  trigger: {
42
52
  cron: string;
53
+ intervalMilliseconds: string;
43
54
  intervalSeconds: string;
44
55
  intervalMinutes: string;
45
56
  intervalHours: string;
@@ -66,12 +77,17 @@ declare const translations: {
66
77
  trigger: string;
67
78
  };
68
79
  enumNames: {
80
+ auto: string;
69
81
  carbonDioxideSensor: string;
70
82
  carbonMonoxideSensor: string;
83
+ celsius: string;
71
84
  closed: string;
72
85
  contactSensor: string;
86
+ cool: string;
73
87
  cron: string;
74
88
  door: string;
89
+ fahrenheit: string;
90
+ heat: string;
75
91
  hours: string;
76
92
  interval: string;
77
93
  leakSensor: string;
@@ -82,12 +98,14 @@ declare const translations: {
82
98
  on: string;
83
99
  open: string;
84
100
  outlet: string;
101
+ milliseconds: string;
85
102
  minutes: string;
86
103
  motionSensor: string;
87
104
  seconds: string;
88
105
  secured: string;
89
106
  smokeSensor: string;
90
107
  switch: string;
108
+ thermostat: string;
91
109
  unsecured: string;
92
110
  window: string;
93
111
  windowCovering: string;
@@ -101,10 +119,12 @@ declare const translations: {
101
119
  commandOpen: string;
102
120
  commandLock: string;
103
121
  commandUnlock: string;
122
+ commandTemperature: string;
104
123
  cron: string;
105
124
  defaultBrightness: string;
106
125
  defaultPosition: string;
107
126
  defaultState: string;
127
+ defaultTemperature: string;
108
128
  delay: string;
109
129
  disableLogging: string;
110
130
  groupName: string;
@@ -22,15 +22,26 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
22
22
  closed: string;
23
23
  open: string;
24
24
  };
25
+ thermostat: {
26
+ auto: string;
27
+ cool: string;
28
+ heat: string;
29
+ off: string;
30
+ temperatureC: string;
31
+ temperatureF: string;
32
+ unsupportedFunction: string;
33
+ };
25
34
  timer: {
26
35
  cancel: string;
27
36
  reset: string;
37
+ setMilliseconds: string;
28
38
  setSeconds: string;
29
39
  setMinutes: string;
30
40
  setHours: string;
31
41
  };
32
42
  trigger: {
33
43
  cron: string;
44
+ intervalMilliseconds: string;
34
45
  intervalSeconds: string;
35
46
  intervalMinutes: string;
36
47
  intervalHours: string;
@@ -57,12 +68,17 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
57
68
  trigger: string;
58
69
  };
59
70
  enumNames: {
71
+ auto: string;
60
72
  carbonDioxideSensor: string;
61
73
  carbonMonoxideSensor: string;
74
+ celsius: string;
62
75
  closed: string;
63
76
  contactSensor: string;
77
+ cool: string;
64
78
  cron: string;
65
79
  door: string;
80
+ fahrenheit: string;
81
+ heat: string;
66
82
  hours: string;
67
83
  interval: string;
68
84
  leakSensor: string;
@@ -73,12 +89,14 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
73
89
  on: string;
74
90
  open: string;
75
91
  outlet: string;
92
+ milliseconds: string;
76
93
  minutes: string;
77
94
  motionSensor: string;
78
95
  seconds: string;
79
96
  secured: string;
80
97
  smokeSensor: string;
81
98
  switch: string;
99
+ thermostat: string;
82
100
  unsecured: string;
83
101
  window: string;
84
102
  windowCovering: string;
@@ -92,10 +110,12 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
92
110
  commandOpen: string;
93
111
  commandLock: string;
94
112
  commandUnlock: string;
113
+ commandTemperature: string;
95
114
  cron: string;
96
115
  defaultBrightness: string;
97
116
  defaultPosition: string;
98
117
  defaultState: string;
118
+ defaultTemperature: string;
99
119
  delay: string;
100
120
  disableLogging: string;
101
121
  groupName: string;
package/dist/i18n/zz.d.ts CHANGED
@@ -22,15 +22,26 @@ declare const zz: {
22
22
  closed: string;
23
23
  open: string;
24
24
  };
25
+ thermostat: {
26
+ auto: string;
27
+ cool: string;
28
+ heat: string;
29
+ off: string;
30
+ temperatureC: string;
31
+ temperatureF: string;
32
+ unsupportedFunction: string;
33
+ };
25
34
  timer: {
26
35
  cancel: string;
27
36
  reset: string;
37
+ setMilliseconds: string;
28
38
  setSeconds: string;
29
39
  setMinutes: string;
30
40
  setHours: string;
31
41
  };
32
42
  trigger: {
33
43
  cron: string;
44
+ intervalMilliseconds: string;
34
45
  intervalSeconds: string;
35
46
  intervalMinutes: string;
36
47
  intervalHours: string;
@@ -57,12 +68,17 @@ declare const zz: {
57
68
  trigger: string;
58
69
  };
59
70
  enumNames: {
71
+ auto: string;
60
72
  carbonDioxideSensor: string;
61
73
  carbonMonoxideSensor: string;
74
+ celsius: string;
62
75
  closed: string;
63
76
  contactSensor: string;
77
+ cool: string;
64
78
  cron: string;
65
79
  door: string;
80
+ fahrenheit: string;
81
+ heat: string;
66
82
  hours: string;
67
83
  interval: string;
68
84
  leakSensor: string;
@@ -73,12 +89,14 @@ declare const zz: {
73
89
  on: string;
74
90
  open: string;
75
91
  outlet: string;
92
+ milliseconds: string;
76
93
  minutes: string;
77
94
  motionSensor: string;
78
95
  seconds: string;
79
96
  secured: string;
80
97
  smokeSensor: string;
81
98
  switch: string;
99
+ thermostat: string;
82
100
  unsecured: string;
83
101
  window: string;
84
102
  windowCovering: string;
@@ -92,10 +110,12 @@ declare const zz: {
92
110
  commandOpen: string;
93
111
  commandLock: string;
94
112
  commandUnlock: string;
113
+ commandTemperature: string;
95
114
  cron: string;
96
115
  defaultBrightness: string;
97
116
  defaultPosition: string;
98
117
  defaultState: string;
118
+ defaultTemperature: string;
99
119
  delay: string;
100
120
  disableLogging: string;
101
121
  groupName: string;
@@ -5,8 +5,8 @@ export declare class Timer {
5
5
  private readonly caller;
6
6
  private readonly log;
7
7
  private readonly disableLogging;
8
- private timer;
9
8
  static new(config: TimerConfig, caller: string, log: Log, disableLogging: boolean): Timer | undefined;
9
+ private timeout?;
10
10
  private constructor();
11
11
  start(callback: () => Promise<void>): void;
12
12
  cancel(): void;
@@ -1,3 +1,4 @@
1
+ import { TimeUnits } from './types.js';
1
2
  import { strings } from '../i18n/i18n.js';
2
3
  import { HOUR, MINUTE, SECOND, toMilliseconds } from '../tools/time.js';
3
4
  import { assert } from '../tools/validation.js';
@@ -6,13 +7,13 @@ export class Timer {
6
7
  caller;
7
8
  log;
8
9
  disableLogging;
9
- timer = undefined;
10
10
  static new(config, caller, log, disableLogging) {
11
11
  if (!assert(log, caller, config, 'delay', 'units')) {
12
12
  return undefined;
13
13
  }
14
14
  return new Timer(config, caller, log, disableLogging);
15
15
  }
16
+ timeout;
16
17
  constructor(config, caller, log, disableLogging) {
17
18
  this.config = config;
18
19
  this.caller = caller;
@@ -20,30 +21,45 @@ export class Timer {
20
21
  this.disableLogging = disableLogging;
21
22
  }
22
23
  start(callback) {
23
- if (this.timer) {
24
+ if (this.timeout) {
24
25
  this.logIfDesired(strings.accessory.timer.reset);
25
26
  this.reset();
26
27
  }
27
28
  let delay = toMilliseconds(this.config.delay, this.config.units);
29
+ let units = this.config.units;
28
30
  if (this.config.random) {
29
31
  delay = Math.floor(Math.max(SECOND, Math.random() * delay));
32
+ if (delay < SECOND) {
33
+ units = TimeUnits.MILLISECONDS;
34
+ }
35
+ else if (delay < MINUTE) {
36
+ units = TimeUnits.SECONDS;
37
+ }
38
+ else if (delay < HOUR) {
39
+ units = TimeUnits.MINUTES;
40
+ }
30
41
  }
31
- if (delay < MINUTE) {
32
- this.logIfDesired(strings.accessory.timer.setSeconds, Math.round(delay / SECOND));
42
+ switch (units) {
43
+ case TimeUnits.MILLISECONDS:
44
+ this.logIfDesired(strings.accessory.timer.setMilliseconds, delay);
45
+ break;
46
+ case TimeUnits.SECONDS:
47
+ this.logIfDesired(strings.accessory.timer.setSeconds, Math.round(delay / SECOND));
48
+ break;
49
+ case TimeUnits.MINUTES:
50
+ this.logIfDesired(strings.accessory.timer.setMinutes, Math.round(delay / MINUTE));
51
+ break;
52
+ case TimeUnits.HOURS:
53
+ this.logIfDesired(strings.accessory.timer.setHours, Math.round(delay / HOUR));
54
+ break;
33
55
  }
34
- else if (delay < HOUR) {
35
- this.logIfDesired(strings.accessory.timer.setMinutes, Math.round(delay / MINUTE));
36
- }
37
- else {
38
- this.logIfDesired(strings.accessory.timer.setHours, Math.round(delay / HOUR));
39
- }
40
- this.timer = setTimeout(async () => {
56
+ this.timeout = setTimeout(async () => {
41
57
  this.reset();
42
58
  await callback();
43
59
  }, delay);
44
60
  }
45
61
  cancel() {
46
- if (this.timer) {
62
+ if (this.timeout) {
47
63
  this.logIfDesired(strings.accessory.timer.cancel);
48
64
  this.reset();
49
65
  }
@@ -52,8 +68,8 @@ export class Timer {
52
68
  this.reset();
53
69
  }
54
70
  reset() {
55
- clearTimeout(this.timer);
56
- this.timer = undefined;
71
+ clearTimeout(this.timeout);
72
+ this.timeout = undefined;
57
73
  }
58
74
  logIfDesired(message, ...parameters) {
59
75
  if (this.disableLogging) {