homebridge-dummy 1.1.0-beta.2 → 1.1.0-beta.4
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 +4 -1
- package/README.md +9 -6
- package/config.schema.json +40 -20
- package/dist/accessory/onoff/lightbulb.d.ts +8 -2
- package/dist/accessory/onoff/lightbulb.js +47 -1
- package/dist/accessory/onoff/lightbulb.js.map +1 -1
- package/dist/accessory/onoff/onoff.d.ts +1 -1
- package/dist/accessory/onoff/onoff.js +4 -0
- package/dist/accessory/onoff/onoff.js.map +1 -1
- package/dist/accessory/thermostat.js +6 -2
- package/dist/accessory/thermostat.js.map +1 -1
- package/dist/homebridge-ui/public/index.html +1 -1
- package/dist/i18n/en.d.ts +13 -1
- package/dist/i18n/en.js +15 -3
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/i18n.d.ts +13 -1
- package/dist/i18n/template.d.ts +13 -1
- package/dist/i18n/zz.d.ts +13 -1
- package/dist/model/fader.d.ts +18 -0
- package/dist/model/fader.js +61 -0
- package/dist/model/fader.js.map +1 -0
- package/dist/model/timer.js +4 -18
- package/dist/model/timer.js.map +1 -1
- package/dist/model/trigger.js +3 -14
- package/dist/model/trigger.js.map +1 -1
- package/dist/model/types.d.ts +3 -1
- package/dist/model/types.js +1 -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/time.d.ts +10 -4
- package/dist/tools/time.js +48 -4
- package/dist/tools/time.js.map +1 -1
- package/dist/tools/validation.d.ts +2 -0
- package/dist/tools/validation.js +7 -0
- package/dist/tools/validation.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to homebridge-dummy will be documented in this file.
|
|
4
4
|
|
|
5
|
-
## 1.1.0-beta.
|
|
5
|
+
## 1.1.0-beta.3 (2025-08-05)
|
|
6
6
|
|
|
7
7
|
### ‼️ WARNING — Read this if upgrading from v0.9.2 or earlier…
|
|
8
8
|
|
|
@@ -16,12 +16,15 @@ Automations and scenes using Homebridge Dummy accessories will need to be reconf
|
|
|
16
16
|
- Auto-Trigger feature to invoke accessory at a specified interval or times
|
|
17
17
|
- Support for Thermostats
|
|
18
18
|
- Manual control only, no auto-trigger or auto-reset functionality
|
|
19
|
+
- Millisecond unit option for triggers/timers
|
|
20
|
+
- "Fade" option for dimmer lightbulbs timers
|
|
19
21
|
|
|
20
22
|
### Changed
|
|
21
23
|
- Reorganized plugin config UI and renamed "Timer" to "Auto-Reset"
|
|
22
24
|
|
|
23
25
|
### Fixed
|
|
24
26
|
- Timers over 1 hour were logging incorrectly ([#143](https://github.com/mpatfield/homebridge-dummy/issues/143))
|
|
27
|
+
- Improved timer logging ([#148](https://github.com/mpatfield/homebridge-dummy/issues/148))
|
|
25
28
|
|
|
26
29
|
## 1.0.0 (2025-07-23)
|
|
27
30
|
|
package/README.md
CHANGED
|
@@ -89,18 +89,19 @@ Using the Homebridge Config UI is the easiest way to set up this plugin. However
|
|
|
89
89
|
"groupName": "string",
|
|
90
90
|
"timer": {
|
|
91
91
|
"delay": number,
|
|
92
|
-
"units": "SECONDS | MINUTES | HOURS",
|
|
92
|
+
"units": "MILLISECONDS | SECONDS | MINUTES | HOURS",
|
|
93
93
|
"random": true | false
|
|
94
94
|
},
|
|
95
95
|
"trigger": {
|
|
96
96
|
"type": "INTERVAL" | "CRON",
|
|
97
97
|
"interval": number,
|
|
98
|
-
"units": "SECONDS | MINUTES | HOURS",
|
|
98
|
+
"units": "MILLISECONDS | SECONDS | MINUTES | HOURS",
|
|
99
99
|
"random": true | false,
|
|
100
100
|
"cron": "string"
|
|
101
101
|
},
|
|
102
102
|
"sensor": "CarbonDioxideSensor | CarbonMonoxideSensor | ContactSensor | LeakSensor | MotionSensor | OccupancySensor | SmokeSensor",
|
|
103
103
|
"temperatureUnits": "C" | "F",
|
|
104
|
+
"fade": true | false,
|
|
104
105
|
"defaultOn": true | false,
|
|
105
106
|
"defaultBrightness": 0-100,
|
|
106
107
|
"defaultLockState": "locked" | "unlocked",
|
|
@@ -133,13 +134,13 @@ All fields are optional unless noted with an asterisk (*)
|
|
|
133
134
|
- `groupName` - (Beta) Items sharing the same group name will be collected together in the Home app UI
|
|
134
135
|
- ⚠️ Adding/removing/changing the group name will require you to reconfigure any HomeKit scenes or automations
|
|
135
136
|
|
|
136
|
-
- `timer.delay` — If defined, the switch will automatically toggle after this many seconds/minutes/hours
|
|
137
|
-
- `timer.units` — The units to use for delay above (`SECONDS`, `MINUTES`, or `HOURS`). *Required if delay is set.
|
|
137
|
+
- `timer.delay` — If defined, the switch will automatically toggle after this many milliseconds/seconds/minutes/hours
|
|
138
|
+
- `timer.units` — The units to use for delay above (`MILLISECONDS`, `SECONDS`, `MINUTES`, or `HOURS`). *Required if delay is set.
|
|
138
139
|
- `timer.random` — If true, the delay will be randomized with a maximum value of `timer.delay`
|
|
139
140
|
|
|
140
141
|
- `trigger.type` — Automatically set the accessory to it's non-default value
|
|
141
|
-
- `trigger.interval` — Trigger the accessory after this many seconds/minutes/hours. *Required if `trigger.type` = `INTERVAL`
|
|
142
|
-
- `trigger.units` — The units to use for the interval (`SECONDS`, `MINUTES`, or `HOURS`) *Required if `trigger.type` = `INTERVAL`
|
|
142
|
+
- `trigger.interval` — Trigger the accessory after this many milliseconds/seconds/minutes/hours. *Required if `trigger.type` = `INTERVAL`
|
|
143
|
+
- `trigger.units` — The units to use for the interval (`MILLISECONDS`, `SECONDS`, `MINUTES`, or `HOURS`) *Required if `trigger.type` = `INTERVAL`
|
|
143
144
|
- `trigger.random` — If true, the interval will be randomized with a maximum value of `trigger.interval`
|
|
144
145
|
- `trigger.cron` — The cron string for triggering the accessory. *Required if `trigger.type` = `CRON`
|
|
145
146
|
- See [crontab.guru](http://crontab.guru) for help
|
|
@@ -150,6 +151,8 @@ All fields are optional unless noted with an asterisk (*)
|
|
|
150
151
|
|
|
151
152
|
- `temperatureUnits` - Units to use for thermostats, either 'C' or 'F'
|
|
152
153
|
|
|
154
|
+
- `fade` — If true, dimmer lightbulbs will fade gradually over the specified time interval. *Requires `timer` to be defined.
|
|
155
|
+
|
|
153
156
|
- `defaultOn` — Initial value. Default _ON_ = true, default _OFF_ = false
|
|
154
157
|
|
|
155
158
|
- `defaultBrightness` — If set, lightbulb will have additional dimmer settings with this default brightness percentage
|
package/config.schema.json
CHANGED
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
"properties": {
|
|
13
13
|
"delay": {
|
|
14
14
|
"type": "integer",
|
|
15
|
-
"title": "${config.title.delay}",
|
|
15
|
+
"title": "${config.title.delay}",
|
|
16
16
|
"minimum": 1
|
|
17
17
|
},
|
|
18
18
|
"units": {
|
|
19
19
|
"type": "string",
|
|
20
|
-
"title": "${config.title.units}",
|
|
21
|
-
"enum": [ "SECONDS", "MINUTES", "HOURS"],
|
|
22
|
-
"enumNames": ["${config.enumNames.seconds}", "${config.enumNames.minutes}", "${config.enumNames.hours}"]
|
|
20
|
+
"title": "${config.title.units}",
|
|
21
|
+
"enum": [ "MILLISECONDS", "SECONDS", "MINUTES", "HOURS"],
|
|
22
|
+
"enumNames": ["${config.enumNames.milliseconds}", "${config.enumNames.seconds}", "${config.enumNames.minutes}", "${config.enumNames.hours}"]
|
|
23
23
|
},
|
|
24
24
|
"random": {
|
|
25
25
|
"type": "boolean",
|
|
@@ -33,20 +33,20 @@
|
|
|
33
33
|
"properties": {
|
|
34
34
|
"type": {
|
|
35
35
|
"type": "string",
|
|
36
|
-
"title": "${config.title.type}",
|
|
36
|
+
"title": "${config.title.type}",
|
|
37
37
|
"enum": [ "INTERVAL", "CRON"],
|
|
38
38
|
"enumNames": ["${config.enumNames.interval}", "${config.enumNames.cron}"]
|
|
39
39
|
},
|
|
40
40
|
"interval": {
|
|
41
41
|
"type": "integer",
|
|
42
|
-
"title": "${config.title.interval}",
|
|
42
|
+
"title": "${config.title.interval}",
|
|
43
43
|
"minimum": 1
|
|
44
44
|
},
|
|
45
45
|
"units": {
|
|
46
46
|
"type": "string",
|
|
47
|
-
"title": "${config.title.units}",
|
|
48
|
-
"enum": [ "SECONDS", "MINUTES", "HOURS"],
|
|
49
|
-
"enumNames": ["${config.enumNames.seconds}", "${config.enumNames.minutes}", "${config.enumNames.hours}"]
|
|
47
|
+
"title": "${config.title.units}",
|
|
48
|
+
"enum": [ "MILLISECONDS", "SECONDS", "MINUTES", "HOURS"],
|
|
49
|
+
"enumNames": ["${config.enumNames.milliseconds}", "${config.enumNames.seconds}", "${config.enumNames.minutes}", "${config.enumNames.hours}"]
|
|
50
50
|
},
|
|
51
51
|
"random": {
|
|
52
52
|
"type": "boolean",
|
|
@@ -55,12 +55,12 @@
|
|
|
55
55
|
},
|
|
56
56
|
"cron": {
|
|
57
57
|
"type": "string",
|
|
58
|
-
"title": "${config.title.cron}",
|
|
59
|
-
"description": "${config.description.cron}",
|
|
58
|
+
"title": "${config.title.cron}",
|
|
59
|
+
"description": "${config.description.cron}",
|
|
60
60
|
"placeholder": "* * * * * *",
|
|
61
61
|
"minimum": 1
|
|
62
62
|
}
|
|
63
|
-
}
|
|
63
|
+
}
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
66
|
"properties": {
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
},
|
|
84
84
|
"type": {
|
|
85
85
|
"type": "string",
|
|
86
|
-
"title": "${config.title.type}",
|
|
86
|
+
"title": "${config.title.type}",
|
|
87
87
|
"enum": ["Door", "Lightbulb", "LockMechanism", "Outlet", "Switch", "Thermostat", "Window", "WindowCovering"],
|
|
88
88
|
"enumNames": ["${config.enumNames.door}", "${config.enumNames.lightbulb}", "${config.enumNames.lockMechanism}", "${config.enumNames.outlet}", "${config.enumNames.switch}", "${config.enumNames.thermostat}", "${config.enumNames.window}", "${config.enumNames.windowCovering}"]
|
|
89
89
|
},
|
|
@@ -105,6 +105,11 @@
|
|
|
105
105
|
"enum": ["C", "F"],
|
|
106
106
|
"enumNames": ["${config.enumNames.celsius}", "${config.enumNames.fahrenheit}"]
|
|
107
107
|
},
|
|
108
|
+
"fade": {
|
|
109
|
+
"type": "boolean",
|
|
110
|
+
"title": "${config.title.fade}",
|
|
111
|
+
"description": "${config.description.fade}"
|
|
112
|
+
},
|
|
108
113
|
"defaultBrightness": {
|
|
109
114
|
"type": "number",
|
|
110
115
|
"title": "${config.title.defaultBrightness}",
|
|
@@ -172,11 +177,11 @@
|
|
|
172
177
|
"title": "${config.title.resetOnRestart}"
|
|
173
178
|
},
|
|
174
179
|
"disableLogging": {
|
|
175
|
-
"
|
|
176
|
-
"
|
|
180
|
+
"type": "boolean",
|
|
181
|
+
"title": "${config.title.disableLogging}"
|
|
177
182
|
}
|
|
178
183
|
}
|
|
179
|
-
}
|
|
184
|
+
}
|
|
180
185
|
}
|
|
181
186
|
}
|
|
182
187
|
},
|
|
@@ -269,7 +274,7 @@
|
|
|
269
274
|
"flex": "0 0 33%"
|
|
270
275
|
}
|
|
271
276
|
]
|
|
272
|
-
},
|
|
277
|
+
},
|
|
273
278
|
{
|
|
274
279
|
"type": "div",
|
|
275
280
|
"displayFlex": true,
|
|
@@ -291,7 +296,7 @@
|
|
|
291
296
|
"flex": "0 0 33%"
|
|
292
297
|
}
|
|
293
298
|
]
|
|
294
|
-
},
|
|
299
|
+
},
|
|
295
300
|
{
|
|
296
301
|
"type": "div",
|
|
297
302
|
"displayFlex": true,
|
|
@@ -354,7 +359,7 @@
|
|
|
354
359
|
{
|
|
355
360
|
"key": "accessories[].trigger.random",
|
|
356
361
|
"condition": {
|
|
357
|
-
"functionBody": "
|
|
362
|
+
"functionBody": "const trigger = model.accessories?.[arguments[1]]?.trigger; return trigger?.type === 'INTERVAL' && trigger?.interval !== undefined;"
|
|
358
363
|
}
|
|
359
364
|
}
|
|
360
365
|
]
|
|
@@ -385,7 +390,22 @@
|
|
|
385
390
|
}
|
|
386
391
|
]
|
|
387
392
|
},
|
|
388
|
-
|
|
393
|
+
{
|
|
394
|
+
"type": "fieldset",
|
|
395
|
+
"notitle": true,
|
|
396
|
+
"condition": {
|
|
397
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.timer?.delay !== undefined;"
|
|
398
|
+
},
|
|
399
|
+
"items": [
|
|
400
|
+
{
|
|
401
|
+
"key": "accessories[].fade",
|
|
402
|
+
"condition": {
|
|
403
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.defaultBrightness !== undefined;"
|
|
404
|
+
}
|
|
405
|
+
},
|
|
406
|
+
"accessories[].timer.random"
|
|
407
|
+
]
|
|
408
|
+
}
|
|
389
409
|
]
|
|
390
410
|
},
|
|
391
411
|
{
|
|
@@ -4,12 +4,18 @@ import { AccessoryType, CharacteristicType, LightbulbConfig, ServiceType } from
|
|
|
4
4
|
import { Log } from '../../tools/log.js';
|
|
5
5
|
export declare class LightbulbAccessory extends OnOffAccessory<LightbulbConfig> {
|
|
6
6
|
private brightness;
|
|
7
|
+
private fader?;
|
|
7
8
|
constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: LightbulbConfig, log: Log, persistPath: string, isGrouped: boolean);
|
|
8
9
|
private get isDimmer();
|
|
9
10
|
private get defaultBrightnessStorageKey();
|
|
10
11
|
protected getAccessoryType(): AccessoryType;
|
|
11
12
|
private initializeBrightness;
|
|
12
13
|
logOnState(value: CharacteristicValue): void;
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
teardown(): void;
|
|
15
|
+
startTimer(): void;
|
|
16
|
+
cancelTimer(): void;
|
|
17
|
+
getOn(): Promise<CharacteristicValue>;
|
|
18
|
+
private getBrightness;
|
|
19
|
+
private setBrightness;
|
|
20
|
+
private onFadeUpdate;
|
|
15
21
|
}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { OnOffAccessory } from './onoff.js';
|
|
2
2
|
import { strings } from '../../i18n/i18n.js';
|
|
3
|
+
import { Fader } from '../../model/fader.js';
|
|
3
4
|
import { AccessoryType } from '../../model/types.js';
|
|
4
5
|
import { STORAGE_KEY_SUFFIX_DEFAULT_BRIGHTNESS, storageGet, storageSet } from '../../tools/storage.js';
|
|
6
|
+
import { assertType } from '../../tools/validation.js';
|
|
5
7
|
const NO_BRIGHTNESS = -1;
|
|
6
8
|
export class LightbulbAccessory extends OnOffAccessory {
|
|
7
9
|
brightness;
|
|
10
|
+
fader;
|
|
8
11
|
constructor(Service, Characteristic, accessory, config, log, persistPath, isGrouped) {
|
|
9
12
|
super(Service, Characteristic, accessory, config, log, persistPath, isGrouped);
|
|
10
13
|
this.brightness = this.config.defaultBrightness ?? NO_BRIGHTNESS;
|
|
@@ -13,6 +16,9 @@ export class LightbulbAccessory extends OnOffAccessory {
|
|
|
13
16
|
.onGet(this.getBrightness.bind(this))
|
|
14
17
|
.onSet(this.setBrightness.bind(this));
|
|
15
18
|
this.initializeBrightness();
|
|
19
|
+
if (this.config.fade && config.timer) {
|
|
20
|
+
this.fader = Fader.new(config.timer, this.defaultOn, config.name, log, this.config.disableLogging === true);
|
|
21
|
+
}
|
|
16
22
|
}
|
|
17
23
|
}
|
|
18
24
|
get isDimmer() {
|
|
@@ -38,10 +44,35 @@ export class LightbulbAccessory extends OnOffAccessory {
|
|
|
38
44
|
super.logOnState(value);
|
|
39
45
|
}
|
|
40
46
|
}
|
|
47
|
+
teardown() {
|
|
48
|
+
this.fader?.reset();
|
|
49
|
+
super.teardown();
|
|
50
|
+
}
|
|
51
|
+
startTimer() {
|
|
52
|
+
if (this.fader) {
|
|
53
|
+
this.fader.start(this.brightness, this.onFadeUpdate.bind(this));
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
super.startTimer();
|
|
57
|
+
}
|
|
58
|
+
cancelTimer() {
|
|
59
|
+
if (this.fader) {
|
|
60
|
+
this.fader.cancel();
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
super.cancelTimer();
|
|
64
|
+
}
|
|
65
|
+
async getOn() {
|
|
66
|
+
return (this.fader?.currentValue && this.defaultOn) ?? super.getOn();
|
|
67
|
+
}
|
|
41
68
|
async getBrightness() {
|
|
42
|
-
return this.brightness;
|
|
69
|
+
return this.fader?.currentValue ?? this.brightness;
|
|
43
70
|
}
|
|
44
71
|
async setBrightness(value) {
|
|
72
|
+
if (!assertType(this.log, this.config.name, value, 'number')) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
this.startTimer();
|
|
45
76
|
if (this.brightness === value) {
|
|
46
77
|
return;
|
|
47
78
|
}
|
|
@@ -52,5 +83,20 @@ export class LightbulbAccessory extends OnOffAccessory {
|
|
|
52
83
|
}
|
|
53
84
|
this.accessoryService.updateCharacteristic(this.Characteristic.Brightness, this.brightness);
|
|
54
85
|
}
|
|
86
|
+
async onFadeUpdate(value) {
|
|
87
|
+
if (!this.defaultOn && value === 0) {
|
|
88
|
+
this.fader?.reset();
|
|
89
|
+
await this.setOn(false);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (this.defaultOn && value > 0) {
|
|
93
|
+
this.accessoryService.updateCharacteristic(this.Characteristic.On, true);
|
|
94
|
+
}
|
|
95
|
+
this.accessoryService.updateCharacteristic(this.Characteristic.Brightness, value);
|
|
96
|
+
if (this.defaultOn && value === this.brightness) {
|
|
97
|
+
this.fader?.reset();
|
|
98
|
+
await this.setOn(true);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
55
101
|
}
|
|
56
102
|
//# sourceMappingURL=lightbulb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightbulb.js","sourceRoot":"","sources":["../../../src/accessory/onoff/lightbulb.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAoD,MAAM,sBAAsB,CAAC;AAGvG,OAAO,EAAE,qCAAqC,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"lightbulb.js","sourceRoot":"","sources":["../../../src/accessory/onoff/lightbulb.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export declare abstract class OnOffAccessory<C extends OnOffConfig = OnOffConfig
|
|
|
7
7
|
private sensor?;
|
|
8
8
|
constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: C, log: Log, persistPath: string, isGrouped: boolean);
|
|
9
9
|
private initializeOn;
|
|
10
|
-
|
|
10
|
+
protected get defaultOn(): boolean;
|
|
11
11
|
protected getOn(): Promise<CharacteristicValue>;
|
|
12
12
|
protected setOn(value: CharacteristicValue): Promise<void>;
|
|
13
13
|
trigger(): Promise<void>;
|
|
@@ -2,6 +2,7 @@ import { DummyAccessory } from '../base.js';
|
|
|
2
2
|
import { SensorAccessory } from '../sensor.js';
|
|
3
3
|
import { strings } from '../../i18n/i18n.js';
|
|
4
4
|
import { storageGet, storageSet } from '../../tools/storage.js';
|
|
5
|
+
import { assertType } from '../../tools/validation.js';
|
|
5
6
|
export class OnOffAccessory extends DummyAccessory {
|
|
6
7
|
on;
|
|
7
8
|
sensor;
|
|
@@ -27,6 +28,9 @@ export class OnOffAccessory extends DummyAccessory {
|
|
|
27
28
|
return this.on;
|
|
28
29
|
}
|
|
29
30
|
async setOn(value) {
|
|
31
|
+
if (!assertType(this.log, this.config.name, value, 'boolean')) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
30
34
|
if (this.on !== value) {
|
|
31
35
|
this.logOnState(value);
|
|
32
36
|
if (this.config.commandOn && value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onoff.js","sourceRoot":"","sources":["../../../src/accessory/onoff/onoff.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAK7C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"onoff.js","sourceRoot":"","sources":["../../../src/accessory/onoff/onoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,8 @@ import { DummyAccessory } from './base.js';
|
|
|
2
2
|
import { strings } from '../i18n/i18n.js';
|
|
3
3
|
import { AccessoryType, DefaultThermostatState, TemperatureUnits } from '../model/types.js';
|
|
4
4
|
import { STORAGE_KEY_SUFFIX_DEFAULT_TEMPERATURE, storageGet, storageSet } from '../tools/storage.js';
|
|
5
|
-
import { toCelsius } from '../tools/temperature.js';
|
|
5
|
+
import { fromCelsius, toCelsius } from '../tools/temperature.js';
|
|
6
|
+
import { assertType } from '../tools/validation.js';
|
|
6
7
|
const DEFAULT_TEMPERATURE = 20;
|
|
7
8
|
export class ThermostatAccessory extends DummyAccessory {
|
|
8
9
|
STATE_AUTO;
|
|
@@ -138,9 +139,12 @@ export class ThermostatAccessory extends DummyAccessory {
|
|
|
138
139
|
this.logIfDesired(message, this.config.name);
|
|
139
140
|
}
|
|
140
141
|
logTemperature(value) {
|
|
142
|
+
if (!assertType(this.log, this.config.name, value, 'number')) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
141
145
|
const message = this.config.temperatureUnits === TemperatureUnits.FAHRENHEIT ?
|
|
142
146
|
strings.accessory.thermostat.temperatureF : strings.accessory.thermostat.temperatureC;
|
|
143
|
-
const temperature =
|
|
147
|
+
const temperature = fromCelsius(value, this.config.temperatureUnits);
|
|
144
148
|
this.logIfDesired(message, this.config.name, temperature);
|
|
145
149
|
}
|
|
146
150
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thermostat.js","sourceRoot":"","sources":["../../src/accessory/thermostat.ts"],"names":[],"mappings":"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
|
|
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
|
@@ -2,6 +2,7 @@ declare const en: {
|
|
|
2
2
|
accessory: {
|
|
3
3
|
invalidCron: string;
|
|
4
4
|
missingRequired: string;
|
|
5
|
+
badValueType: string;
|
|
5
6
|
command: {
|
|
6
7
|
executed: string;
|
|
7
8
|
error: string;
|
|
@@ -33,17 +34,25 @@ declare const en: {
|
|
|
33
34
|
};
|
|
34
35
|
timer: {
|
|
35
36
|
cancel: string;
|
|
36
|
-
|
|
37
|
+
setMilliseconds: string;
|
|
37
38
|
setSeconds: string;
|
|
38
39
|
setMinutes: string;
|
|
39
40
|
setHours: string;
|
|
40
41
|
};
|
|
41
42
|
trigger: {
|
|
42
43
|
cron: string;
|
|
44
|
+
intervalMilliseconds: string;
|
|
43
45
|
intervalSeconds: string;
|
|
44
46
|
intervalMinutes: string;
|
|
45
47
|
intervalHours: string;
|
|
46
48
|
};
|
|
49
|
+
fade: {
|
|
50
|
+
cancel: string;
|
|
51
|
+
startMilliseconds: string;
|
|
52
|
+
startSeconds: string;
|
|
53
|
+
startMinutes: string;
|
|
54
|
+
startHours: string;
|
|
55
|
+
};
|
|
47
56
|
};
|
|
48
57
|
config: {
|
|
49
58
|
migrate: string;
|
|
@@ -61,6 +70,7 @@ declare const en: {
|
|
|
61
70
|
description: {
|
|
62
71
|
commands: string;
|
|
63
72
|
cron: string;
|
|
73
|
+
fade: string;
|
|
64
74
|
random: string;
|
|
65
75
|
timer: string;
|
|
66
76
|
trigger: string;
|
|
@@ -87,6 +97,7 @@ declare const en: {
|
|
|
87
97
|
on: string;
|
|
88
98
|
open: string;
|
|
89
99
|
outlet: string;
|
|
100
|
+
milliseconds: string;
|
|
90
101
|
minutes: string;
|
|
91
102
|
motionSensor: string;
|
|
92
103
|
seconds: string;
|
|
@@ -115,6 +126,7 @@ declare const en: {
|
|
|
115
126
|
defaultTemperature: string;
|
|
116
127
|
delay: string;
|
|
117
128
|
disableLogging: string;
|
|
129
|
+
fade: string;
|
|
118
130
|
groupName: string;
|
|
119
131
|
interval: string;
|
|
120
132
|
name: string;
|
package/dist/i18n/en.js
CHANGED
|
@@ -2,13 +2,14 @@ const en = {
|
|
|
2
2
|
accessory: {
|
|
3
3
|
invalidCron: '%s has an invalid cron expression %s', // accessory name, cron string
|
|
4
4
|
missingRequired: '%s is missing required config variable %s', // accessory name, variable name
|
|
5
|
+
badValueType: '%s expected type %s but was %s', // accessory name, variable type, variable type
|
|
5
6
|
command: {
|
|
6
7
|
executed: '%s executed command', // accessory name
|
|
7
8
|
error: '%s failed to execute command', // accessory name
|
|
8
9
|
},
|
|
9
10
|
lightbulb: {
|
|
10
|
-
brightness: '%s brightness is %s', // accessory name, number
|
|
11
|
-
stateOn: '%s is on %s%', // accessory name, number
|
|
11
|
+
brightness: '%s brightness is %s%', // accessory name, number
|
|
12
|
+
stateOn: '%s is on, brightness is %s%', // accessory name, number
|
|
12
13
|
},
|
|
13
14
|
lock: {
|
|
14
15
|
secured: '%s is locked', // accessory name
|
|
@@ -33,17 +34,25 @@ const en = {
|
|
|
33
34
|
},
|
|
34
35
|
timer: {
|
|
35
36
|
cancel: 'Cancelled the timer for %s', // accessory name
|
|
36
|
-
|
|
37
|
+
setMilliseconds: '%s is waiting %s milliseconds', // accessory name, number
|
|
37
38
|
setSeconds: '%s is waiting %s seconds', // accessory name, number
|
|
38
39
|
setMinutes: '%s is waiting %s minutes', // accessory name, number
|
|
39
40
|
setHours: '%s is waiting %s hours', // accessory name, number
|
|
40
41
|
},
|
|
41
42
|
trigger: {
|
|
42
43
|
cron: '%s starting trigger cronjob', // accessory name
|
|
44
|
+
intervalMilliseconds: '%s will trigger in %s milliseconds', // accessory name, number
|
|
43
45
|
intervalSeconds: '%s will trigger in %s seconds', // accessory name, number
|
|
44
46
|
intervalMinutes: '%s will trigger in %s minutes', // accessory name, number
|
|
45
47
|
intervalHours: '%s will trigger in %s hours', // accessory name, number
|
|
46
48
|
},
|
|
49
|
+
fade: {
|
|
50
|
+
cancel: '%s canceled fade', // accessory name
|
|
51
|
+
startMilliseconds: '%s fading over %s milliseconds', // accessory name, number
|
|
52
|
+
startSeconds: '%s fading over %s seconds', // accessory name, number
|
|
53
|
+
startMinutes: '%s fading over %s minutes', // accessory name, number
|
|
54
|
+
startHours: '%s fading over %s hours', // accessory name, number
|
|
55
|
+
},
|
|
47
56
|
},
|
|
48
57
|
config: {
|
|
49
58
|
migrate: 'Are you upgrading from an earlier version?',
|
|
@@ -61,6 +70,7 @@ const en = {
|
|
|
61
70
|
description: {
|
|
62
71
|
commands: 'Execute arbitrary commands when the accessory changes state',
|
|
63
72
|
cron: 'Visit crontab.guru for help',
|
|
73
|
+
fade: 'Lightbulb will fade gradually over the specified time interval',
|
|
64
74
|
random: 'Time will be randomized with the above value as a maximum',
|
|
65
75
|
timer: 'Return the accessory to its default value after the specified delay',
|
|
66
76
|
trigger: 'Set the accessory to its opposite (non-default) value at specified interval or times',
|
|
@@ -87,6 +97,7 @@ const en = {
|
|
|
87
97
|
on: 'On',
|
|
88
98
|
open: 'Open',
|
|
89
99
|
outlet: 'Outlet',
|
|
100
|
+
milliseconds: 'Milliseconds',
|
|
90
101
|
minutes: 'Minutes',
|
|
91
102
|
motionSensor: 'Motion',
|
|
92
103
|
seconds: 'Seconds',
|
|
@@ -115,6 +126,7 @@ const en = {
|
|
|
115
126
|
defaultTemperature: 'Default Temperature',
|
|
116
127
|
delay: 'Delay',
|
|
117
128
|
disableLogging: 'Disable Logging',
|
|
129
|
+
fade: 'Fade',
|
|
118
130
|
groupName: 'Group Name (Beta)',
|
|
119
131
|
interval: 'Interval',
|
|
120
132
|
name: 'Name',
|
package/dist/i18n/en.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"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"}
|
package/dist/i18n/i18n.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ declare const translations: {
|
|
|
11
11
|
accessory: {
|
|
12
12
|
invalidCron: string;
|
|
13
13
|
missingRequired: string;
|
|
14
|
+
badValueType: string;
|
|
14
15
|
command: {
|
|
15
16
|
executed: string;
|
|
16
17
|
error: string;
|
|
@@ -42,17 +43,25 @@ declare const translations: {
|
|
|
42
43
|
};
|
|
43
44
|
timer: {
|
|
44
45
|
cancel: string;
|
|
45
|
-
|
|
46
|
+
setMilliseconds: string;
|
|
46
47
|
setSeconds: string;
|
|
47
48
|
setMinutes: string;
|
|
48
49
|
setHours: string;
|
|
49
50
|
};
|
|
50
51
|
trigger: {
|
|
51
52
|
cron: string;
|
|
53
|
+
intervalMilliseconds: string;
|
|
52
54
|
intervalSeconds: string;
|
|
53
55
|
intervalMinutes: string;
|
|
54
56
|
intervalHours: string;
|
|
55
57
|
};
|
|
58
|
+
fade: {
|
|
59
|
+
cancel: string;
|
|
60
|
+
startMilliseconds: string;
|
|
61
|
+
startSeconds: string;
|
|
62
|
+
startMinutes: string;
|
|
63
|
+
startHours: string;
|
|
64
|
+
};
|
|
56
65
|
};
|
|
57
66
|
config: {
|
|
58
67
|
migrate: string;
|
|
@@ -70,6 +79,7 @@ declare const translations: {
|
|
|
70
79
|
description: {
|
|
71
80
|
commands: string;
|
|
72
81
|
cron: string;
|
|
82
|
+
fade: string;
|
|
73
83
|
random: string;
|
|
74
84
|
timer: string;
|
|
75
85
|
trigger: string;
|
|
@@ -96,6 +106,7 @@ declare const translations: {
|
|
|
96
106
|
on: string;
|
|
97
107
|
open: string;
|
|
98
108
|
outlet: string;
|
|
109
|
+
milliseconds: string;
|
|
99
110
|
minutes: string;
|
|
100
111
|
motionSensor: string;
|
|
101
112
|
seconds: string;
|
|
@@ -124,6 +135,7 @@ declare const translations: {
|
|
|
124
135
|
defaultTemperature: string;
|
|
125
136
|
delay: string;
|
|
126
137
|
disableLogging: string;
|
|
138
|
+
fade: string;
|
|
127
139
|
groupName: string;
|
|
128
140
|
interval: string;
|
|
129
141
|
name: string;
|
package/dist/i18n/template.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
|
|
|
2
2
|
accessory: {
|
|
3
3
|
invalidCron: string;
|
|
4
4
|
missingRequired: string;
|
|
5
|
+
badValueType: string;
|
|
5
6
|
command: {
|
|
6
7
|
executed: string;
|
|
7
8
|
error: string;
|
|
@@ -33,17 +34,25 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
|
|
|
33
34
|
};
|
|
34
35
|
timer: {
|
|
35
36
|
cancel: string;
|
|
36
|
-
|
|
37
|
+
setMilliseconds: string;
|
|
37
38
|
setSeconds: string;
|
|
38
39
|
setMinutes: string;
|
|
39
40
|
setHours: string;
|
|
40
41
|
};
|
|
41
42
|
trigger: {
|
|
42
43
|
cron: string;
|
|
44
|
+
intervalMilliseconds: string;
|
|
43
45
|
intervalSeconds: string;
|
|
44
46
|
intervalMinutes: string;
|
|
45
47
|
intervalHours: string;
|
|
46
48
|
};
|
|
49
|
+
fade: {
|
|
50
|
+
cancel: string;
|
|
51
|
+
startMilliseconds: string;
|
|
52
|
+
startSeconds: string;
|
|
53
|
+
startMinutes: string;
|
|
54
|
+
startHours: string;
|
|
55
|
+
};
|
|
47
56
|
};
|
|
48
57
|
config: {
|
|
49
58
|
migrate: string;
|
|
@@ -61,6 +70,7 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
|
|
|
61
70
|
description: {
|
|
62
71
|
commands: string;
|
|
63
72
|
cron: string;
|
|
73
|
+
fade: string;
|
|
64
74
|
random: string;
|
|
65
75
|
timer: string;
|
|
66
76
|
trigger: string;
|
|
@@ -87,6 +97,7 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
|
|
|
87
97
|
on: string;
|
|
88
98
|
open: string;
|
|
89
99
|
outlet: string;
|
|
100
|
+
milliseconds: string;
|
|
90
101
|
minutes: string;
|
|
91
102
|
motionSensor: string;
|
|
92
103
|
seconds: string;
|
|
@@ -115,6 +126,7 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
|
|
|
115
126
|
defaultTemperature: string;
|
|
116
127
|
delay: string;
|
|
117
128
|
disableLogging: string;
|
|
129
|
+
fade: string;
|
|
118
130
|
groupName: string;
|
|
119
131
|
interval: string;
|
|
120
132
|
name: string;
|
package/dist/i18n/zz.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ declare const zz: {
|
|
|
2
2
|
accessory: {
|
|
3
3
|
invalidCron: string;
|
|
4
4
|
missingRequired: string;
|
|
5
|
+
badValueType: string;
|
|
5
6
|
command: {
|
|
6
7
|
executed: string;
|
|
7
8
|
error: string;
|
|
@@ -33,17 +34,25 @@ declare const zz: {
|
|
|
33
34
|
};
|
|
34
35
|
timer: {
|
|
35
36
|
cancel: string;
|
|
36
|
-
|
|
37
|
+
setMilliseconds: string;
|
|
37
38
|
setSeconds: string;
|
|
38
39
|
setMinutes: string;
|
|
39
40
|
setHours: string;
|
|
40
41
|
};
|
|
41
42
|
trigger: {
|
|
42
43
|
cron: string;
|
|
44
|
+
intervalMilliseconds: string;
|
|
43
45
|
intervalSeconds: string;
|
|
44
46
|
intervalMinutes: string;
|
|
45
47
|
intervalHours: string;
|
|
46
48
|
};
|
|
49
|
+
fade: {
|
|
50
|
+
cancel: string;
|
|
51
|
+
startMilliseconds: string;
|
|
52
|
+
startSeconds: string;
|
|
53
|
+
startMinutes: string;
|
|
54
|
+
startHours: string;
|
|
55
|
+
};
|
|
47
56
|
};
|
|
48
57
|
config: {
|
|
49
58
|
migrate: string;
|
|
@@ -61,6 +70,7 @@ declare const zz: {
|
|
|
61
70
|
description: {
|
|
62
71
|
commands: string;
|
|
63
72
|
cron: string;
|
|
73
|
+
fade: string;
|
|
64
74
|
random: string;
|
|
65
75
|
timer: string;
|
|
66
76
|
trigger: string;
|
|
@@ -87,6 +97,7 @@ declare const zz: {
|
|
|
87
97
|
on: string;
|
|
88
98
|
open: string;
|
|
89
99
|
outlet: string;
|
|
100
|
+
milliseconds: string;
|
|
90
101
|
minutes: string;
|
|
91
102
|
motionSensor: string;
|
|
92
103
|
seconds: string;
|
|
@@ -115,6 +126,7 @@ declare const zz: {
|
|
|
115
126
|
defaultTemperature: string;
|
|
116
127
|
delay: string;
|
|
117
128
|
disableLogging: string;
|
|
129
|
+
fade: string;
|
|
118
130
|
groupName: string;
|
|
119
131
|
interval: string;
|
|
120
132
|
name: string;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { TimerConfig } from './types.js';
|
|
2
|
+
import { Log } from '../tools/log.js';
|
|
3
|
+
export declare class Fader {
|
|
4
|
+
private readonly timerConfig;
|
|
5
|
+
private readonly fadeIn;
|
|
6
|
+
private readonly caller;
|
|
7
|
+
private readonly log;
|
|
8
|
+
private readonly disableLogging;
|
|
9
|
+
static new(timerConfig: TimerConfig, fadeIn: boolean, caller: string, log: Log, disableLogging: boolean): Fader | undefined;
|
|
10
|
+
private timeout?;
|
|
11
|
+
private value?;
|
|
12
|
+
private constructor();
|
|
13
|
+
get currentValue(): number | undefined;
|
|
14
|
+
start(maximum: number, callback: (value: number) => Promise<void>): void;
|
|
15
|
+
cancel(): void;
|
|
16
|
+
reset(): void;
|
|
17
|
+
private logIfDesired;
|
|
18
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { strings } from '../i18n/i18n.js';
|
|
2
|
+
import { DelayLogStrings, getDelay } from '../tools/time.js';
|
|
3
|
+
import { assert } from '../tools/validation.js';
|
|
4
|
+
export class Fader {
|
|
5
|
+
timerConfig;
|
|
6
|
+
fadeIn;
|
|
7
|
+
caller;
|
|
8
|
+
log;
|
|
9
|
+
disableLogging;
|
|
10
|
+
static new(timerConfig, fadeIn, caller, log, disableLogging) {
|
|
11
|
+
if (!assert(log, caller, timerConfig, 'delay', 'units')) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
return new Fader(timerConfig, fadeIn, caller, log, disableLogging);
|
|
15
|
+
}
|
|
16
|
+
timeout;
|
|
17
|
+
value;
|
|
18
|
+
constructor(timerConfig, fadeIn, caller, log, disableLogging) {
|
|
19
|
+
this.timerConfig = timerConfig;
|
|
20
|
+
this.fadeIn = fadeIn;
|
|
21
|
+
this.caller = caller;
|
|
22
|
+
this.log = log;
|
|
23
|
+
this.disableLogging = disableLogging;
|
|
24
|
+
}
|
|
25
|
+
get currentValue() {
|
|
26
|
+
return this.value;
|
|
27
|
+
}
|
|
28
|
+
start(maximum, callback) {
|
|
29
|
+
this.cancel();
|
|
30
|
+
const logStrings = DelayLogStrings(strings.accessory.fade.startMilliseconds, strings.accessory.fade.startSeconds, strings.accessory.fade.startMinutes, strings.accessory.fade.startHours);
|
|
31
|
+
const delay = getDelay(this.timerConfig.delay, this.timerConfig.units, this.timerConfig.random, this.log, this.disableLogging, this.caller, logStrings);
|
|
32
|
+
const change = this.fadeIn ? 1 : -1;
|
|
33
|
+
const interval = delay / maximum;
|
|
34
|
+
this.value = this.fadeIn ? 0 : maximum;
|
|
35
|
+
this.timeout = setInterval(async () => {
|
|
36
|
+
if (this.value === undefined) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
this.value = this.value + change;
|
|
40
|
+
await callback(this.value);
|
|
41
|
+
}, interval);
|
|
42
|
+
}
|
|
43
|
+
cancel() {
|
|
44
|
+
if (this.timeout) {
|
|
45
|
+
this.logIfDesired(strings.accessory.fade.cancel, this.caller);
|
|
46
|
+
}
|
|
47
|
+
this.reset();
|
|
48
|
+
}
|
|
49
|
+
reset() {
|
|
50
|
+
clearTimeout(this.timeout);
|
|
51
|
+
this.timeout = undefined;
|
|
52
|
+
this.value = undefined;
|
|
53
|
+
}
|
|
54
|
+
logIfDesired(message, ...parameters) {
|
|
55
|
+
if (this.disableLogging) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
this.log.always(message, this.caller, ...parameters);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=fader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fader.js","sourceRoot":"","sources":["../../src/model/fader.ts"],"names":[],"mappings":"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"}
|
package/dist/model/timer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { strings } from '../i18n/i18n.js';
|
|
2
|
-
import {
|
|
2
|
+
import { DelayLogStrings, getDelay } from '../tools/time.js';
|
|
3
3
|
import { assert } from '../tools/validation.js';
|
|
4
4
|
export class Timer {
|
|
5
5
|
config;
|
|
@@ -20,23 +20,9 @@ export class Timer {
|
|
|
20
20
|
this.disableLogging = disableLogging;
|
|
21
21
|
}
|
|
22
22
|
start(callback) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
let delay = toMilliseconds(this.config.delay, this.config.units);
|
|
28
|
-
if (this.config.random) {
|
|
29
|
-
delay = Math.floor(Math.max(SECOND, Math.random() * delay));
|
|
30
|
-
}
|
|
31
|
-
if (delay < MINUTE) {
|
|
32
|
-
this.logIfDesired(strings.accessory.timer.setSeconds, Math.round(delay / SECOND));
|
|
33
|
-
}
|
|
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
|
-
}
|
|
23
|
+
this.cancel();
|
|
24
|
+
const logStrings = DelayLogStrings(strings.accessory.timer.setMilliseconds, strings.accessory.timer.setSeconds, strings.accessory.timer.setMinutes, strings.accessory.timer.setHours);
|
|
25
|
+
const delay = getDelay(this.config.delay, this.config.units, this.config.random, this.log, this.disableLogging, this.caller, logStrings);
|
|
40
26
|
this.timeout = setTimeout(async () => {
|
|
41
27
|
this.reset();
|
|
42
28
|
await callback();
|
package/dist/model/timer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timer.js","sourceRoot":"","sources":["../../src/model/timer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"timer.js","sourceRoot":"","sources":["../../src/model/timer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,MAAM,OAAO,KAAK;IAYG;IACA;IACA;IACA;IAbnB,MAAM,CAAC,GAAG,CAAC,MAAmB,EAAE,MAAc,EAAE,GAAQ,EAAE,cAAuB;QAC/E,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YACnD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;IACxD,CAAC;IAEO,OAAO,CAAkB;IAEjC,YACmB,MAAmB,EACnB,MAAc,EACd,GAAQ,EACR,cAAuB;QAHvB,WAAM,GAAN,MAAM,CAAa;QACnB,WAAM,GAAN,MAAM,CAAQ;QACd,QAAG,GAAH,GAAG,CAAK;QACR,mBAAc,GAAd,cAAc,CAAS;IACvC,CAAC;IAEG,KAAK,CAAC,QAA8B;QAEzC,IAAI,CAAC,MAAM,EAAE,CAAC;QAEd,MAAM,UAAU,GAAG,eAAe,CAChC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,EACvC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAClC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAClC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CACjC,CAAC;QAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEzI,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;IACZ,CAAC;IAEM,MAAM;QACX,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAEO,KAAK;QACX,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;IAEO,YAAY,CAAC,OAAe,EAAE,GAAG,UAA+B;QAEtE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC;IACvD,CAAC;CACF"}
|
package/dist/model/trigger.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CronJob, validateCronExpression } from 'cron';
|
|
2
2
|
import { TriggerType } from './types.js';
|
|
3
3
|
import { strings } from '../i18n/i18n.js';
|
|
4
|
-
import {
|
|
4
|
+
import { DelayLogStrings, getDelay } from '../tools/time.js';
|
|
5
5
|
import { assert } from '../tools/validation.js';
|
|
6
6
|
export class Trigger {
|
|
7
7
|
trigger;
|
|
@@ -45,19 +45,8 @@ export class Trigger {
|
|
|
45
45
|
}
|
|
46
46
|
startTimeout() {
|
|
47
47
|
this.resetTimeout();
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
delay = Math.floor(Math.max(SECOND, Math.random() * delay));
|
|
51
|
-
}
|
|
52
|
-
if (delay < MINUTE) {
|
|
53
|
-
this.logIfDesired(strings.accessory.trigger.intervalSeconds, Math.round(delay / SECOND));
|
|
54
|
-
}
|
|
55
|
-
else if (delay < HOUR) {
|
|
56
|
-
this.logIfDesired(strings.accessory.trigger.intervalMinutes, Math.round(delay / MINUTE));
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
this.logIfDesired(strings.accessory.trigger.intervalHours, Math.round(delay / HOUR));
|
|
60
|
-
}
|
|
48
|
+
const logStrings = DelayLogStrings(strings.accessory.trigger.intervalMilliseconds, strings.accessory.trigger.intervalSeconds, strings.accessory.trigger.intervalMinutes, strings.accessory.trigger.intervalHours);
|
|
49
|
+
const delay = getDelay(this.trigger.interval, this.trigger.units, this.trigger.random, this.log, this.disableLogging, this.caller, logStrings);
|
|
61
50
|
this.timeout = setTimeout(async () => {
|
|
62
51
|
this.resetTimeout();
|
|
63
52
|
await this.callback();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../src/model/trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,MAAM,CAAC;AAEvD,OAAO,EAAiB,WAAW,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../src/model/trigger.ts"],"names":[],"mappings":"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"}
|
package/dist/model/types.d.ts
CHANGED
|
@@ -59,6 +59,7 @@ export type DummyPlatformConfig = PlatformConfig & {
|
|
|
59
59
|
migrationNeeded?: boolean;
|
|
60
60
|
};
|
|
61
61
|
export declare enum TimeUnits {
|
|
62
|
+
MILLISECONDS = "MILLISECONDS",
|
|
62
63
|
SECONDS = "SECONDS",
|
|
63
64
|
MINUTES = "MINUTES",
|
|
64
65
|
HOURS = "HOURS"
|
|
@@ -102,7 +103,8 @@ export type OnOffConfig = DummyConfig & {
|
|
|
102
103
|
};
|
|
103
104
|
export type OutletConfig = OnOffConfig & {};
|
|
104
105
|
export type LightbulbConfig = OnOffConfig & {
|
|
105
|
-
defaultBrightness?:
|
|
106
|
+
defaultBrightness?: number;
|
|
107
|
+
fade?: boolean;
|
|
106
108
|
};
|
|
107
109
|
export type SwitchConfig = OnOffConfig & {};
|
|
108
110
|
export type LockConfig = DummyConfig & {
|
package/dist/model/types.js
CHANGED
|
@@ -48,6 +48,7 @@ export var DefaultThermostatState;
|
|
|
48
48
|
})(DefaultThermostatState || (DefaultThermostatState = {}));
|
|
49
49
|
export var TimeUnits;
|
|
50
50
|
(function (TimeUnits) {
|
|
51
|
+
TimeUnits["MILLISECONDS"] = "MILLISECONDS";
|
|
51
52
|
TimeUnits["SECONDS"] = "SECONDS";
|
|
52
53
|
TimeUnits["MINUTES"] = "MINUTES";
|
|
53
54
|
TimeUnits["HOURS"] = "HOURS";
|
package/dist/model/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":"AAKA,MAAM,CAAN,IAAY,aASX;AATD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,wCAAuB,CAAA;IACvB,gDAA+B,CAAA;IAC/B,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,0CAAyB,CAAA;IACzB,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;AACnC,CAAC,EATW,aAAa,KAAb,aAAa,QASxB;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,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,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,yCAAqB,CAAA;AACvB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAED,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,oCAAiB,CAAA;AACnB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED,MAAM,CAAN,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,qCAAW,CAAA;IACX,uCAAa,CAAA;IACb,uCAAa,CAAA;IACb,uCAAa,CAAA;AACf,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC;AAmBD,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":"AAKA,MAAM,CAAN,IAAY,aASX;AATD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,wCAAuB,CAAA;IACvB,gDAA+B,CAAA;IAC/B,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,0CAAyB,CAAA;IACzB,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;AACnC,CAAC,EATW,aAAa,KAAb,aAAa,QASxB;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,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,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,yCAAqB,CAAA;AACvB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAED,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,oCAAiB,CAAA;AACnB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED,MAAM,CAAN,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,qCAAW,CAAA;IACX,uCAAa,CAAA;IACb,uCAAa,CAAA;IACb,uCAAa,CAAA;AACf,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC;AAmBD,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,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,oCAAqB,CAAA;IACrB,4BAAa,CAAA;AACf,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,oCAAgB,CAAA;AAClB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B"}
|
|
@@ -20,8 +20,8 @@ function migrateAccessory(legacyConfig) {
|
|
|
20
20
|
}
|
|
21
21
|
if (!legacyConfig.stateful && legacyConfig.time) {
|
|
22
22
|
dummyConfig.timer = {
|
|
23
|
-
delay:
|
|
24
|
-
units: TimeUnits.
|
|
23
|
+
delay: legacyConfig.time,
|
|
24
|
+
units: TimeUnits.MILLISECONDS,
|
|
25
25
|
random: legacyConfig.random,
|
|
26
26
|
};
|
|
27
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configMigration.js","sourceRoot":"","sources":["../../src/tools/configMigration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAMpB,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAyF,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEpJ,SAAS,gBAAgB,CAAC,YAAmC;IAE3D,MAAM,WAAW,GAAgB;QAC/B,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;QACvB,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,IAAI,EAAE,aAAa,CAAC,MAAM;QAC1B,cAAc,EAAE,YAAY,CAAC,cAAc;KAC5C,CAAC;IAEF,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,WAA0B,CAAC;QAC/C,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,eAAe,GAAG,WAA8B,CAAC;QACvD,eAAe,CAAC,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC;QAC/C,eAAe,CAAC,iBAAiB,GAAG,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;QAChD,WAAW,CAAC,KAAK,GAAG;YAClB,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"configMigration.js","sourceRoot":"","sources":["../../src/tools/configMigration.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/time.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { TimeUnits } from '../model/types.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import { Log } from '../tools/log.js';
|
|
3
|
+
type DelayLogStrings = {
|
|
4
|
+
milliseconds: string;
|
|
5
|
+
seconds: string;
|
|
6
|
+
minutes: string;
|
|
7
|
+
hours: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function DelayLogStrings(milliseconds: string, seconds: string, minutes: string, hours: string): DelayLogStrings;
|
|
10
|
+
export declare function getDelay(rawTime: number, units: TimeUnits, random: boolean | undefined, log: Log, disableLogging: boolean, caller: string, strings: DelayLogStrings): number;
|
|
11
|
+
export {};
|
package/dist/tools/time.js
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { TimeUnits } from '../model/types.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export function
|
|
2
|
+
const SECOND = 1000;
|
|
3
|
+
const MINUTE = 60 * SECOND;
|
|
4
|
+
const HOUR = 60 * MINUTE;
|
|
5
|
+
export function DelayLogStrings(milliseconds, seconds, minutes, hours) {
|
|
6
|
+
return { milliseconds: milliseconds, seconds: seconds, minutes: minutes, hours: hours };
|
|
7
|
+
}
|
|
8
|
+
function toMilliseconds(value, units) {
|
|
6
9
|
switch (units) {
|
|
10
|
+
case TimeUnits.MILLISECONDS:
|
|
11
|
+
return value;
|
|
7
12
|
case TimeUnits.SECONDS:
|
|
8
13
|
return value * SECOND;
|
|
9
14
|
case TimeUnits.MINUTES:
|
|
@@ -12,4 +17,43 @@ export function toMilliseconds(value, units) {
|
|
|
12
17
|
return value * HOUR;
|
|
13
18
|
}
|
|
14
19
|
}
|
|
20
|
+
export function getDelay(rawTime, units, random, log, disableLogging, caller, strings) {
|
|
21
|
+
let time = toMilliseconds(rawTime, units);
|
|
22
|
+
if (random) {
|
|
23
|
+
time = Math.floor(Math.max(1, Math.random() * time));
|
|
24
|
+
if (time < SECOND) {
|
|
25
|
+
units = TimeUnits.MILLISECONDS;
|
|
26
|
+
}
|
|
27
|
+
else if (time < MINUTE) {
|
|
28
|
+
units = TimeUnits.SECONDS;
|
|
29
|
+
}
|
|
30
|
+
else if (time < HOUR) {
|
|
31
|
+
units = TimeUnits.MINUTES;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (!disableLogging) {
|
|
35
|
+
let string;
|
|
36
|
+
let divisor;
|
|
37
|
+
switch (units) {
|
|
38
|
+
case TimeUnits.MILLISECONDS:
|
|
39
|
+
string = strings.milliseconds;
|
|
40
|
+
divisor = 1;
|
|
41
|
+
break;
|
|
42
|
+
case TimeUnits.SECONDS:
|
|
43
|
+
string = strings.seconds;
|
|
44
|
+
divisor = SECOND;
|
|
45
|
+
break;
|
|
46
|
+
case TimeUnits.MINUTES:
|
|
47
|
+
string = strings.minutes;
|
|
48
|
+
divisor = MINUTE;
|
|
49
|
+
break;
|
|
50
|
+
case TimeUnits.HOURS:
|
|
51
|
+
string = strings.hours;
|
|
52
|
+
divisor = HOUR;
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
log.always(string, caller, Math.round(time / divisor));
|
|
56
|
+
}
|
|
57
|
+
return time;
|
|
58
|
+
}
|
|
15
59
|
//# sourceMappingURL=time.js.map
|
package/dist/tools/time.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/tools/time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/tools/time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAI9C,MAAM,MAAM,GAAG,IAAI,CAAC;AACpB,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC;AAC3B,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC;AASzB,MAAM,UAAU,eAAe,CAAC,YAAoB,EAAE,OAAe,EAAE,OAAe,EAAE,KAAa;IACnG,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1F,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,KAAgB;IACrD,QAAO,KAAK,EAAE,CAAC;QACf,KAAK,SAAS,CAAC,YAAY;YACzB,OAAO,KAAK,CAAC;QACf,KAAK,SAAS,CAAC,OAAO;YACpB,OAAO,KAAK,GAAG,MAAM,CAAC;QACxB,KAAK,SAAS,CAAC,OAAO;YACpB,OAAO,KAAK,GAAG,MAAM,CAAC;QACxB,KAAK,SAAS,CAAC,KAAK;YAClB,OAAO,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,KAAgB,EAAE,MAA2B,EACrF,GAAQ,EAAE,cAAuB,EAAE,MAAc,EAAE,OAAwB;IAE3E,IAAI,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAE1C,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAErD,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;YAClB,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC;QACjC,CAAC;aAAM,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;YACzB,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC;QAC5B,CAAC;aAAM,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;YACvB,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,cAAc,EAAE,CAAC;QAEpB,IAAI,MAAc,CAAC;QACnB,IAAI,OAAe,CAAC;QAEpB,QAAO,KAAK,EAAE,CAAC;YACf,KAAK,SAAS,CAAC,YAAY;gBACzB,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;gBAC9B,OAAO,GAAG,CAAC,CAAC;gBACZ,MAAM;YACR,KAAK,SAAS,CAAC,OAAO;gBACpB,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;gBACzB,OAAO,GAAG,MAAM,CAAC;gBACjB,MAAM;YACR,KAAK,SAAS,CAAC,OAAO;gBACpB,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;gBACzB,OAAO,GAAG,MAAM,CAAC;gBACjB,MAAM;YACR,KAAK,SAAS,CAAC,KAAK;gBAClB,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;gBACvB,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM;QACR,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { Log } from './log.js';
|
|
2
2
|
import { Assertable } from '../model/types.js';
|
|
3
|
+
import { CharacteristicValue } from 'homebridge';
|
|
3
4
|
export declare function assert(log: Log, caller: string, assertable: Assertable, ...keys: (keyof any)[]): boolean;
|
|
5
|
+
export declare function assertType(log: Log, caller: string, value: CharacteristicValue, type: string): boolean;
|
package/dist/tools/validation.js
CHANGED
|
@@ -10,4 +10,11 @@ export function assert(log, caller, assertable, ...keys) {
|
|
|
10
10
|
}
|
|
11
11
|
return valid;
|
|
12
12
|
}
|
|
13
|
+
export function assertType(log, caller, value, type) {
|
|
14
|
+
if (typeof value !== type) {
|
|
15
|
+
log.error(strings.accessory.badValueType, caller, type, typeof value);
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
13
20
|
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/tools/validation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/tools/validation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAK1C,8DAA8D;AAC9D,MAAM,UAAU,MAAM,CAAC,GAAQ,EAAE,MAAc,EAAE,UAAsB,EAAE,GAAG,IAAmB;IAC7F,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAK,UAAsC,CAAC,GAAa,CAAC,KAAK,SAAS,EAAE,CAAC;YACzE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC5E,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAQ,EAAE,MAAc,EAAE,KAA0B,EAAE,IAAY;IAE3F,IAAI,OAAO,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1B,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,CAAC,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"displayName": "Homebridge Dummy",
|
|
5
5
|
"description": "Dummy devices for Homebridge",
|
|
6
6
|
"type": "module",
|
|
7
|
-
"version": "1.1.0-beta.
|
|
7
|
+
"version": "1.1.0-beta.4",
|
|
8
8
|
"homepage": "https://github.com/mpatfield/homebridge-dummy#readme",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|