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.
- package/CHANGELOG.md +5 -1
- package/README.md +39 -14
- package/config.schema.json +127 -67
- package/dist/accessory/base.d.ts +3 -2
- package/dist/accessory/base.js +9 -7
- package/dist/accessory/base.js.map +1 -1
- package/dist/accessory/helpers.js +3 -0
- package/dist/accessory/helpers.js.map +1 -1
- package/dist/accessory/thermostat.d.ts +28 -0
- package/dist/accessory/thermostat.js +147 -0
- package/dist/accessory/thermostat.js.map +1 -0
- package/dist/homebridge-ui/public/index.html +1 -1
- package/dist/i18n/en.d.ts +20 -0
- package/dist/i18n/en.js +20 -0
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/i18n.d.ts +20 -0
- package/dist/i18n/template.d.ts +20 -0
- package/dist/i18n/zz.d.ts +20 -0
- package/dist/model/timer.d.ts +1 -1
- package/dist/model/timer.js +30 -14
- package/dist/model/timer.js.map +1 -1
- package/dist/model/trigger.d.ts +6 -2
- package/dist/model/trigger.js +40 -18
- package/dist/model/trigger.js.map +1 -1
- package/dist/model/types.d.ts +20 -0
- package/dist/model/types.js +14 -0
- package/dist/model/types.js.map +1 -1
- package/dist/tools/configMigration.js +2 -2
- package/dist/tools/configMigration.js.map +1 -1
- package/dist/tools/storage.d.ts +1 -0
- package/dist/tools/storage.js +1 -0
- package/dist/tools/storage.js.map +1 -1
- package/dist/tools/temperature.d.ts +3 -0
- package/dist/tools/temperature.js +14 -0
- package/dist/tools/temperature.js.map +1 -0
- package/dist/tools/time.js +2 -0
- package/dist/tools/time.js.map +1 -1
- package/package.json +1 -1
|
@@ -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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"}
|
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)',
|
package/dist/i18n/en.js.map
CHANGED
|
@@ -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":"AAAA,MAAM,EAAE,GAAG;IAET,SAAS,EAAE;QAET,WAAW,EAAE,sCAAsC,EAAE,8BAA8B;QACnF,eAAe,EAAE,2CAA2C,EAAE,gCAAgC;QAE9F,OAAO,EAAE;YACP,QAAQ,EAAE,qBAAqB,EAAE,iBAAiB;YAClD,KAAK,EAAE,8BAA8B,EAAE,iBAAiB;SACzD;QAED,SAAS,EAAE;YACT,UAAU,EAAE,qBAAqB,EAAE,yBAAyB;YAC5D,OAAO,EAAE,cAAc,EAAE,yBAAyB;SACnD;QAED,IAAI,EAAE;YACJ,OAAO,EAAE,cAAc,EAAE,iBAAiB;YAC1C,SAAS,EAAE,gBAAgB,EAAE,iBAAiB;SAC/C;QAED,KAAK,EAAE;YACL,OAAO,EAAE,UAAU,EAAE,iBAAiB;YACtC,QAAQ,EAAE,WAAW,EAAE,iBAAiB;SACzC;QAED,QAAQ,EAAE;YACR,MAAM,EAAE,cAAc,EAAE,iBAAiB;YACzC,IAAI,EAAE,YAAY,EAAE,iBAAiB;SACtC;QAED,UAAU,EAAE;YACV,IAAI,EAAE,gBAAgB,EAAE,iBAAiB;YACzC,IAAI,EAAE,gBAAgB,EAAE,iBAAiB;YACzC,IAAI,EAAE,gBAAgB,EAAE,iBAAiB;YACzC,GAAG,EAAE,eAAe,EAAE,iBAAiB;YACvC,YAAY,EAAE,gBAAgB,EAAE,iBAAiB;YACjD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB;YACjD,mBAAmB,EAAE,mCAAmC,EAAE,gBAAgB;SAC3E;QAED,KAAK,EAAE;YACL,MAAM,EAAE,4BAA4B,EAAE,iBAAiB;YACvD,KAAK,EAAE,wBAAwB,EAAE,iBAAiB;YAClD,eAAe,EAAE,+BAA+B,EAAE,yBAAyB;YAC3E,UAAU,EAAE,0BAA0B,EAAE,yBAAyB;YACjE,UAAU,EAAE,0BAA0B,EAAG,yBAAyB;YAClE,QAAQ,EAAE,wBAAwB,EAAE,yBAAyB;SAC9D;QAED,OAAO,EAAE;YACP,IAAI,EAAE,6BAA6B,EAAE,iBAAiB;YACtD,oBAAoB,EAAE,oCAAoC,EAAE,yBAAyB;YACrF,eAAe,EAAE,+BAA+B,EAAE,yBAAyB;YAC3E,eAAe,EAAE,+BAA+B,EAAE,yBAAyB;YAC3E,aAAa,EAAE,6BAA6B,EAAE,yBAAyB;SACxE;KACF;IAED,MAAM,EAAE;QACN,OAAO,EAAE,4CAA4C;QACrD,iBAAiB,EAAE,mFAAmF,EAAE,cAAc;QACtH,iBAAiB,EAAE,+EAA+E;QAClG,iBAAiB,EAAE,8GAA8G,EAAE,cAAc;QACjJ,iBAAiB,EAAE,kDAAkD;QACrE,iBAAiB,EAAE,mCAAmC,EAAE,MAAM;QAC9D,qBAAqB,EAAE,oBAAoB;QAC3C,2BAA2B,EAAE,iDAAiD,EAAE,cAAc;QAC9F,OAAO,EAAE,+CAA+C,EAAE,MAAM;QAChE,QAAQ,EAAE,6BAA6B,EAAE,cAAc;QACvD,GAAG,EAAE,KAAK;QACV,EAAE,EAAE,IAAI;QAER,WAAW,EAAE;YACX,QAAQ,EAAE,6DAA6D;YACvE,IAAI,EAAE,6BAA6B;YACnC,MAAM,EAAE,2DAA2D;YACnE,KAAK,EAAE,qEAAqE;YAC5E,OAAO,EAAE,sFAAsF;SAChG;QAED,SAAS,EAAE;YACT,IAAI,EAAE,MAAM;YACZ,mBAAmB,EAAC,gBAAgB;YACpC,oBAAoB,EAAE,iBAAiB;YACvC,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,SAAS;YACxB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,WAAW;YACtB,aAAa,EAAE,MAAM;YACrB,GAAG,EAAE,KAAK;YACV,eAAe,EAAE,WAAW;YAC5B,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,cAAc;YAC5B,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,QAAQ;YACtB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,OAAO;YACpB,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,YAAY;YACxB,SAAS,EAAE,UAAU;YACrB,MAAM,EAAE,QAAQ;YAChB,cAAc,EAAE,2BAA2B;SAC5C;QAED,KAAK,EAAE;YACL,SAAS,EAAE,WAAW;YACtB,QAAQ,EAAE,UAAU;YACpB,YAAY,EAAE,eAAe;YAC7B,SAAS,EAAE,YAAY;YACvB,UAAU,EAAE,aAAa;YACzB,WAAW,EAAE,cAAc;YAC3B,WAAW,EAAE,cAAc;YAC3B,aAAa,EAAE,gBAAgB;YAC/B,kBAAkB,EAAE,6BAA6B;YACjD,IAAI,EAAE,MAAM;YACZ,iBAAiB,EAAE,oBAAoB;YACvC,eAAe,EAAE,kBAAkB;YACnC,YAAY,EAAE,eAAe;YAC7B,kBAAkB,EAAE,qBAAqB;YACzC,KAAK,EAAE,OAAO;YACd,cAAc,EAAE,iBAAiB;YACjC,SAAS,EAAE,mBAAmB;YAC9B,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,MAAM;YACZ,cAAc,EAAE,kBAAkB;YAClC,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,WAAW;SACpB;KACF;IAED,MAAM,EAAE;QAEN,aAAa,EAAE;YACb,MAAM,EAAE,4BAA4B,EAAE,iBAAiB;YACvD,QAAQ,EAAE,qCAAqC,EAAE,iBAAiB;SACnE;QAED,cAAc,EAAE;YACd,MAAM,EAAE,6BAA6B,EAAE,iBAAiB;YACxD,QAAQ,EAAE,sCAAsC,EAAE,iBAAiB;SACpE;QAED,OAAO,EAAE;YACP,MAAM,EAAE,qBAAqB,EAAE,iBAAiB;YAChD,QAAQ,EAAE,8BAA8B,EAAE,iBAAiB;SAC5D;QAED,IAAI,EAAE;YACJ,MAAM,EAAE,oBAAoB,EAAE,iBAAiB;YAC/C,QAAQ,EAAE,4BAA4B,EAAE,iBAAiB;SAC1D;QAED,MAAM,EAAE;YACN,MAAM,EAAE,oBAAoB,EAAE,iBAAiB;YAC/C,QAAQ,EAAE,6BAA6B,EAAE,iBAAiB;SAC3D;QAED,SAAS,EAAE;YACT,MAAM,EAAE,uBAAuB,EAAE,iBAAiB;YAClD,QAAQ,EAAE,gCAAgC,EAAE,iBAAiB;SAC9D;QAED,KAAK,EAAE;YACL,MAAM,EAAE,mBAAmB,EAAE,iBAAiB;YAC9C,QAAQ,EAAE,4BAA4B,EAAE,iBAAiB;SAC1D;KACF;IAED,OAAO,EAAE;QACP,eAAe,EAAE,iFAAiF;QAClG,iBAAiB,EAAE,uCAAuC,EAAE,SAAS;QACrE,sBAAsB,EAAE,2CAA2C;QACnE,eAAe,EAAE,kHAAkH;QACnI,eAAe,EAAE,0DAA0D;QAC3E,eAAe,EAAE,+FAA+F;QAChH,YAAY,EAAE,uBAAuB;QACrC,eAAe,EAAE,qBAAqB;QACtC,kBAAkB,EAAE,sBAAsB;QAC1C,aAAa,EAAE,kBAAkB;QACjC,eAAe,EAAE,+BAA+B,EAAE,iBAAiB;QACnE,OAAO,EAAE;YACP,4GAA4G;YAC5G,8EAA8E;YAC9E,4EAA4E;YAC5E,qHAAqH;SACtH;KACF;CACF,CAAC;AAEF,eAAe,EAAE,CAAC"}
|
package/dist/i18n/i18n.d.ts
CHANGED
|
@@ -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;
|
package/dist/i18n/template.d.ts
CHANGED
|
@@ -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;
|
package/dist/model/timer.d.ts
CHANGED
|
@@ -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;
|
package/dist/model/timer.js
CHANGED
|
@@ -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.
|
|
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
|
-
|
|
32
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
56
|
-
this.
|
|
71
|
+
clearTimeout(this.timeout);
|
|
72
|
+
this.timeout = undefined;
|
|
57
73
|
}
|
|
58
74
|
logIfDesired(message, ...parameters) {
|
|
59
75
|
if (this.disableLogging) {
|