homebridge-solaxcloud-api 2.1.2 → 2.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +77 -0
- package/README.md +193 -187
- package/config.schema.json +7 -0
- package/dist/batteryAccessory.d.ts +66 -0
- package/dist/batteryAccessory.d.ts.map +1 -0
- package/dist/batteryAccessory.js +117 -0
- package/dist/batteryAccessory.js.map +1 -0
- package/dist/lightSensorAccessory.js +2 -2
- package/dist/lightSensorAccessory.js.map +1 -1
- package/dist/outletAccessory.d.ts +10 -0
- package/dist/outletAccessory.d.ts.map +1 -1
- package/dist/outletAccessory.js +14 -0
- package/dist/outletAccessory.js.map +1 -1
- package/dist/platform.d.ts +8 -0
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +30 -2
- package/dist/platform.js.map +1 -1
- package/dist/platformInverter.d.ts +78 -23
- package/dist/platformInverter.d.ts.map +1 -1
- package/dist/platformInverter.js +180 -76
- package/dist/platformInverter.js.map +1 -1
- package/dist/platformMeters.d.ts +34 -18
- package/dist/platformMeters.d.ts.map +1 -1
- package/dist/solaxcloudapi.d.ts +24 -0
- package/dist/solaxcloudapi.d.ts.map +1 -1
- package/dist/solaxcloudapi.js +24 -0
- package/dist/solaxcloudapi.js.map +1 -1
- package/dist/solaxcloudfetch.js +4 -1
- package/dist/solaxcloudfetch.js.map +1 -1
- package/package.json +1 -1
- package/test/solaxcloudapi.test.ts +14 -2
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SolaxBatteryAccessory = exports.BATTERY_CHARGING_STATE = void 0;
|
|
4
|
+
const platformAccessory_1 = require("./platformAccessory");
|
|
5
|
+
/**
|
|
6
|
+
* Enum with possible battery charging states.
|
|
7
|
+
*/
|
|
8
|
+
exports.BATTERY_CHARGING_STATE = {
|
|
9
|
+
NOT_CHARGING: 0,
|
|
10
|
+
CHARGING: 1,
|
|
11
|
+
NOT_CHARGEABLE: 2,
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Minimum battery charge level for triggering a low battery level.
|
|
15
|
+
*/
|
|
16
|
+
const LOW_BATTERY_THRESHOLD = 10;
|
|
17
|
+
/**
|
|
18
|
+
* Solax Battery Accessory.
|
|
19
|
+
* Battery sensor used to monitor inverter battery state of charge (SoC).
|
|
20
|
+
*/
|
|
21
|
+
class SolaxBatteryAccessory extends platformAccessory_1.SolaxPlatformAccessory {
|
|
22
|
+
/**
|
|
23
|
+
* Solax virtual light sensor class constructor.
|
|
24
|
+
* @param {Logging} log The platform logging for homebridge.
|
|
25
|
+
* @param {API} api The platform API.
|
|
26
|
+
* @param {string} name The accessory name.
|
|
27
|
+
* @param {string} serial "Real world" serial number for this accessory.
|
|
28
|
+
* @param {string} model Accessory model.
|
|
29
|
+
*/
|
|
30
|
+
constructor(log, api, name, serial, model) {
|
|
31
|
+
super(log, api, name, serial, model);
|
|
32
|
+
/**
|
|
33
|
+
* The battery charge level (in percentage).
|
|
34
|
+
*/
|
|
35
|
+
this.batteryLevel = 0;
|
|
36
|
+
/**
|
|
37
|
+
* Ambient light level.
|
|
38
|
+
*/
|
|
39
|
+
this.batteryChargeState = exports.BATTERY_CHARGING_STATE.NOT_CHARGING;
|
|
40
|
+
this.log.debug(`Creating battery "${this.name}"`);
|
|
41
|
+
this.batteryService = new this.api.hap.Service.Battery(name);
|
|
42
|
+
// handler for getting battery level
|
|
43
|
+
this.batteryService
|
|
44
|
+
.getCharacteristic(this.api.hap.Characteristic.BatteryLevel)
|
|
45
|
+
.on("get" /* GET */, this.getLevel.bind(this));
|
|
46
|
+
// handler for charging state
|
|
47
|
+
this.batteryService
|
|
48
|
+
.getCharacteristic(this.api.hap.Characteristic.ChargingState)
|
|
49
|
+
.on("get" /* GET */, this.getChargeState.bind(this));
|
|
50
|
+
// handler for low battery
|
|
51
|
+
this.batteryService.getCharacteristic(this.api.hap.Characteristic.StatusLowBattery)
|
|
52
|
+
.onGet(this.getStatusLowBattery.bind(this));
|
|
53
|
+
log.info(`Battery "${name}" created!`);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Handle requests to get the current value of the "Status Low Battery" characteristic.
|
|
57
|
+
*/
|
|
58
|
+
getStatusLowBattery() {
|
|
59
|
+
this.log.debug(`${this.name}: GET Status Low Battery`);
|
|
60
|
+
let status;
|
|
61
|
+
// set this to a valid value for StatusLowBattery
|
|
62
|
+
if (this.getLevelValue() >= LOW_BATTERY_THRESHOLD) {
|
|
63
|
+
status = this.api.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
status = this.api.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_LOW;
|
|
67
|
+
}
|
|
68
|
+
return status;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Gets the battery level value.
|
|
72
|
+
* @returns {number} Battery level value (as percentage).
|
|
73
|
+
*/
|
|
74
|
+
getLevelValue() {
|
|
75
|
+
return this.batteryLevel;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Handler for getting the current battery level (percentage).
|
|
79
|
+
*/
|
|
80
|
+
getLevel(callback) {
|
|
81
|
+
this.log.debug(`${this.name}: GET Level (percentage=${this.batteryLevel})`);
|
|
82
|
+
callback(null, this.batteryLevel);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Sets the current battery level.
|
|
86
|
+
* @param {number} percentage The battery percentage level to set.
|
|
87
|
+
*/
|
|
88
|
+
setLevel(percentage) {
|
|
89
|
+
this.log.debug(`${this.name}: SET Level (percentage=${percentage})`);
|
|
90
|
+
this.batteryLevel = percentage;
|
|
91
|
+
this.batteryService.updateCharacteristic(this.api.hap.Characteristic.BatteryLevel, this.batteryLevel);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Handler for getting the current battery charging state.
|
|
95
|
+
*/
|
|
96
|
+
getChargeState(callback) {
|
|
97
|
+
this.log.debug(`${this.name}: GET Charge State (status=${this.batteryChargeState})`);
|
|
98
|
+
callback(null, this.batteryChargeState);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Sets the battery charging state according to predefined characteristic constants:
|
|
102
|
+
* @param state {number} The desired charging state.
|
|
103
|
+
*/
|
|
104
|
+
setChargeState(state) {
|
|
105
|
+
this.log.debug(`${this.name}: SET Charge State (state=${state})`);
|
|
106
|
+
this.batteryService.updateCharacteristic(this.api.hap.Characteristic.ChargingState, state);
|
|
107
|
+
}
|
|
108
|
+
/*
|
|
109
|
+
* This method is called directly after creation of this instance.
|
|
110
|
+
* It should return all services which should be added to the accessory.
|
|
111
|
+
*/
|
|
112
|
+
getServices() {
|
|
113
|
+
return [this.informationService, this.batteryService];
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.SolaxBatteryAccessory = SolaxBatteryAccessory;
|
|
117
|
+
//# sourceMappingURL=batteryAccessory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batteryAccessory.js","sourceRoot":"","sources":["../src/batteryAccessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,12 +23,12 @@ class SolaxLightSensorAccessory extends platformAccessory_1.SolaxPlatformAccesso
|
|
|
23
23
|
* Ambient light level.
|
|
24
24
|
*/
|
|
25
25
|
this.lux = 0;
|
|
26
|
-
this.log.debug(`Creating light "${this.name}"`);
|
|
26
|
+
this.log.debug(`Creating light sensor "${this.name}"`);
|
|
27
27
|
this.lightService = new this.api.hap.Service.LightSensor(name);
|
|
28
28
|
this.lightService
|
|
29
29
|
.getCharacteristic(this.api.hap.Characteristic.CurrentAmbientLightLevel)
|
|
30
30
|
.on("get" /* GET */, this.getAmbientLightLevel.bind(this));
|
|
31
|
-
log.info(`
|
|
31
|
+
log.info(`Light sensor (watts reader) "${name}" created!`);
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* Gets the current ambient light level (power consumpion in Watts).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightSensorAccessory.js","sourceRoot":"","sources":["../src/lightSensorAccessory.ts"],"names":[],"mappings":";;;AAEA,2DAA6D;AAE7D;;;;;GAKG;AACH,MAAa,yBAA0B,SAAQ,0CAAsB;IAQnE;;;;;;;OAOG;IACH,YAAY,GAAY,EAAE,GAAQ,EAAE,IAAY,EAAE,MAAc,EAAE,KAAa;QAC7E,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAdvC;;WAEG;QACK,QAAG,GAAG,CAAC,CAAC;QAad,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"lightSensorAccessory.js","sourceRoot":"","sources":["../src/lightSensorAccessory.ts"],"names":[],"mappings":";;;AAEA,2DAA6D;AAE7D;;;;;GAKG;AACH,MAAa,yBAA0B,SAAQ,0CAAsB;IAQnE;;;;;;;OAOG;IACH,YAAY,GAAY,EAAE,GAAQ,EAAE,IAAY,EAAE,MAAc,EAAE,KAAa;QAC7E,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAdvC;;WAEG;QACK,QAAG,GAAG,CAAC,CAAC;QAad,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAEvD,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE/D,IAAI,CAAC,YAAY;aACd,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,wBAAwB,CAAC;aACvE,EAAE,kBAA+B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1E,GAAG,CAAC,IAAI,CAAC,gCAAgC,IAAI,YAAY,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACI,oBAAoB,CAAC,QAAmC;QAC7D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,kCAAkC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QAE1E,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACI,oBAAoB,CAAC,GAAW;QACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,kCAAkC,GAAG,GAAG,CAAC,CAAC;QAErE,gDAAgD;QAChD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAE9B,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,wBAAwB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACzG,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,OAAO,CAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAE,CAAC;IACxD,CAAC;CAEF;AA5DD,8DA4DC"}
|
|
@@ -64,6 +64,11 @@ export declare class SolaxOutletAccessory extends SolaxPlatformAccessory impleme
|
|
|
64
64
|
* @returns {number} Power value after smoothing (rounded to nearest integer number).
|
|
65
65
|
*/
|
|
66
66
|
getSmoothPowerConsumption(method: string, windowSize: number): number;
|
|
67
|
+
/**
|
|
68
|
+
* Gets the current power consumption value for this outlet.
|
|
69
|
+
* @returns {number} Outlet power consumption (Watt).
|
|
70
|
+
*/
|
|
71
|
+
getPowerConsumptionValue(): number;
|
|
67
72
|
/**
|
|
68
73
|
* Gets the current power consumpion.
|
|
69
74
|
*/
|
|
@@ -72,6 +77,11 @@ export declare class SolaxOutletAccessory extends SolaxPlatformAccessory impleme
|
|
|
72
77
|
* Sets the current power consumption.
|
|
73
78
|
* @param {number} powerConsumption The power consumption to set. */
|
|
74
79
|
setPowerConsumption(powerConsumption: number): void;
|
|
80
|
+
/**
|
|
81
|
+
* Gets the total energy consumption value for this outlet.
|
|
82
|
+
* @returns {number} Outlet total energy consumption (Wh).
|
|
83
|
+
*/
|
|
84
|
+
getTotalEnergyConsumptionValue(): number;
|
|
75
85
|
/**
|
|
76
86
|
* Gets the total energy consumpion.
|
|
77
87
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outletAccessory.d.ts","sourceRoot":"","sources":["../src/outletAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,yBAAyB,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAE/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAa7D;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,sBAAuB,YAAW,eAAe;IAEzF;;SAEK;IACL,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IAEtC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;IAEtC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IAExC;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAAK;IAE7B;;OAEG;IACH,OAAO,CAAC,sBAAsB,CAAO;IAErC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;IAExD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAE5C;;OAEG;IACH,OAAO,CAAC,OAAO,CAAK;IAEpB;;;;;;;OAOG;gBACS,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAiC/E;;;OAGG;IACH,OAAO,CAAC,aAAa;IAWrB;;;OAGG;IACI,cAAc,IAAI,MAAM,EAAE;IAIjC;;;;;OAKG;IACI,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAwC5E;;OAEG;IACI,mBAAmB,CAAC,QAAQ,EAAE,yBAAyB,GAAG,IAAI;IAMrE;;wEAEoE;IAC7D,mBAAmB,CAAC,gBAAgB,EAAE,MAAM;IAcnD;;OAEG;IACI,yBAAyB,CAAC,QAAQ,EAAE,yBAAyB,GAAG,IAAI;IAM3E;;;OAGG;IACI,yBAAyB,CAAC,sBAAsB,EAAE,MAAM;IAQ/D;;;OAGG;IACI,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,GAAG,IAAI;IAU1D,WAAW,IAAI,OAAO,EAAE;CAIzB"}
|
|
1
|
+
{"version":3,"file":"outletAccessory.d.ts","sourceRoot":"","sources":["../src/outletAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,yBAAyB,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAE/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAa7D;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,sBAAuB,YAAW,eAAe;IAEzF;;SAEK;IACL,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IAEtC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;IAEtC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IAExC;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAAK;IAE7B;;OAEG;IACH,OAAO,CAAC,sBAAsB,CAAO;IAErC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;IAExD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAE5C;;OAEG;IACH,OAAO,CAAC,OAAO,CAAK;IAEpB;;;;;;;OAOG;gBACS,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAiC/E;;;OAGG;IACH,OAAO,CAAC,aAAa;IAWrB;;;OAGG;IACI,cAAc,IAAI,MAAM,EAAE;IAIjC;;;;;OAKG;IACI,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAwC5E;;;OAGG;IACI,wBAAwB,IAAI,MAAM;IAIzC;;OAEG;IACI,mBAAmB,CAAC,QAAQ,EAAE,yBAAyB,GAAG,IAAI;IAMrE;;wEAEoE;IAC7D,mBAAmB,CAAC,gBAAgB,EAAE,MAAM;IAcnD;;;OAGG;IACI,8BAA8B,IAAI,MAAM;IAI/C;;OAEG;IACI,yBAAyB,CAAC,QAAQ,EAAE,yBAAyB,GAAG,IAAI;IAM3E;;;OAGG;IACI,yBAAyB,CAAC,sBAAsB,EAAE,MAAM;IAQ/D;;;OAGG;IACI,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,GAAG,IAAI;IAU1D,WAAW,IAAI,OAAO,EAAE;CAIzB"}
|
package/dist/outletAccessory.js
CHANGED
|
@@ -119,6 +119,13 @@ class SolaxOutletAccessory extends platformAccessory_1.SolaxPlatformAccessory {
|
|
|
119
119
|
}
|
|
120
120
|
return result;
|
|
121
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Gets the current power consumption value for this outlet.
|
|
124
|
+
* @returns {number} Outlet power consumption (Watt).
|
|
125
|
+
*/
|
|
126
|
+
getPowerConsumptionValue() {
|
|
127
|
+
return this.powerConsumption;
|
|
128
|
+
}
|
|
122
129
|
/**
|
|
123
130
|
* Gets the current power consumpion.
|
|
124
131
|
*/
|
|
@@ -138,6 +145,13 @@ class SolaxOutletAccessory extends platformAccessory_1.SolaxPlatformAccessory {
|
|
|
138
145
|
// add new value to power series
|
|
139
146
|
this.addPowerEntry(this.powerConsumption);
|
|
140
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Gets the total energy consumption value for this outlet.
|
|
150
|
+
* @returns {number} Outlet total energy consumption (Wh).
|
|
151
|
+
*/
|
|
152
|
+
getTotalEnergyConsumptionValue() {
|
|
153
|
+
return this.totalEnergyConsumption;
|
|
154
|
+
}
|
|
141
155
|
/**
|
|
142
156
|
* Gets the total energy consumpion.
|
|
143
157
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outletAccessory.js","sourceRoot":"","sources":["../src/outletAccessory.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"outletAccessory.js","sourceRoot":"","sources":["../src/outletAccessory.ts"],"names":[],"mappings":"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"}
|
package/dist/platform.d.ts
CHANGED
|
@@ -17,6 +17,10 @@ export declare class SolaxCloudAPIPlatform implements StaticPlatformPlugin {
|
|
|
17
17
|
* Array of inverters.
|
|
18
18
|
*/
|
|
19
19
|
private inverters;
|
|
20
|
+
/**
|
|
21
|
+
* Inverter totalizer.
|
|
22
|
+
**/
|
|
23
|
+
private allInverters;
|
|
20
24
|
/**
|
|
21
25
|
* Platform constructor.
|
|
22
26
|
* @param log
|
|
@@ -32,6 +36,10 @@ export declare class SolaxCloudAPIPlatform implements StaticPlatformPlugin {
|
|
|
32
36
|
* @returns Whether object implements interface InverterConfig.
|
|
33
37
|
*/
|
|
34
38
|
private static isInverterConfig;
|
|
39
|
+
/**
|
|
40
|
+
* Update data for virtual inverter totalizer based on individual inverter data.
|
|
41
|
+
*/
|
|
42
|
+
private updateAllInvertersData;
|
|
35
43
|
/**
|
|
36
44
|
* Periodically retrieves inverter data from Solax Cloud API using configured tokenID and SN.
|
|
37
45
|
*/
|
package/dist/platform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,oBAAoB,EAAE,OAAO,EAAE,cAAc,EAAY,MAAM,YAAY,CAAC;AA6C3G;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,oBAAoB;IAChE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAE1B;;OAEG;IACH,OAAO,CAAC,eAAe,CAAK;IAE5B;;OAEG;IACH,OAAO,CAAC,SAAS,CAAuC;IAExD;;;;;;OAMG;gBACU,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,oBAAoB,EAAE,OAAO,EAAE,cAAc,EAAY,MAAM,YAAY,CAAC;AA6C3G;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,oBAAoB;IAChE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAE1B;;OAEG;IACH,OAAO,CAAC,eAAe,CAAK;IAE5B;;OAEG;IACH,OAAO,CAAC,SAAS,CAAuC;IAExD;;QAEI;IACJ,OAAO,CAAC,YAAY,CAAiC;IAErD;;;;;;OAMG;gBACU,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG;IAuD3D,KAAK,8CAA8B;IAEnC;;;;OAIG;IAEH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAI/B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsB9B;;OAEG;YACW,qBAAqB;IAgBnC;;;OAGG;IACH,OAAO,CAAC,WAAW;IAqInB,WAAW,CAAC,QAAQ,EAAE,CAAC,gBAAgB,EAAE,eAAe,EAAE,KAAK,IAAI,GAAG,IAAI;CAa3E"}
|
package/dist/platform.js
CHANGED
|
@@ -73,10 +73,14 @@ class SolaxCloudAPIPlatform {
|
|
|
73
73
|
// loop over configured inverters
|
|
74
74
|
this.config.inverters.forEach(inverter => {
|
|
75
75
|
// setup new inverter
|
|
76
|
-
const platformInverter = new platformInverter_1.SolaxCloudAPIPlatformInverter(log, config, api, this.config.tokenId, inverter.sn, inverter.name, this.smoothingWindow);
|
|
76
|
+
const platformInverter = new platformInverter_1.SolaxCloudAPIPlatformInverter(log, config, api, this.config.tokenId, inverter.sn, inverter.name, inverter.hasBattery, this.smoothingWindow);
|
|
77
77
|
// add new inverter to list
|
|
78
78
|
this.inverters.push(platformInverter);
|
|
79
79
|
});
|
|
80
|
+
// create inverter totalizers
|
|
81
|
+
if (this.inverters.length > 1) {
|
|
82
|
+
this.allInverters = new platformInverter_1.SolaxCloudAPIPlatformInverter(log, config, api, this.config.tokenId, 'total', 'All inverters', this.inverters.map(inverter => +inverter.hasBattery()).reduce((a, b) => a + b, 0) > 0, this.smoothingWindow);
|
|
83
|
+
}
|
|
80
84
|
// start data fetching
|
|
81
85
|
this.fetchDataPeriodically();
|
|
82
86
|
this.log.debug('Finished initializing platform.');
|
|
@@ -98,13 +102,33 @@ class SolaxCloudAPIPlatform {
|
|
|
98
102
|
static isInverterConfig(obj) {
|
|
99
103
|
return 'name' in obj && 'sn' in obj;
|
|
100
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* Update data for virtual inverter totalizer based on individual inverter data.
|
|
107
|
+
*/
|
|
108
|
+
updateAllInvertersData() {
|
|
109
|
+
this.allInverters.setRawPower(platformInverter_1.ACCESSORY_KEYS.pv, this.inverters.map(inverter => inverter.getRawPower(platformInverter_1.ACCESSORY_KEYS.pv)).reduce((a, b) => a + b, 0));
|
|
110
|
+
this.allInverters.setRawPower(platformInverter_1.ACCESSORY_KEYS.inverterFromBattery, this.inverters.map(inverter => inverter.getRawPower(platformInverter_1.ACCESSORY_KEYS.inverterFromBattery)).reduce((a, b) => a + b, 0));
|
|
111
|
+
this.allInverters.setRawPower(platformInverter_1.ACCESSORY_KEYS.inverterToBattery, this.inverters.map(inverter => inverter.getRawPower(platformInverter_1.ACCESSORY_KEYS.inverterToBattery)).reduce((a, b) => a + b, 0));
|
|
112
|
+
this.allInverters.setRawPower(platformInverter_1.ACCESSORY_KEYS.inverterAC, this.inverters.map(inverter => inverter.getRawPower(platformInverter_1.ACCESSORY_KEYS.inverterAC)).reduce((a, b) => a + b, 0));
|
|
113
|
+
this.allInverters.setRawEnergy(platformInverter_1.ACCESSORY_KEYS.inverterAC, this.inverters.map(inverter => inverter.getRawEnergy(platformInverter_1.ACCESSORY_KEYS.inverterAC)).reduce((a, b) => a + b, 0));
|
|
114
|
+
this.allInverters.setRawPower(platformInverter_1.ACCESSORY_KEYS.inverterToGrid, this.inverters.map(inverter => inverter.getRawPower(platformInverter_1.ACCESSORY_KEYS.inverterToGrid)).reduce((a, b) => a + b, 0));
|
|
115
|
+
this.allInverters.setRawPower(platformInverter_1.ACCESSORY_KEYS.inverterToHouse, this.inverters.map(inverter => inverter.getRawPower(platformInverter_1.ACCESSORY_KEYS.inverterToHouse)).reduce((a, b) => a + b, 0));
|
|
116
|
+
this.allInverters.setRawPower(platformInverter_1.ACCESSORY_KEYS.gridToHouse, this.inverters.map(inverter => inverter.getRawPower(platformInverter_1.ACCESSORY_KEYS.gridToHouse)).reduce((a, b) => a + b, 0));
|
|
117
|
+
// notify update with motion
|
|
118
|
+
this.allInverters.setMotionUpdate();
|
|
119
|
+
}
|
|
101
120
|
/**
|
|
102
121
|
* Periodically retrieves inverter data from Solax Cloud API using configured tokenID and SN.
|
|
103
122
|
*/
|
|
104
123
|
async fetchDataPeriodically() {
|
|
105
124
|
// loop over inverters and update its data
|
|
106
|
-
this.inverters.forEach(inverter => inverter.
|
|
125
|
+
this.inverters.forEach(inverter => inverter.updateInverterDataFromCloud());
|
|
107
126
|
this.log.info(`Updated data from Solax Cloud API, sleeping for ${this.config.pollingFrequency} seconds.`);
|
|
127
|
+
// update inverter totalizers if needed
|
|
128
|
+
if (this.inverters.length > 1) {
|
|
129
|
+
this.log.info('Computing inverter totals...');
|
|
130
|
+
this.updateAllInvertersData();
|
|
131
|
+
}
|
|
108
132
|
this.sleep(this.config.pollingFrequency * 1000).then(async () => await this.fetchDataPeriodically());
|
|
109
133
|
}
|
|
110
134
|
/**
|
|
@@ -234,6 +258,10 @@ class SolaxCloudAPIPlatform {
|
|
|
234
258
|
const accessories = [];
|
|
235
259
|
// loop over inverters and add accessories
|
|
236
260
|
this.inverters.forEach(inverter => accessories.push(...inverter.getAccessories()));
|
|
261
|
+
// add inverter totalizer accessories if needed
|
|
262
|
+
if (this.inverters.length > 1) {
|
|
263
|
+
accessories.push(...this.allInverters.getAccessories());
|
|
264
|
+
}
|
|
237
265
|
callback(accessories);
|
|
238
266
|
}
|
|
239
267
|
}
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;;;;AAEA,iCAA8B;AAC9B,
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
import { AccessoryPlugin, API, Logging, PlatformConfig } from 'homebridge';
|
|
2
|
+
/**
|
|
3
|
+
* Standard names for accessories.
|
|
4
|
+
*/
|
|
5
|
+
export declare const ACCESSORY_KEYS: {
|
|
6
|
+
pv: string;
|
|
7
|
+
inverterToBattery: string;
|
|
8
|
+
inverterFromBattery: string;
|
|
9
|
+
inverterAC: string;
|
|
10
|
+
inverterToGrid: string;
|
|
11
|
+
inverterToHouse: string;
|
|
12
|
+
gridToHouse: string;
|
|
13
|
+
};
|
|
2
14
|
/**
|
|
3
15
|
* SolaxCloudAPIPlatformInverter.
|
|
4
16
|
* This class is the main constructor for your inverter accessories
|
|
@@ -16,6 +28,10 @@ export declare class SolaxCloudAPIPlatformInverter {
|
|
|
16
28
|
* Inverter serial number.
|
|
17
29
|
**/
|
|
18
30
|
private sn;
|
|
31
|
+
/**
|
|
32
|
+
* Whether this inverter has a battery.
|
|
33
|
+
**/
|
|
34
|
+
private batteryInstalled;
|
|
19
35
|
/**
|
|
20
36
|
* Size of window for statistical smoothing operations.
|
|
21
37
|
*/
|
|
@@ -24,6 +40,14 @@ export declare class SolaxCloudAPIPlatformInverter {
|
|
|
24
40
|
* API for retrieving data from Solax cloud.
|
|
25
41
|
*/
|
|
26
42
|
private solaxCloudAPI;
|
|
43
|
+
/**
|
|
44
|
+
* Virtual motion sensor triggered by data updates from Solax Cloud.
|
|
45
|
+
*/
|
|
46
|
+
private motionUpdate;
|
|
47
|
+
/**
|
|
48
|
+
* Battery information for this inverter gathered from Solax Cloud.
|
|
49
|
+
*/
|
|
50
|
+
private battery;
|
|
27
51
|
/**
|
|
28
52
|
* Outlets with raw data gathered from Solax Cloud.
|
|
29
53
|
*/
|
|
@@ -34,10 +58,6 @@ export declare class SolaxCloudAPIPlatformInverter {
|
|
|
34
58
|
* prevent events like the temporary passage of a cloud to directly affect values.
|
|
35
59
|
*/
|
|
36
60
|
private smoothOutlets;
|
|
37
|
-
/**
|
|
38
|
-
* Virtual motion sensor triggered by data updates from Solax Cloud.
|
|
39
|
-
*/
|
|
40
|
-
private motionUpdate;
|
|
41
61
|
/**
|
|
42
62
|
* Ambient light sensors for Power Consumption (pure Home App config).
|
|
43
63
|
*/
|
|
@@ -60,34 +80,69 @@ export declare class SolaxCloudAPIPlatformInverter {
|
|
|
60
80
|
* @param smoothingWindow
|
|
61
81
|
* @returns
|
|
62
82
|
*/
|
|
63
|
-
constructor(log: Logging, config: PlatformConfig, api: API, tokenId: string, sn: string, name: string, smoothingWindow: number);
|
|
83
|
+
constructor(log: Logging, config: PlatformConfig, api: API, tokenId: string, sn: string, name: string, hasBattery: boolean, smoothingWindow: number);
|
|
64
84
|
/**
|
|
65
|
-
*
|
|
85
|
+
* Update all platform accessory status based on the values read from the API.
|
|
86
|
+
* @param {SolaxCloudAPIResponse} apiData API data from Solax Cloud.
|
|
66
87
|
*/
|
|
67
|
-
private
|
|
88
|
+
private updateAccessories;
|
|
68
89
|
/**
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
90
|
+
* Sets the current battery level for this inverter.
|
|
91
|
+
* @param {number} percentage Battery level to set (percentage).
|
|
92
|
+
*/
|
|
93
|
+
setBatteryLevel(percentage: number): void;
|
|
73
94
|
/**
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
95
|
+
* Sets the battery charge state for this inverter.
|
|
96
|
+
* @param {number} state The desired battery charge state.
|
|
97
|
+
*/
|
|
98
|
+
setBatteryChargeState(state: number): void;
|
|
77
99
|
/**
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
100
|
+
* Gets the current battery level for this inverter.
|
|
101
|
+
* @returns {number} The current battery level (percentage).
|
|
102
|
+
*/
|
|
103
|
+
getBatteryLevel(): number;
|
|
82
104
|
/**
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
105
|
+
* Sets virtual update motion detector to true to notify of new data update.
|
|
106
|
+
*/
|
|
107
|
+
setMotionUpdate(): void;
|
|
108
|
+
/**
|
|
109
|
+
* Gets raw accessory power for this inverter.
|
|
110
|
+
* @param {string} key Accessory key.
|
|
111
|
+
* @returns {number} Power consumptions for this accessory.
|
|
112
|
+
*/
|
|
113
|
+
getRawPower(key: string): number;
|
|
114
|
+
/**
|
|
115
|
+
* Sets raw accessory power for this inverter.
|
|
116
|
+
* @param {string} key Accessory key.
|
|
117
|
+
* @param {number} power Power to set (in Watt).
|
|
118
|
+
*/
|
|
119
|
+
setRawPower(key: string, power: number): void;
|
|
120
|
+
/**
|
|
121
|
+
* Gets raw accessory energy for this inverter.
|
|
122
|
+
* @param {string} key Accessory key.
|
|
123
|
+
* @returns {number} The energy consumption for the desired acessory (in Wh).
|
|
124
|
+
*/
|
|
125
|
+
getRawEnergy(key: string): number;
|
|
126
|
+
/**
|
|
127
|
+
* Sets raw accessory energy for this inverter.
|
|
128
|
+
* @param {string} key Accessory key.
|
|
129
|
+
* @param {number} energy Energy consumption to set (in Wh).
|
|
130
|
+
*/
|
|
131
|
+
setRawEnergy(key: string, energy: number): void;
|
|
132
|
+
/**
|
|
133
|
+
* Sets smooth accessory power from raw accessory power for this inverter.
|
|
134
|
+
* @param {string} key Accessory key.
|
|
135
|
+
*/
|
|
136
|
+
setSmoothPower(key: string): void;
|
|
87
137
|
/**
|
|
88
138
|
* Update data from this inverter by using the Solax Cloud API
|
|
89
139
|
*/
|
|
90
|
-
|
|
140
|
+
updateInverterDataFromCloud(): void;
|
|
141
|
+
/**
|
|
142
|
+
* Returns whether this inverter has a battery installed.
|
|
143
|
+
* @returns {boolean} Whether this inverter battery has a battery installed.
|
|
144
|
+
*/
|
|
145
|
+
hasBattery(): boolean;
|
|
91
146
|
/**
|
|
92
147
|
* Get array with full list of accessories for this inverter.
|
|
93
148
|
* @returns {AccessoryPlugin[]} Array of accessories for this inverter.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platformInverter.d.ts","sourceRoot":"","sources":["../src/platformInverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"platformInverter.d.ts","sourceRoot":"","sources":["../src/platformInverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAY3E;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;CAQ1B,CAAC;AA4BF;;;;GAIG;AACH,qBAAa,6BAA6B;IACxC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAE1B;;OAEG;IACH,OAAO,CAAC,IAAI,CAAS;IAErB;;QAEI;IACJ,OAAO,CAAC,EAAE,CAAS;IAEnB;;QAEI;IACJ,OAAO,CAAC,gBAAgB,CAAU;IAElC;;OAEG;IACH,OAAO,CAAC,eAAe,CAAS;IAEhC;;OAEG;IACH,OAAO,CAAC,aAAa,CAAgB;IAErC;;OAEG;IACH,OAAO,CAAC,YAAY,CAAwB;IAE5C;;OAEG;IACH,OAAO,CAAC,OAAO,CAAyB;IAExC;;OAEG;IACH,OAAO,CAAC,UAAU,CAAwB;IAE1C;;;;QAII;IACJ,OAAO,CAAC,aAAa,CAAwB;IAE7C;;QAEI;IACJ,OAAO,CAAC,eAAe,CAA6B;IAEpD;;;;QAII;IACJ,OAAO,CAAC,kBAAkB,CAA6B;IAEvD,iCAAiC;IACjC,OAAO,CAAC,gBAAgB,CAAyB;IAEjD;;;;;;;;;QASI;gBACS,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,EACzD,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAC9D,eAAe,EAAE,MAAM;IAgLzB;;;QAGI;IACJ,OAAO,CAAC,iBAAiB;IAuCzB;;;OAGG;IACI,eAAe,CAAC,UAAU,EAAE,MAAM;IAIzC;;;OAGG;IACI,qBAAqB,CAAC,KAAK,EAAE,MAAM;IAI1C;;;OAGG;IACI,eAAe,IAAI,MAAM;IAIhC;;OAEG;IACI,eAAe;IAItB;;;;OAIG;IACI,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIvC;;;;OAIG;IACI,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAQ7C;;;;OAIG;IACI,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIxC;;;;OAIG;IACI,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAI/C;;;OAGG;IACI,cAAc,CAAC,GAAG,EAAE,MAAM;IAUjC;;OAEG;IACI,2BAA2B;IAkBlC;;;OAGG;IACI,UAAU,IAAI,OAAO;IAI5B;;;OAGG;IACI,cAAc,IAAI,eAAe,EAAE;CAI3C"}
|