@pietrolubini/homebridge-ecoflow 1.2.0 → 1.2.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/README.md +1 -0
- package/config.schema.json +8 -0
- package/dist/accessories/ecoFlowAccessory.js +7 -1
- package/dist/accessories/ecoFlowAccessory.js.map +1 -1
- package/dist/apis/ecoFlowHttpApi.d.ts +2 -1
- package/dist/apis/ecoFlowHttpApi.js +7 -3
- package/dist/apis/ecoFlowHttpApi.js.map +1 -1
- package/dist/characteristics/CustomCharacteristic.d.ts +14 -12
- package/dist/characteristics/CustomCharacteristic.js +81 -72
- package/dist/characteristics/CustomCharacteristic.js.map +1 -1
- package/dist/config.d.ts +5 -0
- package/dist/config.js +5 -0
- package/dist/config.js.map +1 -1
- package/dist/platform.d.ts +3 -2
- package/dist/platform.js +7 -2
- package/dist/platform.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
package/config.schema.json
CHANGED
|
@@ -36,6 +36,14 @@
|
|
|
36
36
|
"required": true,
|
|
37
37
|
"description": "Serial number of the EcoFlow device"
|
|
38
38
|
},
|
|
39
|
+
"location": {
|
|
40
|
+
"title": "Location",
|
|
41
|
+
"type": "string",
|
|
42
|
+
"default": "EU",
|
|
43
|
+
"required": true,
|
|
44
|
+
"enum": ["EU", "US"],
|
|
45
|
+
"description": "API host depends on device's location (EU: api-e.ecoflow.com, US: api-a.ecoflow.com)"
|
|
46
|
+
},
|
|
39
47
|
"accessKey": {
|
|
40
48
|
"title": "Access Key",
|
|
41
49
|
"type": "string",
|
|
@@ -55,6 +55,10 @@ export class EcoFlowAccessory {
|
|
|
55
55
|
processSetReplyMessage(message) {
|
|
56
56
|
const messageKey = this.getMqttSetMessageKey(message);
|
|
57
57
|
const command = this.setReplies[messageKey];
|
|
58
|
+
if (!command) {
|
|
59
|
+
this.log.debug('Received "SetReply" response was sent from another instance of homebridge. Ignore it:', message);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
58
62
|
delete this.setReplies[messageKey];
|
|
59
63
|
if (message.data.ack) {
|
|
60
64
|
this.log.warn('Failed to set a value. Reverts value back for:', command.requestMessage.operateType);
|
|
@@ -107,7 +111,9 @@ export class EcoFlowAccessoryWithQuota extends EcoFlowAccessory {
|
|
|
107
111
|
this._quota = await this.httpApi.getAllQuotas();
|
|
108
112
|
}
|
|
109
113
|
await super.initialize();
|
|
110
|
-
|
|
114
|
+
if (this._quota) {
|
|
115
|
+
this.updateInitialValues(this._quota);
|
|
116
|
+
}
|
|
111
117
|
}
|
|
112
118
|
get quota() {
|
|
113
119
|
return this._quota;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecoFlowAccessory.js","sourceRoot":"","sources":["../../src/accessories/ecoFlowAccessory.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ecoFlowAccessory.js","sourceRoot":"","sources":["../../src/accessories/ecoFlowAccessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,9 +33,10 @@ export interface AcquireCertificateData {
|
|
|
33
33
|
export declare class EcoFlowHttpApi {
|
|
34
34
|
private readonly config;
|
|
35
35
|
private readonly log;
|
|
36
|
+
private readonly apiUrl;
|
|
36
37
|
constructor(config: DeviceConfig, log: Logging);
|
|
37
38
|
getQuotas<TData>(quotas: string[]): Promise<TData>;
|
|
38
|
-
getAllQuotas<TData>(): Promise<TData>;
|
|
39
|
+
getAllQuotas<TData>(): Promise<TData | null>;
|
|
39
40
|
acquireCertificate(): Promise<AcquireCertificateData | null>;
|
|
40
41
|
protected execute<TResponse extends CmdResponse>(relativeUrl: string, method: HttpMethod, queryParameters?: object | null, body?: object | null): Promise<TResponse>;
|
|
41
42
|
private getNonce;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import * as crypto from 'crypto';
|
|
2
|
-
|
|
2
|
+
import { LocationType } from '../config.js';
|
|
3
|
+
const ApiUrlUs = 'https://api-a.ecoflow.com';
|
|
4
|
+
const ApiUrlEu = 'https://api-e.ecoflow.com';
|
|
3
5
|
const QuotaPath = '/iot-open/sign/device/quota';
|
|
4
6
|
const QuotaAllPath = '/iot-open/sign/device/quota/all';
|
|
5
7
|
const CertificatePath = '/iot-open/sign/certification';
|
|
@@ -11,9 +13,11 @@ export var HttpMethod;
|
|
|
11
13
|
export class EcoFlowHttpApi {
|
|
12
14
|
config;
|
|
13
15
|
log;
|
|
16
|
+
apiUrl;
|
|
14
17
|
constructor(config, log) {
|
|
15
18
|
this.config = config;
|
|
16
19
|
this.log = log;
|
|
20
|
+
this.apiUrl = this.config.location === LocationType.US ? ApiUrlUs : ApiUrlEu;
|
|
17
21
|
}
|
|
18
22
|
async getQuotas(quotas) {
|
|
19
23
|
this.log.debug('Get quotas:', quotas);
|
|
@@ -42,7 +46,7 @@ export class EcoFlowHttpApi {
|
|
|
42
46
|
this.log.debug('All quotas:', data);
|
|
43
47
|
return data;
|
|
44
48
|
}
|
|
45
|
-
return
|
|
49
|
+
return null;
|
|
46
50
|
}
|
|
47
51
|
async acquireCertificate() {
|
|
48
52
|
this.log.debug('Acquire certificate for MQTT connection');
|
|
@@ -53,7 +57,7 @@ export class EcoFlowHttpApi {
|
|
|
53
57
|
return null;
|
|
54
58
|
}
|
|
55
59
|
async execute(relativeUrl, method, queryParameters = null, body = null) {
|
|
56
|
-
const url = new URL(relativeUrl,
|
|
60
|
+
const url = new URL(relativeUrl, this.apiUrl);
|
|
57
61
|
const accessKey = this.config.accessKey;
|
|
58
62
|
const nonce = this.getNonce();
|
|
59
63
|
const timestamp = Date.now();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecoFlowHttpApi.js","sourceRoot":"","sources":["../../src/apis/ecoFlowHttpApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"ecoFlowHttpApi.js","sourceRoot":"","sources":["../../src/apis/ecoFlowHttpApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
import { Characteristic } from '
|
|
2
|
-
export declare
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
constructor();
|
|
9
|
-
}
|
|
1
|
+
import { Characteristic, HAP, WithUUID } from 'homebridge';
|
|
2
|
+
export declare const InputConsumptionWattFactory: (hap: HAP) => WithUUID<{
|
|
3
|
+
new (): Characteristic;
|
|
4
|
+
}>;
|
|
5
|
+
export declare const OutputConsumptionWattFactory: (hap: HAP) => WithUUID<{
|
|
6
|
+
new (): Characteristic;
|
|
7
|
+
}>;
|
|
10
8
|
export declare class PowerConsumption {
|
|
11
|
-
static
|
|
12
|
-
|
|
9
|
+
static InputConsumptionWatts: WithUUID<{
|
|
10
|
+
new (): Characteristic;
|
|
11
|
+
}>;
|
|
12
|
+
static OutputConsumptionWatts: WithUUID<{
|
|
13
|
+
new (): Characteristic;
|
|
14
|
+
}>;
|
|
13
15
|
}
|
|
14
|
-
export declare class
|
|
16
|
+
export declare class CustomCharacteristics {
|
|
15
17
|
static readonly PowerConsumption: typeof PowerConsumption;
|
|
16
18
|
}
|
|
@@ -1,78 +1,87 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
1
|
+
export const InputConsumptionWattFactory = (hap) => {
|
|
2
|
+
return class InputConsumptionWatt extends hap.Characteristic {
|
|
3
|
+
static UUID = '13172B0A-D346-4730-9732-32EF5B6EF8B7';
|
|
4
|
+
constructor() {
|
|
5
|
+
super('Input Consumption', InputConsumptionWatt.UUID, {
|
|
6
|
+
description: 'Input Consumption, W',
|
|
7
|
+
format: "float" /* Formats.FLOAT */,
|
|
8
|
+
perms: ["ev" /* Perms.NOTIFY */, "pr" /* Perms.PAIRED_READ */],
|
|
9
|
+
minValue: 0,
|
|
10
|
+
minStep: 1,
|
|
11
|
+
unit: "celsius" /* Units.CELSIUS */, // To allow setting numeric value for conditions in ShortCuts
|
|
12
|
+
});
|
|
13
|
+
this.value = this.getDefaultValue();
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export const OutputConsumptionWattFactory = (hap) => {
|
|
18
|
+
return class OutputConsumptionWatt extends hap.Characteristic {
|
|
19
|
+
// Eve characteristic
|
|
20
|
+
static UUID = 'E863F10D-079E-48FF-8F27-9C2605A29F52';
|
|
21
|
+
constructor() {
|
|
22
|
+
super('Output Consumption', OutputConsumptionWatt.UUID, {
|
|
23
|
+
description: 'Output Consumption, W',
|
|
24
|
+
format: "float" /* Formats.FLOAT */,
|
|
25
|
+
perms: ["ev" /* Perms.NOTIFY */, "pr" /* Perms.PAIRED_READ */],
|
|
26
|
+
unit: "celsius" /* Units.CELSIUS */, // To allow setting numeric value for conditions in ShortCuts
|
|
27
|
+
minValue: 0,
|
|
28
|
+
minStep: 1,
|
|
29
|
+
});
|
|
30
|
+
this.value = this.getDefaultValue();
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
};
|
|
31
34
|
// https://gist.github.com/simont77/3f4d4330fa55b83f8ca96388d9004e7d
|
|
32
|
-
// export
|
|
33
|
-
//
|
|
34
|
-
//
|
|
35
|
-
//
|
|
36
|
-
//
|
|
37
|
-
//
|
|
38
|
-
//
|
|
39
|
-
//
|
|
40
|
-
//
|
|
41
|
-
//
|
|
42
|
-
//
|
|
43
|
-
//
|
|
44
|
-
//
|
|
45
|
-
//
|
|
46
|
-
//
|
|
47
|
-
//
|
|
48
|
-
//
|
|
49
|
-
//
|
|
50
|
-
//
|
|
51
|
-
//
|
|
52
|
-
//
|
|
53
|
-
//
|
|
54
|
-
//
|
|
55
|
-
//
|
|
56
|
-
//
|
|
57
|
-
//
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
//
|
|
61
|
-
//
|
|
62
|
-
//
|
|
63
|
-
//
|
|
64
|
-
//
|
|
65
|
-
//
|
|
66
|
-
//
|
|
67
|
-
//
|
|
68
|
-
//
|
|
69
|
-
//
|
|
70
|
-
//
|
|
35
|
+
// export const PowerConsumptionVoltFactory = (hap: HAP): WithUUID<{ new (): Characteristic }> => {
|
|
36
|
+
// return class PowerConsumptionVolt extends hap.Characteristic {
|
|
37
|
+
// public static readonly UUID: string = 'E863F10A-079E-48FF-8F27-9C2605A29F52';
|
|
38
|
+
// constructor() {
|
|
39
|
+
// super('Voltage', PowerConsumptionVolt.UUID, {
|
|
40
|
+
// description: '"Voltage, V" in Eve App',
|
|
41
|
+
// format: Formats.FLOAT,
|
|
42
|
+
// perms: [Perms.NOTIFY, Perms.PAIRED_READ],
|
|
43
|
+
// minValue: 0,
|
|
44
|
+
// maxValue: 300,
|
|
45
|
+
// });
|
|
46
|
+
// this.value = this.getDefaultValue();
|
|
47
|
+
// }
|
|
48
|
+
// };
|
|
49
|
+
// };
|
|
50
|
+
// export const PowerConsumptionAmpereFactory = (hap: HAP): WithUUID<{ new (): Characteristic }> => {
|
|
51
|
+
// return class PowerConsumptionAmpere extends hap.Characteristic {
|
|
52
|
+
// public static readonly UUID: string = 'E863F126-079E-48FF-8F27-9C2605A29F52';
|
|
53
|
+
// constructor() {
|
|
54
|
+
// super('Current', PowerConsumptionAmpere.UUID, {
|
|
55
|
+
// description: '"Current, A" in Eve App',
|
|
56
|
+
// format: Formats.FLOAT,
|
|
57
|
+
// perms: [Perms.NOTIFY, Perms.PAIRED_READ],
|
|
58
|
+
// minValue: 0,
|
|
59
|
+
// maxValue: 100,
|
|
60
|
+
// });
|
|
61
|
+
// this.value = this.getDefaultValue();
|
|
62
|
+
// }
|
|
63
|
+
// };
|
|
64
|
+
// };
|
|
65
|
+
// export const PowerConsumptionKilowattHourFactory = (hap: HAP): WithUUID<{ new (): Characteristic }> => {
|
|
66
|
+
// return class PowerConsumptionKilowattHour extends hap.Characteristic {
|
|
67
|
+
// public static readonly UUID: string = 'E863F10C-079E-48FF-8F27-9C2605A29F52';
|
|
68
|
+
// constructor() {
|
|
69
|
+
// super('Total Consumption', PowerConsumptionKilowattHour.UUID, {
|
|
70
|
+
// description: '"Total Consumption, kW/h" in Eve App',
|
|
71
|
+
// format: Formats.FLOAT,
|
|
72
|
+
// perms: [Perms.NOTIFY, Perms.PAIRED_READ],
|
|
73
|
+
// minValue: 0,
|
|
74
|
+
// maxValue: 50,
|
|
75
|
+
// });
|
|
76
|
+
// this.value = this.getDefaultValue();
|
|
77
|
+
// }
|
|
78
|
+
// };
|
|
79
|
+
// };
|
|
71
80
|
export class PowerConsumption {
|
|
72
|
-
static InputConsumptionWatts
|
|
73
|
-
static OutputConsumptionWatts
|
|
81
|
+
static InputConsumptionWatts;
|
|
82
|
+
static OutputConsumptionWatts;
|
|
74
83
|
}
|
|
75
|
-
export class
|
|
84
|
+
export class CustomCharacteristics {
|
|
76
85
|
static PowerConsumption = PowerConsumption;
|
|
77
86
|
}
|
|
78
87
|
//# sourceMappingURL=CustomCharacteristic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomCharacteristic.js","sourceRoot":"","sources":["../../src/characteristics/CustomCharacteristic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CustomCharacteristic.js","sourceRoot":"","sources":["../../src/characteristics/CustomCharacteristic.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,GAAQ,EAAwC,EAAE;IAC5F,OAAO,MAAM,oBAAqB,SAAQ,GAAG,CAAC,cAAc;QACnD,MAAM,CAAU,IAAI,GAAW,sCAAsC,CAAC;QAC7E;YACE,KAAK,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,IAAI,EAAE;gBACpD,WAAW,EAAE,sBAAsB;gBACnC,MAAM,6BAAe;gBACrB,KAAK,EAAE,uDAAiC;gBACxC,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC;gBACV,IAAI,+BAAe,EAAE,6DAA6D;aACnF,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,GAAQ,EAAwC,EAAE;IAC7F,OAAO,MAAM,qBAAsB,SAAQ,GAAG,CAAC,cAAc;QAC3D,qBAAqB;QACd,MAAM,CAAU,IAAI,GAAW,sCAAsC,CAAC;QAC7E;YACE,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,IAAI,EAAE;gBACtD,WAAW,EAAE,uBAAuB;gBACpC,MAAM,6BAAe;gBACrB,KAAK,EAAE,uDAAiC;gBACxC,IAAI,+BAAe,EAAE,6DAA6D;gBAClF,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,oEAAoE;AACpE,mGAAmG;AACnG,mEAAmE;AACnE,oFAAoF;AACpF,sBAAsB;AACtB,sDAAsD;AACtD,kDAAkD;AAClD,iCAAiC;AACjC,oDAAoD;AACpD,uBAAuB;AACvB,yBAAyB;AACzB,YAAY;AACZ,6CAA6C;AAC7C,QAAQ;AACR,OAAO;AACP,KAAK;AAEL,qGAAqG;AACrG,qEAAqE;AACrE,oFAAoF;AACpF,sBAAsB;AACtB,wDAAwD;AACxD,kDAAkD;AAClD,iCAAiC;AACjC,oDAAoD;AACpD,uBAAuB;AACvB,yBAAyB;AACzB,YAAY;AACZ,6CAA6C;AAC7C,QAAQ;AACR,OAAO;AACP,KAAK;AAEL,2GAA2G;AAC3G,2EAA2E;AAC3E,oFAAoF;AACpF,sBAAsB;AACtB,wEAAwE;AACxE,+DAA+D;AAC/D,iCAAiC;AACjC,oDAAoD;AACpD,uBAAuB;AACvB,wBAAwB;AACxB,YAAY;AACZ,6CAA6C;AAC7C,QAAQ;AACR,OAAO;AACP,KAAK;AAEL,MAAM,OAAO,gBAAgB;IACpB,MAAM,CAAC,qBAAqB,CAAuC;IACnE,MAAM,CAAC,sBAAsB,CAAuC;CAC5E;AAED,MAAM,OAAO,qBAAqB;IACzB,MAAM,CAAU,gBAAgB,GAA4B,gBAAgB,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -6,9 +6,14 @@ export declare enum DeviceModel {
|
|
|
6
6
|
Delta2Max = "Delta 2 Max",
|
|
7
7
|
Delta2 = "Delta 2"
|
|
8
8
|
}
|
|
9
|
+
export declare enum LocationType {
|
|
10
|
+
EU = "EU",
|
|
11
|
+
US = "US"
|
|
12
|
+
}
|
|
9
13
|
export interface DeviceConfig extends AccessoryConfig {
|
|
10
14
|
model: DeviceModel;
|
|
11
15
|
serialNumber: string;
|
|
16
|
+
location: LocationType;
|
|
12
17
|
accessKey: string;
|
|
13
18
|
secretKey: string;
|
|
14
19
|
battery?: BatteryDeviceConfig;
|
package/dist/config.js
CHANGED
|
@@ -3,6 +3,11 @@ export var DeviceModel;
|
|
|
3
3
|
DeviceModel["Delta2Max"] = "Delta 2 Max";
|
|
4
4
|
DeviceModel["Delta2"] = "Delta 2";
|
|
5
5
|
})(DeviceModel || (DeviceModel = {}));
|
|
6
|
+
export var LocationType;
|
|
7
|
+
(function (LocationType) {
|
|
8
|
+
LocationType["EU"] = "EU";
|
|
9
|
+
LocationType["US"] = "US";
|
|
10
|
+
})(LocationType || (LocationType = {}));
|
|
6
11
|
export var AdditionalBatteryCharacteristicType;
|
|
7
12
|
(function (AdditionalBatteryCharacteristicType) {
|
|
8
13
|
AdditionalBatteryCharacteristicType["BatteryLevel"] = "Battery Level, %";
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,iCAAkB,CAAA;AACpB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,iCAAkB,CAAA;AACpB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,yBAAS,CAAA;IACT,yBAAS,CAAA;AACX,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAeD,MAAM,CAAN,IAAY,mCAIX;AAJD,WAAY,mCAAmC;IAC7C,wEAAiC,CAAA;IACjC,uFAAgD,CAAA;IAChD,yFAAkD,CAAA;AACpD,CAAC,EAJW,mCAAmC,KAAnC,mCAAmC,QAI9C"}
|
package/dist/platform.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { API, Characteristic, DynamicPlatformPlugin, Logging, PlatformAccessory, PlatformConfig, Service, UnknownContext } from 'homebridge';
|
|
2
2
|
import { EcoFlowAccessory } from './accessories/ecoFlowAccessory.js';
|
|
3
|
-
import {
|
|
3
|
+
import { CustomCharacteristics } from './characteristics/CustomCharacteristic.js';
|
|
4
4
|
import { DeviceConfig } from './config.js';
|
|
5
5
|
/**
|
|
6
6
|
* HomebridgePlatform
|
|
7
7
|
* This class is the main constructor for your plugin, this is where you should
|
|
8
8
|
* parse the user config and discover/register accessories with Homebridge.
|
|
9
9
|
*/
|
|
10
|
-
export type EcoFlowCharacteristic = typeof Characteristic & typeof
|
|
10
|
+
export type EcoFlowCharacteristic = typeof Characteristic & typeof CustomCharacteristics;
|
|
11
11
|
export declare class EcoFlowHomebridgePlatform implements DynamicPlatformPlugin {
|
|
12
12
|
private readonly commonLog;
|
|
13
13
|
readonly config: PlatformConfig;
|
|
@@ -17,6 +17,7 @@ export declare class EcoFlowHomebridgePlatform implements DynamicPlatformPlugin
|
|
|
17
17
|
readonly Characteristic: EcoFlowCharacteristic;
|
|
18
18
|
readonly accessories: PlatformAccessory[];
|
|
19
19
|
constructor(commonLog: Logging, config: PlatformConfig, api: API);
|
|
20
|
+
private static InitCustomCharacteristics;
|
|
20
21
|
/**
|
|
21
22
|
* This function is invoked when homebridge restores cached accessories from disk at startup.
|
|
22
23
|
* It should be used to set up event handlers for characteristics and update respective values.
|
package/dist/platform.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Delta2Accessory } from './accessories/batteries/delta2Accessory.js';
|
|
2
2
|
import { Delta2MaxAccessory } from './accessories/batteries/delta2maxAccessory.js';
|
|
3
|
-
import {
|
|
3
|
+
import { CustomCharacteristics, InputConsumptionWattFactory, OutputConsumptionWattFactory, } from './characteristics/CustomCharacteristic.js';
|
|
4
4
|
import { DeviceModel } from './config.js';
|
|
5
5
|
import { Logger } from './helpers/logger.js';
|
|
6
6
|
import { PLATFORM_NAME, PLUGIN_NAME } from './settings.js';
|
|
@@ -17,11 +17,12 @@ export class EcoFlowHomebridgePlatform {
|
|
|
17
17
|
this.commonLog = commonLog;
|
|
18
18
|
this.config = config;
|
|
19
19
|
this.api = api;
|
|
20
|
+
EcoFlowHomebridgePlatform.InitCustomCharacteristics(api.hap);
|
|
20
21
|
this.ecoFlowConfig = this.config;
|
|
21
22
|
this.Service = api.hap.Service;
|
|
22
23
|
this.Characteristic = {
|
|
23
24
|
...api.hap.Characteristic,
|
|
24
|
-
...
|
|
25
|
+
...CustomCharacteristics,
|
|
25
26
|
};
|
|
26
27
|
this.commonLog.debug('Finished initializing platform:', this.config.platform);
|
|
27
28
|
// Homebridge 1.8.0 introduced a `log.success` method that can be used to log success messages
|
|
@@ -38,6 +39,10 @@ export class EcoFlowHomebridgePlatform {
|
|
|
38
39
|
this.registerDevices();
|
|
39
40
|
});
|
|
40
41
|
}
|
|
42
|
+
static InitCustomCharacteristics(hap) {
|
|
43
|
+
CustomCharacteristics.PowerConsumption.InputConsumptionWatts = InputConsumptionWattFactory(hap);
|
|
44
|
+
CustomCharacteristics.PowerConsumption.OutputConsumptionWatts = OutputConsumptionWattFactory(hap);
|
|
45
|
+
}
|
|
41
46
|
/**
|
|
42
47
|
* This function is invoked when homebridge restores cached accessories from disk at startup.
|
|
43
48
|
* It should be used to set up event handlers for characteristics and update respective values.
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|