@pietrolubini/homebridge-ecoflow 1.3.0 → 1.4.0
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/README.md +174 -40
- package/config.schema.json +14 -2
- package/dist/accessories/batteries/delta2/delta2Accessory.d.ts +10 -0
- package/dist/accessories/batteries/delta2/delta2Accessory.js +14 -0
- package/dist/accessories/batteries/delta2/delta2Accessory.js.map +1 -0
- package/dist/accessories/batteries/delta2/delta2AccessoryBase.d.ts +32 -0
- package/dist/accessories/batteries/{batteryAccessoryBase.js → delta2/delta2AccessoryBase.js} +71 -32
- package/dist/accessories/batteries/delta2/delta2AccessoryBase.js.map +1 -0
- package/dist/accessories/batteries/delta2/delta2MaxAccessory.d.ts +10 -0
- package/dist/accessories/batteries/delta2/delta2MaxAccessory.js +14 -0
- package/dist/accessories/batteries/delta2/delta2MaxAccessory.js.map +1 -0
- package/dist/accessories/batteries/delta2/interfaces/delta2Configuration.d.ts +4 -0
- package/dist/accessories/batteries/{interfaces/httpApiBatteryContracts.js → delta2/interfaces/delta2Configuration.js} +1 -1
- package/dist/accessories/batteries/delta2/interfaces/delta2Configuration.js.map +1 -0
- package/dist/accessories/batteries/delta2/interfaces/delta2HttpApiContracts.d.ts +40 -0
- package/dist/accessories/batteries/delta2/interfaces/delta2HttpApiContracts.js +4 -0
- package/dist/accessories/batteries/delta2/interfaces/delta2HttpApiContracts.js.map +1 -0
- package/dist/accessories/batteries/delta2/interfaces/delta2MqttApiContracts.d.ts +45 -0
- package/dist/accessories/batteries/delta2/interfaces/delta2MqttApiContracts.js +25 -0
- package/dist/accessories/batteries/delta2/interfaces/delta2MqttApiContracts.js.map +1 -0
- package/dist/accessories/batteries/delta2/services/delta2OutletServiceBase.d.ts +5 -0
- package/dist/accessories/batteries/{services/outletBatteryServiceBase.js → delta2/services/delta2OutletServiceBase.js} +4 -4
- package/dist/accessories/batteries/delta2/services/delta2OutletServiceBase.js.map +1 -0
- package/dist/accessories/batteries/delta2/services/outletAcService.d.ts +10 -0
- package/dist/accessories/batteries/delta2/services/outletAcService.js +23 -0
- package/dist/accessories/batteries/delta2/services/outletAcService.js.map +1 -0
- package/dist/accessories/batteries/delta2/services/outletCarService.d.ts +7 -0
- package/dist/accessories/batteries/delta2/services/outletCarService.js +16 -0
- package/dist/accessories/batteries/delta2/services/outletCarService.js.map +1 -0
- package/dist/accessories/batteries/delta2/services/outletCarService.spec.d.ts +1 -0
- package/dist/accessories/batteries/delta2/services/outletUsbService.d.ts +7 -0
- package/dist/accessories/batteries/delta2/services/outletUsbService.js +16 -0
- package/dist/accessories/batteries/delta2/services/outletUsbService.js.map +1 -0
- package/dist/accessories/batteries/delta2/services/outletUsbService.spec.d.ts +1 -0
- package/dist/accessories/batteries/delta2/services/switchXboostService.d.ts +10 -0
- package/dist/accessories/batteries/delta2/services/switchXboostService.js +33 -0
- package/dist/accessories/batteries/delta2/services/switchXboostService.js.map +1 -0
- package/dist/accessories/batteries/delta2/services/switchXboostService.spec.d.ts +1 -0
- package/dist/accessories/batteries/delta2/simulations/delta2Simulator.d.ts +6 -0
- package/dist/accessories/batteries/delta2/simulations/delta2Simulator.js +73 -0
- package/dist/accessories/batteries/delta2/simulations/delta2Simulator.js.map +1 -0
- package/dist/accessories/batteries/deltapro/deltaProAccessory.d.ts +3 -0
- package/dist/accessories/batteries/deltapro/deltaProAccessory.js +8 -0
- package/dist/accessories/batteries/deltapro/deltaProAccessory.js.map +1 -0
- package/dist/accessories/batteries/{batteryAccessoryBase.d.ts → deltapro/deltaProAccessoryBase.d.ts} +8 -9
- package/dist/accessories/batteries/deltapro/deltaProAccessoryBase.js +119 -0
- package/dist/accessories/batteries/deltapro/deltaProAccessoryBase.js.map +1 -0
- package/dist/accessories/batteries/deltapro/deltaProAccessoryBase.spec.d.ts +1 -0
- package/dist/accessories/batteries/{interfaces/httpApiBatteryContracts.d.ts → deltapro/interfaces/deltaProHttpApiContracts.d.ts} +10 -8
- package/dist/accessories/batteries/deltapro/interfaces/deltaProHttpApiContracts.js +3 -0
- package/dist/accessories/batteries/deltapro/interfaces/deltaProHttpApiContracts.js.map +1 -0
- package/dist/accessories/batteries/deltapro/interfaces/deltaProMqttApiContracts.d.ts +30 -0
- package/dist/accessories/batteries/deltapro/interfaces/deltaProMqttApiContracts.js +3 -0
- package/dist/accessories/batteries/deltapro/interfaces/deltaProMqttApiContracts.js.map +1 -0
- package/dist/accessories/batteries/deltapro/services/deltaProOutletServiceBase.d.ts +5 -0
- package/dist/accessories/batteries/deltapro/services/deltaProOutletServiceBase.js +17 -0
- package/dist/accessories/batteries/deltapro/services/deltaProOutletServiceBase.js.map +1 -0
- package/dist/accessories/batteries/deltapro/services/outletAcService.d.ts +8 -0
- package/dist/accessories/batteries/deltapro/services/outletAcService.js +20 -0
- package/dist/accessories/batteries/deltapro/services/outletAcService.js.map +1 -0
- package/dist/accessories/batteries/deltapro/services/outletAcService.spec.d.ts +1 -0
- package/dist/accessories/batteries/deltapro/services/outletCarService.d.ts +7 -0
- package/dist/accessories/batteries/deltapro/services/outletCarService.js +19 -0
- package/dist/accessories/batteries/deltapro/services/outletCarService.js.map +1 -0
- package/dist/accessories/batteries/deltapro/services/outletCarService.spec.d.ts +1 -0
- package/dist/accessories/batteries/deltapro/services/outletUsbService.d.ts +7 -0
- package/dist/accessories/batteries/deltapro/services/outletUsbService.js +14 -0
- package/dist/accessories/batteries/deltapro/services/outletUsbService.js.map +1 -0
- package/dist/accessories/batteries/deltapro/services/outletUsbService.spec.d.ts +1 -0
- package/dist/accessories/batteries/deltapro/services/switchXboostService.d.ts +9 -0
- package/dist/accessories/batteries/deltapro/services/switchXboostService.js +31 -0
- package/dist/accessories/batteries/deltapro/services/switchXboostService.js.map +1 -0
- package/dist/accessories/batteries/deltapro/services/switchXboostService.spec.d.ts +1 -0
- package/dist/accessories/batteries/deltapro/simulations/deltaProSimulator.d.ts +6 -0
- package/dist/accessories/batteries/deltapro/simulations/deltaProSimulator.js +48 -0
- package/dist/accessories/batteries/deltapro/simulations/deltaProSimulator.js.map +1 -0
- package/dist/accessories/batteries/deltaproultra/deltaProUltraAccessory.d.ts +28 -0
- package/dist/accessories/batteries/deltaproultra/deltaProUltraAccessory.js +123 -0
- package/dist/accessories/batteries/deltaproultra/deltaProUltraAccessory.js.map +1 -0
- package/dist/accessories/batteries/deltaproultra/deltaProUltraAccessory.spec.d.ts +1 -0
- package/dist/accessories/batteries/deltaproultra/interfaces/deltaProUltraHttpApiContracts.d.ts +48 -0
- package/dist/accessories/batteries/deltaproultra/interfaces/deltaProUltraHttpApiContracts.js +10 -0
- package/dist/accessories/batteries/deltaproultra/interfaces/deltaProUltraHttpApiContracts.js.map +1 -0
- package/dist/accessories/batteries/deltaproultra/interfaces/deltaProUltraMqttApiContracts.d.ts +33 -0
- package/dist/accessories/batteries/deltaproultra/interfaces/deltaProUltraMqttApiContracts.js +15 -0
- package/dist/accessories/batteries/deltaproultra/interfaces/deltaProUltraMqttApiContracts.js.map +1 -0
- package/dist/accessories/batteries/deltaproultra/services/deltaProUltraOutletServiceBase.d.ts +5 -0
- package/dist/accessories/batteries/deltaproultra/services/deltaProUltraOutletServiceBase.js +17 -0
- package/dist/accessories/batteries/deltaproultra/services/deltaProUltraOutletServiceBase.js.map +1 -0
- package/dist/accessories/batteries/deltaproultra/services/outletAcService.d.ts +8 -0
- package/dist/accessories/batteries/deltaproultra/services/outletAcService.js +14 -0
- package/dist/accessories/batteries/deltaproultra/services/outletAcService.js.map +1 -0
- package/dist/accessories/batteries/deltaproultra/services/outletAcService.spec.d.ts +1 -0
- package/dist/accessories/batteries/deltaproultra/services/outletUsbService.d.ts +8 -0
- package/dist/accessories/batteries/deltaproultra/services/outletUsbService.js +18 -0
- package/dist/accessories/batteries/deltaproultra/services/outletUsbService.js.map +1 -0
- package/dist/accessories/batteries/deltaproultra/services/outletUsbService.spec.d.ts +1 -0
- package/dist/accessories/batteries/deltaproultra/services/switchXboostService.d.ts +9 -0
- package/dist/accessories/batteries/deltaproultra/services/switchXboostService.js +31 -0
- package/dist/accessories/batteries/deltaproultra/services/switchXboostService.js.map +1 -0
- package/dist/accessories/batteries/deltaproultra/services/switchXboostService.spec.d.ts +1 -0
- package/dist/accessories/batteries/deltaproultra/simulations/deltaProUltraSimulator.d.ts +6 -0
- package/dist/accessories/batteries/deltaproultra/simulations/deltaProUltraSimulator.js +50 -0
- package/dist/accessories/batteries/deltaproultra/simulations/deltaProUltraSimulator.js.map +1 -0
- package/dist/accessories/batteries/interfaces/batteryHttpApiContracts.d.ts +20 -0
- package/dist/accessories/batteries/interfaces/batteryHttpApiContracts.js +28 -0
- package/dist/accessories/batteries/interfaces/batteryHttpApiContracts.js.map +1 -0
- package/dist/accessories/ecoFlowAccessoryBase.js +3 -1
- package/dist/accessories/ecoFlowAccessoryBase.js.map +1 -1
- package/dist/accessories/powerstream/interfaces/powerStreamHttpApiContracts.d.ts +21 -0
- package/dist/accessories/powerstream/interfaces/powerStreamHttpApiContracts.js +9 -0
- package/dist/accessories/powerstream/interfaces/powerStreamHttpApiContracts.js.map +1 -0
- package/dist/accessories/powerstream/interfaces/powerStreamMqttApiContracts.d.ts +44 -0
- package/dist/accessories/powerstream/interfaces/powerStreamMqttApiContracts.js +21 -0
- package/dist/accessories/powerstream/interfaces/powerStreamMqttApiContracts.js.map +1 -0
- package/dist/accessories/powerstream/powerStreamAccessory.d.ts +3 -2
- package/dist/accessories/powerstream/powerStreamAccessory.js +15 -12
- package/dist/accessories/powerstream/powerStreamAccessory.js.map +1 -1
- package/dist/accessories/powerstream/services/outletInvService.d.ts +2 -1
- package/dist/accessories/powerstream/services/outletInvService.js +2 -2
- package/dist/accessories/powerstream/services/outletInvService.js.map +1 -1
- package/dist/accessories/powerstream/services/outletService.d.ts +3 -2
- package/dist/accessories/powerstream/services/outletService.js +2 -2
- package/dist/accessories/powerstream/services/outletService.js.map +1 -1
- package/dist/accessories/powerstream/services/powerDemandService.js +2 -2
- package/dist/accessories/powerstream/simulations/powerStreamSimulator.d.ts +3 -3
- package/dist/accessories/powerstream/simulations/powerStreamSimulator.js +5 -4
- package/dist/accessories/powerstream/simulations/powerStreamSimulator.js.map +1 -1
- package/dist/apis/containers/mqttClientContainer.js +5 -0
- package/dist/apis/containers/mqttClientContainer.js.map +1 -1
- package/dist/apis/containers/mqttDevice.js +1 -1
- package/dist/apis/containers/mqttDevice.js.map +1 -1
- package/dist/apis/interfaces/mqttApiContracts.d.ts +15 -4
- package/dist/apis/interfaces/mqttApiContracts.js.map +1 -1
- package/dist/config.d.ts +3 -1
- package/dist/config.js +4 -0
- package/dist/config.js.map +1 -1
- package/dist/helpers/batteryStatusProvider.d.ts +4 -0
- package/dist/helpers/batteryStatusProvider.js +12 -0
- package/dist/helpers/batteryStatusProvider.js.map +1 -0
- package/dist/helpers/batteryStatusProvider.spec.d.ts +1 -0
- package/dist/homebridge-ui/public/index.html +1 -1
- package/dist/homebridge-ui/public/index.js +1 -1
- package/dist/homebridge-ui/public/renderers/pluginConfigDevicesRenderer.d.ts +2 -0
- package/dist/platform.d.ts +1 -0
- package/dist/platform.js +20 -9
- package/dist/platform.js.map +1 -1
- package/dist/services/batteryStatusService.d.ts +5 -3
- package/dist/services/batteryStatusService.js +8 -9
- package/dist/services/batteryStatusService.js.map +1 -1
- package/dist/services/outletServiceBase.d.ts +6 -2
- package/dist/services/outletServiceBase.js +19 -8
- package/dist/services/outletServiceBase.js.map +1 -1
- package/dist/services/switchXboostServiceBase.d.ts +9 -0
- package/dist/services/switchXboostServiceBase.js +23 -0
- package/dist/services/switchXboostServiceBase.js.map +1 -0
- package/dist/services/switchXboostServiceBase.spec.d.ts +1 -0
- package/junit.xml +757 -343
- package/package.json +1 -1
- package/dist/accessories/batteries/batteryAccessoryBase.js.map +0 -1
- package/dist/accessories/batteries/delta2Accessory.d.ts +0 -3
- package/dist/accessories/batteries/delta2Accessory.js +0 -8
- package/dist/accessories/batteries/delta2Accessory.js.map +0 -1
- package/dist/accessories/batteries/delta2maxAccessory.d.ts +0 -3
- package/dist/accessories/batteries/delta2maxAccessory.js +0 -8
- package/dist/accessories/batteries/delta2maxAccessory.js.map +0 -1
- package/dist/accessories/batteries/interfaces/httpApiBatteryContracts.js.map +0 -1
- package/dist/accessories/batteries/interfaces/mqttApiBatteryContracts.d.ts +0 -36
- package/dist/accessories/batteries/interfaces/mqttApiBatteryContracts.js +0 -18
- package/dist/accessories/batteries/interfaces/mqttApiBatteryContracts.js.map +0 -1
- package/dist/accessories/batteries/services/outletAcService.d.ts +0 -8
- package/dist/accessories/batteries/services/outletAcService.js +0 -24
- package/dist/accessories/batteries/services/outletAcService.js.map +0 -1
- package/dist/accessories/batteries/services/outletBatteryServiceBase.d.ts +0 -5
- package/dist/accessories/batteries/services/outletBatteryServiceBase.js.map +0 -1
- package/dist/accessories/batteries/services/outletCarService.d.ts +0 -6
- package/dist/accessories/batteries/services/outletCarService.js +0 -17
- package/dist/accessories/batteries/services/outletCarService.js.map +0 -1
- package/dist/accessories/batteries/services/outletUsbService.d.ts +0 -6
- package/dist/accessories/batteries/services/outletUsbService.js +0 -15
- package/dist/accessories/batteries/services/outletUsbService.js.map +0 -1
- package/dist/accessories/batteries/simulations/batterySimulator.d.ts +0 -6
- package/dist/accessories/batteries/simulations/batterySimulator.js +0 -60
- package/dist/accessories/batteries/simulations/batterySimulator.js.map +0 -1
- /package/dist/accessories/batteries/{batteryAccessoryBase.spec.d.ts → delta2/delta2Accessory.spec.d.ts} +0 -0
- /package/dist/accessories/batteries/{services/outletAcService.spec.d.ts → delta2/delta2AccessoryBase.spec.d.ts} +0 -0
- /package/dist/accessories/batteries/{services/outletCarService.spec.d.ts → delta2/delta2MaxAccessory.spec.d.ts} +0 -0
- /package/dist/accessories/batteries/{services/outletUsbService.spec.d.ts → delta2/services/outletAcService.spec.d.ts} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PowerDemandService = void 0;
|
|
4
|
-
const
|
|
4
|
+
const powerStreamMqttApiContracts_1 = require("@ecoflow/accessories/powerstream/interfaces/powerStreamMqttApiContracts");
|
|
5
5
|
const fanServiceBase_1 = require("@ecoflow/services/fanServiceBase");
|
|
6
6
|
class PowerDemandService extends fanServiceBase_1.FanServiceBase {
|
|
7
7
|
constructor(ecoFlowAccessory, maxPowerDemand) {
|
|
@@ -15,7 +15,7 @@ class PowerDemandService extends fanServiceBase_1.FanServiceBase {
|
|
|
15
15
|
const message = {
|
|
16
16
|
id: 0,
|
|
17
17
|
version: '',
|
|
18
|
-
cmdCode:
|
|
18
|
+
cmdCode: powerStreamMqttApiContracts_1.PowerStreamMqttSetCmdCodeType.WN511_SET_PERMANENT_WATTS_PACK,
|
|
19
19
|
params: {
|
|
20
20
|
permanentWatts: value,
|
|
21
21
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PowerStreamMqttSetMessage } from '@ecoflow/accessories/powerstream/interfaces/powerStreamMqttApiContracts';
|
|
2
2
|
import { SimulatorTyped } from '@ecoflow/apis/simulations/simulator';
|
|
3
|
-
export declare class PowerStreamSimulator extends SimulatorTyped<
|
|
3
|
+
export declare class PowerStreamSimulator extends SimulatorTyped<PowerStreamMqttSetMessage> {
|
|
4
4
|
generateQuota(): object;
|
|
5
|
-
generateSetReplyTyped(message:
|
|
5
|
+
generateSetReplyTyped(message: PowerStreamMqttSetMessage): object;
|
|
6
6
|
}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PowerStreamSimulator = void 0;
|
|
4
|
-
const
|
|
4
|
+
const batteryHttpApiContracts_1 = require("@ecoflow/accessories/batteries/interfaces/batteryHttpApiContracts");
|
|
5
|
+
const powerStreamMqttApiContracts_1 = require("@ecoflow/accessories/powerstream/interfaces/powerStreamMqttApiContracts");
|
|
5
6
|
const simulator_1 = require("@ecoflow/apis/simulations/simulator");
|
|
6
7
|
class PowerStreamSimulator extends simulator_1.SimulatorTyped {
|
|
7
8
|
generateQuota() {
|
|
8
9
|
const quota = {
|
|
9
|
-
cmdFunc:
|
|
10
|
-
cmdId:
|
|
10
|
+
cmdFunc: powerStreamMqttApiContracts_1.PowerStreamMqttMessageFuncType.Func20,
|
|
11
|
+
cmdId: powerStreamMqttApiContracts_1.PowerStreamMqttMessageType.Heartbeat,
|
|
11
12
|
param: {
|
|
12
13
|
pv1InputWatts: this.getRandomNumber(1, 3000),
|
|
13
14
|
pv2InputWatts: this.getRandomNumber(1, 3000),
|
|
14
15
|
batInputWatts: this.getRandomNumber(-6000, 6000),
|
|
15
16
|
batSoc: this.getRandomNumber(0, 100),
|
|
16
17
|
invOutputWatts: this.getRandomNumber(-6000, 6000),
|
|
17
|
-
invOnOff: this.getRandomBoolean(),
|
|
18
|
+
invOnOff: this.getRandomBoolean() ? batteryHttpApiContracts_1.EnableType.On : batteryHttpApiContracts_1.EnableType.Off,
|
|
18
19
|
supplyPriority: Math.floor(this.getRandomNumber(0, 1)),
|
|
19
20
|
permanentWatts: this.getRandomNumber(0, 6000),
|
|
20
21
|
upperLimit: Math.floor(this.getRandomNumber(1, 30)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powerStreamSimulator.js","sourceRoot":"","sources":["../../../../src/accessories/powerstream/simulations/powerStreamSimulator.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"powerStreamSimulator.js","sourceRoot":"","sources":["../../../../src/accessories/powerstream/simulations/powerStreamSimulator.ts"],"names":[],"mappings":";;;AAAA,+GAA+F;AAE/F,yHAKiF;AAEjF,mEAAqE;AAErE,MAAa,oBAAqB,SAAQ,0BAAyC;IACjE,aAAa;QAC3B,MAAM,KAAK,GAAqD;YAC9D,OAAO,EAAE,4DAA8B,CAAC,MAAM;YAC9C,KAAK,EAAE,wDAA0B,CAAC,SAAS;YAC3C,KAAK,EAAE;gBACL,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC;gBAC5C,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC;gBAC5C,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;gBAChD,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC;gBACpC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;gBACjD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,oCAAU,CAAC,EAAE,CAAC,CAAC,CAAC,oCAAU,CAAC,GAAG;gBAClE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtD,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC;gBAC7C,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnD,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBACrD,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACzD;SACF,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAEe,qBAAqB,CAAC,OAAkC;QACtE,MAAM,KAAK,GAAwB;YACjC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE;gBACJ,GAAG,EAAE,KAAK;aACX;SACF,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAhCD,oDAgCC"}
|
|
@@ -30,6 +30,11 @@ class MqttClientContainer {
|
|
|
30
30
|
if (!(config.serialNumber in this.devicesCache)) {
|
|
31
31
|
this.devicesCache[config.serialNumber] = [];
|
|
32
32
|
}
|
|
33
|
+
const devices = this.devicesCache[config.serialNumber];
|
|
34
|
+
if (devices.find(d => d.config.name === config.name)) {
|
|
35
|
+
// Ignore adding the same device multiple times
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
33
38
|
this.devicesCache[config.serialNumber].push(new mqttDevice_1.MqttDevice(config, log));
|
|
34
39
|
}
|
|
35
40
|
getAllDevices() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mqttClientContainer.js","sourceRoot":"","sources":["../../../src/apis/containers/mqttClientContainer.ts"],"names":[],"mappings":";;;AAAA,oEAAiE;AAMjE,MAAa,mBAAmB;IAIF;IAHpB,OAAO,GAA2B,IAAI,CAAC;IAC9B,YAAY,GAAuC,EAAE,CAAC;IAEvE,YAA4B,eAAuC;QAAvC,oBAAe,GAAf,eAAe,CAAwB;IAAG,CAAC;IAEvE,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAW,MAAM,CAAC,UAA2B;QAC3C,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;QAC5B,CAAC;IACH,CAAC;IAEM,WAAW;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAEM,UAAU,CAAC,YAA2B;QAC3C,IAAI,YAAY,IAAI,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,SAAS,CAAC,MAAwB,EAAE,GAAY;QACrD,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,uBAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEM,aAAa;QAClB,MAAM,UAAU,GAAiB,EAAE,CAAC;QACpC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAChD,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"mqttClientContainer.js","sourceRoot":"","sources":["../../../src/apis/containers/mqttClientContainer.ts"],"names":[],"mappings":";;;AAAA,oEAAiE;AAMjE,MAAa,mBAAmB;IAIF;IAHpB,OAAO,GAA2B,IAAI,CAAC;IAC9B,YAAY,GAAuC,EAAE,CAAC;IAEvE,YAA4B,eAAuC;QAAvC,oBAAe,GAAf,eAAe,CAAwB;IAAG,CAAC;IAEvE,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAW,MAAM,CAAC,UAA2B;QAC3C,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;QAC5B,CAAC;IACH,CAAC;IAEM,WAAW;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAEM,UAAU,CAAC,YAA2B;QAC3C,IAAI,YAAY,IAAI,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,SAAS,CAAC,MAAwB,EAAE,GAAY;QACrD,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QAC9C,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,+CAA+C;YAC/C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,uBAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEM,aAAa;QAClB,MAAM,UAAU,GAAiB,EAAE,CAAC;QACpC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAChD,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AA/CD,kDA+CC"}
|
|
@@ -15,7 +15,7 @@ class MqttDevice {
|
|
|
15
15
|
this.log = log;
|
|
16
16
|
}
|
|
17
17
|
processReceivedMessage(topicType, message) {
|
|
18
|
-
this.log.debug(`Received message: ${JSON.stringify(message, null, 2)}`);
|
|
18
|
+
this.log.debug(`Received message (topic: ${topicType}): ${JSON.stringify(message, null, 2)}`);
|
|
19
19
|
switch (topicType) {
|
|
20
20
|
case mqttApiContracts_1.MqttTopicType.Quota:
|
|
21
21
|
this.quotaSubject.next(message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mqttDevice.js","sourceRoot":"","sources":["../../../src/apis/containers/mqttDevice.ts"],"names":[],"mappings":";;;AAAA,gFAKmD;AAGnD,+BAAyD;AAEzD,MAAa,UAAU;IAOZ;IACS;IAPD,YAAY,GAA8B,IAAI,cAAO,EAAoB,CAAC;IAC1E,eAAe,GAAiC,IAAI,cAAO,EAAuB,CAAC;IACnF,MAAM,GAAiC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IACxE,SAAS,GAAoC,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;IAElG,YACS,MAAwB,EACf,GAAY;QADrB,WAAM,GAAN,MAAM,CAAkB;QACf,QAAG,GAAH,GAAG,CAAS;IAC3B,CAAC;IAEG,sBAAsB,CAAC,SAAwB,EAAE,OAAoB;QAC1E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"mqttDevice.js","sourceRoot":"","sources":["../../../src/apis/containers/mqttDevice.ts"],"names":[],"mappings":";;;AAAA,gFAKmD;AAGnD,+BAAyD;AAEzD,MAAa,UAAU;IAOZ;IACS;IAPD,YAAY,GAA8B,IAAI,cAAO,EAAoB,CAAC;IAC1E,eAAe,GAAiC,IAAI,cAAO,EAAuB,CAAC;IACnF,MAAM,GAAiC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IACxE,SAAS,GAAoC,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;IAElG,YACS,MAAwB,EACf,GAAY;QADrB,WAAM,GAAN,MAAM,CAAkB;QACf,QAAG,GAAH,GAAG,CAAS;IAC3B,CAAC;IAEG,sBAAsB,CAAC,SAAwB,EAAE,OAAoB;QAC1E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9F,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,gCAAa,CAAC,KAAK;gBACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAA2B,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,gCAAa,CAAC,QAAQ;gBACzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAA8B,CAAC,CAAC;gBAC1D,MAAM;YACR;gBACE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yCAAyC,EAAE,SAAS,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAEM,kBAAkB,CACvB,SAAwB,EACxB,QAAqC;QAErC,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,gCAAa,CAAC,KAAK;gBACtB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAmB,CAAC,CAAC,CAAC;YACzE,KAAK,gCAAa,CAAC,QAAQ;gBACzB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAmB,CAAC,CAAC,CAAC;YAC5E;gBACE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0CAA0C,EAAE,SAAS,CAAC,CAAC;gBACrE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;CACF;AAvCD,gCAuCC"}
|
|
@@ -8,6 +8,9 @@ export interface MqttQuotaMessageWithParams<TParams> extends MqttQuotaMessage {
|
|
|
8
8
|
export interface MqttQuotaMessageWithParam<TParams> extends MqttQuotaMessage {
|
|
9
9
|
param: TParams;
|
|
10
10
|
}
|
|
11
|
+
export interface MqttQuotaMessageWithData<TParams> extends MqttQuotaMessage {
|
|
12
|
+
data: TParams;
|
|
13
|
+
}
|
|
11
14
|
export interface MqttSetMessage extends MqttMessage {
|
|
12
15
|
id: number;
|
|
13
16
|
version: string;
|
|
@@ -15,10 +18,18 @@ export interface MqttSetMessage extends MqttMessage {
|
|
|
15
18
|
export interface MqttSetMessageWithParams<TParams> extends MqttSetMessage {
|
|
16
19
|
params: TParams;
|
|
17
20
|
}
|
|
18
|
-
export interface
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
export interface MqttAckSetReplyMessageData {
|
|
22
|
+
ack?: boolean;
|
|
23
|
+
}
|
|
24
|
+
export interface MqttResultSetReplyMessageData {
|
|
25
|
+
result?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface MqttSetReplyMessageData extends MqttAckSetReplyMessageData, MqttResultSetReplyMessageData {
|
|
28
|
+
}
|
|
29
|
+
export interface MqttSetReplyMessage extends MqttSetReplyMessageWithData<MqttSetReplyMessageData> {
|
|
30
|
+
}
|
|
31
|
+
export interface MqttSetReplyMessageWithData<TData extends MqttSetReplyMessageData> extends MqttSetMessage {
|
|
32
|
+
data: TData;
|
|
22
33
|
}
|
|
23
34
|
export declare enum MqttTopicType {
|
|
24
35
|
Quota = "quota",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mqttApiContracts.js","sourceRoot":"","sources":["../../../src/apis/interfaces/mqttApiContracts.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"mqttApiContracts.js","sourceRoot":"","sources":["../../../src/apis/interfaces/mqttApiContracts.ts"],"names":[],"mappings":";;;AAyCA,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,uCAAsB,CAAA;AACxB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB"}
|
package/dist/config.d.ts
CHANGED
|
@@ -38,7 +38,9 @@ export interface BatteryDeviceConfig {
|
|
|
38
38
|
export declare enum AdditionalBatteryCharacteristicType {
|
|
39
39
|
BatteryLevel = "Battery Level, %",
|
|
40
40
|
InputConsumptionInWatts = "Input Consumption, W",
|
|
41
|
-
OutputConsumptionInWatts = "Output Consumption, W"
|
|
41
|
+
OutputConsumptionInWatts = "Output Consumption, W",
|
|
42
|
+
ChargingState = "Charging State",
|
|
43
|
+
StatusLowBattery = "Status Low Battery"
|
|
42
44
|
}
|
|
43
45
|
export declare enum PowerStreamConsumptionType {
|
|
44
46
|
W600 = 600,
|
package/dist/config.js
CHANGED
|
@@ -5,6 +5,8 @@ var DeviceModel;
|
|
|
5
5
|
(function (DeviceModel) {
|
|
6
6
|
DeviceModel["Delta2Max"] = "Delta 2 Max";
|
|
7
7
|
DeviceModel["Delta2"] = "Delta 2";
|
|
8
|
+
// DeltaPro = 'Delta Pro',
|
|
9
|
+
// DeltaProUltra = 'Delta Pro Ultra',
|
|
8
10
|
DeviceModel["PowerStream"] = "PowerStream";
|
|
9
11
|
})(DeviceModel || (exports.DeviceModel = DeviceModel = {}));
|
|
10
12
|
var LocationType;
|
|
@@ -17,6 +19,8 @@ var AdditionalBatteryCharacteristicType;
|
|
|
17
19
|
AdditionalBatteryCharacteristicType["BatteryLevel"] = "Battery Level, %";
|
|
18
20
|
AdditionalBatteryCharacteristicType["InputConsumptionInWatts"] = "Input Consumption, W";
|
|
19
21
|
AdditionalBatteryCharacteristicType["OutputConsumptionInWatts"] = "Output Consumption, W";
|
|
22
|
+
AdditionalBatteryCharacteristicType["ChargingState"] = "Charging State";
|
|
23
|
+
AdditionalBatteryCharacteristicType["StatusLowBattery"] = "Status Low Battery";
|
|
20
24
|
})(AdditionalBatteryCharacteristicType || (exports.AdditionalBatteryCharacteristicType = AdditionalBatteryCharacteristicType = {}));
|
|
21
25
|
var PowerStreamConsumptionType;
|
|
22
26
|
(function (PowerStreamConsumptionType) {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAOA,IAAY,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAOA,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,iCAAkB,CAAA;IAClB,0BAA0B;IAC1B,qCAAqC;IACrC,0CAA2B,CAAA;AAC7B,CAAC,EANW,WAAW,2BAAX,WAAW,QAMtB;AAED,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,yBAAS,CAAA;IACT,yBAAS,CAAA;AACX,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AA8BD,IAAY,mCAMX;AAND,WAAY,mCAAmC;IAC7C,wEAAiC,CAAA;IACjC,uFAAgD,CAAA;IAChD,yFAAkD,CAAA;IAClD,uEAAgC,CAAA;IAChC,8EAAuC,CAAA;AACzC,CAAC,EANW,mCAAmC,mDAAnC,mCAAmC,QAM9C;AAED,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IACpC,6EAAU,CAAA;IACV,6EAAU,CAAA;AACZ,CAAC,EAHW,0BAA0B,0CAA1B,0BAA0B,QAGrC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BatteryStatusProvider = void 0;
|
|
4
|
+
class BatteryStatusProvider {
|
|
5
|
+
getStatusLowBattery(characteristic, batteryLevel, dischargeLimit) {
|
|
6
|
+
return batteryLevel < dischargeLimit + 5
|
|
7
|
+
? characteristic.StatusLowBattery.BATTERY_LEVEL_LOW
|
|
8
|
+
: characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.BatteryStatusProvider = BatteryStatusProvider;
|
|
12
|
+
//# sourceMappingURL=batteryStatusProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batteryStatusProvider.js","sourceRoot":"","sources":["../../src/helpers/batteryStatusProvider.ts"],"names":[],"mappings":";;;AAEA,MAAa,qBAAqB;IACzB,mBAAmB,CACxB,cAAqC,EACrC,YAAoB,EACpB,cAAsB;QAEtB,OAAO,YAAY,GAAG,cAAc,GAAG,CAAC;YACtC,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,iBAAiB;YACnD,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;IAC3D,CAAC;CACF;AAVD,sDAUC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e={999:(e,
|
|
1
|
+
(()=>{"use strict";var e={999:(e,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.ComponentRenderer=void 0,i.ComponentRenderer=class{renderTextBox(e,i,n,r,t){const o='\n <div class="form-group">\n <label for="device{id}" class="{requiredClass}">{title}</label>\n <input type="text" class="form-control" id="device{id}" placeholder="{description}" required="{required}" />\n </div>'.replace(/{id}/g,i).replace(/{title}/g,n.title).replace(/{description}/g,n.description??"").replace(/{requiredClass}/g,n.required?"required-label":"").replace(/{required}/g,(n.required??!1).toString());e.append(o);const a=e.find(`#device${i}`);a.val(r),a.on("change",(()=>t(a.val()?.toString()||"")))}renderDropDown(e,i,n,r,t){const o='\n <div class="form-group">\n <label for="device{id}" class="{requiredClass}">{title}</label>\n <select class="form-control" id="device{id}" required="{required}"></select>\n </div>'.replace(/{id}/g,i).replace(/{title}/g,n.title).replace(/{requiredClass}/g,n.required?"required-label":"").replace(/{required}/g,(n.required??!1).toString());e.append(o);const a=e.find(`#device${i}`);n.enum.forEach((e=>{const i=$("<option>").val(e).text(e);a.append(i)})),a.val(r),a.on("change",(()=>t(a.val()?.toString()||"")))}}},84:(e,i,n)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.PluginConfigDevicesRenderer=void 0;const r=n(536);class t extends r.PluginConfigRendererBase{form;$tabs;$tabPanels;_hideDeviceSettingsPerModel;constructor(e){super(e),this.$tabs=$("#devicesTabs"),this.$tabPanels=$("#devicesPanels"),this._hideDeviceSettingsPerModel={"Delta 2":["powerStream"],"Delta 2 Max":["powerStream"],"Delta Pro":["powerStream"],"Delta Pro Ultra":["powerStream"],PowerStream:["battery"]}}get hideDeviceSettingsPerModel(){return this._hideDeviceSettingsPerModel}render(e){this.renderDevicesSettings({homebridgeProvider:e.homebridgeProvider,configSchema:e.configSchema,configuration:e.configuration,hideDeviceSettingsPerModel:this.hideDeviceSettingsPerModel})}renderDevicesSettings(e,i){$("#devicesLabel").text(e.configSchema.schema.properties.devices.title);const n=!i||i<0?0:i;this.renderDeviceTabs(e,n)}renderDeviceTabs(e,i){this.clearDeviceTabs();const n='\n <li class="nav-item">\n <a class="nav-link {activeClass}" data-toggle="tab" href="#deviceTabPanel{index}" id="deviceTab{index}">{name}</a>\n </li>\n ';e.configuration.devices.forEach(((r,t)=>{const o=n.replace(/{activeClass}/g,t===i?"active":"").replace(/{index}/g,t.toString()).replace(/{name}/g,r.name??`Device${t+1}`);this.$tabs.append(o),this.renderDeviceTabPanel(e,r,t,i,this.$tabs.find(`#deviceTab${t}`))})),this.renderAddNewDeviceTab(n,e)}clearDeviceTabs(){this.$tabs.empty(),this.$tabPanels.empty(),this.form?.end()}renderAddNewDeviceTab(e,i){const n=e.replace(/{activeClass}/g,"").replace(/{index}/g,"Add").replace(/{name}/g,"Add Device");this.$tabs.append(n),this.$tabs.find("#deviceTabAdd").on("click",(()=>{i.configuration.devices.push(this.getDefaultDeviceConfiguration(i.configSchema)),this.renderDevicesSettings(i,i.configuration.devices.length-1)}))}renderDeviceTabPanel(e,i,n,r,t){const o='\n <div class="tab-pane container fade {activeClass} card card-body list-group-item" id="deviceTabPanel{index}">\n <button type="button" class="close pull-right" id="deviceTabPanelClose{index}">\n <span>×</span>\n <span class="sr-only">Close</span>\n </button>\n </div>\n '.replace(/{activeClass}/g,n===r?"in show active":"").replace(/{index}/g,n.toString());this.$tabPanels.append(o);const a=this.$tabPanels.find(`#deviceTabPanel${n}`),s=this.clone(e.configSchema.schema.properties.devices.items),d=s.properties.model;this.renderModelDropDown(t,a,n,e,s,d,i),this.renderRemoveButton(a,n,e),this.renderForm(t,n,r,e,s,i)}renderModelDropDown(e,i,n,r,t,o,a){this.componentRenderer.renderDropDown(i,"model"+n,o,a.model,(i=>{a.model=i,this.renderForm(e,n,n,r,t,a)}))}renderRemoveButton(e,i,n){e.find(`#deviceTabPanelClose${i}`).on("click",(()=>{n.configuration.devices.splice(i,1),this.renderDevicesSettings(n,i-1)}))}renderForm(e,i,n,r,t,o){delete(t=this.clone(t)).properties.model,r.hideDeviceSettingsPerModel[o.model].forEach((e=>{delete t.properties[e]})),e.off("click").on("click",(()=>{this.form?.end(),this.form=r.homebridgeProvider.createForm({schema:t},o),this.form.onChange((async n=>{const t=r.configuration.devices[i].name;this.applyChanges(r.configuration.devices[i],n,["model"]),await this.updatePluginConfig(r),n.name!==t&&e.text(n.name)}))})),i===n&&e.trigger("click")}getDefaultDeviceConfiguration(e){const i={},n=e.schema.properties.devices.items.properties;return Object.keys(n).filter((e=>!!n[e]?.default)).forEach((e=>{i[e]=n[e]?.default})),i}applyChanges(e,i,n){Object.assign(e,i);for(const r in e)void 0!==i[r]||n.includes(r)||delete e[r]}}i.PluginConfigDevicesRenderer=t},102:(e,i,n)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.PluginConfigNameRenderer=void 0;const r=n(536);class t extends r.PluginConfigRendererBase{render(e){this.componentRenderer.renderTextBox($("#generalSettings"),"name",e.configSchema.schema.properties.name,e.configuration.name,(async i=>{e.configuration.name=i,await this.updatePluginConfig(e)}))}}i.PluginConfigNameRenderer=t},653:(e,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.PluginConfigRenderer=void 0,i.PluginConfigRenderer=class{renderers;constructor(e){this.renderers=e}render(e){void 0===e.configuration&&(e.configuration={name:void 0,devices:[]}),this.renderers.forEach((i=>i.render(e)))}}},536:(e,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.PluginConfigRendererBase=void 0,i.PluginConfigRendererBase=class{componentRenderer;constructor(e){this.componentRenderer=e}async updatePluginConfig(e){const i=this.clone(e.configuration);delete i.platform,await e.homebridgeProvider.updatePluginConfig([i])}clone(e){return JSON.parse(JSON.stringify(e))}}}},i={};function n(r){var t=i[r];if(void 0!==t)return t.exports;var o=i[r]={exports:{}};return e[r](o,o.exports,n),o.exports}(()=>{const e=n(999),i=n(84),r=n(102),t=n(653);window.renderEcoFlowPluginConfig=async function(n){const o=await n.getPluginConfig(),a=await n.getPluginConfigSchema(),s=o[0],d=new e.ComponentRenderer;new t.PluginConfigRenderer([new r.PluginConfigNameRenderer(d),new i.PluginConfigDevicesRenderer(d)]).render({homebridgeProvider:n,configuration:s,configSchema:a})}})()})();
|
|
@@ -5,7 +5,9 @@ export declare class PluginConfigDevicesRenderer extends PluginConfigRendererBas
|
|
|
5
5
|
private form;
|
|
6
6
|
private readonly $tabs;
|
|
7
7
|
private readonly $tabPanels;
|
|
8
|
+
private readonly _hideDeviceSettingsPerModel;
|
|
8
9
|
constructor(componentRenderer: ComponentRenderer);
|
|
10
|
+
get hideDeviceSettingsPerModel(): Record<string, string[]>;
|
|
9
11
|
render(context: IContext): void;
|
|
10
12
|
private renderDevicesSettings;
|
|
11
13
|
private renderDeviceTabs;
|
package/dist/platform.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export declare class EcoFlowHomebridgePlatform implements DynamicPlatformPlugin
|
|
|
16
16
|
readonly accessories: PlatformAccessory[];
|
|
17
17
|
private readonly httpApiManager;
|
|
18
18
|
private readonly mqttApiManager;
|
|
19
|
+
private readonly batteryStatusProvider;
|
|
19
20
|
constructor(commonLog: Logging, config: PlatformConfig, api: API);
|
|
20
21
|
static InitCustomCharacteristics(hap: HAP): void;
|
|
21
22
|
/**
|
package/dist/platform.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EcoFlowHomebridgePlatform = void 0;
|
|
4
|
-
const delta2Accessory_1 = require("@ecoflow/accessories/batteries/delta2Accessory");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
4
|
+
const delta2Accessory_1 = require("@ecoflow/accessories/batteries/delta2/delta2Accessory");
|
|
5
|
+
const delta2MaxAccessory_1 = require("@ecoflow/accessories/batteries/delta2/delta2MaxAccessory");
|
|
6
|
+
const delta2Simulator_1 = require("@ecoflow/accessories/batteries/delta2/simulations/delta2Simulator");
|
|
7
7
|
const powerStreamAccessory_1 = require("@ecoflow/accessories/powerstream/powerStreamAccessory");
|
|
8
8
|
const powerStreamSimulator_1 = require("@ecoflow/accessories/powerstream/simulations/powerStreamSimulator");
|
|
9
9
|
const ecoFlowHttpApiManager_1 = require("@ecoflow/apis/ecoFlowHttpApiManager");
|
|
10
10
|
const ecoFlowMqttApiManager_1 = require("@ecoflow/apis/ecoFlowMqttApiManager");
|
|
11
11
|
const customCharacteristic_1 = require("@ecoflow/characteristics/customCharacteristic");
|
|
12
12
|
const config_1 = require("@ecoflow/config");
|
|
13
|
+
const batteryStatusProvider_1 = require("@ecoflow/helpers/batteryStatusProvider");
|
|
13
14
|
const logger_1 = require("@ecoflow/helpers/logger");
|
|
14
15
|
const machineIdProvider_1 = require("@ecoflow/helpers/machineIdProvider");
|
|
15
16
|
const settings_1 = require("@ecoflow/settings");
|
|
@@ -24,6 +25,7 @@ class EcoFlowHomebridgePlatform {
|
|
|
24
25
|
accessories = [];
|
|
25
26
|
httpApiManager = new ecoFlowHttpApiManager_1.EcoFlowHttpApiManager();
|
|
26
27
|
mqttApiManager = new ecoFlowMqttApiManager_1.EcoFlowMqttApiManager(this.httpApiManager, new machineIdProvider_1.MachineIdProvider());
|
|
28
|
+
batteryStatusProvider = new batteryStatusProvider_1.BatteryStatusProvider();
|
|
27
29
|
constructor(commonLog, config, api) {
|
|
28
30
|
this.commonLog = commonLog;
|
|
29
31
|
this.config = config;
|
|
@@ -160,13 +162,21 @@ class EcoFlowHomebridgePlatform {
|
|
|
160
162
|
let EcoFlowAccessorySimulatorType = undefined;
|
|
161
163
|
switch (config.model) {
|
|
162
164
|
case config_1.DeviceModel.Delta2Max:
|
|
163
|
-
EcoFlowAccessoryType =
|
|
164
|
-
EcoFlowAccessorySimulatorType =
|
|
165
|
+
EcoFlowAccessoryType = delta2MaxAccessory_1.Delta2MaxAccessory;
|
|
166
|
+
EcoFlowAccessorySimulatorType = delta2Simulator_1.Delta2Simulator;
|
|
165
167
|
break;
|
|
166
168
|
case config_1.DeviceModel.Delta2:
|
|
167
169
|
EcoFlowAccessoryType = delta2Accessory_1.Delta2Accessory;
|
|
168
|
-
EcoFlowAccessorySimulatorType =
|
|
170
|
+
EcoFlowAccessorySimulatorType = delta2Simulator_1.Delta2Simulator;
|
|
169
171
|
break;
|
|
172
|
+
// case DeviceModel.DeltaPro:
|
|
173
|
+
// EcoFlowAccessoryType = DeltaProAccessory;
|
|
174
|
+
// EcoFlowAccessorySimulatorType = DeltaProSimulator;
|
|
175
|
+
// break;
|
|
176
|
+
// case DeviceModel.DeltaProUltra:
|
|
177
|
+
// EcoFlowAccessoryType = DeltaProUltraAccessory;
|
|
178
|
+
// EcoFlowAccessorySimulatorType = DeltaProUltraSimulator;
|
|
179
|
+
// break;
|
|
170
180
|
case config_1.DeviceModel.PowerStream:
|
|
171
181
|
EcoFlowAccessoryType = powerStreamAccessory_1.PowerStreamAccessory;
|
|
172
182
|
EcoFlowAccessorySimulatorType = powerStreamSimulator_1.PowerStreamSimulator;
|
|
@@ -175,9 +185,10 @@ class EcoFlowHomebridgePlatform {
|
|
|
175
185
|
log.warn(`"${config.model}" is not supported. Ignoring the device`);
|
|
176
186
|
}
|
|
177
187
|
config.simulator = EcoFlowAccessorySimulatorType;
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
188
|
+
if (EcoFlowAccessoryType === null) {
|
|
189
|
+
return null;
|
|
190
|
+
}
|
|
191
|
+
return new EcoFlowAccessoryType(this, accessory, config, log, this.httpApiManager, this.mqttApiManager, this.batteryStatusProvider);
|
|
181
192
|
}
|
|
182
193
|
}
|
|
183
194
|
exports.EcoFlowHomebridgePlatform = EcoFlowHomebridgePlatform;
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;AAYA,
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { EcoFlowAccessoryBase } from '@ecoflow/accessories/ecoFlowAccessoryBase';
|
|
2
|
+
import { BatteryStatusProvider } from '@ecoflow/helpers/batteryStatusProvider';
|
|
2
3
|
import { ServiceBase } from '@ecoflow/services/serviceBase';
|
|
3
4
|
import { Characteristic } from 'homebridge';
|
|
4
5
|
export declare class BatteryStatusService extends ServiceBase {
|
|
5
6
|
protected readonly ecoFlowAccessory: EcoFlowAccessoryBase;
|
|
6
|
-
|
|
7
|
+
private readonly batteryStatusProvider;
|
|
8
|
+
constructor(ecoFlowAccessory: EcoFlowAccessoryBase, batteryStatusProvider: BatteryStatusProvider, serviceSubType?: string);
|
|
7
9
|
protected addCharacteristics(): Characteristic[];
|
|
8
|
-
updateBatteryLevel(batteryLevel: number): void;
|
|
9
|
-
updateChargingState(
|
|
10
|
+
updateBatteryLevel(batteryLevel: number, dischargeLimit: number): void;
|
|
11
|
+
updateChargingState(isCharging: boolean): void;
|
|
10
12
|
private updateStatusLowBattery;
|
|
11
13
|
}
|
|
@@ -4,9 +4,11 @@ exports.BatteryStatusService = void 0;
|
|
|
4
4
|
const serviceBase_1 = require("@ecoflow/services/serviceBase");
|
|
5
5
|
class BatteryStatusService extends serviceBase_1.ServiceBase {
|
|
6
6
|
ecoFlowAccessory;
|
|
7
|
-
|
|
7
|
+
batteryStatusProvider;
|
|
8
|
+
constructor(ecoFlowAccessory, batteryStatusProvider, serviceSubType) {
|
|
8
9
|
super(ecoFlowAccessory.platform.Service.Battery, ecoFlowAccessory, serviceSubType);
|
|
9
10
|
this.ecoFlowAccessory = ecoFlowAccessory;
|
|
11
|
+
this.batteryStatusProvider = batteryStatusProvider;
|
|
10
12
|
}
|
|
11
13
|
addCharacteristics() {
|
|
12
14
|
return [
|
|
@@ -15,18 +17,15 @@ class BatteryStatusService extends serviceBase_1.ServiceBase {
|
|
|
15
17
|
this.addCharacteristic(this.platform.Characteristic.ChargingState),
|
|
16
18
|
];
|
|
17
19
|
}
|
|
18
|
-
updateBatteryLevel(batteryLevel) {
|
|
20
|
+
updateBatteryLevel(batteryLevel, dischargeLimit) {
|
|
19
21
|
this.updateCharacteristic(this.platform.Characteristic.BatteryLevel, 'BatteryLevel', batteryLevel);
|
|
20
|
-
this.updateStatusLowBattery(batteryLevel);
|
|
22
|
+
this.updateStatusLowBattery(batteryLevel, dischargeLimit);
|
|
21
23
|
}
|
|
22
|
-
updateChargingState(
|
|
23
|
-
const isCharging = chargingPower > 0;
|
|
24
|
+
updateChargingState(isCharging) {
|
|
24
25
|
this.updateCharacteristic(this.platform.Characteristic.ChargingState, 'ChargingState', isCharging);
|
|
25
26
|
}
|
|
26
|
-
updateStatusLowBattery(batteryLevel) {
|
|
27
|
-
const statusLowBattery = batteryLevel
|
|
28
|
-
? this.platform.Characteristic.StatusLowBattery.BATTERY_LEVEL_LOW
|
|
29
|
-
: this.platform.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL;
|
|
27
|
+
updateStatusLowBattery(batteryLevel, dischargeLimit) {
|
|
28
|
+
const statusLowBattery = this.batteryStatusProvider.getStatusLowBattery(this.platform.Characteristic, batteryLevel, dischargeLimit);
|
|
30
29
|
this.updateCharacteristic(this.platform.Characteristic.StatusLowBattery, 'StatusLowBattery', statusLowBattery);
|
|
31
30
|
}
|
|
32
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batteryStatusService.js","sourceRoot":"","sources":["../../src/services/batteryStatusService.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"batteryStatusService.js","sourceRoot":"","sources":["../../src/services/batteryStatusService.ts"],"names":[],"mappings":";;;AAEA,+DAA4D;AAG5D,MAAa,oBAAqB,SAAQ,yBAAW;IAE9B;IACF;IAFnB,YACqB,gBAAsC,EACxC,qBAA4C,EAC7D,cAAuB;QAEvB,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;QAJhE,qBAAgB,GAAhB,gBAAgB,CAAsB;QACxC,0BAAqB,GAArB,qBAAqB,CAAuB;IAI/D,CAAC;IAEkB,kBAAkB;QACnC,OAAO;YACL,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC;YACrE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC;YACjE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;SACnE,CAAC;IACJ,CAAC;IAEM,kBAAkB,CAAC,YAAoB,EAAE,cAAsB;QACpE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;QACnG,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAC5D,CAAC;IAEM,mBAAmB,CAAC,UAAmB;QAC5C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IACrG,CAAC;IAEO,sBAAsB,CAAC,YAAoB,EAAE,cAAsB;QACzE,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CACrE,IAAI,CAAC,QAAQ,CAAC,cAAc,EAC5B,YAAY,EACZ,cAAc,CACf,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IACjH,CAAC;CACF;AAlCD,oDAkCC"}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
import { EcoFlowAccessoryBase } from '@ecoflow/accessories/ecoFlowAccessoryBase';
|
|
2
2
|
import { AdditionalBatteryCharacteristicType as CharacteristicType } from '@ecoflow/config';
|
|
3
|
+
import { BatteryStatusProvider } from '@ecoflow/helpers/batteryStatusProvider';
|
|
3
4
|
import { ServiceBase } from '@ecoflow/services/serviceBase';
|
|
4
5
|
import { Characteristic } from 'homebridge';
|
|
5
6
|
export declare abstract class OutletServiceBase extends ServiceBase {
|
|
7
|
+
private readonly batteryStatusProvider;
|
|
6
8
|
private readonly additionalCharacteristics?;
|
|
7
|
-
constructor(ecoFlowAccessory: EcoFlowAccessoryBase, serviceSubType: string, additionalCharacteristics?: CharacteristicType[] | undefined);
|
|
9
|
+
constructor(ecoFlowAccessory: EcoFlowAccessoryBase, batteryStatusProvider: BatteryStatusProvider, serviceSubType: string, additionalCharacteristics?: CharacteristicType[] | undefined);
|
|
8
10
|
updateState(state: boolean): void;
|
|
9
11
|
updateOutputConsumption(watt: number): void;
|
|
10
12
|
updateInputConsumption(watt: number): void;
|
|
11
|
-
updateBatteryLevel(batteryLevel: number): void;
|
|
13
|
+
updateBatteryLevel(batteryLevel: number, dischargeLimit: number): void;
|
|
14
|
+
updateChargingState(isCharging: boolean): void;
|
|
12
15
|
protected addCharacteristics(): Characteristic[];
|
|
13
16
|
protected abstract setOn(value: boolean, revert: () => void): Promise<void>;
|
|
17
|
+
private updateStatusLowBattery;
|
|
14
18
|
private tryAddCustomCharacteristic;
|
|
15
19
|
private updateCustomCharacteristic;
|
|
16
20
|
}
|
|
@@ -4,9 +4,11 @@ exports.OutletServiceBase = void 0;
|
|
|
4
4
|
const config_1 = require("@ecoflow/config");
|
|
5
5
|
const serviceBase_1 = require("@ecoflow/services/serviceBase");
|
|
6
6
|
class OutletServiceBase extends serviceBase_1.ServiceBase {
|
|
7
|
+
batteryStatusProvider;
|
|
7
8
|
additionalCharacteristics;
|
|
8
|
-
constructor(ecoFlowAccessory, serviceSubType, additionalCharacteristics) {
|
|
9
|
+
constructor(ecoFlowAccessory, batteryStatusProvider, serviceSubType, additionalCharacteristics) {
|
|
9
10
|
super(ecoFlowAccessory.platform.Service.Outlet, ecoFlowAccessory, serviceSubType);
|
|
11
|
+
this.batteryStatusProvider = batteryStatusProvider;
|
|
10
12
|
this.additionalCharacteristics = additionalCharacteristics;
|
|
11
13
|
}
|
|
12
14
|
updateState(state) {
|
|
@@ -14,17 +16,21 @@ class OutletServiceBase extends serviceBase_1.ServiceBase {
|
|
|
14
16
|
}
|
|
15
17
|
updateOutputConsumption(watt) {
|
|
16
18
|
this.updateCharacteristic(this.platform.Characteristic.OutletInUse, 'InUse', watt > 0);
|
|
17
|
-
this.updateCustomCharacteristic(this.platform.Characteristic.PowerConsumption.OutputConsumptionWatts, 'Output Consumption, W', watt, config_1.AdditionalBatteryCharacteristicType.OutputConsumptionInWatts);
|
|
19
|
+
this.updateCustomCharacteristic(this.platform.Characteristic.PowerConsumption.OutputConsumptionWatts, 'Output Consumption, W', () => watt, config_1.AdditionalBatteryCharacteristicType.OutputConsumptionInWatts);
|
|
18
20
|
}
|
|
19
21
|
updateInputConsumption(watt) {
|
|
20
|
-
this.updateCustomCharacteristic(this.platform.Characteristic.PowerConsumption.InputConsumptionWatts, 'Input Consumption, W', watt, config_1.AdditionalBatteryCharacteristicType.InputConsumptionInWatts);
|
|
22
|
+
this.updateCustomCharacteristic(this.platform.Characteristic.PowerConsumption.InputConsumptionWatts, 'Input Consumption, W', () => watt, config_1.AdditionalBatteryCharacteristicType.InputConsumptionInWatts);
|
|
21
23
|
}
|
|
22
|
-
updateBatteryLevel(batteryLevel) {
|
|
23
|
-
this.updateCustomCharacteristic(this.platform.Characteristic.BatteryLevel, 'Battery Level, %', batteryLevel, config_1.AdditionalBatteryCharacteristicType.BatteryLevel);
|
|
24
|
+
updateBatteryLevel(batteryLevel, dischargeLimit) {
|
|
25
|
+
this.updateCustomCharacteristic(this.platform.Characteristic.BatteryLevel, 'Battery Level, %', () => batteryLevel, config_1.AdditionalBatteryCharacteristicType.BatteryLevel);
|
|
26
|
+
this.updateStatusLowBattery(batteryLevel, dischargeLimit);
|
|
27
|
+
}
|
|
28
|
+
updateChargingState(isCharging) {
|
|
29
|
+
this.updateCustomCharacteristic(this.platform.Characteristic.ChargingState, 'ChargingState', () => isCharging, config_1.AdditionalBatteryCharacteristicType.ChargingState);
|
|
24
30
|
}
|
|
25
31
|
addCharacteristics() {
|
|
26
32
|
const onCharacteristic = this.addCharacteristic(this.platform.Characteristic.On);
|
|
27
|
-
onCharacteristic.onSet(value => {
|
|
33
|
+
onCharacteristic.onSet((value) => {
|
|
28
34
|
const newValue = value;
|
|
29
35
|
this.setOn(newValue, () => this.updateState(!newValue));
|
|
30
36
|
});
|
|
@@ -34,19 +40,24 @@ class OutletServiceBase extends serviceBase_1.ServiceBase {
|
|
|
34
40
|
this.tryAddCustomCharacteristic(this.platform.Characteristic.PowerConsumption.InputConsumptionWatts, config_1.AdditionalBatteryCharacteristicType.InputConsumptionInWatts),
|
|
35
41
|
this.tryAddCustomCharacteristic(this.platform.Characteristic.PowerConsumption.OutputConsumptionWatts, config_1.AdditionalBatteryCharacteristicType.OutputConsumptionInWatts),
|
|
36
42
|
this.tryAddCustomCharacteristic(this.platform.Characteristic.BatteryLevel, config_1.AdditionalBatteryCharacteristicType.BatteryLevel),
|
|
43
|
+
this.tryAddCustomCharacteristic(this.platform.Characteristic.ChargingState, config_1.AdditionalBatteryCharacteristicType.ChargingState),
|
|
44
|
+
this.tryAddCustomCharacteristic(this.platform.Characteristic.StatusLowBattery, config_1.AdditionalBatteryCharacteristicType.StatusLowBattery),
|
|
37
45
|
];
|
|
38
46
|
this.service.setCharacteristic(this.platform.Characteristic.Name, this.serviceName);
|
|
39
47
|
return characteristics.filter(characteristic => characteristic !== null);
|
|
40
48
|
}
|
|
49
|
+
updateStatusLowBattery(batteryLevel, dischargeLimit) {
|
|
50
|
+
this.updateCustomCharacteristic(this.platform.Characteristic.StatusLowBattery, 'StatusLowBattery', () => this.batteryStatusProvider.getStatusLowBattery(this.platform.Characteristic, batteryLevel, dischargeLimit), config_1.AdditionalBatteryCharacteristicType.StatusLowBattery);
|
|
51
|
+
}
|
|
41
52
|
tryAddCustomCharacteristic(characteristic, characteristicType) {
|
|
42
53
|
if (this.additionalCharacteristics?.includes(characteristicType)) {
|
|
43
54
|
return this.addCharacteristic(characteristic);
|
|
44
55
|
}
|
|
45
56
|
return null;
|
|
46
57
|
}
|
|
47
|
-
updateCustomCharacteristic(characteristic, name,
|
|
58
|
+
updateCustomCharacteristic(characteristic, name, valueFunc, characteristicType) {
|
|
48
59
|
if (this.additionalCharacteristics?.includes(characteristicType)) {
|
|
49
|
-
this.updateCharacteristic(characteristic, name,
|
|
60
|
+
this.updateCharacteristic(characteristic, name, valueFunc());
|
|
50
61
|
}
|
|
51
62
|
}
|
|
52
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outletServiceBase.js","sourceRoot":"","sources":["../../src/services/outletServiceBase.ts"],"names":[],"mappings":";;;AACA,4CAA4F;
|
|
1
|
+
{"version":3,"file":"outletServiceBase.js","sourceRoot":"","sources":["../../src/services/outletServiceBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EcoFlowAccessoryBase } from '@ecoflow/accessories/ecoFlowAccessoryBase';
|
|
2
|
+
import { ServiceBase } from '@ecoflow/services/serviceBase';
|
|
3
|
+
import { Characteristic } from 'homebridge';
|
|
4
|
+
export declare abstract class SwitchXboostServiceBase extends ServiceBase {
|
|
5
|
+
constructor(ecoFlowAccessory: EcoFlowAccessoryBase);
|
|
6
|
+
updateState(state: boolean): void;
|
|
7
|
+
protected addCharacteristics(): Characteristic[];
|
|
8
|
+
protected abstract setOn(value: boolean, revert: () => void): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SwitchXboostServiceBase = void 0;
|
|
4
|
+
const serviceBase_1 = require("@ecoflow/services/serviceBase");
|
|
5
|
+
class SwitchXboostServiceBase extends serviceBase_1.ServiceBase {
|
|
6
|
+
constructor(ecoFlowAccessory) {
|
|
7
|
+
super(ecoFlowAccessory.platform.Service.Switch, ecoFlowAccessory, 'X-Boost');
|
|
8
|
+
}
|
|
9
|
+
updateState(state) {
|
|
10
|
+
this.updateCharacteristic(this.platform.Characteristic.On, 'State', state);
|
|
11
|
+
}
|
|
12
|
+
addCharacteristics() {
|
|
13
|
+
const onCharacteristic = this.addCharacteristic(this.platform.Characteristic.On);
|
|
14
|
+
onCharacteristic.onSet((value) => {
|
|
15
|
+
const newValue = value;
|
|
16
|
+
this.setOn(newValue, () => this.updateState(!newValue));
|
|
17
|
+
});
|
|
18
|
+
this.service.setCharacteristic(this.platform.Characteristic.Name, this.serviceName);
|
|
19
|
+
return [onCharacteristic];
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.SwitchXboostServiceBase = SwitchXboostServiceBase;
|
|
23
|
+
//# sourceMappingURL=switchXboostServiceBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switchXboostServiceBase.js","sourceRoot":"","sources":["../../src/services/switchXboostServiceBase.ts"],"names":[],"mappings":";;;AACA,+DAA4D;AAG5D,MAAsB,uBAAwB,SAAQ,yBAAW;IAC/D,YAAY,gBAAsC;QAChD,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC/E,CAAC;IAEM,WAAW,CAAC,KAAc;QAC/B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7E,CAAC;IAEkB,kBAAkB;QACnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACjF,gBAAgB,CAAC,KAAK,CAAC,CAAC,KAA0B,EAAE,EAAE;YACpD,MAAM,QAAQ,GAAG,KAAgB,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAEpF,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC5B,CAAC;CAGF;AArBD,0DAqBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|