homebridge-solaxcloud-api 2.1.4-beta.1 → 2.1.7

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 ADDED
@@ -0,0 +1,89 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [v2.1.7] - 2022-05-03
6
+ ### Changes
7
+ * Bumped dependencies.
8
+ * Unit testing for multiple inverters.
9
+ ### Fixed
10
+ * Documentation updates.
11
+
12
+ ## [v2.1.6] - 2022-04-07
13
+ ### Changes
14
+ * Battery totals SoC updated to "All inverters".
15
+ ### Fixed
16
+ * Compressed image size for README information.
17
+
18
+ ## [v2.1.5] - 2022-04-07
19
+ ### Changed
20
+ * New inverter accessory **Battery** for State of Charge (SoC) information.
21
+ * Support for battery charge level, charge state and low battery handler (<10%).
22
+
23
+ ## [v2.1.4] - 2022-04-06
24
+ ### Changed
25
+ * Added "All inverters" virtual inverter for totalizing inverter figures for all sensors.
26
+ * Preliminary battery support with **From Battery** and **To Battery** charge power ([#02](https://github.com/AllMightySauron/homebride-solaxcloud-api/issues/2)).
27
+
28
+ ## [v2.1.2] - 2022-03-31
29
+ ### Fixed
30
+ * Bumped dependencies to latest versions.
31
+ ### Changed
32
+ * Initial support for multiple inverters.
33
+
34
+ ## [v2.0.3] - 2022-01-25
35
+ ### Fixed
36
+ * Fixed dependabot detected vulnerabilities.
37
+
38
+ ## [v2.0.2] - 2022-01-24
39
+ ### Changed
40
+ * Added support for "pure" Home app accessories (power consumption displayed as Ambient Light Sensors) ([#01](https://github.com/AllMightySauron/homebride-solaxcloud-api/issues/1)).
41
+ * Created optional accessories to display smooth value from raw API data (minimizing sporadic events like a cloud passing).
42
+
43
+ ## [v1.5.1] - 2022-01-08
44
+ ### Fixed
45
+ * Disabled repeat last data for history (connection problems may lead to strange values).
46
+
47
+ ## [v1.5.0] - 2021-12-31
48
+ ### Changed
49
+ * Homebridge certified!
50
+
51
+ ## [v1.4.6] - 2021-12-28
52
+ ### Fixed
53
+ * Added extended parameter check (including Solax Cloud limits).
54
+
55
+ ## [v1.4.5] - 2021-12-27
56
+ ### Fixed
57
+ * Sanity checks for mandatory config parameters.
58
+
59
+ ## [v1.4.4] - 2021-12-22
60
+ ### Fixed
61
+ * Automation example added to documentation.
62
+
63
+ ## [v1.4.3] - 2021-12-21
64
+ ### Fixed
65
+ * Code cleanup and optimizations.
66
+
67
+ ## [v1.4.1] - 2021-12-21
68
+ ### Fixed
69
+ * First working version with fakegato-history for Eve.
70
+
71
+ ## [v1.4.0] - 2021-12-20
72
+ ### Changed
73
+ * Initial fakegato-history release for Eve.
74
+
75
+ ## [v1.3.1] - 2021-12-14
76
+ ### Fixed
77
+ * Documentation updated to reflect new **Total Energy** characteristic on Inverter AC.
78
+
79
+ ## [v1.3.0] - 2021-12-14
80
+ ### Changed
81
+ * Added support for total energy consumption.
82
+
83
+ ## [v1.2.1] - 2021-12-14
84
+ ### Fixed
85
+ * Updates to the official documentation.
86
+
87
+ ## [v1.2.0] - 2021-12-13
88
+ ### Changed
89
+ * First official release.
package/README.md CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  The Solax Cloud Plugin for [Homebridge](https://homebridge.io/) was created as a platform plugin to gather data exposed by Solax inverters to the cloud through the [Solax Cloud API](https://www.solaxcloud.com/phoebus/resource/files/userGuide/Solax_API.pdf).
15
15
 
16
- Now with **support for multiple inverters**! Sensors will be created for each of the inverters present in the configuration. Additionally, a virtual inverter named "All inverters" will be created whenever a multiple inverters configuration is present. This inverter will present summarized power and consumption figures derived from data for all the physical inverters.
16
+ Now with support for **multiple inverters**! Sensors will be created for each of the inverters present in the configuration. Additionally, a virtual inverter named "All inverters" will be created whenever a multiple inverters configuration is present. This inverter will present summarized power and consumption figures derived from data for all the physical inverters.
17
17
 
18
18
  As HomeKit is still clueless about what a solar panel is, this plugin exposes a set of standard HomeKit accessories though Homebridge for each configured inverter that will allow interacting and automating your smart home based on the data made available from the Solax platform:
19
19
 
@@ -26,8 +26,9 @@ As HomeKit is still clueless about what a solar panel is, this plugin exposes a
26
26
 
27
27
  Battery information is also provided as Homekit accessories in case there are any batteries installed for any of the configured inverters:
28
28
 
29
- - **To Battery** (Inverter power charging the battery)
30
- - **From Battery** (Power drawn from the battery to the inverter)
29
+ - **To Battery** (Outlet with inverter power charging the battery)
30
+ - **From Battery** (Outlet with power drawn from the battery to the inverter)
31
+ - **Battery** (Battery with State of Charge information such as level or charge state)
31
32
 
32
33
  <img src="images/plugin-accessories-home.png" width="50%" height="50%">
33
34
 
@@ -189,4 +190,4 @@ Next planned plugin releases should include:
189
190
  - [x] Enable support for "pure" Home App accessories (power meters will be exposed as Ambient Light sensors)
190
191
  - [x] Add "smooth" accessories for power meters (compensating for sporadic scenarios like cloud a passing)
191
192
  - [x] Support for multiple inverters
192
- - [ ] Accessories for battery state and consumptions (work in progress)
193
+ - [x] Accessories for battery state and consumptions
@@ -0,0 +1,71 @@
1
+ import { AccessoryPlugin, API, CharacteristicGetCallback, Logging, Service } from 'homebridge';
2
+ import { SolaxPlatformAccessory } from './platformAccessory';
3
+ /**
4
+ * Enum with possible battery charging states.
5
+ */
6
+ export declare const BATTERY_CHARGING_STATE: {
7
+ NOT_CHARGING: number;
8
+ CHARGING: number;
9
+ NOT_CHARGEABLE: number;
10
+ };
11
+ /**
12
+ * Solax Battery Accessory.
13
+ * Battery sensor used to monitor inverter battery state of charge (SoC).
14
+ */
15
+ export declare class SolaxBatteryAccessory extends SolaxPlatformAccessory implements AccessoryPlugin {
16
+ /**
17
+ * The battery service for Homekit.
18
+ **/
19
+ private readonly batteryService;
20
+ /**
21
+ * The battery charge level (in percentage).
22
+ */
23
+ private batteryLevel;
24
+ /**
25
+ * Ambient light level.
26
+ */
27
+ private batteryChargeState;
28
+ /**
29
+ * Solax virtual light sensor class constructor.
30
+ * @param {Logging} log The platform logging for homebridge.
31
+ * @param {API} api The platform API.
32
+ * @param {string} name The accessory name.
33
+ * @param {string} serial "Real world" serial number for this accessory.
34
+ * @param {string} model Accessory model.
35
+ */
36
+ constructor(log: Logging, api: API, name: string, serial: string, model: string);
37
+ /**
38
+ * Handle requests to get the current value of the "Status Low Battery" characteristic.
39
+ */
40
+ getStatusLowBattery(): number;
41
+ /**
42
+ * Gets the battery level value.
43
+ * @returns {number} Battery level value (as percentage).
44
+ */
45
+ getLevelValue(): number;
46
+ /**
47
+ * Handler for getting the current battery level (percentage).
48
+ */
49
+ getLevel(callback: CharacteristicGetCallback): void;
50
+ /**
51
+ * Sets the current battery level.
52
+ * @param {number} percentage The battery percentage level to set.
53
+ */
54
+ setLevel(percentage: number): void;
55
+ /**
56
+ * Handler for getting the current battery charging state.
57
+ */
58
+ getChargeState(callback: CharacteristicGetCallback): void;
59
+ /**
60
+ * Sets the battery charging state according to predefined characteristic constants:
61
+ * @param state {number} The desired charging state.
62
+ */
63
+ setChargeState(state: number): void;
64
+ /**
65
+ * Gets the battery current charge state.
66
+ * @returns {number} The current battery charge state.
67
+ */
68
+ getChargeStateValue(): number;
69
+ getServices(): Service[];
70
+ }
71
+ //# sourceMappingURL=batteryAccessory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batteryAccessory.d.ts","sourceRoot":"","sources":["../src/batteryAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,GAAG,EAA4B,yBAAyB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEzH,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;CAIlC,CAAC;AAOF;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,sBAAuB,YAAW,eAAe;IAC1F;;QAEI;IACJ,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IAEzC;;OAEG;IACH,OAAO,CAAC,YAAY,CAAK;IAEzB;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAAuC;IAEjE;;;;;;;OAOG;gBACS,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAwB/E;;OAEG;IACI,mBAAmB,IAAI,MAAM;IAepC;;;OAGG;IACI,aAAa,IAAI,MAAM;IAI9B;;OAEG;IACI,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,GAAG,IAAI;IAM1D;;;OAGG;IACI,QAAQ,CAAC,UAAU,EAAE,MAAM;IAQlC;;OAEG;IACI,cAAc,CAAC,QAAQ,EAAE,yBAAyB,GAAG,IAAI;IAMhE;;;OAGG;IACI,cAAc,CAAC,KAAK,EAAE,MAAM;IAMnC;;;OAGG;IACI,mBAAmB,IAAI,MAAM;IAQpC,WAAW,IAAI,OAAO,EAAE;CAIzB"}
@@ -0,0 +1,124 @@
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
+ * Gets the battery current charge state.
110
+ * @returns {number} The current battery charge state.
111
+ */
112
+ getChargeStateValue() {
113
+ return this.batteryChargeState;
114
+ }
115
+ /*
116
+ * This method is called directly after creation of this instance.
117
+ * It should return all services which should be added to the accessory.
118
+ */
119
+ getServices() {
120
+ return [this.informationService, this.batteryService];
121
+ }
122
+ }
123
+ exports.SolaxBatteryAccessory = SolaxBatteryAccessory;
124
+ //# 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(`Solax light (watts reader) ${name} created!`);
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,mBAAmB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAEhD,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,8BAA8B,IAAI,WAAW,CAAC,CAAC;IAC1D,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"}
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"}
@@ -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;;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"}
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;IAmC9B;;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
@@ -107,13 +107,22 @@ class SolaxCloudAPIPlatform {
107
107
  */
108
108
  updateAllInvertersData() {
109
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
110
  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
111
  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
112
  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
113
  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
114
  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));
115
+ if (this.allInverters.hasBattery()) {
116
+ // get array of inverters with battery
117
+ const invertersWithBattery = this.inverters.filter(inverter => inverter.hasBattery());
118
+ // battery charge / discharge power
119
+ this.allInverters.setRawPower(platformInverter_1.ACCESSORY_KEYS.inverterFromBattery, invertersWithBattery.map(inverter => inverter.getRawPower(platformInverter_1.ACCESSORY_KEYS.inverterFromBattery)).reduce((a, b) => a + b, 0));
120
+ this.allInverters.setRawPower(platformInverter_1.ACCESSORY_KEYS.inverterToBattery, invertersWithBattery.map(inverter => inverter.getRawPower(platformInverter_1.ACCESSORY_KEYS.inverterToBattery)).reduce((a, b) => a + b, 0));
121
+ // battery SoC
122
+ this.allInverters.setBatteryChargeState(Math.max(...invertersWithBattery.map(inverter => inverter.getBatteryChargeState())));
123
+ const levelSums = invertersWithBattery.map(inverter => inverter.getBatteryLevel()).reduce((a, b) => a + b, 0);
124
+ this.allInverters.setBatteryLevel(levelSums / invertersWithBattery.length); // average levels
125
+ }
117
126
  // notify update with motion
118
127
  this.allInverters.setMotionUpdate();
119
128
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,10 @@ export declare class SolaxCloudAPIPlatformInverter {
44
44
  * Virtual motion sensor triggered by data updates from Solax Cloud.
45
45
  */
46
46
  private motionUpdate;
47
+ /**
48
+ * Battery information for this inverter gathered from Solax Cloud.
49
+ */
50
+ private battery;
47
51
  /**
48
52
  * Outlets with raw data gathered from Solax Cloud.
49
53
  */
@@ -82,6 +86,26 @@ export declare class SolaxCloudAPIPlatformInverter {
82
86
  * @param {SolaxCloudAPIResponse} apiData API data from Solax Cloud.
83
87
  */
84
88
  private updateAccessories;
89
+ /**
90
+ * Sets the battery charge state for this inverter.
91
+ * @param {number} state The desired battery charge state.
92
+ */
93
+ setBatteryChargeState(state: number): void;
94
+ /**
95
+ * Gets the battery charge state for this inverter.
96
+ * @returns {number} Battery charge state.
97
+ */
98
+ getBatteryChargeState(): number;
99
+ /**
100
+ * Sets the current battery level for this inverter.
101
+ * @param {number} percentage Battery level to set (percentage).
102
+ */
103
+ setBatteryLevel(percentage: number): void;
104
+ /**
105
+ * Gets the current battery level for this inverter.
106
+ * @returns {number} The current battery level (percentage).
107
+ */
108
+ getBatteryLevel(): number;
85
109
  /**
86
110
  * Sets virtual update motion detector to true to notify of new data update.
87
111
  */
@@ -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;AAW3E;;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,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;IA8KzB;;;QAGI;IACJ,OAAO,CAAC,iBAAiB;IA0BzB;;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"}
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,qBAAqB,CAAC,KAAK,EAAE,MAAM;IAI1C;;;OAGG;IACI,qBAAqB,IAAI,MAAM;IAItC;;;OAGG;IACI,eAAe,CAAC,UAAU,EAAE,MAAM;IAIzC;;;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"}
@@ -5,6 +5,7 @@ const solaxcloudapi_1 = require("./solaxcloudapi");
5
5
  const outletAccessory_1 = require("./outletAccessory");
6
6
  const lightSensorAccessory_1 = require("./lightSensorAccessory");
7
7
  const motionAccessory_1 = require("./motionAccessory");
8
+ const batteryAccessory_1 = require("./batteryAccessory");
8
9
  /**
9
10
  * Standard names for accessories.
10
11
  */
@@ -96,12 +97,13 @@ class SolaxCloudAPIPlatformInverter {
96
97
  // setup update motion sensor
97
98
  this.motionUpdate =
98
99
  new motionAccessory_1.SolaxMotionAccessory(this.log, this.api, `${this.name} Update`, `update-${this.sn}`, inverterModel);
99
- // create array with all base accessories
100
+ // create array with all valid base accessories
100
101
  this.solaxAccessories =
101
102
  [this.rawOutlets.pv, this.rawOutlets.inverterAC, this.rawOutlets.inverterToGrid,
102
103
  this.rawOutlets.inverterToHouse, this.rawOutlets.gridToHouse, this.motionUpdate];
103
- if (this.batteryInstalled) {
104
- this.solaxAccessories.push(this.rawOutlets.inverterFromBattery, this.rawOutlets.inverterToBattery);
104
+ if (this.hasBattery()) {
105
+ this.battery = new batteryAccessory_1.SolaxBatteryAccessory(this.log, this.api, `${this.name} Battery`, `bat-${this.sn}`, inverterModel);
106
+ this.solaxAccessories.push(this.battery, this.rawOutlets.inverterFromBattery, this.rawOutlets.inverterToBattery);
105
107
  }
106
108
  // check if "pure" Home App accessories are needed
107
109
  if (this.config.pureHomeApp) {
@@ -179,9 +181,50 @@ class SolaxCloudAPIPlatformInverter {
179
181
  this.setSmoothPower(exports.ACCESSORY_KEYS.inverterToHouse);
180
182
  this.setSmoothPower(exports.ACCESSORY_KEYS.gridToHouse);
181
183
  }
184
+ // check for battery
185
+ if (this.hasBattery()) {
186
+ this.setBatteryLevel(solaxcloudapi_1.SolaxCloudAPI.getBatterySoC(apiData.result));
187
+ if (this.getRawPower(exports.ACCESSORY_KEYS.inverterToBattery) > 0) {
188
+ this.setBatteryChargeState(batteryAccessory_1.BATTERY_CHARGING_STATE.CHARGING);
189
+ }
190
+ else if (this.getRawPower(exports.ACCESSORY_KEYS.inverterFromBattery) > 0) {
191
+ this.setBatteryChargeState(batteryAccessory_1.BATTERY_CHARGING_STATE.NOT_CHARGING);
192
+ }
193
+ else {
194
+ this.setBatteryChargeState(batteryAccessory_1.BATTERY_CHARGING_STATE.NOT_CHARGEABLE);
195
+ }
196
+ }
182
197
  // notify update with motion sensor
183
198
  this.setMotionUpdate();
184
199
  }
200
+ /**
201
+ * Sets the battery charge state for this inverter.
202
+ * @param {number} state The desired battery charge state.
203
+ */
204
+ setBatteryChargeState(state) {
205
+ this.battery.setChargeState(state);
206
+ }
207
+ /**
208
+ * Gets the battery charge state for this inverter.
209
+ * @returns {number} Battery charge state.
210
+ */
211
+ getBatteryChargeState() {
212
+ return this.battery.getChargeStateValue();
213
+ }
214
+ /**
215
+ * Sets the current battery level for this inverter.
216
+ * @param {number} percentage Battery level to set (percentage).
217
+ */
218
+ setBatteryLevel(percentage) {
219
+ this.battery.setLevel(percentage);
220
+ }
221
+ /**
222
+ * Gets the current battery level for this inverter.
223
+ * @returns {number} The current battery level (percentage).
224
+ */
225
+ getBatteryLevel() {
226
+ return this.battery.getLevelValue();
227
+ }
185
228
  /**
186
229
  * Sets virtual update motion detector to true to notify of new data update.
187
230
  */
@@ -1 +1 @@
1
- {"version":3,"file":"platformInverter.js","sourceRoot":"","sources":["../src/platformInverter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platformInverter.js","sourceRoot":"","sources":["../src/platformInverter.ts"],"names":[],"mappings":"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"}
Binary file
Binary file
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "private": false,
3
3
  "displayName": "Homebridge Solax Cloud API",
4
4
  "name": "homebridge-solaxcloud-api",
5
- "version": "2.1.4-beta.1",
5
+ "version": "2.1.7",
6
6
  "description": "Integrates solar production info using public Solax Cloud API into Homebridge accessories.",
7
7
  "license": "Apache-2.0",
8
8
  "repository": {
@@ -14,7 +14,7 @@
14
14
  },
15
15
  "engines": {
16
16
  "node": ">=14.18.1",
17
- "homebridge": ">=1.3.5"
17
+ "homebridge": ">=1.3.8"
18
18
  },
19
19
  "main": "dist/index.js",
20
20
  "scripts": {
@@ -34,8 +34,8 @@
34
34
  "jshint": "^2.13.1",
35
35
  "sync-fetch": "^0.3.1",
36
36
  "string-hash-64": "^1.0.3",
37
- "homebridge-lib": "^5.1.21",
38
- "fakegato-history": "^0.6.2"
37
+ "homebridge-lib": "^5.4.0",
38
+ "fakegato-history": "^0.6.3"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/mocha": "^9.0.0",
@@ -1,6 +1,6 @@
1
1
  import { SolaxCloudAPI, SolaxCloudAPIResponse } from '../src/solaxcloudapi';
2
2
 
3
- import assert = require('assert');
3
+ import assert from 'assert';
4
4
 
5
5
  describe('SolaxCloudAPI: Static methods', () => {
6
6
 
@@ -40,11 +40,11 @@ describe('SolaxCloudAPI: Static methods', () => {
40
40
  assert.strictEqual(25, SolaxCloudAPI.getBatterySoC(sampleReply.result));
41
41
  });
42
42
 
43
- it('DC From Battery', () => {
43
+ it('From Battery', () => {
44
44
  assert.strictEqual(21, SolaxCloudAPI.getInverterPowerFromBattery(sampleReply.result));
45
45
  });
46
46
 
47
- it('DC To Battery', () => {
47
+ it('To Battery', () => {
48
48
  assert.strictEqual(0, SolaxCloudAPI.getInverterPowerToBattery(sampleReply.result));
49
49
  });
50
50
 
@@ -69,4 +69,96 @@ describe('SolaxCloudAPI: Static methods', () => {
69
69
  assert.strictEqual(0, SolaxCloudAPI.getGridPowerToHouse(sampleReply.result));
70
70
  });
71
71
 
72
+ });
73
+
74
+ describe('SolaxCloudAPI: Multiple inverters', () => {
75
+
76
+ const inverter1Data: SolaxCloudAPIResponse = {
77
+ success: true,
78
+ exception: 'Query success!',
79
+ result: {
80
+ inverterSN: 'XPTO1',
81
+ sn: 'ABC123',
82
+ acpower: -522.0,
83
+ yieldtoday: 0.3,
84
+ yieldtotal: 6726.6,
85
+ feedinpower: -48.0,
86
+ feedinenergy: 4820.32,
87
+ consumeenergy: 4743.47,
88
+ feedinpowerM2: 0.0,
89
+ soc: 22.0,
90
+ peps1: 0.0,
91
+ peps2: 0.0,
92
+ peps3 : 0.0,
93
+ inverterType: '5',
94
+ inverterStatus: '102',
95
+ uploadTime: '2022-04-05 10:10:27',
96
+ batPower: 2326.0,
97
+ powerdc1: 1182.0,
98
+ powerdc2: 698.0,
99
+ powerdc3: null,
100
+ powerdc4: null,
101
+ },
102
+ };
103
+ const inverter2Data: SolaxCloudAPIResponse = {
104
+ success: true,
105
+ exception: 'Query success !',
106
+ result: {
107
+ inverterSN: 'XPTO2',
108
+ sn: 'ABC123',
109
+ acpower: 1056.0,
110
+ yieldtoday: 1.3,
111
+ yieldtotal: 3989.1,
112
+ feedinpower: 0.0,
113
+ feedinenergy: 0.0,
114
+ consumeenergy: 0.0,
115
+ feedinpowerM2: 0.0,
116
+ soc: 0.0,
117
+ peps1: 0.0,
118
+ peps2: 0.0,
119
+ peps3 : 0.0,
120
+ inverterType: '7',
121
+ inverterStatus: '102',
122
+ uploadTime: '2022-04-05 10:10:13',
123
+ batPower: 0.0,
124
+ powerdc1: 479.0,
125
+ powerdc2: 683.0,
126
+ powerdc3: null,
127
+ powerdc4: null,
128
+ },
129
+ };
130
+
131
+ it('PV Power', () => {
132
+ assert.strictEqual(3042, SolaxCloudAPI.getPVPower(inverter1Data.result) + SolaxCloudAPI.getPVPower(inverter2Data.result));
133
+ });
134
+
135
+ it('Battery SoC', () => {
136
+ assert.strictEqual(22, SolaxCloudAPI.getBatterySoC(inverter1Data.result) + SolaxCloudAPI.getBatterySoC(inverter2Data.result));
137
+ });
138
+
139
+ it('From Battery', () => {
140
+ assert.strictEqual(0, SolaxCloudAPI.getInverterPowerFromBattery(inverter1Data.result) +
141
+ SolaxCloudAPI.getInverterPowerFromBattery(inverter2Data.result));
142
+ });
143
+
144
+ it('To Battery', () => {
145
+ assert.strictEqual(2326, SolaxCloudAPI.getInverterPowerToBattery(inverter1Data.result) +
146
+ SolaxCloudAPI.getInverterPowerToBattery(inverter2Data.result));
147
+ });
148
+
149
+ it('Inverter AC Power', () => {
150
+ assert.strictEqual(534, SolaxCloudAPI.getInverterACPower(inverter1Data.result) +
151
+ SolaxCloudAPI.getInverterACPower(inverter2Data.result));
152
+ });
153
+
154
+ it('Inverter power to grid', () => {
155
+ assert.strictEqual(0, SolaxCloudAPI.getInverterPowerToGrid(inverter1Data.result) +
156
+ SolaxCloudAPI.getInverterPowerToGrid(inverter2Data.result));
157
+ });
158
+
159
+ it('Grid power to house', () => {
160
+ assert.strictEqual(48, SolaxCloudAPI.getGridPowerToHouse(inverter1Data.result) +
161
+ SolaxCloudAPI.getGridPowerToHouse(inverter2Data.result));
162
+ });
163
+
72
164
  });