homebridge-dummy 1.4.2-beta.1 → 1.4.2-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -1
- package/README.md +27 -0
- package/dist/accessory/base.d.ts +4 -3
- package/dist/accessory/base.js +26 -3
- package/dist/accessory/base.js.map +1 -1
- package/dist/accessory/lock.js +4 -6
- package/dist/accessory/lock.js.map +1 -1
- package/dist/accessory/onoff/lightbulb.d.ts +1 -2
- package/dist/accessory/onoff/lightbulb.js +7 -17
- package/dist/accessory/onoff/lightbulb.js.map +1 -1
- package/dist/accessory/onoff/onoff.js +4 -6
- package/dist/accessory/onoff/onoff.js.map +1 -1
- package/dist/accessory/position/garage.d.ts +2 -1
- package/dist/accessory/position/garage.js +4 -1
- package/dist/accessory/position/garage.js.map +1 -1
- package/dist/accessory/position/position.d.ts +2 -1
- package/dist/accessory/position/position.js +7 -6
- package/dist/accessory/position/position.js.map +1 -1
- package/dist/accessory/thermostat.d.ts +3 -3
- package/dist/accessory/thermostat.js +23 -25
- package/dist/accessory/thermostat.js.map +1 -1
- package/dist/homebridge/platform.js +4 -4
- package/dist/homebridge/platform.js.map +1 -1
- package/dist/homebridge-ui/public/index.html +1 -1
- package/dist/homebridge-ui/public/ui.js +1 -1
- package/dist/model/enums.d.ts +9 -0
- package/dist/model/enums.js +10 -0
- package/dist/model/enums.js.map +1 -1
- package/dist/timeout/limiter.d.ts +1 -1
- package/dist/timeout/limiter.js +5 -6
- package/dist/timeout/limiter.js.map +1 -1
- package/dist/timeout/timer.d.ts +0 -1
- package/dist/timeout/timer.js +4 -6
- package/dist/timeout/timer.js.map +1 -1
- package/dist/tools/storage.d.ts +9 -6
- package/dist/tools/storage.js +51 -27
- package/dist/tools/storage.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to homebridge-dummy will be documented in this file.
|
|
4
4
|
|
|
5
|
-
## 1.4.2-beta.
|
|
5
|
+
## 1.4.2-beta.3 (2025-11-13)
|
|
6
6
|
|
|
7
7
|
### ‼️ WARNING ‼️ — If upgrading from v0.9.2 or earlier, [READ THIS FIRST](https://github.com/mpatfield/homebridge-dummy?tab=readme-ov-file#v10-migration)
|
|
8
8
|
|
|
9
9
|
### Added
|
|
10
10
|
- `sync` [Webhooks](https://github.com/mpatfield/homebridge-dummy#webhooks) which suppress command execution
|
|
11
|
+
- Accessory states can be accessed within commands via [Environment Variables](https://github.com/mpatfield/homebridge-dummy#environment-variables)
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
- `Thermostat` - current state (i.e. HEAT/COOL/OFF) mirrors target state; previously always 'OFF'
|
|
11
15
|
|
|
12
16
|
### Notes
|
|
13
17
|
Would you like to see Homebridge Dummy in your language? Please consider [getting involved](https://github.com/mpatfield/homebridge-dummy/issues/105). No coding experience required!
|
package/README.md
CHANGED
|
@@ -244,6 +244,33 @@ Execute arbitrary commands (e.g. curl) when the accessory changes state
|
|
|
244
244
|
- `unlockCommand` - Arbitrary command to execute when lock mechanism is unlocked
|
|
245
245
|
- `commandTemperature` - Arbitrary command to execute when temperature changes
|
|
246
246
|
|
|
247
|
+
#### Environment Variables
|
|
248
|
+
|
|
249
|
+
Accessory states can be accessed within commands via environment variables which will have the form:
|
|
250
|
+
|
|
251
|
+
`Dummy_[ACCESSORY_ID]_[CHARACTERISTIC]`
|
|
252
|
+
|
|
253
|
+
`ACCESSORY_ID` will be sanitized to alphanumeric characters only. So, for example "cc5d51b8-40df-4889-89b4-3bbadd3749c0" will become "cc5d51b840df488989b43bbadd3749c0"
|
|
254
|
+
|
|
255
|
+
`CHARACTERISTIC` will be one of the following depending on the accessory type:
|
|
256
|
+
|
|
257
|
+
- `Brightness`
|
|
258
|
+
- `LockTargetState`
|
|
259
|
+
- `On`
|
|
260
|
+
- `TargetHeatingCoolingState`
|
|
261
|
+
- `TargetDoorState`
|
|
262
|
+
- `TargetPosition`
|
|
263
|
+
- `TargetTemperature`
|
|
264
|
+
|
|
265
|
+
For example, here is how you would get the state of a switch.
|
|
266
|
+
|
|
267
|
+
```
|
|
268
|
+
$ echo $Dummy_cc5d51b840df488989b43bbadd3749c0_On
|
|
269
|
+
> true
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
The easiest way to find all available variables is to create a switch that runs the command `printenv`
|
|
273
|
+
|
|
247
274
|
### Defaults
|
|
248
275
|
- `temperatureUnits` - Units to use for thermostats, either 'C' or 'F'
|
|
249
276
|
- `defaultState` — Initial value, either "on" or "off"
|
package/dist/accessory/base.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { PlatformAccessory, Service } from 'homebridge';
|
|
1
|
+
import { CharacteristicValue, PlatformAccessory, Service } from 'homebridge';
|
|
2
2
|
import { SensorAccessory } from './sensor.js';
|
|
3
3
|
import { ConditionManager } from '../model/conditions.js';
|
|
4
|
-
import { AccessoryState, AccessoryType } from '../model/enums.js';
|
|
4
|
+
import { AccessoryState, AccessoryType, CharacteristicKey } from '../model/enums.js';
|
|
5
5
|
import { CharacteristicType, DummyConfig, ServiceType } from '../model/types.js';
|
|
6
6
|
import { Webhook } from '../model/webhook.js';
|
|
7
7
|
import { Log } from '../tools/log.js';
|
|
@@ -45,7 +45,8 @@ export declare abstract class DummyAccessory<C extends DummyConfig> {
|
|
|
45
45
|
protected get log(): Log;
|
|
46
46
|
protected get Characteristic(): CharacteristicType;
|
|
47
47
|
protected get isStateful(): boolean;
|
|
48
|
-
protected
|
|
48
|
+
protected getStoredProperty(key: CharacteristicKey): CharacteristicValue | undefined;
|
|
49
|
+
protected setStoredProperty(key: CharacteristicKey, value: CharacteristicValue): void;
|
|
49
50
|
protected startTimer(): void;
|
|
50
51
|
protected onTimerStarted(_delay: number): void;
|
|
51
52
|
protected cancelTimer(): void;
|
package/dist/accessory/base.js
CHANGED
|
@@ -7,6 +7,7 @@ import { AccessoryType } from '../model/enums.js';
|
|
|
7
7
|
import Limiter from '../timeout/limiter.js';
|
|
8
8
|
import { Schedule } from '../timeout/schedule.js';
|
|
9
9
|
import { Timer } from '../timeout/timer.js';
|
|
10
|
+
import { Storage } from '../tools/storage.js';
|
|
10
11
|
import getVersion from '../tools/version.js';
|
|
11
12
|
export class DummyAccessory {
|
|
12
13
|
dependency;
|
|
@@ -89,8 +90,14 @@ export class DummyAccessory {
|
|
|
89
90
|
get isStateful() {
|
|
90
91
|
return this._schedule === undefined && !this.config.resetOnRestart;
|
|
91
92
|
}
|
|
92
|
-
|
|
93
|
-
return
|
|
93
|
+
getStoredProperty(key) {
|
|
94
|
+
return Storage.get(this.identifier, key);
|
|
95
|
+
}
|
|
96
|
+
setStoredProperty(key, value) {
|
|
97
|
+
if (!this.isStateful) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
Storage.set(this.identifier, key, value);
|
|
94
101
|
}
|
|
95
102
|
startTimer() {
|
|
96
103
|
if (this._timer) {
|
|
@@ -106,8 +113,24 @@ export class DummyAccessory {
|
|
|
106
113
|
this._limiter?.cancel();
|
|
107
114
|
}
|
|
108
115
|
async executeCommand(command) {
|
|
116
|
+
const propertiesEnv = Storage.copy().reduce((accumulator, [identifier, values]) => {
|
|
117
|
+
values.forEach(([key, value]) => {
|
|
118
|
+
identifier = identifier.replace(/[^a-zA-Z0-9]/g, '');
|
|
119
|
+
if (identifier.length) {
|
|
120
|
+
const envKey = `Dummy_${identifier}_${key}`;
|
|
121
|
+
accumulator[envKey] = String(value);
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
return accumulator;
|
|
125
|
+
}, {});
|
|
126
|
+
const execOptions = {
|
|
127
|
+
env: {
|
|
128
|
+
...process.env,
|
|
129
|
+
...propertiesEnv,
|
|
130
|
+
},
|
|
131
|
+
};
|
|
109
132
|
try {
|
|
110
|
-
const { stdout } = await this.execAsync(command);
|
|
133
|
+
const { stdout } = await this.execAsync(command, execOptions);
|
|
111
134
|
const output = stdout.trim();
|
|
112
135
|
if (output) {
|
|
113
136
|
this.logIfDesired(`${strings.command.executed}: %s\n%s`, command, output);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/accessory/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAiB,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C,OAAO,EAAkB,aAAa,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/accessory/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAiB,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C,OAAO,EAAkB,aAAa,EAAqB,MAAM,mBAAmB,CAAC;AAIrF,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAG5C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAsB7C,MAAM,OAAgB,cAAc;IAiBf;IAfT,MAAM,CAAmB;IAE5B,MAAM,CAAC,UAAU,CAAC,MAAmB;QAC1C,OAAO,MAAM,CAAC,EAAE,IAAI,GAAG,aAAa,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAC,EAAE,CAAC,EAAE,CAAC;IAC1F,CAAC;IAEkB,gBAAgB,CAAU;IAE5B,SAAS,CAAY;IACrB,MAAM,CAAS;IACf,QAAQ,CAAW;IAEnB,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE7C,YACmB,UAAuC;QAAvC,eAAU,GAAV,UAAU,CAA6B;QAGxD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;QACpC,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,cAAc,KAAK,IAAI,CAAC;QAEjE,MAAM,eAAe,GAA0B;YAC7C,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;YAC/C,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI;YACZ,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,cAAc,EAAE,cAAc;SAC/B,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE7E,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAElE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAExE,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,EACtF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC;QAE5F,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAEpE,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YAEzB,IAAI,gBAAgB,GAAG,UAAU,CAAC,iBAAiB,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACrG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,gBAAgB,GAAG,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBACnG,gBAAgB,CAAC,yBAAyB,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;gBACrF,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACrF,CAAC;YAED,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YAEzC,OAAO;QACT,CAAC;QAED,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAE;aAC9E,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;aACvD,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC;aACjE,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,CAAC;aACvE,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;aAC1E,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC;aAC1E,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,EAAE,UAAU,EAAE,CAAC,CAAC;QAE/E,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAE7I,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAChD,MAAM,eAAe,GAAG,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1F,IAAI,eAAe,IAAI,IAAI,KAAK,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBACxD,UAAU,CAAC,iBAAiB,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAQD,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;IACvC,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAID,IAAc,MAAM;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,IAAc,UAAU;QACtB,OAAO,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,IAAc,IAAI;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,IAAc,GAAG;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;IAC7B,CAAC;IAED,IAAc,cAAc;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;IACxC,CAAC;IAED,IAAc,UAAU;QACtB,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;IACrE,CAAC;IAES,iBAAiB,CAAC,GAAsB;QAChD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAES,iBAAiB,CAAC,GAAsB,EAAE,KAA0B;QAC5E,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAES,UAAU;QAClB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACvD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,6DAA6D;IACnD,cAAc,CAAC,MAAc,IAAG,CAAC;IAEjC,WAAW;QACnB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,OAAe;QAE5C,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE;YAChF,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC9B,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;gBACrD,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;oBACtB,MAAM,MAAM,GAAG,SAAS,UAAU,IAAI,GAAG,EAAE,CAAC;oBAC5C,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,OAAO,WAAW,CAAC;QACrB,CAAC,EAAE,EAA+B,CAAC,CAAC;QAEpC,MAAM,WAAW,GAAG;YAClB,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,GAAG,aAAa;aACjB;SACF,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAE7B,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5E,CAAC;QAEH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YAEb,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACzE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACnE,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YAEhC,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAExC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACnB,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACtH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,GAAY;QAClC,OAAO,GAAG,YAAY,KAAK;YACzB,MAAM,IAAI,GAAG;YACb,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;YAC5B,QAAQ,IAAI,GAAG;YACf,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;YAC9B,QAAQ,IAAI,GAAG;YACf,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC;IACnC,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,KAAqB;QACjD,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/E,CAAC;IAES,YAAY,CAAC,OAAe,EAAE,GAAG,UAA+B;QAExE,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC;IACrD,CAAC;CACF"}
|
package/dist/accessory/lock.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { DummyAccessory } from './base.js';
|
|
2
2
|
import { strings } from '../i18n/i18n.js';
|
|
3
|
-
import { AccessoryType, LockState, isValidLockState, printableValues, WebhookCharacteristic } from '../model/enums.js';
|
|
3
|
+
import { AccessoryType, LockState, isValidLockState, printableValues, WebhookCharacteristic, CharacteristicKey } from '../model/enums.js';
|
|
4
4
|
import { Webhook } from '../model/webhook.js';
|
|
5
|
-
import { storageGet_Deprecated
|
|
5
|
+
import { storageGet_Deprecated } from '../tools/storage.js';
|
|
6
6
|
export class LockAccessory extends DummyAccessory {
|
|
7
7
|
state;
|
|
8
8
|
constructor(dependency) {
|
|
@@ -25,7 +25,7 @@ export class LockAccessory extends DummyAccessory {
|
|
|
25
25
|
await this.registerStateChange();
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
|
-
const state = await storageGet_Deprecated(this.
|
|
28
|
+
const state = this.getStoredProperty(CharacteristicKey.LockTargetState) ?? await storageGet_Deprecated(`${this.identifier}:DefaultState`);
|
|
29
29
|
if (state === undefined) {
|
|
30
30
|
await this.registerStateChange();
|
|
31
31
|
return;
|
|
@@ -66,9 +66,7 @@ export class LockAccessory extends DummyAccessory {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
this.state = value;
|
|
69
|
-
|
|
70
|
-
await Storage.set(this.defaultStateStorageKey, this.state);
|
|
71
|
-
}
|
|
69
|
+
this.setStoredProperty(CharacteristicKey.LockTargetState, this.state);
|
|
72
70
|
if (this.state !== this.defaultLockState) {
|
|
73
71
|
this.startTimer();
|
|
74
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/accessory/lock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAA4B,MAAM,WAAW,CAAC;AAErE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAO,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/accessory/lock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAA4B,MAAM,WAAW,CAAC;AAErE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAO,mBAAmB,CAAC;AAE3I,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,OAAO,aAAc,SAAQ,cAA0B;IAEnD,KAAK,CAAsB;IAEnC,YAAY,UAAgD;QAC1D,KAAK,CAAC,UAAU,CAAC,CAAC;QAElB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,gBAAgB,GAAG,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9H,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAEnC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC;aAC/E,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC/B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC;aAChF,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,eAAe;QAE3B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5F,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7F,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,MAAM,qBAAqB,CAAC,GAAG,IAAI,CAAC,UAAU,eAAe,CAAC,CAAC;QAC1I,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAEQ,gBAAgB;QACvB,OAAO,aAAa,CAAC,aAAa,CAAC;IACrC,CAAC;IAED,IAAa,QAAQ;QACnB,OAAO;YACL,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,eAAe,EAChE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAChB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAClB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC/B,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC,CAAC;SACL,CAAC;IACJ,CAAC;IAED,IAAY,gBAAgB;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC;IAChG,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC/H,CAAC;IAES,KAAK,CAAC,QAAQ;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAES,KAAK,CAAC,QAAQ,CAAC,KAA0B,EAAE,WAAoB,KAAK;QAE5E,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAEzB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;oBACrF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC/C,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;oBAChG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtE,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzC,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5F,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAE7F,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,gBAAgB,CAAC;YAC5D,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAChD,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACnC,CAAC;IAEQ,KAAK,CAAC,OAAO;QACpB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC3E,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC;YAC9F,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,KAAK;QAClB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,KAA0B;QACjD,OAAO,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/G,CAAC;IAGS,YAAY,CAAC,KAA0B;QAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;CACF"}
|
|
@@ -9,10 +9,9 @@ export declare class LightbulbAccessory extends OnOffAccessory<LightbulbConfig>
|
|
|
9
9
|
private fader;
|
|
10
10
|
constructor(dependency: DummyAccessoryDependency<LightbulbConfig>);
|
|
11
11
|
private get isDimmer();
|
|
12
|
-
private get defaultBrightnessStorageKey();
|
|
13
12
|
getAccessoryType(): AccessoryType;
|
|
14
13
|
get webhooks(): Webhook[];
|
|
15
|
-
private
|
|
14
|
+
private initializeBrightness;
|
|
16
15
|
logMessageForOnState(value: CharacteristicValue): string;
|
|
17
16
|
setOn(value: CharacteristicValue, syncOnly?: boolean): Promise<void>;
|
|
18
17
|
private getBrightness;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { OnOffAccessory } from './onoff.js';
|
|
2
2
|
import { strings } from '../../i18n/i18n.js';
|
|
3
|
-
import { AccessoryType, WebhookCharacteristic } from '../../model/enums.js';
|
|
3
|
+
import { AccessoryType, CharacteristicKey, WebhookCharacteristic } from '../../model/enums.js';
|
|
4
4
|
import { Webhook } from '../../model/webhook.js';
|
|
5
5
|
import { Fader } from '../../timeout/fader.js';
|
|
6
|
-
import { storageGet_Deprecated
|
|
6
|
+
import { storageGet_Deprecated } from '../../tools/storage.js';
|
|
7
7
|
const NO_BRIGHTNESS = -1;
|
|
8
8
|
export class LightbulbAccessory extends OnOffAccessory {
|
|
9
9
|
brightness;
|
|
@@ -15,20 +15,12 @@ export class LightbulbAccessory extends OnOffAccessory {
|
|
|
15
15
|
this.accessoryService.getCharacteristic(dependency.Characteristic.Brightness)
|
|
16
16
|
.onGet(this.getBrightness.bind(this))
|
|
17
17
|
.onSet(this.setBrightness.bind(this));
|
|
18
|
-
|
|
19
|
-
this.brightness = Storage.get(this.defaultBrightnessStorageKey) ?? this.brightness;
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
this.initializeBrightness_Deprecated();
|
|
23
|
-
}
|
|
18
|
+
this.initializeBrightness();
|
|
24
19
|
}
|
|
25
20
|
}
|
|
26
21
|
get isDimmer() {
|
|
27
22
|
return this.brightness !== NO_BRIGHTNESS;
|
|
28
23
|
}
|
|
29
|
-
get defaultBrightnessStorageKey() {
|
|
30
|
-
return `${this.identifier}:Brightness`;
|
|
31
|
-
}
|
|
32
24
|
getAccessoryType() {
|
|
33
25
|
return AccessoryType.Lightbulb;
|
|
34
26
|
}
|
|
@@ -41,19 +33,19 @@ export class LightbulbAccessory extends OnOffAccessory {
|
|
|
41
33
|
}),
|
|
42
34
|
];
|
|
43
35
|
}
|
|
44
|
-
async
|
|
36
|
+
async initializeBrightness() {
|
|
45
37
|
if (!this.isStateful) {
|
|
46
38
|
this.accessoryService.updateCharacteristic(this.Characteristic.Brightness, this.brightness);
|
|
47
39
|
return;
|
|
48
40
|
}
|
|
49
|
-
const brightness = await storageGet_Deprecated(this.
|
|
41
|
+
const brightness = this.getStoredProperty(CharacteristicKey.Brightness) ?? await storageGet_Deprecated(`${this.identifier}:Brightness`);
|
|
50
42
|
if (brightness === undefined) {
|
|
51
43
|
return;
|
|
52
44
|
}
|
|
53
45
|
await this.setBrightness(brightness);
|
|
54
46
|
}
|
|
55
47
|
logMessageForOnState(value) {
|
|
56
|
-
if (this.isDimmer && value) {
|
|
48
|
+
if (this.isDimmer && value && this.brightness !== undefined) {
|
|
57
49
|
return strings.lightbulb.stateOn.replace('%d', this.brightness.toLocaleString());
|
|
58
50
|
}
|
|
59
51
|
else {
|
|
@@ -78,9 +70,7 @@ export class LightbulbAccessory extends OnOffAccessory {
|
|
|
78
70
|
this.startTimer();
|
|
79
71
|
}
|
|
80
72
|
this.logIfDesired(strings.lightbulb.brightness, this.brightness.toString());
|
|
81
|
-
|
|
82
|
-
await Storage.set(this.defaultBrightnessStorageKey, this.brightness);
|
|
83
|
-
}
|
|
73
|
+
this.setStoredProperty(CharacteristicKey.Brightness, this.brightness);
|
|
84
74
|
this.accessoryService.updateCharacteristic(this.Characteristic.Brightness, this.brightness);
|
|
85
75
|
}
|
|
86
76
|
onTimerStarted(delay) {
|
|
@@ -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;AAI5C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"lightbulb.js","sourceRoot":"","sources":["../../../src/accessory/onoff/lightbulb.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { DummyAccessory } from '../base.js';
|
|
2
2
|
import { strings } from '../../i18n/i18n.js';
|
|
3
|
+
import { CharacteristicKey, isValidOnState, OnState, printableValues, WebhookCharacteristic } from '../../model/enums.js';
|
|
3
4
|
import { Webhook } from '../../model/webhook.js';
|
|
4
|
-
import { storageGet_Deprecated
|
|
5
|
-
import { isValidOnState, OnState, printableValues, WebhookCharacteristic } from '../../model/enums.js';
|
|
5
|
+
import { storageGet_Deprecated } from '../../tools/storage.js';
|
|
6
6
|
export class OnOffAccessory extends DummyAccessory {
|
|
7
7
|
on;
|
|
8
8
|
constructor(dependency) {
|
|
@@ -30,7 +30,7 @@ export class OnOffAccessory extends DummyAccessory {
|
|
|
30
30
|
await this.registerStateChange();
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
|
-
const on = await storageGet_Deprecated(this.
|
|
33
|
+
const on = this.getStoredProperty(CharacteristicKey.On) ?? await storageGet_Deprecated(`${this.identifier}:DefaultState`);
|
|
34
34
|
if (on === undefined) {
|
|
35
35
|
await this.registerStateChange();
|
|
36
36
|
return;
|
|
@@ -62,9 +62,7 @@ export class OnOffAccessory extends DummyAccessory {
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
this.on = value;
|
|
65
|
-
|
|
66
|
-
await Storage.set(this.defaultStateStorageKey, this.on);
|
|
67
|
-
}
|
|
65
|
+
this.setStoredProperty(CharacteristicKey.On, this.on);
|
|
68
66
|
if (this.on !== this.defaultState) {
|
|
69
67
|
this.startTimer();
|
|
70
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onoff.js","sourceRoot":"","sources":["../../../src/accessory/onoff/onoff.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAA4B,MAAM,YAAY,CAAC;AAEtE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"onoff.js","sourceRoot":"","sources":["../../../src/accessory/onoff/onoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PositionAccessory } from './position.js';
|
|
2
2
|
import { DummyAccessoryDependency } from '../base.js';
|
|
3
|
-
import { AccessoryType, WebhookCharacteristic } from '../../model/enums.js';
|
|
3
|
+
import { AccessoryType, CharacteristicKey, WebhookCharacteristic } from '../../model/enums.js';
|
|
4
4
|
import { GarageDoorConfig } from '../../model/types.js';
|
|
5
5
|
export declare class GarageDoorAccessory extends PositionAccessory<GarageDoorConfig> {
|
|
6
6
|
constructor(dependency: DummyAccessoryDependency<GarageDoorConfig>);
|
|
@@ -8,6 +8,7 @@ export declare class GarageDoorAccessory extends PositionAccessory<GarageDoorCon
|
|
|
8
8
|
get hasPositionState(): boolean;
|
|
9
9
|
get positionClosed(): number;
|
|
10
10
|
get positionOpen(): number;
|
|
11
|
+
get stateStorageKey(): CharacteristicKey;
|
|
11
12
|
get targetCharacteristic(): typeof import("hap-nodejs/dist/lib/definitions/CharacteristicDefinitions.js").TargetDoorState;
|
|
12
13
|
get currentCharacteristic(): typeof import("hap-nodejs/dist/lib/definitions/CharacteristicDefinitions.js").CurrentDoorState;
|
|
13
14
|
get webhookCommand(): WebhookCharacteristic;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PositionAccessory } from './position.js';
|
|
2
|
-
import { AccessoryType, WebhookCharacteristic } from '../../model/enums.js';
|
|
2
|
+
import { AccessoryType, CharacteristicKey, WebhookCharacteristic } from '../../model/enums.js';
|
|
3
3
|
export class GarageDoorAccessory extends PositionAccessory {
|
|
4
4
|
constructor(dependency) {
|
|
5
5
|
super(dependency);
|
|
@@ -18,6 +18,9 @@ export class GarageDoorAccessory extends PositionAccessory {
|
|
|
18
18
|
get positionOpen() {
|
|
19
19
|
return this.Characteristic.TargetDoorState.OPEN;
|
|
20
20
|
}
|
|
21
|
+
get stateStorageKey() {
|
|
22
|
+
return CharacteristicKey.TargetDoorState;
|
|
23
|
+
}
|
|
21
24
|
get targetCharacteristic() {
|
|
22
25
|
return this.Characteristic.TargetDoorState;
|
|
23
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"garage.js","sourceRoot":"","sources":["../../../src/accessory/position/garage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIlD,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"garage.js","sourceRoot":"","sources":["../../../src/accessory/position/garage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIlD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAG/F,MAAM,OAAO,mBAAoB,SAAQ,iBAAmC;IAE1E,YAAY,UAAsD;QAChE,KAAK,CAAC,UAAU,CAAC,CAAC;QAElB,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,mBAAmB,CAAC;aACnF,KAAK,CAAE,KAAK,IAAI,EAAE,CAAC,KAAK,CAAE,CAAC;IAChC,CAAC;IAEQ,gBAAgB;QACvB,OAAO,aAAa,CAAC,gBAAgB,CAAC;IACxC,CAAC;IAED,IAAa,gBAAgB;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAa,cAAc;QACzB,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC;IACpD,CAAC;IAED,IAAa,YAAY;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC;IAClD,CAAC;IAED,IAAa,eAAe;QAC1B,OAAO,iBAAiB,CAAC,eAAe,CAAC;IAC3C,CAAC;IAED,IAAa,oBAAoB;QAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;IAC7C,CAAC;IAED,IAAa,qBAAqB;QAChC,OAAO,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;IAC9C,CAAC;IAED,IAAa,cAAc;QACzB,OAAO,qBAAqB,CAAC,eAAe,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CharacteristicValue } from 'homebridge';
|
|
2
2
|
import { DummyAccessory, DummyAccessoryDependency } from '../base.js';
|
|
3
|
-
import { WebhookCharacteristic } from '../../model/enums.js';
|
|
3
|
+
import { WebhookCharacteristic, CharacteristicKey } from '../../model/enums.js';
|
|
4
4
|
import { PositionConfig } from '../../model/types.js';
|
|
5
5
|
import { Webhook } from '../../model/webhook.js';
|
|
6
6
|
export declare abstract class PositionAccessory<C extends PositionConfig = PositionConfig> extends DummyAccessory<PositionConfig> {
|
|
@@ -9,6 +9,7 @@ export declare abstract class PositionAccessory<C extends PositionConfig = Posit
|
|
|
9
9
|
protected get hasPositionState(): boolean;
|
|
10
10
|
protected get positionClosed(): number;
|
|
11
11
|
protected get positionOpen(): number;
|
|
12
|
+
protected get stateStorageKey(): CharacteristicKey;
|
|
12
13
|
protected get targetCharacteristic(): typeof import("hap-nodejs/dist/lib/definitions/CharacteristicDefinitions.js").TargetPosition;
|
|
13
14
|
protected get currentCharacteristic(): typeof import("hap-nodejs/dist/lib/definitions/CharacteristicDefinitions.js").CurrentPosition;
|
|
14
15
|
protected get webhookCommand(): WebhookCharacteristic;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { DummyAccessory } from '../base.js';
|
|
2
2
|
import { strings } from '../../i18n/i18n.js';
|
|
3
|
-
import { Position, isValidPosition, printableValues, WebhookCharacteristic } from '../../model/enums.js';
|
|
3
|
+
import { Position, isValidPosition, printableValues, WebhookCharacteristic, CharacteristicKey } from '../../model/enums.js';
|
|
4
4
|
import { Webhook } from '../../model/webhook.js';
|
|
5
|
-
import { storageGet_Deprecated
|
|
5
|
+
import { storageGet_Deprecated } from '../../tools/storage.js';
|
|
6
6
|
export class PositionAccessory extends DummyAccessory {
|
|
7
7
|
position;
|
|
8
8
|
constructor(dependency) {
|
|
@@ -31,6 +31,9 @@ export class PositionAccessory extends DummyAccessory {
|
|
|
31
31
|
get positionOpen() {
|
|
32
32
|
return 100;
|
|
33
33
|
}
|
|
34
|
+
get stateStorageKey() {
|
|
35
|
+
return CharacteristicKey.TargetPosition;
|
|
36
|
+
}
|
|
34
37
|
get targetCharacteristic() {
|
|
35
38
|
return this.Characteristic.TargetPosition;
|
|
36
39
|
}
|
|
@@ -55,7 +58,7 @@ export class PositionAccessory extends DummyAccessory {
|
|
|
55
58
|
await this.registerStateChange();
|
|
56
59
|
return;
|
|
57
60
|
}
|
|
58
|
-
const position = await storageGet_Deprecated(this.
|
|
61
|
+
const position = this.getStoredProperty(this.stateStorageKey) ?? await storageGet_Deprecated(`${this.identifier}:DefaultState`);
|
|
59
62
|
if (position === undefined) {
|
|
60
63
|
await this.registerStateChange();
|
|
61
64
|
return;
|
|
@@ -88,9 +91,7 @@ export class PositionAccessory extends DummyAccessory {
|
|
|
88
91
|
}
|
|
89
92
|
}
|
|
90
93
|
this.position = targetPosition;
|
|
91
|
-
|
|
92
|
-
await Storage.set(this.defaultStateStorageKey, this.position);
|
|
93
|
-
}
|
|
94
|
+
this.setStoredProperty(this.stateStorageKey, this.position);
|
|
94
95
|
if (this.position !== this.defaultPosition) {
|
|
95
96
|
this.startTimer();
|
|
96
97
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../../src/accessory/position/position.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAA4B,MAAM,YAAY,CAAC;AAEtE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../../src/accessory/position/position.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,11 @@ export declare class ThermostatAccessory extends DummyAccessory<ThermostatConfig
|
|
|
8
8
|
private readonly STATE_COOL;
|
|
9
9
|
private readonly STATE_HEAT;
|
|
10
10
|
private readonly STATE_OFF;
|
|
11
|
-
private
|
|
11
|
+
private currentState;
|
|
12
|
+
private targetState;
|
|
12
13
|
private temperature;
|
|
13
14
|
constructor(dependency: DummyAccessoryDependency<ThermostatConfig>);
|
|
14
15
|
private initializeThermostat;
|
|
15
|
-
private get defaulTemperatureStorageKey();
|
|
16
16
|
getAccessoryType(): AccessoryType;
|
|
17
17
|
get webhooks(): Webhook[];
|
|
18
18
|
private get defaultState();
|
|
@@ -20,7 +20,7 @@ export declare class ThermostatAccessory extends DummyAccessory<ThermostatConfig
|
|
|
20
20
|
private get units();
|
|
21
21
|
private getUnits;
|
|
22
22
|
protected getCurrentState(): Promise<CharacteristicValue>;
|
|
23
|
-
private
|
|
23
|
+
private getTargetState;
|
|
24
24
|
private setState;
|
|
25
25
|
private getTemperature;
|
|
26
26
|
private setTemperature;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { DummyAccessory } from './base.js';
|
|
2
2
|
import { strings } from '../i18n/i18n.js';
|
|
3
|
-
import { AccessoryType, DefaultThermostatState, isValidTemperatureUnits, isValidThermostatState, printableValues, TemperatureUnits, WebhookCharacteristic } from '../model/enums.js';
|
|
3
|
+
import { AccessoryType, CharacteristicKey, DefaultThermostatState, isValidTemperatureUnits, isValidThermostatState, printableValues, TemperatureUnits, WebhookCharacteristic } from '../model/enums.js';
|
|
4
4
|
import { Webhook } from '../model/webhook.js';
|
|
5
|
-
import { storageGet_Deprecated
|
|
5
|
+
import { storageGet_Deprecated } from '../tools/storage.js';
|
|
6
6
|
import { fromCelsius, toCelsius } from '../tools/temperature.js';
|
|
7
7
|
const DEFAULT_TEMPERATURE = 20;
|
|
8
8
|
const DEFAULT_MINIMUM = 10;
|
|
@@ -12,7 +12,8 @@ export class ThermostatAccessory extends DummyAccessory {
|
|
|
12
12
|
STATE_COOL;
|
|
13
13
|
STATE_HEAT;
|
|
14
14
|
STATE_OFF;
|
|
15
|
-
|
|
15
|
+
currentState;
|
|
16
|
+
targetState;
|
|
16
17
|
temperature;
|
|
17
18
|
constructor(dependency) {
|
|
18
19
|
super(dependency);
|
|
@@ -26,7 +27,8 @@ export class ThermostatAccessory extends DummyAccessory {
|
|
|
26
27
|
if (!isValidThermostatState(dependency.config.defaultThermostatState)) {
|
|
27
28
|
this.log.warning(strings.thermostat.badDefault, this.name, `'${dependency.config.defaultThermostatState}'`, printableValues(DefaultThermostatState));
|
|
28
29
|
}
|
|
29
|
-
this.
|
|
30
|
+
this.targetState = this.defaultState;
|
|
31
|
+
this.currentState = this.defaultState !== this.STATE_AUTO ? this.defaultState : this.STATE_OFF;
|
|
30
32
|
this.temperature = this.defaultTemperature;
|
|
31
33
|
this.accessoryService.getCharacteristic(dependency.Characteristic.TemperatureDisplayUnits)
|
|
32
34
|
.onGet(this.getUnits.bind(this));
|
|
@@ -42,7 +44,7 @@ export class ThermostatAccessory extends DummyAccessory {
|
|
|
42
44
|
this.STATE_AUTO,
|
|
43
45
|
],
|
|
44
46
|
})
|
|
45
|
-
.onGet(this.
|
|
47
|
+
.onGet(this.getTargetState.bind(this))
|
|
46
48
|
.onSet(this.setState.bind(this));
|
|
47
49
|
const minTemp = dependency.config.minimumTemperature ? toCelsius(dependency.config.minimumTemperature, this.units) : DEFAULT_MINIMUM;
|
|
48
50
|
const maxTemp = dependency.config.maximumTemperature ? toCelsius(dependency.config.maximumTemperature, this.units) : DEFAULT_MAXIMUM;
|
|
@@ -57,29 +59,27 @@ export class ThermostatAccessory extends DummyAccessory {
|
|
|
57
59
|
}
|
|
58
60
|
async initializeThermostat() {
|
|
59
61
|
if (!this.isStateful) {
|
|
60
|
-
this.accessoryService.updateCharacteristic(this.Characteristic.TargetHeatingCoolingState, this.
|
|
62
|
+
this.accessoryService.updateCharacteristic(this.Characteristic.TargetHeatingCoolingState, this.targetState);
|
|
63
|
+
this.accessoryService.updateCharacteristic(this.Characteristic.CurrentHeatingCoolingState, this.currentState);
|
|
61
64
|
this.accessoryService.updateCharacteristic(this.Characteristic.TargetTemperature, this.temperature);
|
|
62
65
|
this.accessoryService.updateCharacteristic(this.Characteristic.CurrentTemperature, this.temperature);
|
|
63
66
|
return;
|
|
64
67
|
}
|
|
65
|
-
const state = await storageGet_Deprecated(this.
|
|
68
|
+
const state = this.getStoredProperty(CharacteristicKey.TargetHeatingCoolingState) ?? await storageGet_Deprecated(`${this.identifier}:DefaultState`);
|
|
66
69
|
if (state !== undefined) {
|
|
67
70
|
await this.setState(state);
|
|
68
71
|
}
|
|
69
|
-
const temperature = await storageGet_Deprecated(this.
|
|
72
|
+
const temperature = this.getStoredProperty(CharacteristicKey.TargetTemperature) ?? await storageGet_Deprecated(`${this.identifier}:Temperature`);
|
|
70
73
|
if (temperature !== undefined) {
|
|
71
74
|
await this.setTemperature(temperature);
|
|
72
75
|
}
|
|
73
76
|
}
|
|
74
|
-
get defaulTemperatureStorageKey() {
|
|
75
|
-
return `${this.identifier}:Temperature`;
|
|
76
|
-
}
|
|
77
77
|
getAccessoryType() {
|
|
78
78
|
return AccessoryType.Thermostat;
|
|
79
79
|
}
|
|
80
80
|
get webhooks() {
|
|
81
81
|
return [
|
|
82
|
-
new Webhook(this.identifier, WebhookCharacteristic.TargetHeatingCoolingState, () => this.
|
|
82
|
+
new Webhook(this.identifier, WebhookCharacteristic.TargetHeatingCoolingState, () => this.targetState, (value, syncOnly) => {
|
|
83
83
|
this.setState(value, syncOnly);
|
|
84
84
|
return this.stateLogTemplateForCV(value).replace('%s', this.name);
|
|
85
85
|
}),
|
|
@@ -111,28 +111,28 @@ export class ThermostatAccessory extends DummyAccessory {
|
|
|
111
111
|
? this.Characteristic.TemperatureDisplayUnits.FAHRENHEIT : this.Characteristic.TemperatureDisplayUnits.CELSIUS;
|
|
112
112
|
}
|
|
113
113
|
async getCurrentState() {
|
|
114
|
-
return this.
|
|
114
|
+
return this.currentState;
|
|
115
115
|
}
|
|
116
|
-
async
|
|
117
|
-
return this.
|
|
116
|
+
async getTargetState() {
|
|
117
|
+
return this.targetState;
|
|
118
118
|
}
|
|
119
119
|
async setState(value, syncOnly = false) {
|
|
120
|
-
if (this.
|
|
120
|
+
if (this.targetState !== value) {
|
|
121
121
|
this.logState(value);
|
|
122
122
|
if (!syncOnly) {
|
|
123
123
|
if (this.config.commandOff && value === this.STATE_OFF) {
|
|
124
124
|
this.executeCommand(this.config.commandOff);
|
|
125
125
|
}
|
|
126
|
-
else if (this.config.commandOn && this.
|
|
126
|
+
else if (this.config.commandOn && this.targetState === this.STATE_OFF && value !== this.STATE_OFF) {
|
|
127
127
|
this.executeCommand(this.config.commandOn);
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
this.
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
this.accessoryService.updateCharacteristic(this.Characteristic.
|
|
131
|
+
this.targetState = value;
|
|
132
|
+
this.setStoredProperty(CharacteristicKey.TargetHeatingCoolingState, this.targetState);
|
|
133
|
+
this.accessoryService.updateCharacteristic(this.Characteristic.TargetHeatingCoolingState, this.targetState);
|
|
134
|
+
this.currentState = this.targetState !== this.STATE_AUTO ? this.targetState : this.currentState;
|
|
135
|
+
this.accessoryService.updateCharacteristic(this.Characteristic.CurrentHeatingCoolingState, this.currentState);
|
|
136
136
|
}
|
|
137
137
|
async getTemperature() {
|
|
138
138
|
return this.temperature;
|
|
@@ -147,9 +147,7 @@ export class ThermostatAccessory extends DummyAccessory {
|
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
this.temperature = value;
|
|
150
|
-
|
|
151
|
-
await Storage.set(this.defaulTemperatureStorageKey, this.temperature);
|
|
152
|
-
}
|
|
150
|
+
this.setStoredProperty(CharacteristicKey.TargetTemperature, this.temperature);
|
|
153
151
|
this.accessoryService.updateCharacteristic(this.Characteristic.TargetTemperature, this.temperature);
|
|
154
152
|
this.accessoryService.updateCharacteristic(this.Characteristic.CurrentTemperature, this.temperature);
|
|
155
153
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thermostat.js","sourceRoot":"","sources":["../../src/accessory/thermostat.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAA4B,MAAM,WAAW,CAAC;AAErE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EACL,aAAa,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"thermostat.js","sourceRoot":"","sources":["../../src/accessory/thermostat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { PLATFORM_NAME, PLUGIN_NAME } from './settings.js';
|
|
2
2
|
import { DummyAccessory } from '../accessory/base.js';
|
|
3
|
-
import { GroupAccessory } from '../accessory/group.js';
|
|
4
3
|
import { createDummyAccessory } from '../accessory/helpers.js';
|
|
4
|
+
import { GroupAccessory } from '../accessory/group.js';
|
|
5
5
|
import { setLanguage, strings } from '../i18n/i18n.js';
|
|
6
|
+
import { ConditionManager } from '../model/conditions.js';
|
|
7
|
+
import { WebhookManager } from '../model/webhook.js';
|
|
6
8
|
import { migrateAccessories } from '../tools/configMigration.js';
|
|
7
9
|
import { Log } from '../tools/log.js';
|
|
8
|
-
import getVersion from '../tools/version.js';
|
|
9
|
-
import { WebhookManager } from '../model/webhook.js';
|
|
10
10
|
import { Storage } from '../tools/storage.js';
|
|
11
|
-
import
|
|
11
|
+
import getVersion from '../tools/version.js';
|
|
12
12
|
export class HomebridgeDummyPlatform {
|
|
13
13
|
config;
|
|
14
14
|
api;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/homebridge/platform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,cAAc,EAA4B,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/homebridge/platform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,cAAc,EAA4B,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAA4B,MAAM,uBAAuB,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAE7C,MAAM,OAAO,uBAAuB;IAcf;IACA;IAdF,OAAO,CAAC;IACR,cAAc,CAAC;IAEf,GAAG,CAAM;IAET,mBAAmB,GAAmC,IAAI,GAAG,EAAE,CAAC;IAChE,gBAAgB,GAAqD,EAAE,CAAC;IAExE,cAAc,CAAiB;IAC/B,gBAAgB,CAAmB;IAEpD,YACE,MAAc,EACG,MAA2B,EAC3B,GAAQ;QADR,WAAM,GAAN,MAAM,CAAqB;QAC3B,QAAG,GAAH,GAAG,CAAK;QAGzB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEtB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;QAE7C,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5F,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAE/E,IAAI,CAAC,GAAG,CAAC,MAAM,CACb,oDAAoD,EACpD,UAAU,EAAE,EACZ,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,OAAO,EACf,GAAG,CAAC,aAAa,EACjB,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAC5B,CAAC;QAEF,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;YAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,iBAAoC;QACrD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACnF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACxF,CAAC;IAEO,QAAQ;QACd,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAE,SAAS,CAAC,EAAE;YACzC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,KAAK;QAEjB,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAEhD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAE1C,MAAM,WAAW,GAAkB,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QACjE,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAChC,MAAM,mBAAmB,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC;YACjG,WAAW,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAuB,CAAC;QAExD,KAAK,MAAM,eAAe,IAAI,WAAW,EAAE,CAAC;YAE1C,IAAI,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;gBACtC,MAAM,WAAW,GAAgB,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;gBACxG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC9C,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBAC7D,SAAS;YACX,CAAC;YAED,MAAM,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACtD,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAExB,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;YAErH,MAAM,UAAU,GAA0C;gBACxD,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,iBAAiB,EAAE,iBAAiB;gBACpC,MAAM,EAAE,eAAe;gBACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,SAAS,EAAE,KAAK;aACjB,CAAC;YAEF,MAAM,cAAc,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,SAAS;YACX,CAAC;YAED,IAAI,eAAe,CAAC,YAAY,EAAE,CAAC;gBACjC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;YAEhD,MAAM,WAAW,GAAgB,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;YAElE,MAAM,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAChD,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAExB,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAE1G,MAAM,UAAU,GAA6B;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,iBAAiB,EAAE,iBAAiB;gBACpC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,GAAG,EAAE,IAAI,CAAC,GAAG;aACd,CAAC;YAEF,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACxF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACxC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;QAElC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7E,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IAEO,uBAAuB,CAAC,EAAU,EAAE,IAAY;QAEtD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAEpD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE5C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7D,SAAS,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;QAElC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAE5C,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAE9E,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,qBAAqB,CAAC,iBAAoC;QAChE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAChF,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxE,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var u="Homebridge Dummy";var I={github:'<a target="_blank" href="https://github.com/mpatfield/homebridge-dummy/">GitHub</a>',migration:'<a target="_blank" href="https://github.com/mpatfield/homebridge-dummy?tab=readme-ov-file#v10-migration">GitHub</a>',dummy:u};function
|
|
1
|
+
"use strict";(()=>{var u="Homebridge Dummy";var I={github:'<a target="_blank" href="https://github.com/mpatfield/homebridge-dummy/">GitHub</a>',migration:'<a target="_blank" href="https://github.com/mpatfield/homebridge-dummy?tab=readme-ov-file#v10-migration">GitHub</a>',dummy:u};function D(e){document.querySelectorAll("[i18n]").forEach(t=>{let i=t.getAttribute("i18n"),n=e.config[i],o=t.getAttribute("i18n_replace");o&&(n=n.replace("%s",I[o])),t.innerHTML=n})}function w(e){let t=["span","label","legend","option","p"];Array.from(window.parent.document.querySelectorAll(t.join(","))).sort((n,o)=>t.indexOf(n.tagName.toLowerCase())-t.indexOf(o.tagName.toLowerCase())).forEach(n=>{let o=n.innerHTML;o=o.replaceAll(/\$\{config\.(title|description|enumNames)\.([^}]+)\}/g,(s,d,a)=>e.config[d]&&typeof e.config[d]=="object"&&a in e.config[d]?e.config[d][a]:s),n.innerHTML!==o&&(n.innerHTML=o)})}function L(e){let t=Array.from(window.parent.document.querySelectorAll("fieldset legend"));for(let i of t){let o=i.closest("fieldset")?.querySelector('input[type="text"][name="name"]');o&&i.textContent!==(o.value||e.config.title.accessory)&&(i.textContent=o.value!==""?o.value:e.config.title.accessory),o&&!o.dataset.accessoryNameListener&&(o.addEventListener("input",()=>L(e)),o.dataset.accessoryNameListener="true")}}function h(){if(typeof crypto<"u"){if(crypto.randomUUID)return crypto.randomUUID();if(crypto.getRandomValues)return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=crypto.getRandomValues(new Uint8Array(1))[0]&15;return(e==="x"?t:t&3|8).toString(16)})}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}async function N(e){let t=!1;e.forEach(i=>{i.accessories?.forEach(n=>{n.id===void 0&&(n.id=h(),t=!0),n.limiter!==void 0&&n.limiter.id===void 0&&(n.limiter.id=h(),t=!0)})}),t&&await homebridge.updatePluginConfig(e)}function v(e,t){let i=window.parent.document.createTreeWalker(window.parent.document.body,NodeFilter.SHOW_ELEMENT),n=!1;for(;i.nextNode();)if(i.currentNode===e){n=!0;break}for(;n&&i.nextNode();){let o=i.currentNode;if(o.getAttribute("name")===t)return o}return null}var l=[];async function O(e,t){let i=window.parent.document.querySelectorAll('[name="accessoryId"]');if(i.length===0)return;t===void 0&&(t=await homebridge.getPluginConfig());let n=[];for(let s of t){let d=(s.accessories??[]).filter(a=>a.id&&a.name&&a.type!=="Thermostat");n.push(...d)}let o=!1;l.length!==n.length?(l=n,o=!0):l.forEach((s,d)=>{let a=n[d];(s.name!==a.name||s.type!==a.type||s.id!==a.id)&&(l=n,o=!0)}),i.forEach(s=>{let d=s,a=d.parentElement?.querySelector('select.form-select[data-accessory-name-select="true"]');if(a&&a.dataset.accessoryNameSelect!=="true"){console.error("Unable to retrieve accessory name selector");return}a||(a=document.createElement("select"),a.className="form-select",a.dataset.accessoryNameSelect="true",d.hidden=!0,a.addEventListener("change",()=>{if(a.selectedIndex===-1)d.value="";else{let c=l[a.selectedIndex].id;d.value=c}d.dispatchEvent(new Event("input",{bubbles:!0}))}),d.parentElement?.appendChild(a)),(o||a.length===0)&&(a.length=0,l.forEach(c=>{let r=document.createElement("option");r.text=c.name,a.add(r)}));let m=d.value.length?l.findIndex(c=>c.id===d.value):-1;if(m===-1)a.selectedIndex=-1;else{a.selectedIndex=m;let c=l[m],r=v(a,"accessoryState");if(!r){console.error("Unable to find accessory state selector");return}if(r.length!==7){console.error("Accessory state selector has an unexpected number of options");return}let y=r.options[0],f=r.options[1],x=r.options[2],p=r.options[3],b=r.options[4],S=r.options[5],E=r.options[6];switch(y.hidden=!0,f.hidden=!0,x.hidden=!0,p.hidden=!0,b.hidden=!0,S.hidden=!0,E.hidden=!0,c.type){case"Lightbulb":case"Outlet":case"Switch":f.hidden=!1,x.hidden=!1,r.selectedIndex!==1&&r.selectedIndex!==2&&(r.selectedIndex=-1,r.dispatchEvent(new Event("change",{bubbles:!0})));break;case"Door":case"GarageDoorOpener":case"Window":case"WindowCovering":p.hidden=!1,b.hidden=!1,r.selectedIndex!==3&&r.selectedIndex!==4&&(r.selectedIndex=-1,r.dispatchEvent(new Event("change",{bubbles:!0})));break;case"LockMechanism":r.selectedIndex!==5&&r.selectedIndex!==6&&(r.selectedIndex=-1,r.dispatchEvent(new Event("change",{bubbles:!0}))),S.hidden=!1,E.hidden=!1;break;case"Thermostat":default:return}}})}async function M(e){let t=!1;e.forEach(i=>{i.accessories?.forEach(n=>{"defaultOn"in n&&(n.defaultState=n.defaultOn?"on":"off",n.defaultOn=void 0,t=!0);let o=n.sensor;typeof o=="string"&&(n.sensor={type:o},t=!0);let s=n.schedule;s?.type==="CRON"&&s.cron!=="CRON_CUSTOM"&&!s.cron?.startsWith("@")&&(n.schedule={...s,cron:"CRON_CUSTOM",cronCustom:s.cron},t=!0)})}),t&&await homebridge.updatePluginConfig(e)}function g(e){document.getElementById("intro").style.display="none",document.getElementById("migration").style.display="none",document.getElementById("support").style.display="block",new MutationObserver(()=>{w(e),L(e),O(e)}).observe(window.parent.document.body,{childList:!0,subtree:!0}),homebridge.addEventListener("configChanged",async i=>{let n=i.data;await N(n),await O(e,n)}),homebridge.showSchemaForm(),homebridge.hideSpinner(),homebridge.enableSaveButton()}function T(e){document.getElementById("header").style.display="none",document.getElementById("intro").style.display="none",document.getElementById("migration").style.display="block",document.getElementById("skipMigration").addEventListener("click",async()=>{await homebridge.updatePluginConfig([{name:u}]),await homebridge.savePluginConfig(),g(e)}),document.getElementById("doMigration").addEventListener("click",async()=>{await homebridge.updatePluginConfig([{name:u,migrationNeeded:!0}]),await homebridge.savePluginConfig(),homebridge.closeSettings(),homebridge.toast.info(e.config.migrationRestartDescription.replace("%s",u),e.config.migrationRestartTitle)})}function C(e){document.getElementById("showSettings").addEventListener("click",async()=>{await homebridge.updatePluginConfig([{name:u}]),g(e)}),document.getElementById("showMigration").addEventListener("click",()=>{T(e)}),document.getElementById("intro").style.display="block",homebridge.hideSpinner()}homebridge.disableSaveButton(),homebridge.showSpinner();(async()=>{let e=await homebridge.i18nCurrentLang(),t=await homebridge.request("i18n",e);D(t);let i=await homebridge.getPluginConfig();i.length?(await M(i),g(t)):C(t)})();})();
|
package/dist/model/enums.d.ts
CHANGED
|
@@ -9,6 +9,15 @@ export declare enum AccessoryType {
|
|
|
9
9
|
Window = "Window",
|
|
10
10
|
WindowCovering = "WindowCovering"
|
|
11
11
|
}
|
|
12
|
+
export declare enum CharacteristicKey {
|
|
13
|
+
Brightness = "Brightness",
|
|
14
|
+
LockTargetState = "LockTargetState",
|
|
15
|
+
On = "On",
|
|
16
|
+
TargetHeatingCoolingState = "TargetHeatingCoolingState",
|
|
17
|
+
TargetDoorState = "TargetDoorState",
|
|
18
|
+
TargetPosition = "TargetPosition",
|
|
19
|
+
TargetTemperature = "TargetTemperature"
|
|
20
|
+
}
|
|
12
21
|
export declare enum SensorType {
|
|
13
22
|
CarbonDioxideSensor = "CarbonDioxideSensor",
|
|
14
23
|
CarbonMonoxideSensor = "CarbonMonoxideSensor",
|
package/dist/model/enums.js
CHANGED
|
@@ -10,6 +10,16 @@ export var AccessoryType;
|
|
|
10
10
|
AccessoryType["Window"] = "Window";
|
|
11
11
|
AccessoryType["WindowCovering"] = "WindowCovering";
|
|
12
12
|
})(AccessoryType || (AccessoryType = {}));
|
|
13
|
+
export var CharacteristicKey;
|
|
14
|
+
(function (CharacteristicKey) {
|
|
15
|
+
CharacteristicKey["Brightness"] = "Brightness";
|
|
16
|
+
CharacteristicKey["LockTargetState"] = "LockTargetState";
|
|
17
|
+
CharacteristicKey["On"] = "On";
|
|
18
|
+
CharacteristicKey["TargetHeatingCoolingState"] = "TargetHeatingCoolingState";
|
|
19
|
+
CharacteristicKey["TargetDoorState"] = "TargetDoorState";
|
|
20
|
+
CharacteristicKey["TargetPosition"] = "TargetPosition";
|
|
21
|
+
CharacteristicKey["TargetTemperature"] = "TargetTemperature";
|
|
22
|
+
})(CharacteristicKey || (CharacteristicKey = {}));
|
|
13
23
|
export var SensorType;
|
|
14
24
|
(function (SensorType) {
|
|
15
25
|
SensorType["CarbonDioxideSensor"] = "CarbonDioxideSensor";
|
package/dist/model/enums.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/model/enums.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/model/enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAUX;AAVD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,sDAAqC,CAAA;IACrC,wCAAuB,CAAA;IACvB,gDAA+B,CAAA;IAC/B,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,0CAAyB,CAAA;IACzB,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;AACnC,CAAC,EAVW,aAAa,KAAb,aAAa,QAUxB;AAED,MAAM,CAAN,IAAY,iBAQX;AARD,WAAY,iBAAiB;IAC3B,8CAAyB,CAAA;IACzB,wDAAmC,CAAA;IACnC,8BAAS,CAAA;IACT,4EAAuD,CAAA;IACvD,wDAAmC,CAAA;IACnC,sDAAiC,CAAA;IACjC,4DAAuC,CAAA;AACzC,CAAC,EARW,iBAAiB,KAAjB,iBAAiB,QAQ5B;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,UAAU,iBAAiB,CAAC,KAAiB;IACjD,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;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,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,gCAAW,CAAA;IACX,8BAAS,CAAA;AACX,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B;AAED,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,sCAAuB,CAAA;IACvB,0BAAW,CAAA;IACX,4BAAa,CAAA;AACf,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,MAAM,CAAN,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,oBAAS,CAAA;IACT,sBAAW,CAAA;AACb,CAAC,EAHW,OAAO,KAAP,OAAO,QAGlB;AAED,MAAM,UAAU,cAAc,CAAC,KAAe;IAC5C,OAAO,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;AACvB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAiB;IAChD,OAAO,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,6BAAiB,CAAA;AACnB,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,MAAM,UAAU,eAAe,CAAC,KAAgB;IAC9C,OAAO,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAID,MAAM,UAAU,YAAY,CAAC,KAAqB;IAEhD,IAAI,cAAc,CAAC,KAAgB,CAAC,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,eAAe,CAAC,KAAiB,CAAC,EAAE,CAAC;QACvC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,gBAAgB,CAAC,KAAkB,CAAC,EAAE,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAN,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,uCAAa,CAAA;IACb,uCAAa,CAAA;IACb,uCAAa,CAAA;IACb,qCAAW,CAAA;AACb,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAA8B;IACnE,OAAO,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,yBAAW,CAAA;IACX,2BAAa,CAAA;IACb,6BAAe,CAAA;AACjB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAED,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,UAAU,gBAAgB,CAAC,KAAgB;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAN,IAAY,YASX;AATD,WAAY,YAAY;IACtB,qCAAqB,CAAA;IACrB,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,2CAA2B,CAAA;IAC3B,+BAAe,CAAA;IACf,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;AACnB,CAAC,EATW,YAAY,KAAZ,YAAY,QASvB;AAED,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,oCAAgB,CAAA;AAClB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAwB;IAC9D,OAAO,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,CAAN,IAAY,qBAQX;AARD,WAAY,qBAAqB;IAC/B,kDAAyB,CAAA;IACzB,4DAAmC,CAAA;IACnC,kCAAS,CAAA;IACT,4DAAmC,CAAA;IACnC,gFAAuD,CAAA;IACvD,0DAAiC,CAAA;IACjC,gEAAuC,CAAA;AACzC,CAAC,EARW,qBAAqB,KAArB,qBAAqB,QAQhC;AAED,MAAM,UAAU,eAAe,CAAI,CAAqC;IACtE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -6,7 +6,7 @@ export default class Limiter extends Timeout {
|
|
|
6
6
|
static new(dependency: DummyAddonDependency, config?: LimiterConfig): Limiter | undefined;
|
|
7
7
|
private limit;
|
|
8
8
|
private constructor();
|
|
9
|
-
private get
|
|
9
|
+
private get identifier();
|
|
10
10
|
start(callback: () => Promise<void>): void;
|
|
11
11
|
cancel(): void;
|
|
12
12
|
reset(): void;
|
package/dist/timeout/limiter.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DAY, getDelay, HOUR, MINUTE, SECOND, Timeout } from './timeout.js';
|
|
2
2
|
import { strings } from '../i18n/i18n.js';
|
|
3
3
|
import { isValidTimeUnits, printableValues, TimePeriod, TimeUnits } from '../model/enums.js';
|
|
4
|
-
import { Storage } from '../tools/storage.js';
|
|
4
|
+
import { Storage, Storage_Deprecated } from '../tools/storage.js';
|
|
5
5
|
import { assert } from '../tools/validation.js';
|
|
6
6
|
export default class Limiter extends Timeout {
|
|
7
7
|
config;
|
|
@@ -42,7 +42,7 @@ export default class Limiter extends Timeout {
|
|
|
42
42
|
constructor(dependency, config) {
|
|
43
43
|
super(dependency);
|
|
44
44
|
this.config = config;
|
|
45
|
-
const cache = Storage.get(this.
|
|
45
|
+
const cache = Storage.get(this.identifier, Limiter.name) ?? Storage_Deprecated.get(`${this.config.id ?? this.caller}:Limit`);
|
|
46
46
|
if (cache === undefined) {
|
|
47
47
|
return;
|
|
48
48
|
}
|
|
@@ -53,9 +53,8 @@ export default class Limiter extends Timeout {
|
|
|
53
53
|
const elapsedTime = Date.now() - this.limit.startTimestamp;
|
|
54
54
|
this.limit.timeRemaining = Math.max(0, this.limit.timeRemaining - elapsedTime);
|
|
55
55
|
}
|
|
56
|
-
get
|
|
57
|
-
|
|
58
|
-
return `${identifier}:Limit`;
|
|
56
|
+
get identifier() {
|
|
57
|
+
return this.config.id ?? this.caller;
|
|
59
58
|
}
|
|
60
59
|
start(callback) {
|
|
61
60
|
if (Date.now() - this.limit.resetTimestamp >= 0 || this.limit.timeRemaining === -1) {
|
|
@@ -121,7 +120,7 @@ export default class Limiter extends Timeout {
|
|
|
121
120
|
this.limit.resetTimestamp = date.getTime();
|
|
122
121
|
}
|
|
123
122
|
storeLimit() {
|
|
124
|
-
Storage.set(this.
|
|
123
|
+
Storage.set(this.identifier, Limiter.name, this.limit);
|
|
125
124
|
}
|
|
126
125
|
logTimeRemaining() {
|
|
127
126
|
if (this.limit.timeRemaining < 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limiter.js","sourceRoot":"","sources":["../../src/timeout/limiter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5E,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG7F,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"limiter.js","sourceRoot":"","sources":["../../src/timeout/limiter.ts"],"names":[],"mappings":"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"}
|
package/dist/timeout/timer.d.ts
CHANGED
|
@@ -6,7 +6,6 @@ export declare class Timer extends Timeout {
|
|
|
6
6
|
static new(dependency: DummyAddonDependency, config?: TimerConfig): Timer | undefined;
|
|
7
7
|
private expiresTimestamp?;
|
|
8
8
|
private constructor();
|
|
9
|
-
private get timerStorageKey();
|
|
10
9
|
private storeExpiresTimestamp;
|
|
11
10
|
start(callback: () => Promise<void>): number;
|
|
12
11
|
reset(): void;
|
package/dist/timeout/timer.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DelayLogStrings, SECOND, Timeout } from './timeout.js';
|
|
2
2
|
import { isValidTimeUnits, printableValues, TimeUnits } from '../model/enums.js';
|
|
3
3
|
import { strings } from '../i18n/i18n.js';
|
|
4
|
-
import { Storage } from '../tools/storage.js';
|
|
4
|
+
import { Storage, Storage_Deprecated } from '../tools/storage.js';
|
|
5
5
|
import { assert } from '../tools/validation.js';
|
|
6
6
|
export class Timer extends Timeout {
|
|
7
7
|
config;
|
|
@@ -19,13 +19,11 @@ export class Timer extends Timeout {
|
|
|
19
19
|
constructor(dependency, config) {
|
|
20
20
|
super(dependency);
|
|
21
21
|
this.config = config;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
get timerStorageKey() {
|
|
25
|
-
return `${this.dependency.identifier}:Timer`;
|
|
22
|
+
const storedTimestamp = Storage.get(dependency.identifier, Timer.name) ?? Storage_Deprecated.get(`${dependency.identifier}:Timer`);
|
|
23
|
+
this.expiresTimestamp = storedTimestamp;
|
|
26
24
|
}
|
|
27
25
|
storeExpiresTimestamp(value) {
|
|
28
|
-
Storage.set(this.
|
|
26
|
+
Storage.set(this.dependency.identifier, Timer.name, value);
|
|
29
27
|
}
|
|
30
28
|
start(callback) {
|
|
31
29
|
super.reset();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timer.js","sourceRoot":"","sources":["../../src/timeout/timer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAIhE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGjF,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"timer.js","sourceRoot":"","sources":["../../src/timeout/timer.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/storage.d.ts
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { PrimitiveTypes } from 'homebridge';
|
|
2
|
-
type
|
|
3
|
-
type Storable = Primative | Primative[] | {
|
|
2
|
+
type Storable = PrimitiveTypes | PrimitiveTypes[] | {
|
|
4
3
|
[key: string]: PrimitiveTypes;
|
|
5
4
|
};
|
|
6
|
-
export declare function storageGet_Deprecated(key: string): Promise<Storable | undefined>;
|
|
7
5
|
export declare class Storage {
|
|
8
|
-
private static readonly bucket;
|
|
9
6
|
static init(persistPath: string): Promise<void>;
|
|
10
|
-
static
|
|
7
|
+
static copy(): [string, [string, Storable][]][];
|
|
8
|
+
static get(identifier: string, key: string): Storable | undefined;
|
|
9
|
+
static set(identifier: string, key: string, item: Storable | undefined): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export declare function storageGet_Deprecated(key: string): Promise<Storable | undefined>;
|
|
12
|
+
export declare class Storage_Deprecated {
|
|
13
|
+
private static readonly bucket;
|
|
14
|
+
static init(): Promise<void>;
|
|
11
15
|
static get(key: string): Storable | undefined;
|
|
12
|
-
static set(key: string, storable: Storable | undefined): Promise<void>;
|
|
13
16
|
}
|
|
14
17
|
export {};
|
package/dist/tools/storage.js
CHANGED
|
@@ -1,48 +1,72 @@
|
|
|
1
1
|
import storage from 'node-persist';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
if (!Storage.has(key)) {
|
|
5
|
-
const storable = await storage.get(key);
|
|
6
|
-
if (storable) {
|
|
7
|
-
await Storage.set(key, storable);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
return Storage.get(key);
|
|
11
|
-
}
|
|
2
|
+
import { PLATFORM_NAME } from '../homebridge/settings.js';
|
|
3
|
+
const STORAGE = new Map();
|
|
12
4
|
export class Storage {
|
|
13
|
-
static bucket = new Map();
|
|
14
5
|
static async init(persistPath) {
|
|
15
6
|
await storage.init({ dir: persistPath, forgiveParseErrors: true });
|
|
16
|
-
|
|
17
|
-
|
|
7
|
+
await Storage_Deprecated.init();
|
|
8
|
+
const storageJson = await storage.get(PLATFORM_NAME);
|
|
9
|
+
if (storageJson === undefined) {
|
|
18
10
|
return;
|
|
19
11
|
}
|
|
20
12
|
try {
|
|
21
|
-
const
|
|
22
|
-
for (const
|
|
23
|
-
|
|
13
|
+
const storageArray = JSON.parse(storageJson);
|
|
14
|
+
for (const [identifier, itemsArray] of storageArray) {
|
|
15
|
+
const itemsMap = new Map(itemsArray);
|
|
16
|
+
STORAGE.set(identifier, itemsMap);
|
|
24
17
|
}
|
|
25
18
|
}
|
|
26
19
|
catch {
|
|
27
20
|
// ignore
|
|
28
21
|
}
|
|
29
22
|
}
|
|
30
|
-
static
|
|
31
|
-
return
|
|
23
|
+
static copy() {
|
|
24
|
+
return Array.from(STORAGE.entries()).map(([key, value]) => {
|
|
25
|
+
const valueArray = Array.from(value.entries());
|
|
26
|
+
return [key, valueArray];
|
|
27
|
+
});
|
|
32
28
|
}
|
|
33
|
-
static get(key) {
|
|
34
|
-
return
|
|
29
|
+
static get(identifier, key) {
|
|
30
|
+
return STORAGE.get(identifier)?.get(key);
|
|
35
31
|
}
|
|
36
|
-
static async set(key,
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
static async set(identifier, key, item) {
|
|
33
|
+
const items = STORAGE.get(identifier) || new Map();
|
|
34
|
+
if (item !== undefined) {
|
|
35
|
+
items.set(key, item);
|
|
39
36
|
}
|
|
40
37
|
else {
|
|
41
|
-
|
|
38
|
+
items.delete(key);
|
|
42
39
|
}
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
|
|
40
|
+
STORAGE.set(identifier, items);
|
|
41
|
+
const storageArray = Array.from(STORAGE.entries()).map(([key, value]) => {
|
|
42
|
+
return [key, Array.from(value.entries())];
|
|
43
|
+
});
|
|
44
|
+
const storageJson = JSON.stringify(storageArray);
|
|
45
|
+
await storage.set(PLATFORM_NAME, storageJson);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export async function storageGet_Deprecated(key) {
|
|
49
|
+
return Storage_Deprecated.get(key) ?? await storage.get(key);
|
|
50
|
+
}
|
|
51
|
+
export class Storage_Deprecated {
|
|
52
|
+
static bucket = new Map();
|
|
53
|
+
static async init() {
|
|
54
|
+
const bucketJson = await storage.get('Storage.bucket');
|
|
55
|
+
if (bucketJson === undefined) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
try {
|
|
59
|
+
const bucketArray = JSON.parse(bucketJson);
|
|
60
|
+
for (const entry of bucketArray) {
|
|
61
|
+
Storage_Deprecated.bucket.set(entry[0], entry[1]);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
// ignore
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
static get(key) {
|
|
69
|
+
return Storage_Deprecated.bucket.get(key);
|
|
46
70
|
}
|
|
47
71
|
}
|
|
48
72
|
//# sourceMappingURL=storage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/tools/storage.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/tools/storage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"displayName": "Homebridge Dummy",
|
|
5
5
|
"description": "Create accessories to help with HomeKit automation and control — scheduling, delays, sensors, commands, conditions, webhooks, and more",
|
|
6
6
|
"type": "module",
|
|
7
|
-
"version": "1.4.2-beta.
|
|
7
|
+
"version": "1.4.2-beta.3",
|
|
8
8
|
"homepage": "https://github.com/mpatfield/homebridge-dummy#readme",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|