homebridge-dummy 1.1.0-beta.3 → 1.1.0-beta.5
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 -4
- package/README.md +3 -0
- package/config.schema.json +20 -5
- 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 +10 -1
- package/dist/i18n/en.js +12 -3
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/i18n.d.ts +10 -1
- package/dist/i18n/template.d.ts +10 -1
- package/dist/i18n/zz.d.ts +10 -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 -34
- package/dist/model/timer.js.map +1 -1
- package/dist/model/trigger.js +3 -17
- package/dist/model/trigger.js.map +1 -1
- package/dist/model/types.d.ts +2 -1
- package/dist/tools/time.d.ts +10 -4
- package/dist/tools/time.js +46 -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
|
|
5
|
+
## 1.1.0 (2025-08-XX)
|
|
6
6
|
|
|
7
7
|
### ‼️ WARNING — Read this if upgrading from v0.9.2 or earlier…
|
|
8
8
|
|
|
@@ -13,17 +13,18 @@ Automations and scenes using Homebridge Dummy accessories will need to be reconf
|
|
|
13
13
|
### Added
|
|
14
14
|
- Groups (Beta) - Items sharing the same group name will be collected together in the Home app UI
|
|
15
15
|
- ⚠️ Adding/removing/changing the group name for an accessory will require you to reconfigure any HomeKit scenes or automations
|
|
16
|
-
- Auto-Trigger feature to invoke accessory at a specified interval or times
|
|
16
|
+
- Auto-Trigger feature to invoke accessory at a specified interval or times (cron)
|
|
17
17
|
- Support for Thermostats
|
|
18
18
|
- Manual control only, no auto-trigger or auto-reset functionality
|
|
19
19
|
- Millisecond unit option for triggers/timers
|
|
20
|
+
- "Fade" option for dimmer lightbulbs timers
|
|
20
21
|
|
|
21
22
|
### Changed
|
|
22
23
|
- Reorganized plugin config UI and renamed "Timer" to "Auto-Reset"
|
|
24
|
+
- Updated dependencies
|
|
23
25
|
|
|
24
26
|
### Fixed
|
|
25
|
-
-
|
|
26
|
-
- Improved timer logging ([#148](https://github.com/mpatfield/homebridge-dummy/issues/148))
|
|
27
|
+
- Timer logging issues ([#143](https://github.com/mpatfield/homebridge-dummy/issues/143), [#148](https://github.com/mpatfield/homebridge-dummy/issues/148))
|
|
27
28
|
|
|
28
29
|
## 1.0.0 (2025-07-23)
|
|
29
30
|
|
package/README.md
CHANGED
|
@@ -101,6 +101,7 @@ Using the Homebridge Config UI is the easiest way to set up this plugin. However
|
|
|
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",
|
|
@@ -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
|
@@ -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,8 +177,8 @@
|
|
|
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
|
}
|
|
@@ -386,10 +391,20 @@
|
|
|
386
391
|
]
|
|
387
392
|
},
|
|
388
393
|
{
|
|
389
|
-
"
|
|
394
|
+
"type": "fieldset",
|
|
395
|
+
"notitle": true,
|
|
390
396
|
"condition": {
|
|
391
|
-
|
|
392
|
-
}
|
|
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
|
+
]
|
|
393
408
|
}
|
|
394
409
|
]
|
|
395
410
|
},
|
|
@@ -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,7 +34,6 @@ declare const en: {
|
|
|
33
34
|
};
|
|
34
35
|
timer: {
|
|
35
36
|
cancel: string;
|
|
36
|
-
reset: string;
|
|
37
37
|
setMilliseconds: string;
|
|
38
38
|
setSeconds: string;
|
|
39
39
|
setMinutes: string;
|
|
@@ -46,6 +46,13 @@ declare const en: {
|
|
|
46
46
|
intervalMinutes: string;
|
|
47
47
|
intervalHours: string;
|
|
48
48
|
};
|
|
49
|
+
fade: {
|
|
50
|
+
cancel: string;
|
|
51
|
+
startMilliseconds: string;
|
|
52
|
+
startSeconds: string;
|
|
53
|
+
startMinutes: string;
|
|
54
|
+
startHours: string;
|
|
55
|
+
};
|
|
49
56
|
};
|
|
50
57
|
config: {
|
|
51
58
|
migrate: string;
|
|
@@ -63,6 +70,7 @@ declare const en: {
|
|
|
63
70
|
description: {
|
|
64
71
|
commands: string;
|
|
65
72
|
cron: string;
|
|
73
|
+
fade: string;
|
|
66
74
|
random: string;
|
|
67
75
|
timer: string;
|
|
68
76
|
trigger: string;
|
|
@@ -118,6 +126,7 @@ declare const en: {
|
|
|
118
126
|
defaultTemperature: string;
|
|
119
127
|
delay: string;
|
|
120
128
|
disableLogging: string;
|
|
129
|
+
fade: string;
|
|
121
130
|
groupName: string;
|
|
122
131
|
interval: string;
|
|
123
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,7 +34,6 @@ const en = {
|
|
|
33
34
|
},
|
|
34
35
|
timer: {
|
|
35
36
|
cancel: 'Cancelled the timer for %s', // accessory name
|
|
36
|
-
reset: 'Reset the timer for %s', // accessory name
|
|
37
37
|
setMilliseconds: '%s is waiting %s milliseconds', // accessory name, number
|
|
38
38
|
setSeconds: '%s is waiting %s seconds', // accessory name, number
|
|
39
39
|
setMinutes: '%s is waiting %s minutes', // accessory name, number
|
|
@@ -46,6 +46,13 @@ const en = {
|
|
|
46
46
|
intervalMinutes: '%s will trigger in %s minutes', // accessory name, number
|
|
47
47
|
intervalHours: '%s will trigger in %s hours', // accessory name, number
|
|
48
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
|
+
},
|
|
49
56
|
},
|
|
50
57
|
config: {
|
|
51
58
|
migrate: 'Are you upgrading from an earlier version?',
|
|
@@ -63,6 +70,7 @@ const en = {
|
|
|
63
70
|
description: {
|
|
64
71
|
commands: 'Execute arbitrary commands when the accessory changes state',
|
|
65
72
|
cron: 'Visit crontab.guru for help',
|
|
73
|
+
fade: 'Lightbulb will fade gradually over the specified time interval',
|
|
66
74
|
random: 'Time will be randomized with the above value as a maximum',
|
|
67
75
|
timer: 'Return the accessory to its default value after the specified delay',
|
|
68
76
|
trigger: 'Set the accessory to its opposite (non-default) value at specified interval or times',
|
|
@@ -118,6 +126,7 @@ const en = {
|
|
|
118
126
|
defaultTemperature: 'Default Temperature',
|
|
119
127
|
delay: 'Delay',
|
|
120
128
|
disableLogging: 'Disable Logging',
|
|
129
|
+
fade: 'Fade',
|
|
121
130
|
groupName: 'Group Name (Beta)',
|
|
122
131
|
interval: 'Interval',
|
|
123
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,7 +43,6 @@ declare const translations: {
|
|
|
42
43
|
};
|
|
43
44
|
timer: {
|
|
44
45
|
cancel: string;
|
|
45
|
-
reset: string;
|
|
46
46
|
setMilliseconds: string;
|
|
47
47
|
setSeconds: string;
|
|
48
48
|
setMinutes: string;
|
|
@@ -55,6 +55,13 @@ declare const translations: {
|
|
|
55
55
|
intervalMinutes: string;
|
|
56
56
|
intervalHours: string;
|
|
57
57
|
};
|
|
58
|
+
fade: {
|
|
59
|
+
cancel: string;
|
|
60
|
+
startMilliseconds: string;
|
|
61
|
+
startSeconds: string;
|
|
62
|
+
startMinutes: string;
|
|
63
|
+
startHours: string;
|
|
64
|
+
};
|
|
58
65
|
};
|
|
59
66
|
config: {
|
|
60
67
|
migrate: string;
|
|
@@ -72,6 +79,7 @@ declare const translations: {
|
|
|
72
79
|
description: {
|
|
73
80
|
commands: string;
|
|
74
81
|
cron: string;
|
|
82
|
+
fade: string;
|
|
75
83
|
random: string;
|
|
76
84
|
timer: string;
|
|
77
85
|
trigger: string;
|
|
@@ -127,6 +135,7 @@ declare const translations: {
|
|
|
127
135
|
defaultTemperature: string;
|
|
128
136
|
delay: string;
|
|
129
137
|
disableLogging: string;
|
|
138
|
+
fade: string;
|
|
130
139
|
groupName: string;
|
|
131
140
|
interval: string;
|
|
132
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,7 +34,6 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
|
|
|
33
34
|
};
|
|
34
35
|
timer: {
|
|
35
36
|
cancel: string;
|
|
36
|
-
reset: string;
|
|
37
37
|
setMilliseconds: string;
|
|
38
38
|
setSeconds: string;
|
|
39
39
|
setMinutes: string;
|
|
@@ -46,6 +46,13 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
|
|
|
46
46
|
intervalMinutes: string;
|
|
47
47
|
intervalHours: string;
|
|
48
48
|
};
|
|
49
|
+
fade: {
|
|
50
|
+
cancel: string;
|
|
51
|
+
startMilliseconds: string;
|
|
52
|
+
startSeconds: string;
|
|
53
|
+
startMinutes: string;
|
|
54
|
+
startHours: string;
|
|
55
|
+
};
|
|
49
56
|
};
|
|
50
57
|
config: {
|
|
51
58
|
migrate: string;
|
|
@@ -63,6 +70,7 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
|
|
|
63
70
|
description: {
|
|
64
71
|
commands: string;
|
|
65
72
|
cron: string;
|
|
73
|
+
fade: string;
|
|
66
74
|
random: string;
|
|
67
75
|
timer: string;
|
|
68
76
|
trigger: string;
|
|
@@ -118,6 +126,7 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
|
|
|
118
126
|
defaultTemperature: string;
|
|
119
127
|
delay: string;
|
|
120
128
|
disableLogging: string;
|
|
129
|
+
fade: string;
|
|
121
130
|
groupName: string;
|
|
122
131
|
interval: string;
|
|
123
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,7 +34,6 @@ declare const zz: {
|
|
|
33
34
|
};
|
|
34
35
|
timer: {
|
|
35
36
|
cancel: string;
|
|
36
|
-
reset: string;
|
|
37
37
|
setMilliseconds: string;
|
|
38
38
|
setSeconds: string;
|
|
39
39
|
setMinutes: string;
|
|
@@ -46,6 +46,13 @@ declare const zz: {
|
|
|
46
46
|
intervalMinutes: string;
|
|
47
47
|
intervalHours: string;
|
|
48
48
|
};
|
|
49
|
+
fade: {
|
|
50
|
+
cancel: string;
|
|
51
|
+
startMilliseconds: string;
|
|
52
|
+
startSeconds: string;
|
|
53
|
+
startMinutes: string;
|
|
54
|
+
startHours: string;
|
|
55
|
+
};
|
|
49
56
|
};
|
|
50
57
|
config: {
|
|
51
58
|
migrate: string;
|
|
@@ -63,6 +70,7 @@ declare const zz: {
|
|
|
63
70
|
description: {
|
|
64
71
|
commands: string;
|
|
65
72
|
cron: string;
|
|
73
|
+
fade: string;
|
|
66
74
|
random: string;
|
|
67
75
|
timer: string;
|
|
68
76
|
trigger: string;
|
|
@@ -118,6 +126,7 @@ declare const zz: {
|
|
|
118
126
|
defaultTemperature: string;
|
|
119
127
|
delay: string;
|
|
120
128
|
disableLogging: string;
|
|
129
|
+
fade: string;
|
|
121
130
|
groupName: string;
|
|
122
131
|
interval: string;
|
|
123
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":"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;IAeG;IACA;IACA;IACA;IACA;IAjBnB,MAAM,CAAC,GAAG,CAAC,WAAwB,EAAE,MAAe,EAAE,MAAc,EAAE,GAAQ,EAAE,cAAuB;QAErG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YACxD,OAAO;QACT,CAAC;QAED,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;IACrE,CAAC;IAEO,OAAO,CAAkB;IACzB,KAAK,CAAU;IAEvB,YACmB,WAAwB,EACxB,MAAe,EACf,MAAc,EACd,GAAQ,EACR,cAAuB;QAJvB,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAS;QACf,WAAM,GAAN,MAAM,CAAQ;QACd,QAAG,GAAH,GAAG,CAAK;QACR,mBAAc,GAAd,cAAc,CAAS;IAE1C,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,QAA0C;QAEtE,IAAI,CAAC,MAAM,EAAE,CAAC;QAEd,MAAM,UAAU,GAAG,eAAe,CAChC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EACxC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EACnC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EACnC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAClC,CAAC;QAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAExJ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;QAEjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAEvC,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YAEpC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO;YACT,CAAC;YAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YAEjC,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE7B,CAAC,EAAE,QAAQ,CAAC,CAAC;IACf,CAAC;IAEM,MAAM;QAEX,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAEM,KAAK;QACV,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACzB,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/timer.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { TimeUnits } from './types.js';
|
|
2
1
|
import { strings } from '../i18n/i18n.js';
|
|
3
|
-
import {
|
|
2
|
+
import { DelayLogStrings, getDelay } from '../tools/time.js';
|
|
4
3
|
import { assert } from '../tools/validation.js';
|
|
5
4
|
export class Timer {
|
|
6
5
|
config;
|
|
@@ -21,38 +20,9 @@ export class Timer {
|
|
|
21
20
|
this.disableLogging = disableLogging;
|
|
22
21
|
}
|
|
23
22
|
start(callback) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
let delay = toMilliseconds(this.config.delay, this.config.units);
|
|
29
|
-
let units = this.config.units;
|
|
30
|
-
if (this.config.random) {
|
|
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
|
-
}
|
|
41
|
-
}
|
|
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;
|
|
55
|
-
}
|
|
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);
|
|
56
26
|
this.timeout = setTimeout(async () => {
|
|
57
27
|
this.reset();
|
|
58
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":"
|
|
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,22 +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 < SECOND) {
|
|
53
|
-
this.logIfDesired(strings.accessory.trigger.intervalMilliseconds, delay);
|
|
54
|
-
}
|
|
55
|
-
else if (delay < MINUTE) {
|
|
56
|
-
this.logIfDesired(strings.accessory.trigger.intervalSeconds, Math.round(delay / SECOND));
|
|
57
|
-
}
|
|
58
|
-
else if (delay < HOUR) {
|
|
59
|
-
this.logIfDesired(strings.accessory.trigger.intervalMinutes, Math.round(delay / MINUTE));
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
this.logIfDesired(strings.accessory.trigger.intervalHours, Math.round(delay / HOUR));
|
|
63
|
-
}
|
|
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);
|
|
64
50
|
this.timeout = setTimeout(async () => {
|
|
65
51
|
this.resetTimeout();
|
|
66
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
|
@@ -103,7 +103,8 @@ export type OnOffConfig = DummyConfig & {
|
|
|
103
103
|
};
|
|
104
104
|
export type OutletConfig = OnOffConfig & {};
|
|
105
105
|
export type LightbulbConfig = OnOffConfig & {
|
|
106
|
-
defaultBrightness?:
|
|
106
|
+
defaultBrightness?: number;
|
|
107
|
+
fade?: boolean;
|
|
107
108
|
};
|
|
108
109
|
export type SwitchConfig = OnOffConfig & {};
|
|
109
110
|
export type LockConfig = DummyConfig & {
|
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,8 +1,11 @@
|
|
|
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) {
|
|
7
10
|
case TimeUnits.MILLISECONDS:
|
|
8
11
|
return value;
|
|
@@ -14,4 +17,43 @@ export function toMilliseconds(value, units) {
|
|
|
14
17
|
return value * HOUR;
|
|
15
18
|
}
|
|
16
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
|
+
}
|
|
17
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.5",
|
|
8
8
|
"homepage": "https://github.com/mpatfield/homebridge-dummy#readme",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|