homebridge-dummy 1.3.2 → 1.4.0-beta.1
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 +12 -1
- package/README.md +36 -2
- package/config.schema.json +153 -29
- package/dist/accessory/base.d.ts +28 -8
- package/dist/accessory/base.js +53 -37
- package/dist/accessory/base.js.map +1 -1
- package/dist/accessory/group.d.ts +9 -1
- package/dist/accessory/group.js +14 -9
- package/dist/accessory/group.js.map +1 -1
- package/dist/accessory/helpers.d.ts +3 -5
- package/dist/accessory/helpers.js +12 -12
- package/dist/accessory/helpers.js.map +1 -1
- package/dist/accessory/lock.d.ts +6 -6
- package/dist/accessory/lock.js +14 -8
- package/dist/accessory/lock.js.map +1 -1
- package/dist/accessory/onoff/lightbulb.d.ts +9 -4
- package/dist/accessory/onoff/lightbulb.js +31 -4
- package/dist/accessory/onoff/lightbulb.js.map +1 -1
- package/dist/accessory/onoff/onoff.d.ts +8 -8
- package/dist/accessory/onoff/onoff.js +25 -13
- package/dist/accessory/onoff/onoff.js.map +1 -1
- package/dist/accessory/position/garage.d.ts +3 -4
- package/dist/accessory/position/garage.js +3 -3
- package/dist/accessory/position/garage.js.map +1 -1
- package/dist/accessory/position/position.d.ts +6 -6
- package/dist/accessory/position/position.js +14 -8
- package/dist/accessory/position/position.js.map +1 -1
- package/dist/accessory/sensor.d.ts +4 -5
- package/dist/accessory/sensor.js +14 -15
- package/dist/accessory/sensor.js.map +1 -1
- package/dist/accessory/thermostat.d.ts +5 -6
- package/dist/accessory/thermostat.js +17 -17
- package/dist/accessory/thermostat.js.map +1 -1
- package/dist/homebridge/platform.d.ts +1 -1
- package/dist/homebridge/platform.js +29 -12
- 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/i18n/de.d.ts +22 -0
- package/dist/i18n/en.d.ts +22 -0
- package/dist/i18n/en.js +30 -8
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/es.d.ts +22 -0
- package/dist/i18n/i18n.d.ts +22 -0
- package/dist/i18n/ru.d.ts +22 -0
- package/dist/i18n/template.d.ts +22 -0
- package/dist/model/conditions.d.ts +14 -0
- package/dist/model/conditions.js +99 -0
- package/dist/model/conditions.js.map +1 -0
- package/dist/model/enums.d.ts +15 -4
- package/dist/model/enums.js +36 -12
- package/dist/model/enums.js.map +1 -1
- package/dist/model/types.d.ts +14 -3
- package/dist/timeout/fader.d.ts +9 -0
- package/dist/timeout/fader.js +33 -0
- package/dist/timeout/fader.js.map +1 -0
- package/dist/timeout/limiter.d.ts +2 -2
- package/dist/timeout/limiter.js +8 -8
- package/dist/timeout/limiter.js.map +1 -1
- package/dist/timeout/schedule.d.ts +3 -3
- package/dist/timeout/schedule.js +18 -18
- package/dist/timeout/schedule.js.map +1 -1
- package/dist/timeout/timeout.d.ts +6 -4
- package/dist/timeout/timeout.js +12 -7
- package/dist/timeout/timeout.js.map +1 -1
- package/dist/timeout/timer.d.ts +3 -4
- package/dist/timeout/timer.js +8 -9
- package/dist/timeout/timer.js.map +1 -1
- package/dist/tools/configMigration.js +2 -2
- package/dist/tools/configMigration.js.map +1 -1
- package/package.json +10 -1
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { DummyAccessory } from '../base.js';
|
|
2
2
|
import { strings } from '../../i18n/i18n.js';
|
|
3
|
-
import {
|
|
3
|
+
import { Position, isValidPosition, printableValues, WebhookCommand } from '../../model/enums.js';
|
|
4
4
|
import { Webhook } from '../../model/webhook.js';
|
|
5
5
|
import { storageGet_Deprecated, Storage } from '../../tools/storage.js';
|
|
6
6
|
export class PositionAccessory extends DummyAccessory {
|
|
7
7
|
position;
|
|
8
|
-
constructor(
|
|
9
|
-
super(
|
|
10
|
-
if (!isValidPosition(config.defaultPosition)) {
|
|
11
|
-
this.log.warning(strings.position.badDefault, this.name, `'${config.defaultPosition}'`, printableValues(
|
|
8
|
+
constructor(dependency) {
|
|
9
|
+
super(dependency);
|
|
10
|
+
if (!isValidPosition(dependency.config.defaultPosition)) {
|
|
11
|
+
this.log.warning(strings.position.badDefault, this.name, `'${dependency.config.defaultPosition}'`, printableValues(Position));
|
|
12
12
|
}
|
|
13
13
|
this.position = this.defaultPosition;
|
|
14
14
|
if (this.hasPositionState) {
|
|
15
|
-
this.accessoryService.getCharacteristic(Characteristic.PositionState)
|
|
15
|
+
this.accessoryService.getCharacteristic(dependency.Characteristic.PositionState)
|
|
16
16
|
.onGet(this.getState.bind(this));
|
|
17
17
|
}
|
|
18
18
|
this.accessoryService.getCharacteristic(this.targetCharacteristic)
|
|
@@ -52,20 +52,25 @@ export class PositionAccessory extends DummyAccessory {
|
|
|
52
52
|
if (!this.isStateful) {
|
|
53
53
|
this.accessoryService.updateCharacteristic(this.targetCharacteristic, this.position);
|
|
54
54
|
this.accessoryService.updateCharacteristic(this.currentCharacteristic, this.position);
|
|
55
|
+
await this.registerStateChange();
|
|
55
56
|
return;
|
|
56
57
|
}
|
|
57
58
|
const position = await storageGet_Deprecated(this.defaultStateStorageKey);
|
|
58
59
|
if (position === undefined) {
|
|
60
|
+
await this.registerStateChange();
|
|
59
61
|
return;
|
|
60
62
|
}
|
|
61
63
|
await this.setPosition(position);
|
|
62
64
|
}
|
|
63
65
|
get defaultPosition() {
|
|
64
|
-
return this.config.defaultPosition ===
|
|
66
|
+
return this.config.defaultPosition === Position.OPEN ? this.positionOpen : this.positionClosed;
|
|
65
67
|
}
|
|
66
68
|
async getState() {
|
|
67
69
|
return this.Characteristic.PositionState.STOPPED;
|
|
68
70
|
}
|
|
71
|
+
async registerStateChange() {
|
|
72
|
+
await this.onStateChange(this.position === this.positionClosed ? Position.CLOSED : Position.OPEN);
|
|
73
|
+
}
|
|
69
74
|
async getPosition() {
|
|
70
75
|
return this.position;
|
|
71
76
|
}
|
|
@@ -100,8 +105,9 @@ export class PositionAccessory extends DummyAccessory {
|
|
|
100
105
|
this.sensor.active = false;
|
|
101
106
|
}
|
|
102
107
|
}
|
|
108
|
+
await this.registerStateChange();
|
|
103
109
|
}
|
|
104
|
-
async
|
|
110
|
+
async trigger() {
|
|
105
111
|
if (this.position === this.defaultPosition) {
|
|
106
112
|
const opposite = this.position === this.positionClosed ? this.positionOpen : this.positionClosed;
|
|
107
113
|
await this.setPosition(opposite);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../../src/accessory/position/position.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../../src/accessory/position/position.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Service } from 'homebridge';
|
|
2
2
|
import { SensorType } from '../model/enums.js';
|
|
3
|
-
import {
|
|
3
|
+
import { SensorConfig } from '../model/types.js';
|
|
4
4
|
import { Timeout } from '../timeout/timeout.js';
|
|
5
|
-
import {
|
|
5
|
+
import { DummyAddonDependency } from './base.js';
|
|
6
6
|
export declare class SensorAccessory extends Timeout {
|
|
7
7
|
private readonly config;
|
|
8
|
-
private readonly Characteristic;
|
|
9
8
|
protected readonly service: Service;
|
|
10
9
|
private _active;
|
|
11
|
-
static new(
|
|
10
|
+
static new(dependency: DummyAddonDependency, sensor?: SensorConfig | SensorType): SensorAccessory | undefined;
|
|
12
11
|
private static removeUnwantedServices;
|
|
13
12
|
private constructor();
|
|
14
13
|
private onGet;
|
package/dist/accessory/sensor.js
CHANGED
|
@@ -12,10 +12,9 @@ const INFO_MAP = {
|
|
|
12
12
|
};
|
|
13
13
|
export class SensorAccessory extends Timeout {
|
|
14
14
|
config;
|
|
15
|
-
Characteristic;
|
|
16
15
|
service;
|
|
17
16
|
_active = 0;
|
|
18
|
-
static new(
|
|
17
|
+
static new(dependency, sensor) {
|
|
19
18
|
if (sensor) {
|
|
20
19
|
if (typeof sensor === 'string') {
|
|
21
20
|
sensor = {
|
|
@@ -23,34 +22,34 @@ export class SensorAccessory extends Timeout {
|
|
|
23
22
|
};
|
|
24
23
|
}
|
|
25
24
|
if (!isValidSensorType(sensor.type)) {
|
|
26
|
-
log.error(strings.sensor.badType, caller, `'${sensor.type}'`, printableValues(SensorType));
|
|
25
|
+
dependency.log.error(strings.sensor.badType, dependency.caller, `'${sensor.type}'`, printableValues(SensorType));
|
|
27
26
|
return;
|
|
28
27
|
}
|
|
29
|
-
return new SensorAccessory(sensor,
|
|
28
|
+
return new SensorAccessory(sensor, dependency);
|
|
30
29
|
}
|
|
31
|
-
SensorAccessory.removeUnwantedServices(Service,
|
|
30
|
+
SensorAccessory.removeUnwantedServices(dependency.Service, dependency.platformAccessory);
|
|
32
31
|
return;
|
|
33
32
|
}
|
|
34
|
-
static removeUnwantedServices(Service,
|
|
33
|
+
static removeUnwantedServices(Service, platformAccessory, keep) {
|
|
35
34
|
for (const type of Object.values(SensorType)) {
|
|
36
35
|
if (type === keep) {
|
|
37
36
|
continue;
|
|
38
37
|
}
|
|
39
|
-
const existingService =
|
|
38
|
+
const existingService = platformAccessory.getService(Service[type]);
|
|
40
39
|
if (existingService) {
|
|
41
|
-
|
|
40
|
+
platformAccessory.removeService(existingService);
|
|
42
41
|
}
|
|
43
42
|
}
|
|
44
43
|
}
|
|
45
|
-
constructor(config,
|
|
46
|
-
super(
|
|
44
|
+
constructor(config, dependency) {
|
|
45
|
+
super(dependency);
|
|
47
46
|
this.config = config;
|
|
48
|
-
this.
|
|
49
|
-
|
|
50
|
-
const characteristicInstance = Characteristic[this.sensorInfo.characteristic];
|
|
47
|
+
this.service = dependency.platformAccessory.getService(dependency.Service[config.type]) ||
|
|
48
|
+
dependency.platformAccessory.addService(dependency.Service[config.type]);
|
|
49
|
+
const characteristicInstance = dependency.Characteristic[this.sensorInfo.characteristic];
|
|
51
50
|
this.service.getCharacteristic(characteristicInstance)
|
|
52
51
|
.onGet(this.onGet.bind(this));
|
|
53
|
-
SensorAccessory.removeUnwantedServices(Service,
|
|
52
|
+
SensorAccessory.removeUnwantedServices(dependency.Service, dependency.platformAccessory, config.type);
|
|
54
53
|
}
|
|
55
54
|
async onGet() {
|
|
56
55
|
return this._active;
|
|
@@ -70,7 +69,7 @@ export class SensorAccessory extends Timeout {
|
|
|
70
69
|
return;
|
|
71
70
|
}
|
|
72
71
|
this._active = isActive ? 1 : 0;
|
|
73
|
-
const characteristicInstance = this.Characteristic[this.sensorInfo.characteristic];
|
|
72
|
+
const characteristicInstance = this.dependency.Characteristic[this.sensorInfo.characteristic];
|
|
74
73
|
this.service.updateCharacteristic(characteristicInstance, this._active);
|
|
75
74
|
this.logIfDesired(isActive ? this.sensorInfo.strings.active : this.sensorInfo.strings.inactive);
|
|
76
75
|
if (this.timerControlled && this.active) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sensor.js","sourceRoot":"","sources":["../../src/accessory/sensor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAO,mBAAmB,CAAC;AAG1G,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAOhD,MAAM,QAAQ,GAAwC;IACpD,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,oBAAoB,CAAC,qBAAqB,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE;IACvI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,EAAE,cAAc,EAAE,oBAAoB,CAAC,sBAAsB,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;IAC1I,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,EAAE,cAAc,EAAE,oBAAoB,CAAC,kBAAkB,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;IACxH,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,cAAc,EAAE,oBAAoB,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;IAC5G,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,cAAc,EAAE,oBAAoB,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;IAClH,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,oBAAoB,CAAC,iBAAiB,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE;IAC3H,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,EAAE,cAAc,EAAE,oBAAoB,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE;CAChH,CAAC;AAEF,MAAM,OAAO,eAAgB,SAAQ,OAAO;
|
|
1
|
+
{"version":3,"file":"sensor.js","sourceRoot":"","sources":["../../src/accessory/sensor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { CharacteristicValue
|
|
2
|
-
import { DummyAccessory } from './base.js';
|
|
1
|
+
import { CharacteristicValue } from 'homebridge';
|
|
2
|
+
import { DummyAccessory, DummyAccessoryDependency } from './base.js';
|
|
3
3
|
import { AccessoryType } from '../model/enums.js';
|
|
4
|
-
import {
|
|
4
|
+
import { ThermostatConfig } from '../model/types.js';
|
|
5
5
|
import { Webhook } from '../model/webhook.js';
|
|
6
|
-
import { Log } from '../tools/log.js';
|
|
7
6
|
export declare class ThermostatAccessory extends DummyAccessory<ThermostatConfig> {
|
|
8
7
|
private readonly STATE_AUTO;
|
|
9
8
|
private readonly STATE_COOL;
|
|
@@ -11,7 +10,7 @@ export declare class ThermostatAccessory extends DummyAccessory<ThermostatConfig
|
|
|
11
10
|
private readonly STATE_OFF;
|
|
12
11
|
private state;
|
|
13
12
|
private temperature;
|
|
14
|
-
constructor(
|
|
13
|
+
constructor(dependency: DummyAccessoryDependency<ThermostatConfig>);
|
|
15
14
|
private initializeThermostat;
|
|
16
15
|
private get defaulTemperatureStorageKey();
|
|
17
16
|
getAccessoryType(): AccessoryType;
|
|
@@ -25,7 +24,7 @@ export declare class ThermostatAccessory extends DummyAccessory<ThermostatConfig
|
|
|
25
24
|
private setState;
|
|
26
25
|
private getTemperature;
|
|
27
26
|
private setTemperature;
|
|
28
|
-
|
|
27
|
+
trigger(): Promise<void>;
|
|
29
28
|
reset(): Promise<void>;
|
|
30
29
|
private stateLogTemplateForCV;
|
|
31
30
|
protected logState(value: CharacteristicValue): void;
|
|
@@ -12,25 +12,25 @@ export class ThermostatAccessory extends DummyAccessory {
|
|
|
12
12
|
STATE_OFF;
|
|
13
13
|
state;
|
|
14
14
|
temperature;
|
|
15
|
-
constructor(
|
|
16
|
-
super(
|
|
17
|
-
this.STATE_AUTO = Characteristic.TargetHeatingCoolingState.AUTO;
|
|
18
|
-
this.STATE_COOL = Characteristic.TargetHeatingCoolingState.COOL;
|
|
19
|
-
this.STATE_HEAT = Characteristic.TargetHeatingCoolingState.HEAT;
|
|
20
|
-
this.STATE_OFF = Characteristic.TargetHeatingCoolingState.OFF;
|
|
21
|
-
if (!isValidTemperatureUnits(config.temperatureUnits)) {
|
|
22
|
-
this.log.warning(strings.thermostat.badUnits, this.name, `'${config.temperatureUnits}'`, printableValues(TemperatureUnits));
|
|
15
|
+
constructor(dependency) {
|
|
16
|
+
super(dependency);
|
|
17
|
+
this.STATE_AUTO = dependency.Characteristic.TargetHeatingCoolingState.AUTO;
|
|
18
|
+
this.STATE_COOL = dependency.Characteristic.TargetHeatingCoolingState.COOL;
|
|
19
|
+
this.STATE_HEAT = dependency.Characteristic.TargetHeatingCoolingState.HEAT;
|
|
20
|
+
this.STATE_OFF = dependency.Characteristic.TargetHeatingCoolingState.OFF;
|
|
21
|
+
if (!isValidTemperatureUnits(dependency.config.temperatureUnits)) {
|
|
22
|
+
this.log.warning(strings.thermostat.badUnits, this.name, `'${dependency.config.temperatureUnits}'`, printableValues(TemperatureUnits));
|
|
23
23
|
}
|
|
24
|
-
if (!isValidThermostatState(config.defaultThermostatState)) {
|
|
25
|
-
this.log.warning(strings.thermostat.badDefault, this.name, `'${config.defaultThermostatState}'`, printableValues(DefaultThermostatState));
|
|
24
|
+
if (!isValidThermostatState(dependency.config.defaultThermostatState)) {
|
|
25
|
+
this.log.warning(strings.thermostat.badDefault, this.name, `'${dependency.config.defaultThermostatState}'`, printableValues(DefaultThermostatState));
|
|
26
26
|
}
|
|
27
27
|
this.state = this.defaultState;
|
|
28
28
|
this.temperature = this.defaultTemperature;
|
|
29
|
-
this.accessoryService.getCharacteristic(
|
|
29
|
+
this.accessoryService.getCharacteristic(dependency.Characteristic.TemperatureDisplayUnits)
|
|
30
30
|
.onGet(this.getUnits.bind(this));
|
|
31
|
-
this.accessoryService.getCharacteristic(
|
|
31
|
+
this.accessoryService.getCharacteristic(dependency.Characteristic.CurrentHeatingCoolingState)
|
|
32
32
|
.onGet(this.getCurrentState.bind(this));
|
|
33
|
-
this.accessoryService.getCharacteristic(
|
|
33
|
+
this.accessoryService.getCharacteristic(dependency.Characteristic.TargetHeatingCoolingState)
|
|
34
34
|
.setProps({
|
|
35
35
|
minStep: 1,
|
|
36
36
|
validValues: [
|
|
@@ -42,9 +42,9 @@ export class ThermostatAccessory extends DummyAccessory {
|
|
|
42
42
|
})
|
|
43
43
|
.onGet(this.getState.bind(this))
|
|
44
44
|
.onSet(this.setState.bind(this));
|
|
45
|
-
this.accessoryService.getCharacteristic(
|
|
45
|
+
this.accessoryService.getCharacteristic(dependency.Characteristic.CurrentTemperature)
|
|
46
46
|
.onGet(this.getTemperature.bind(this));
|
|
47
|
-
this.accessoryService.getCharacteristic(
|
|
47
|
+
this.accessoryService.getCharacteristic(dependency.Characteristic.TargetTemperature)
|
|
48
48
|
.onGet(this.getTemperature.bind(this))
|
|
49
49
|
.onSet(this.setTemperature.bind(this));
|
|
50
50
|
this.initializeThermostat();
|
|
@@ -143,8 +143,8 @@ export class ThermostatAccessory extends DummyAccessory {
|
|
|
143
143
|
this.accessoryService.updateCharacteristic(this.Characteristic.TargetTemperature, this.temperature);
|
|
144
144
|
this.accessoryService.updateCharacteristic(this.Characteristic.CurrentTemperature, this.temperature);
|
|
145
145
|
}
|
|
146
|
-
async
|
|
147
|
-
throw new Error(strings.thermostat.unsupportedFunction.replace('%s', `${this.
|
|
146
|
+
async trigger() {
|
|
147
|
+
throw new Error(strings.thermostat.unsupportedFunction.replace('%s', `${this.trigger.name}()`));
|
|
148
148
|
}
|
|
149
149
|
async reset() {
|
|
150
150
|
throw new Error(strings.thermostat.unsupportedFunction.replace('%s', `${this.reset.name}()`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thermostat.js","sourceRoot":"","sources":["../../src/accessory/thermostat.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"thermostat.js","sourceRoot":"","sources":["../../src/accessory/thermostat.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ export declare class HomebridgeDummyPlatform implements DynamicPlatformPlugin {
|
|
|
10
10
|
private readonly dummyAccessories;
|
|
11
11
|
private webhookManager;
|
|
12
12
|
constructor(logger: Logger, config: DummyPlatformConfig, api: API);
|
|
13
|
-
configureAccessory(
|
|
13
|
+
configureAccessory(platformAccessory: PlatformAccessory): void;
|
|
14
14
|
private teardown;
|
|
15
15
|
private setup;
|
|
16
16
|
private createPlatformAccessory;
|
|
@@ -8,6 +8,7 @@ import { Log } from '../tools/log.js';
|
|
|
8
8
|
import getVersion from '../tools/version.js';
|
|
9
9
|
import { WebhookManager } from '../model/webhook.js';
|
|
10
10
|
import { Storage } from '../tools/storage.js';
|
|
11
|
+
import { ConditionManager } from '../model/conditions.js';
|
|
11
12
|
export class HomebridgeDummyPlatform {
|
|
12
13
|
config;
|
|
13
14
|
api;
|
|
@@ -34,9 +35,9 @@ export class HomebridgeDummyPlatform {
|
|
|
34
35
|
this.teardown();
|
|
35
36
|
});
|
|
36
37
|
}
|
|
37
|
-
configureAccessory(
|
|
38
|
-
this.log.always(strings.startup.restoringAccessory,
|
|
39
|
-
this.platformAccessories.set(
|
|
38
|
+
configureAccessory(platformAccessory) {
|
|
39
|
+
this.log.always(strings.startup.restoringAccessory, platformAccessory.displayName);
|
|
40
|
+
this.platformAccessories.set(platformAccessory.context.identifier, platformAccessory);
|
|
40
41
|
}
|
|
41
42
|
teardown() {
|
|
42
43
|
this.dummyAccessories.forEach(accessory => {
|
|
@@ -52,6 +53,7 @@ export class HomebridgeDummyPlatform {
|
|
|
52
53
|
accessories.push(...migratedAccessories);
|
|
53
54
|
}
|
|
54
55
|
const groupAccessories = new Map();
|
|
56
|
+
const conditionManager = new ConditionManager(this.log);
|
|
55
57
|
for (const accessoryConfig of accessories) {
|
|
56
58
|
if (accessoryConfig.groupName?.length) {
|
|
57
59
|
const groupConfig = groupAccessories.get(accessoryConfig.groupName) || { accessories: [] };
|
|
@@ -61,8 +63,17 @@ export class HomebridgeDummyPlatform {
|
|
|
61
63
|
}
|
|
62
64
|
const id = DummyAccessory.identifier(accessoryConfig);
|
|
63
65
|
keepIdentifiers.add(id);
|
|
64
|
-
const
|
|
65
|
-
const
|
|
66
|
+
const platformAccessory = this.platformAccessories.get(id) ?? this.createPlatformAccessory(id, accessoryConfig.name);
|
|
67
|
+
const dependency = {
|
|
68
|
+
Service: this.Service,
|
|
69
|
+
Characteristic: this.Characteristic,
|
|
70
|
+
platformAccessory: platformAccessory,
|
|
71
|
+
config: accessoryConfig,
|
|
72
|
+
conditionManager: conditionManager,
|
|
73
|
+
log: this.log,
|
|
74
|
+
isGrouped: false,
|
|
75
|
+
};
|
|
76
|
+
const dummyAccessory = createDummyAccessory(dependency);
|
|
66
77
|
if (!dummyAccessory) {
|
|
67
78
|
continue;
|
|
68
79
|
}
|
|
@@ -71,13 +82,19 @@ export class HomebridgeDummyPlatform {
|
|
|
71
82
|
}
|
|
72
83
|
this.dummyAccessories.push(dummyAccessory);
|
|
73
84
|
}
|
|
74
|
-
;
|
|
75
85
|
for (const groupName of groupAccessories.keys()) {
|
|
76
86
|
const groupConfig = groupAccessories.get(groupName);
|
|
77
87
|
const id = GroupAccessory.identifier(groupName);
|
|
78
88
|
keepIdentifiers.add(id);
|
|
79
|
-
const
|
|
80
|
-
const
|
|
89
|
+
const platformAccessory = this.platformAccessories.get(id) ?? this.createPlatformAccessory(id, groupName);
|
|
90
|
+
const dependency = {
|
|
91
|
+
Service: this.Service,
|
|
92
|
+
Characteristic: this.Characteristic,
|
|
93
|
+
platformAccessory: platformAccessory,
|
|
94
|
+
conditionManager: conditionManager,
|
|
95
|
+
log: this.log,
|
|
96
|
+
};
|
|
97
|
+
const groupAccessory = new GroupAccessory(dependency, groupConfig, this.webhookManager);
|
|
81
98
|
this.dummyAccessories.push(groupAccessory);
|
|
82
99
|
}
|
|
83
100
|
this.platformAccessories.forEach(accessory => {
|
|
@@ -98,10 +115,10 @@ export class HomebridgeDummyPlatform {
|
|
|
98
115
|
this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
|
|
99
116
|
return accessory;
|
|
100
117
|
}
|
|
101
|
-
removeCachedAccessory(
|
|
102
|
-
this.log.always(strings.startup.removeAccessory,
|
|
103
|
-
this.api.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [
|
|
104
|
-
this.platformAccessories.delete(
|
|
118
|
+
removeCachedAccessory(platformAccessory) {
|
|
119
|
+
this.log.always(strings.startup.removeAccessory, platformAccessory.displayName);
|
|
120
|
+
this.api.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [platformAccessory]);
|
|
121
|
+
this.platformAccessories.delete(platformAccessory.context.identifier);
|
|
105
122
|
}
|
|
106
123
|
}
|
|
107
124
|
//# sourceMappingURL=platform.js.map
|
|
@@ -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,
|
|
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,cAAc,EAA4B,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAIvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,OAAO,uBAAuB;IAaf;IACA;IAbF,OAAO,CAAC;IACR,cAAc,CAAC;IAEf,GAAG,CAAM;IAET,mBAAmB,GAAmC,IAAI,GAAG,EAAE,CAAC;IAChE,gBAAgB,GAAqD,EAAE,CAAC;IAEjF,cAAc,CAAiB;IAEvC,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;QAE5F,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;IACL,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,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,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,gBAAgB;gBAClC,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,iBAAiB,CAAC,cAAc,CAAC,CAAC;YACxD,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,gBAAgB;gBAClC,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
|
|
1
|
+
"use strict";(()=>{var u="Homebridge Dummy";var L={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 w(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",L[o])),t.innerHTML=n})}function I(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,(d,s,r)=>e.config[s]&&typeof e.config[s]=="object"&&r in e.config[s]?e.config[s][r]:d),n.innerHTML!==o&&(n.innerHTML=o)})}function O(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",()=>O(e)),o.dataset.accessoryNameListener="true")}}function E(){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 D(e){let t=!1;e.forEach(i=>{i.accessories?.forEach(n=>{n.id===void 0&&(n.id=E(),t=!0),n.limiter!==void 0&&n.limiter.id===void 0&&(n.limiter.id=E(),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 c=[];async function S(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 d of t){let s=(d.accessories??[]).filter(r=>r.id&&r.name&&r.type!=="Thermostat");n.push(...s)}let o=!1;c.length!==n.length?(c=n,o=!0):c.forEach((d,s)=>{let r=n[s];(d.name!==r.name||d.type!==r.type||d.id!==r.id)&&(c=n,o=!0)}),i.forEach(d=>{let s=d,r=s.parentElement?.querySelector('select.form-select[data-accessory-name-select="true"]');if(r&&r.dataset.accessoryNameSelect!=="true"){console.error("Unable to retrieve accessory name selector");return}r||(r=document.createElement("select"),r.className="form-select",r.dataset.accessoryNameSelect="true",s.hidden=!0,r.addEventListener("change",()=>{if(r.selectedIndex===-1)s.value="";else{let l=c[r.selectedIndex].id;s.value=l}s.dispatchEvent(new Event("input",{bubbles:!0}))}),s.parentElement?.appendChild(r)),(o||r.length===0)&&(r.length=0,c.forEach(l=>{let a=document.createElement("option");a.text=l.name,r.add(a)}));let m=s.value.length?c.findIndex(l=>l.id===s.value):-1;if(m===-1)r.selectedIndex=-1;else{r.selectedIndex=m;let l=c[m],a=v(r,"accessoryState");if(!a){console.error("Unable to find accessory state selector");return}if(a.length!==6){console.error("Accessory state selector has an unexpected number of options");return}let g=a.options[0],x=a.options[1],p=a.options[2],h=a.options[3],b=a.options[4],y=a.options[5];switch(g.hidden=!0,x.hidden=!0,p.hidden=!0,h.hidden=!0,b.hidden=!0,y.hidden=!0,l.type){case"Lightbulb":case"Outlet":case"Switch":g.hidden=!1,x.hidden=!1,a.selectedIndex!==0&&a.selectedIndex!==1&&(a.selectedIndex=-1,a.dispatchEvent(new Event("change",{bubbles:!0})));break;case"Door":case"GarageDoorOpener":case"Window":case"WindowCovering":p.hidden=!1,h.hidden=!1,a.selectedIndex!==2&&a.selectedIndex!==3&&(a.selectedIndex=-1,a.dispatchEvent(new Event("change",{bubbles:!0})));break;case"LockMechanism":a.selectedIndex!==4&&a.selectedIndex!==5&&(a.selectedIndex=-1,a.dispatchEvent(new Event("change",{bubbles:!0}))),b.hidden=!1,y.hidden=!1;break;case"Thermostat":default:return}}})}async function N(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 d=n.schedule;d?.type==="CRON"&&d.cron!=="CRON_CUSTOM"&&!d.cron?.startsWith("@")&&(n.schedule={...d,cron:"CRON_CUSTOM",cronCustom:d.cron},t=!0)})}),t&&await homebridge.updatePluginConfig(e)}function f(e){document.getElementById("intro").style.display="none",document.getElementById("migration").style.display="none",document.getElementById("support").style.display="block",new MutationObserver(()=>{I(e),O(e),S(e)}).observe(window.parent.document.body,{childList:!0,subtree:!0}),homebridge.addEventListener("configChanged",async i=>{let n=i.data;await D(n),await S(e,n)}),homebridge.showSchemaForm(),homebridge.hideSpinner(),homebridge.enableSaveButton()}function M(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(),f(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}]),f(e)}),document.getElementById("showMigration").addEventListener("click",()=>{M(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);w(t);let i=await homebridge.getPluginConfig();i.length?(await N(i),f(t)):C(t)})();})();
|
package/dist/i18n/de.d.ts
CHANGED
|
@@ -8,6 +8,17 @@ declare const de: {
|
|
|
8
8
|
error: string;
|
|
9
9
|
executed: string;
|
|
10
10
|
};
|
|
11
|
+
conditions: {
|
|
12
|
+
currentResult: string;
|
|
13
|
+
evaluatingConditions: string;
|
|
14
|
+
satisfied: string;
|
|
15
|
+
notSatisfied: string;
|
|
16
|
+
selfReference: string;
|
|
17
|
+
statesEqual: string;
|
|
18
|
+
statesNotEqual: string;
|
|
19
|
+
stateUnknown: string;
|
|
20
|
+
statesUnrelated: string;
|
|
21
|
+
};
|
|
11
22
|
lightbulb: {
|
|
12
23
|
brightness: string;
|
|
13
24
|
stateOn: string;
|
|
@@ -28,6 +39,7 @@ declare const de: {
|
|
|
28
39
|
unsecured: string;
|
|
29
40
|
};
|
|
30
41
|
onOff: {
|
|
42
|
+
badDefault: string;
|
|
31
43
|
stateOff: string;
|
|
32
44
|
stateOn: string;
|
|
33
45
|
};
|
|
@@ -70,6 +82,8 @@ declare const de: {
|
|
|
70
82
|
description: {
|
|
71
83
|
commands: string;
|
|
72
84
|
cron: string;
|
|
85
|
+
conditions: string;
|
|
86
|
+
fadeOut: string;
|
|
73
87
|
limiter: string;
|
|
74
88
|
random: string;
|
|
75
89
|
schedule: string;
|
|
@@ -102,10 +116,13 @@ declare const de: {
|
|
|
102
116
|
minutely: string;
|
|
103
117
|
month: string;
|
|
104
118
|
monthly: string;
|
|
119
|
+
none: string;
|
|
105
120
|
occupancySensor: string;
|
|
106
121
|
off: string;
|
|
107
122
|
on: string;
|
|
108
123
|
open: string;
|
|
124
|
+
operatorAnd: string;
|
|
125
|
+
operatorOr: string;
|
|
109
126
|
outlet: string;
|
|
110
127
|
milliseconds: string;
|
|
111
128
|
minutes: string;
|
|
@@ -139,6 +156,7 @@ declare const de: {
|
|
|
139
156
|
yes: string;
|
|
140
157
|
title: {
|
|
141
158
|
accessory: string;
|
|
159
|
+
accessoryState: string;
|
|
142
160
|
commandClose: string;
|
|
143
161
|
commandOff: string;
|
|
144
162
|
commandOn: string;
|
|
@@ -147,6 +165,8 @@ declare const de: {
|
|
|
147
165
|
commands: string;
|
|
148
166
|
commandTemperature: string;
|
|
149
167
|
commandUnlock: string;
|
|
168
|
+
condition: string;
|
|
169
|
+
conditions: string;
|
|
150
170
|
cron: string;
|
|
151
171
|
cronCustom: string;
|
|
152
172
|
defaultBrightness: string;
|
|
@@ -156,11 +176,13 @@ declare const de: {
|
|
|
156
176
|
delay: string;
|
|
157
177
|
disableLogging: string;
|
|
158
178
|
enableWebook: string;
|
|
179
|
+
fadeOut: string;
|
|
159
180
|
groupName: string;
|
|
160
181
|
interval: string;
|
|
161
182
|
limit: string;
|
|
162
183
|
limiter: string;
|
|
163
184
|
name: string;
|
|
185
|
+
operator: string;
|
|
164
186
|
period: string;
|
|
165
187
|
preset: string;
|
|
166
188
|
random: string;
|