homebridge-solaxcloud-api 2.1.2-beta.0 → 2.1.4-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -3
- package/config.sample +14 -14
- package/config.schema.json +7 -0
- 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 +59 -23
- package/dist/platformInverter.d.ts.map +1 -1
- package/dist/platformInverter.js +143 -75
- 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 +2 -2
- package/test/solaxcloudapi.test.ts +14 -2
package/README.md
CHANGED
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
  [](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
|
|
12
12
|
|
|
13
13
|
|
|
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.
|
|
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**!
|
|
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
|
|
|
@@ -24,6 +24,11 @@ As HomeKit is still clueless about what a solar panel is, this plugin exposes a
|
|
|
24
24
|
- **From Grid** (Grid to House outlet with power consumption)
|
|
25
25
|
- **Update** (Motion sensor)
|
|
26
26
|
|
|
27
|
+
Battery information is also provided as Homekit accessories in case there are any batteries installed for any of the configured inverters:
|
|
28
|
+
|
|
29
|
+
- **To Battery** (Inverter power charging the battery)
|
|
30
|
+
- **From Battery** (Power drawn from the battery to the inverter)
|
|
31
|
+
|
|
27
32
|
<img src="images/plugin-accessories-home.png" width="50%" height="50%">
|
|
28
33
|
|
|
29
34
|
Please note that additional accessories are created by default with smooth power consumption curves (by applying either a simple or exponential moving average to the power series). This prevents sporadic events like a cloud passing by to have an immediate affect on provided meters.
|
|
@@ -179,7 +184,7 @@ As an automation example, let's imagine we want to turn a pool heater pump on wh
|
|
|
179
184
|
|
|
180
185
|
Next planned plugin releases should include:
|
|
181
186
|
|
|
182
|
-
- [X] **Inverter AC** to include Yield Energy
|
|
187
|
+
- [X] **Inverter AC** to include Total Yield Energy
|
|
183
188
|
- [X] Consumption history through the [fakegato-history](https://github.com/simont77/fakegato-history) module
|
|
184
189
|
- [x] Enable support for "pure" Home App accessories (power meters will be exposed as Ambient Light sensors)
|
|
185
190
|
- [x] Add "smooth" accessories for power meters (compensating for sporadic scenarios like cloud a passing)
|
package/config.sample
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
{
|
|
2
|
-
"platforms": [
|
|
3
|
-
{
|
|
4
|
-
"platform": "SolaxCloudAPI",
|
|
5
|
-
"tokenId": "20200722185111234567890",
|
|
6
|
-
inverters: [
|
|
7
|
-
{
|
|
8
|
-
"name": "My Solax",
|
|
9
|
-
"sn": "ABCDEFGHIJ"
|
|
10
|
-
}
|
|
11
|
-
],
|
|
12
|
-
"pollingFrequency": 300
|
|
13
|
-
}
|
|
14
|
-
]
|
|
1
|
+
{
|
|
2
|
+
"platforms": [
|
|
3
|
+
{
|
|
4
|
+
"platform": "SolaxCloudAPI",
|
|
5
|
+
"tokenId": "20200722185111234567890",
|
|
6
|
+
inverters: [
|
|
7
|
+
{
|
|
8
|
+
"name": "My Solax",
|
|
9
|
+
"sn": "ABCDEFGHIJ"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"pollingFrequency": 300
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
15
|
}
|
package/config.schema.json
CHANGED
|
@@ -39,6 +39,13 @@
|
|
|
39
39
|
"default": "ABCDEFGHIJ",
|
|
40
40
|
"minLength": 10,
|
|
41
41
|
"maxLength": 10
|
|
42
|
+
},
|
|
43
|
+
"hasBattery": {
|
|
44
|
+
"title": "Battery installed?",
|
|
45
|
+
"type": "boolean",
|
|
46
|
+
"required": false,
|
|
47
|
+
"description": "Whether this inverter has a battery installed.",
|
|
48
|
+
"default": false
|
|
42
49
|
}
|
|
43
50
|
}
|
|
44
51
|
}
|
|
@@ -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,10 @@ 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;
|
|
27
47
|
/**
|
|
28
48
|
* Outlets with raw data gathered from Solax Cloud.
|
|
29
49
|
*/
|
|
@@ -34,10 +54,6 @@ export declare class SolaxCloudAPIPlatformInverter {
|
|
|
34
54
|
* prevent events like the temporary passage of a cloud to directly affect values.
|
|
35
55
|
*/
|
|
36
56
|
private smoothOutlets;
|
|
37
|
-
/**
|
|
38
|
-
* Virtual motion sensor triggered by data updates from Solax Cloud.
|
|
39
|
-
*/
|
|
40
|
-
private motionUpdate;
|
|
41
57
|
/**
|
|
42
58
|
* Ambient light sensors for Power Consumption (pure Home App config).
|
|
43
59
|
*/
|
|
@@ -60,34 +76,54 @@ export declare class SolaxCloudAPIPlatformInverter {
|
|
|
60
76
|
* @param smoothingWindow
|
|
61
77
|
* @returns
|
|
62
78
|
*/
|
|
63
|
-
constructor(log: Logging, config: PlatformConfig, api: API, tokenId: string, sn: string, name: string, smoothingWindow: number);
|
|
79
|
+
constructor(log: Logging, config: PlatformConfig, api: API, tokenId: string, sn: string, name: string, hasBattery: boolean, smoothingWindow: number);
|
|
64
80
|
/**
|
|
65
|
-
*
|
|
81
|
+
* Update all platform accessory status based on the values read from the API.
|
|
82
|
+
* @param {SolaxCloudAPIResponse} apiData API data from Solax Cloud.
|
|
66
83
|
*/
|
|
67
|
-
private
|
|
84
|
+
private updateAccessories;
|
|
68
85
|
/**
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
private updateRawLightSensors;
|
|
86
|
+
* Sets virtual update motion detector to true to notify of new data update.
|
|
87
|
+
*/
|
|
88
|
+
setMotionUpdate(): void;
|
|
73
89
|
/**
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
90
|
+
* Gets raw accessory power for this inverter.
|
|
91
|
+
* @param {string} key Accessory key.
|
|
92
|
+
* @returns {number} Power consumptions for this accessory.
|
|
93
|
+
*/
|
|
94
|
+
getRawPower(key: string): number;
|
|
77
95
|
/**
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
96
|
+
* Sets raw accessory power for this inverter.
|
|
97
|
+
* @param {string} key Accessory key.
|
|
98
|
+
* @param {number} power Power to set (in Watt).
|
|
99
|
+
*/
|
|
100
|
+
setRawPower(key: string, power: number): void;
|
|
82
101
|
/**
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
102
|
+
* Gets raw accessory energy for this inverter.
|
|
103
|
+
* @param {string} key Accessory key.
|
|
104
|
+
* @returns {number} The energy consumption for the desired acessory (in Wh).
|
|
105
|
+
*/
|
|
106
|
+
getRawEnergy(key: string): number;
|
|
107
|
+
/**
|
|
108
|
+
* Sets raw accessory energy for this inverter.
|
|
109
|
+
* @param {string} key Accessory key.
|
|
110
|
+
* @param {number} energy Energy consumption to set (in Wh).
|
|
111
|
+
*/
|
|
112
|
+
setRawEnergy(key: string, energy: number): void;
|
|
113
|
+
/**
|
|
114
|
+
* Sets smooth accessory power from raw accessory power for this inverter.
|
|
115
|
+
* @param {string} key Accessory key.
|
|
116
|
+
*/
|
|
117
|
+
setSmoothPower(key: string): void;
|
|
87
118
|
/**
|
|
88
119
|
* Update data from this inverter by using the Solax Cloud API
|
|
89
120
|
*/
|
|
90
|
-
|
|
121
|
+
updateInverterDataFromCloud(): void;
|
|
122
|
+
/**
|
|
123
|
+
* Returns whether this inverter has a battery installed.
|
|
124
|
+
* @returns {boolean} Whether this inverter battery has a battery installed.
|
|
125
|
+
*/
|
|
126
|
+
hasBattery(): boolean;
|
|
91
127
|
/**
|
|
92
128
|
* Get array with full list of accessories for this inverter.
|
|
93
129
|
* @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;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"}
|
package/dist/platformInverter.js
CHANGED
|
@@ -1,20 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SolaxCloudAPIPlatformInverter = void 0;
|
|
3
|
+
exports.SolaxCloudAPIPlatformInverter = exports.ACCESSORY_KEYS = void 0;
|
|
4
4
|
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
|
+
/**
|
|
9
|
+
* Standard names for accessories.
|
|
10
|
+
*/
|
|
11
|
+
exports.ACCESSORY_KEYS = {
|
|
12
|
+
pv: 'pv',
|
|
13
|
+
inverterToBattery: 'inverterToBattery',
|
|
14
|
+
inverterFromBattery: 'inverterFromBattery',
|
|
15
|
+
inverterAC: 'inverterAC',
|
|
16
|
+
inverterToGrid: 'inverterToGrid',
|
|
17
|
+
inverterToHouse: 'inverterToHouse',
|
|
18
|
+
gridToHouse: 'gridToHouse',
|
|
19
|
+
};
|
|
8
20
|
/**
|
|
9
21
|
* Standard names for accessories.
|
|
10
22
|
*/
|
|
11
23
|
const ACCESSORY_NAMES = {
|
|
12
24
|
pv: 'PV',
|
|
25
|
+
inverterToBattery: 'To Battery',
|
|
26
|
+
inverterFromBattery: 'From Battery',
|
|
13
27
|
inverterAC: 'AC',
|
|
14
28
|
inverterToGrid: 'To Grid',
|
|
15
29
|
inverterToHouse: 'To House',
|
|
16
30
|
gridToHouse: 'From Grid',
|
|
17
31
|
};
|
|
32
|
+
/**
|
|
33
|
+
* Standar prefixes for accessory serials.
|
|
34
|
+
*/
|
|
35
|
+
const ACCESSORY_SERIAL_PREFIXES = {
|
|
36
|
+
pv: 'pv',
|
|
37
|
+
inverterToBattery: 'inv-tobat',
|
|
38
|
+
inverterFromBattery: 'inv-frombat',
|
|
39
|
+
inverterAC: 'inv-ac',
|
|
40
|
+
inverterToGrid: 'inv-grid',
|
|
41
|
+
inverterToHouse: 'inv-house',
|
|
42
|
+
gridToHouse: 'grid-house',
|
|
43
|
+
};
|
|
18
44
|
/**
|
|
19
45
|
* SolaxCloudAPIPlatformInverter.
|
|
20
46
|
* This class is the main constructor for your inverter accessories
|
|
@@ -31,7 +57,7 @@ class SolaxCloudAPIPlatformInverter {
|
|
|
31
57
|
* @param smoothingWindow
|
|
32
58
|
* @returns
|
|
33
59
|
*/
|
|
34
|
-
constructor(log, config, api, tokenId, sn, name, smoothingWindow) {
|
|
60
|
+
constructor(log, config, api, tokenId, sn, name, hasBattery, smoothingWindow) {
|
|
35
61
|
/** Array with all accessories */
|
|
36
62
|
this.solaxAccessories = [];
|
|
37
63
|
// store values in properties
|
|
@@ -42,6 +68,7 @@ class SolaxCloudAPIPlatformInverter {
|
|
|
42
68
|
this.sn = sn.toLowerCase();
|
|
43
69
|
this.name = name;
|
|
44
70
|
this.smoothingWindow = smoothingWindow;
|
|
71
|
+
this.batteryInstalled = hasBattery;
|
|
45
72
|
this.log.info(`Initialing acessories for inverter "${name}" (SN="${sn}")...`);
|
|
46
73
|
// init new Solax Cloud API object with give tokenID and sn
|
|
47
74
|
this.solaxCloudAPI = new solaxcloudapi_1.SolaxCloudAPI(tokenId, sn);
|
|
@@ -58,11 +85,13 @@ class SolaxCloudAPIPlatformInverter {
|
|
|
58
85
|
}
|
|
59
86
|
// setup raw outlet accessories
|
|
60
87
|
this.rawOutlets = {
|
|
61
|
-
pv: new outletAccessory_1.SolaxOutletAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.pv}`,
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
88
|
+
pv: new outletAccessory_1.SolaxOutletAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.pv}`, `${ACCESSORY_SERIAL_PREFIXES.pv}-${this.sn}`, inverterModel),
|
|
89
|
+
inverterFromBattery: new outletAccessory_1.SolaxOutletAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterFromBattery}`, `${ACCESSORY_SERIAL_PREFIXES.inverterFromBattery}-${this.sn}`, inverterModel),
|
|
90
|
+
inverterToBattery: new outletAccessory_1.SolaxOutletAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterToBattery}`, `${ACCESSORY_SERIAL_PREFIXES.inverterToBattery}-${this.sn}`, inverterModel),
|
|
91
|
+
inverterAC: new outletAccessory_1.SolaxOutletAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterAC}`, `${ACCESSORY_SERIAL_PREFIXES.inverterAC}-${this.sn}`, inverterModel),
|
|
92
|
+
inverterToGrid: new outletAccessory_1.SolaxOutletAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterToGrid}`, `${ACCESSORY_SERIAL_PREFIXES.inverterToGrid}-${this.sn}`, inverterModel),
|
|
93
|
+
inverterToHouse: new outletAccessory_1.SolaxOutletAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterToHouse}`, `${ACCESSORY_SERIAL_PREFIXES.inverterToHouse}-${this.sn}`, inverterModel),
|
|
94
|
+
gridToHouse: new outletAccessory_1.SolaxOutletAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.gridToHouse}`, `${ACCESSORY_SERIAL_PREFIXES.gridToHouse}-${this.sn}`, inverterModel),
|
|
66
95
|
};
|
|
67
96
|
// setup update motion sensor
|
|
68
97
|
this.motionUpdate =
|
|
@@ -71,114 +100,146 @@ class SolaxCloudAPIPlatformInverter {
|
|
|
71
100
|
this.solaxAccessories =
|
|
72
101
|
[this.rawOutlets.pv, this.rawOutlets.inverterAC, this.rawOutlets.inverterToGrid,
|
|
73
102
|
this.rawOutlets.inverterToHouse, this.rawOutlets.gridToHouse, this.motionUpdate];
|
|
103
|
+
if (this.batteryInstalled) {
|
|
104
|
+
this.solaxAccessories.push(this.rawOutlets.inverterFromBattery, this.rawOutlets.inverterToBattery);
|
|
105
|
+
}
|
|
74
106
|
// check if "pure" Home App accessories are needed
|
|
75
107
|
if (this.config.pureHomeApp) {
|
|
76
108
|
// add raw light sensors
|
|
77
109
|
this.rawLightSensors = {
|
|
78
|
-
pv: new lightSensorAccessory_1.SolaxLightSensorAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.pv} sensor`,
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
110
|
+
pv: new lightSensorAccessory_1.SolaxLightSensorAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.pv} sensor`, `${ACCESSORY_SERIAL_PREFIXES.pv}-light-${this.sn}`, inverterModel),
|
|
111
|
+
inverterFromBattery: new lightSensorAccessory_1.SolaxLightSensorAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterFromBattery} sensor`, `${ACCESSORY_SERIAL_PREFIXES.inverterFromBattery}-light-${this.sn}`, inverterModel),
|
|
112
|
+
inverterToBattery: new lightSensorAccessory_1.SolaxLightSensorAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterToBattery} sensor`, `${ACCESSORY_SERIAL_PREFIXES.inverterToBattery}-light-${this.sn}`, inverterModel),
|
|
113
|
+
inverterAC: new lightSensorAccessory_1.SolaxLightSensorAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterAC} sensor`, `${ACCESSORY_SERIAL_PREFIXES.inverterAC}-light-${this.sn}`, inverterModel),
|
|
114
|
+
inverterToGrid: new lightSensorAccessory_1.SolaxLightSensorAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterToGrid} sensor`, `${ACCESSORY_SERIAL_PREFIXES.inverterToGrid}-light-${this.sn}`, inverterModel),
|
|
115
|
+
inverterToHouse: new lightSensorAccessory_1.SolaxLightSensorAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterToHouse} sensor`, `${ACCESSORY_SERIAL_PREFIXES.inverterToHouse}-light-${this.sn}`, inverterModel),
|
|
116
|
+
gridToHouse: new lightSensorAccessory_1.SolaxLightSensorAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.gridToHouse} sensor`, `${ACCESSORY_SERIAL_PREFIXES.gridToHouse}-light-${this.sn}`, inverterModel),
|
|
83
117
|
};
|
|
84
118
|
this.solaxAccessories.push(this.rawLightSensors.pv, this.rawLightSensors.inverterAC, this.rawLightSensors.inverterToGrid, this.rawLightSensors.inverterToHouse, this.rawLightSensors.gridToHouse);
|
|
119
|
+
if (this.batteryInstalled) {
|
|
120
|
+
this.solaxAccessories.push(this.rawLightSensors.inverterFromBattery, this.rawLightSensors.inverterToBattery);
|
|
121
|
+
}
|
|
85
122
|
if (this.config.smoothMeters) {
|
|
86
123
|
// add smooth light sensors
|
|
87
124
|
this.smoothLightSensors = {
|
|
88
|
-
pv: new lightSensorAccessory_1.SolaxLightSensorAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.pv} sensor (smooth)`,
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
125
|
+
pv: new lightSensorAccessory_1.SolaxLightSensorAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.pv} sensor (smooth)`, `${ACCESSORY_SERIAL_PREFIXES.pv}-light-smooth-${this.sn}`, inverterModel),
|
|
126
|
+
inverterFromBattery: new lightSensorAccessory_1.SolaxLightSensorAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterFromBattery} sensor (smooth)`, `${ACCESSORY_SERIAL_PREFIXES.inverterFromBattery}-light-smooth-${this.sn}`, inverterModel),
|
|
127
|
+
inverterToBattery: new lightSensorAccessory_1.SolaxLightSensorAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterToBattery} sensor (smooth)`, `${ACCESSORY_SERIAL_PREFIXES.inverterToBattery}-light-smooth-${this.sn}`, inverterModel),
|
|
128
|
+
inverterAC: new lightSensorAccessory_1.SolaxLightSensorAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterAC} sensor (smooth)`, `${ACCESSORY_SERIAL_PREFIXES.inverterAC}-light-smooth-${this.sn}`, inverterModel),
|
|
129
|
+
inverterToGrid: new lightSensorAccessory_1.SolaxLightSensorAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterToGrid} sensor (smooth)`, `${ACCESSORY_SERIAL_PREFIXES.inverterToGrid}-light-smooth-${this.sn}`, inverterModel),
|
|
130
|
+
inverterToHouse: new lightSensorAccessory_1.SolaxLightSensorAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterToHouse} sensor (smooth)`, `${ACCESSORY_SERIAL_PREFIXES.inverterToHouse}-light-smooth-${this.sn}`, inverterModel),
|
|
131
|
+
gridToHouse: new lightSensorAccessory_1.SolaxLightSensorAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.gridToHouse} sensor (smooth)`, `${ACCESSORY_SERIAL_PREFIXES.gridToHouse}-light-smooth-${this.sn}`, inverterModel),
|
|
93
132
|
};
|
|
94
133
|
this.solaxAccessories.push(this.smoothLightSensors.pv, this.smoothLightSensors.inverterAC, this.smoothLightSensors.inverterToGrid, this.smoothLightSensors.inverterToHouse, this.smoothLightSensors.gridToHouse);
|
|
134
|
+
if (this.batteryInstalled) {
|
|
135
|
+
this.solaxAccessories.push(this.smoothLightSensors.inverterFromBattery, this.smoothLightSensors.inverterToBattery);
|
|
136
|
+
}
|
|
95
137
|
}
|
|
96
138
|
}
|
|
97
139
|
else {
|
|
98
140
|
if (this.config.smoothMeters) {
|
|
99
141
|
// setup smooth outlet accessories
|
|
100
142
|
this.smoothOutlets = {
|
|
101
|
-
pv: new outletAccessory_1.SolaxOutletAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.pv} (smooth)`,
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
143
|
+
pv: new outletAccessory_1.SolaxOutletAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.pv} (smooth)`, `${ACCESSORY_SERIAL_PREFIXES.pv}-smooth-${this.sn}`, inverterModel),
|
|
144
|
+
inverterFromBattery: new outletAccessory_1.SolaxOutletAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterFromBattery} (smooth)`, `${ACCESSORY_SERIAL_PREFIXES.inverterFromBattery}-smooth-${this.sn}`, inverterModel),
|
|
145
|
+
inverterToBattery: new outletAccessory_1.SolaxOutletAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterToBattery} (smooth)`, `${ACCESSORY_SERIAL_PREFIXES.inverterToBattery}-smooth-${this.sn}`, inverterModel),
|
|
146
|
+
inverterAC: new outletAccessory_1.SolaxOutletAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterAC} (smooth)`, `${ACCESSORY_SERIAL_PREFIXES.inverterAC}-smooth-${this.sn}`, inverterModel),
|
|
147
|
+
inverterToGrid: new outletAccessory_1.SolaxOutletAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterToGrid} (smooth)`, `${ACCESSORY_SERIAL_PREFIXES.inverterToGrid}-smooth-${this.sn}`, inverterModel),
|
|
148
|
+
inverterToHouse: new outletAccessory_1.SolaxOutletAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.inverterToHouse} (smooth)`, `${ACCESSORY_SERIAL_PREFIXES.inverterToHouse}-smooth-${this.sn}`, inverterModel),
|
|
149
|
+
gridToHouse: new outletAccessory_1.SolaxOutletAccessory(this.log, this.api, `${this.name} ${ACCESSORY_NAMES.gridToHouse} (smooth)`, `${ACCESSORY_SERIAL_PREFIXES.gridToHouse}-smooth-${this.sn}`, inverterModel),
|
|
106
150
|
};
|
|
107
151
|
this.solaxAccessories.push(this.smoothOutlets.pv, this.smoothOutlets.inverterAC, this.smoothOutlets.inverterToGrid, this.smoothOutlets.inverterToHouse, this.smoothOutlets.gridToHouse);
|
|
152
|
+
if (this.batteryInstalled) {
|
|
153
|
+
this.solaxAccessories.push(this.smoothOutlets.inverterFromBattery, this.smoothOutlets.inverterToBattery);
|
|
154
|
+
}
|
|
108
155
|
}
|
|
109
156
|
}
|
|
110
157
|
}
|
|
111
158
|
/**
|
|
112
|
-
*
|
|
159
|
+
* Update all platform accessory status based on the values read from the API.
|
|
160
|
+
* @param {SolaxCloudAPIResponse} apiData API data from Solax Cloud.
|
|
113
161
|
*/
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
this.
|
|
117
|
-
this.
|
|
118
|
-
this.
|
|
119
|
-
this.
|
|
162
|
+
updateAccessories(apiData) {
|
|
163
|
+
// update raw sensors
|
|
164
|
+
this.setRawPower(exports.ACCESSORY_KEYS.pv, solaxcloudapi_1.SolaxCloudAPI.getPVPower(apiData.result));
|
|
165
|
+
this.setRawPower(exports.ACCESSORY_KEYS.inverterFromBattery, solaxcloudapi_1.SolaxCloudAPI.getInverterPowerFromBattery(apiData.result));
|
|
166
|
+
this.setRawPower(exports.ACCESSORY_KEYS.inverterToBattery, solaxcloudapi_1.SolaxCloudAPI.getInverterPowerToBattery(apiData.result));
|
|
167
|
+
this.setRawPower(exports.ACCESSORY_KEYS.inverterAC, solaxcloudapi_1.SolaxCloudAPI.getInverterACPower(apiData.result));
|
|
168
|
+
this.setRawEnergy(exports.ACCESSORY_KEYS.inverterAC, solaxcloudapi_1.SolaxCloudAPI.getYieldTotal(apiData.result));
|
|
169
|
+
this.setRawPower(exports.ACCESSORY_KEYS.inverterToGrid, solaxcloudapi_1.SolaxCloudAPI.getInverterPowerToGrid(apiData.result));
|
|
170
|
+
this.setRawPower(exports.ACCESSORY_KEYS.inverterToHouse, solaxcloudapi_1.SolaxCloudAPI.getInverterPowerToHouse(apiData.result));
|
|
171
|
+
this.setRawPower(exports.ACCESSORY_KEYS.gridToHouse, solaxcloudapi_1.SolaxCloudAPI.getGridPowerToHouse(apiData.result));
|
|
172
|
+
if (this.config.smoothMeters) {
|
|
173
|
+
// update smooth light sensors from raw outlets by applying smoothing function to power consumption
|
|
174
|
+
this.setSmoothPower(exports.ACCESSORY_KEYS.pv);
|
|
175
|
+
this.setSmoothPower(exports.ACCESSORY_KEYS.inverterFromBattery);
|
|
176
|
+
this.setSmoothPower(exports.ACCESSORY_KEYS.inverterToBattery);
|
|
177
|
+
this.setSmoothPower(exports.ACCESSORY_KEYS.inverterAC);
|
|
178
|
+
this.setSmoothPower(exports.ACCESSORY_KEYS.inverterToGrid);
|
|
179
|
+
this.setSmoothPower(exports.ACCESSORY_KEYS.inverterToHouse);
|
|
180
|
+
this.setSmoothPower(exports.ACCESSORY_KEYS.gridToHouse);
|
|
181
|
+
}
|
|
182
|
+
// notify update with motion sensor
|
|
183
|
+
this.setMotionUpdate();
|
|
120
184
|
}
|
|
121
185
|
/**
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
this.rawLightSensors.pv.setAmbientLightLevel(solaxcloudapi_1.SolaxCloudAPI.getPVPower(apiData.result));
|
|
127
|
-
this.rawLightSensors.inverterAC.setAmbientLightLevel(solaxcloudapi_1.SolaxCloudAPI.getInverterACPower(apiData.result));
|
|
128
|
-
this.rawLightSensors.inverterToGrid.setAmbientLightLevel(solaxcloudapi_1.SolaxCloudAPI.getInverterPowerToGrid(apiData.result));
|
|
129
|
-
this.rawLightSensors.inverterToHouse.setAmbientLightLevel(solaxcloudapi_1.SolaxCloudAPI.getInverterPowerToHouse(apiData.result));
|
|
130
|
-
this.rawLightSensors.gridToHouse.setAmbientLightLevel(solaxcloudapi_1.SolaxCloudAPI.getGridPowerToHouse(apiData.result));
|
|
186
|
+
* Sets virtual update motion detector to true to notify of new data update.
|
|
187
|
+
*/
|
|
188
|
+
setMotionUpdate() {
|
|
189
|
+
this.motionUpdate.setState(true);
|
|
131
190
|
}
|
|
132
191
|
/**
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
this.
|
|
139
|
-
this.smoothOutlets.inverterToHouse.setPowerConsumption(this.rawOutlets.inverterToHouse.getSmoothPowerConsumption(this.config.smoothingMethod, this.smoothingWindow));
|
|
140
|
-
this.smoothOutlets.gridToHouse.setPowerConsumption(this.rawOutlets.gridToHouse.getSmoothPowerConsumption(this.config.smoothingMethod, this.smoothingWindow));
|
|
192
|
+
* Gets raw accessory power for this inverter.
|
|
193
|
+
* @param {string} key Accessory key.
|
|
194
|
+
* @returns {number} Power consumptions for this accessory.
|
|
195
|
+
*/
|
|
196
|
+
getRawPower(key) {
|
|
197
|
+
return this.rawOutlets[key].getPowerConsumptionValue();
|
|
141
198
|
}
|
|
142
199
|
/**
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
this.rawOutlets.
|
|
149
|
-
this.
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
this.rawOutlets.gridToHouse.setPowerConsumption(solaxcloudapi_1.SolaxCloudAPI.getGridPowerToHouse(apiData.result));
|
|
200
|
+
* Sets raw accessory power for this inverter.
|
|
201
|
+
* @param {string} key Accessory key.
|
|
202
|
+
* @param {number} power Power to set (in Watt).
|
|
203
|
+
*/
|
|
204
|
+
setRawPower(key, power) {
|
|
205
|
+
this.rawOutlets[key].setPowerConsumption(power);
|
|
206
|
+
if (this.config.pureHomeApp) {
|
|
207
|
+
this.rawLightSensors[key].setAmbientLightLevel(power);
|
|
208
|
+
}
|
|
153
209
|
}
|
|
154
210
|
/**
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
this.
|
|
211
|
+
* Gets raw accessory energy for this inverter.
|
|
212
|
+
* @param {string} key Accessory key.
|
|
213
|
+
* @returns {number} The energy consumption for the desired acessory (in Wh).
|
|
214
|
+
*/
|
|
215
|
+
getRawEnergy(key) {
|
|
216
|
+
return this.rawOutlets[key].getTotalEnergyConsumptionValue();
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Sets raw accessory energy for this inverter.
|
|
220
|
+
* @param {string} key Accessory key.
|
|
221
|
+
* @param {number} energy Energy consumption to set (in Wh).
|
|
222
|
+
*/
|
|
223
|
+
setRawEnergy(key, energy) {
|
|
224
|
+
this.rawOutlets[key].setTotalEnergyConsumption(energy);
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Sets smooth accessory power from raw accessory power for this inverter.
|
|
228
|
+
* @param {string} key Accessory key.
|
|
229
|
+
*/
|
|
230
|
+
setSmoothPower(key) {
|
|
231
|
+
const smoothPower = this.rawOutlets[key].getSmoothPowerConsumption(this.config.smoothingMethod, this.smoothingWindow);
|
|
161
232
|
if (this.config.pureHomeApp) {
|
|
162
|
-
|
|
163
|
-
this.updateRawLightSensors(apiData);
|
|
164
|
-
if (this.config.smoothMeters) {
|
|
165
|
-
// update smooth light sensors from raw outlets by applying smoothing function to power consumption
|
|
166
|
-
this.updateSmoothLightSensors();
|
|
167
|
-
}
|
|
233
|
+
this.smoothLightSensors[key].setAmbientLightLevel(smoothPower);
|
|
168
234
|
}
|
|
169
235
|
else {
|
|
170
|
-
|
|
171
|
-
// update smooth outlets data from raw outlets by applying smoothing function to power consumption
|
|
172
|
-
this.updateSmoothOutlets();
|
|
173
|
-
}
|
|
236
|
+
this.smoothOutlets[key].setPowerConsumption(smoothPower);
|
|
174
237
|
}
|
|
175
|
-
// update motion sensor
|
|
176
|
-
this.motionUpdate.setState(true);
|
|
177
238
|
}
|
|
178
239
|
/**
|
|
179
240
|
* Update data from this inverter by using the Solax Cloud API
|
|
180
241
|
*/
|
|
181
|
-
|
|
242
|
+
updateInverterDataFromCloud() {
|
|
182
243
|
try {
|
|
183
244
|
this.log.info(`Retrieving data from Solax Cloud API for inverter "${this.name}" (SN="${this.sn}")`);
|
|
184
245
|
const apiData = this.solaxCloudAPI.getAPIData();
|
|
@@ -194,6 +255,13 @@ class SolaxCloudAPIPlatformInverter {
|
|
|
194
255
|
this.log.error(`Failed to read from Solax Cloud API for inverter "${this.name}" (SN="${this.sn})". Error: ${error}`);
|
|
195
256
|
}
|
|
196
257
|
}
|
|
258
|
+
/**
|
|
259
|
+
* Returns whether this inverter has a battery installed.
|
|
260
|
+
* @returns {boolean} Whether this inverter battery has a battery installed.
|
|
261
|
+
*/
|
|
262
|
+
hasBattery() {
|
|
263
|
+
return this.batteryInstalled;
|
|
264
|
+
}
|
|
197
265
|
/**
|
|
198
266
|
* Get array with full list of accessories for this inverter.
|
|
199
267
|
* @returns {AccessoryPlugin[]} Array of accessories for this inverter.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platformInverter.js","sourceRoot":"","sources":["../src/platformInverter.ts"],"names":[],"mappings":";;;AAEA,mDAAuE;AAEvE,uDAAyD;AACzD,iEAAmE;AAInE,uDAAyD;AAEzD;;GAEG;AACH,MAAM,eAAe,GAAG;IACtB,EAAE,EAAE,IAAI;IACR,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,SAAS;IACzB,eAAe,EAAE,UAAU;IAC3B,WAAW,EAAE,WAAW;CACzB,CAAC;AAEF;;;;GAIG;AACH,MAAa,6BAA6B;IAyDxC;;;;;;;;;QASI;IACJ,YAAa,GAAY,EAAE,MAAsB,EAAE,GAAQ,EAAE,OAAe,EAAE,EAAU,EAAE,IAAY,EAAE,eAAuB;QAb/H,iCAAiC;QACzB,qBAAgB,GAAsB,EAAE,CAAC;QAa/C,6BAA6B;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QAEf,sBAAsB;QACtB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QAEvC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uCAAuC,IAAI,UAAU,EAAE,OAAO,CAAC,CAAC;QAE9E,2DAA2D;QAC3D,IAAI,CAAC,aAAa,GAAG,IAAI,6BAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEpD,mBAAmB;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QAEhD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEvD,IAAI,aAAqB,CAAC;QAE1B,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,aAAa,GAAG,6BAAa,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SAC5E;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8GAA8G,CAAC,CAAC;YAC9H,aAAa,GAAG,SAAS,CAAC;SAC3B;QAED,+BAA+B;QAC/B,IAAI,CAAC,UAAU,GAAG;YAChB,EAAE,EAAE,IAAI,sCAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,EAAE,EAAE,EAAE,MAAM,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;YACtH,UAAU,EACN,IAAI,sCAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,UAAU,EAAE,EACvF,UAAU,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;YACzC,cAAc,EACV,IAAI,sCAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,cAAc,EAAE,EAC3F,YAAY,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;YAC3C,eAAe,EACX,IAAI,sCAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,eAAe,EAAE,EAC5F,aAAa,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;YAC5C,WAAW,EACP,IAAI,sCAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,WAAW,EAAE,EACxF,cAAc,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;SAC9C,CAAC;QAEF,6BAA6B;QAC7B,IAAI,CAAC,YAAY;YACb,IAAI,sCAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,SAAS,EAAE,UAAU,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;QAE5G,yCAAyC;QACzC,IAAI,CAAC,gBAAgB;YACjB,CAAE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc;gBAC9E,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAE,CAAC;QAExF,kDAAkD;QAClD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YAC3B,wBAAwB;YACxB,IAAI,CAAC,eAAe,GAAG;gBACrB,EAAE,EAAE,IAAI,gDAAyB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,EAAE,SAAS,EAC/F,YAAY,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;gBACvC,UAAU,EACN,IAAI,gDAAyB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,UAAU,SAAS,EACnG,gBAAgB,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;gBAC/C,cAAc,EACV,IAAI,gDAAyB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAC9C,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,cAAc,SAAS,EAAE,kBAAkB,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;gBAC1G,eAAe,EACX,IAAI,gDAAyB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAC9C,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,eAAe,SAAS,EAAE,mBAAmB,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;gBAC5G,WAAW,EACP,IAAI,gDAAyB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAC9C,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,WAAW,SAAS,EAAE,oBAAoB,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;aAC1G,CAAC;YAEF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,cAAc,EACtH,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAE1E,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;gBAC5B,2BAA2B;gBAC3B,IAAI,CAAC,kBAAkB,GAAG;oBACxB,EAAE,EACE,IAAI,gDAAyB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,EAAE,kBAAkB,EACpG,YAAY,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;oBAC3C,UAAU,EACN,IAAI,gDAAyB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,UAAU,kBAAkB,EAC5G,uBAAuB,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;oBACtD,cAAc,EACV,IAAI,gDAAyB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,cAAc,kBAAkB,EAChH,yBAAyB,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;oBACxD,eAAe,EACX,IAAI,gDAAyB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,eAAe,kBAAkB,EACjH,0BAA0B,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;oBACzD,WAAW,EACP,IAAI,gDAAyB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,WAAW,kBAAkB,EAC7G,2BAA2B,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;iBAC3D,CAAC;gBAEF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAC/H,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;aACjF;SACF;aAAM;YACL,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;gBAC5B,kCAAkC;gBAClC,IAAI,CAAC,aAAa,GAAG;oBACnB,EAAE,EACE,IAAI,sCAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,EAAE,WAAW,EACxF,aAAa,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;oBAC5C,UAAU,EACN,IAAI,sCAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,UAAU,WAAW,EAChG,iBAAiB,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;oBAChD,cAAc,EACV,IAAI,sCAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,cAAc,WAAW,EACpG,mBAAmB,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;oBAClD,eAAe,EACX,IAAI,sCAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,eAAe,WAAW,EACrG,oBAAoB,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;oBACnD,WAAW,EACP,IAAI,sCAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,WAAW,WAAW,EACjG,qBAAqB,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC;iBACrD,CAAC;gBAEF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,EAChH,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;aACvE;SACF;IAEH,CAAC;IAED;;QAEI;IACI,wBAAwB;QAC9B,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,oBAAoB,CAC7C,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAChG,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,oBAAoB,CACrD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CACxG,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,oBAAoB,CACzD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAC5G,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,oBAAoB,CAC1D,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAC7G,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,oBAAoB,CACtD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CACzG,CAAC;IACJ,CAAC;IAED;;;QAGI;IACI,qBAAqB,CAAC,OAA8B;QAC1D,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,oBAAoB,CAAC,6BAAa,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,oBAAoB,CAAC,6BAAa,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACvG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,oBAAoB,CAAC,6BAAa,CAAC,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/G,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,oBAAoB,CAAC,6BAAa,CAAC,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACjH,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,oBAAoB,CAAC,6BAAa,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3G,CAAC;IAED;;QAEI;IACI,mBAAmB;QACzB,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,mBAAmB,CACvC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAChG,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,mBAAmB,CAC/C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CACxG,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,mBAAmB,CACnD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAC5G,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,mBAAmB,CACpD,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAC7G,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,mBAAmB,CAChD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CACzG,CAAC;IACJ,CAAC;IAED;;;QAGI;IACI,gBAAgB,CAAC,OAA8B;QACrD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,mBAAmB,CAAC,6BAAa,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,mBAAmB,CAAC,6BAAa,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACjG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,yBAAyB,CAAC,6BAAa,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,mBAAmB,CAAC,6BAAa,CAAC,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,mBAAmB,CAAC,6BAAa,CAAC,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,mBAAmB,CAAC,6BAAa,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACrG,CAAC;IAED;;;QAGI;IACI,iBAAiB,CAAC,OAA8B;QACtD,qDAAqD;QACrD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE/B,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YAC3B,kDAAkD;YAClD,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAEpC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;gBAC5B,mGAAmG;gBACnG,IAAI,CAAC,wBAAwB,EAAE,CAAC;aACjC;SACF;aAAM;YACL,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;gBAC5B,kGAAkG;gBAClG,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC5B;SACF;QAED,uBAAuB;QACvB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACI,kBAAkB;QACvB,IAAI;YACF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sDAAsD,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAEpG,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;YAEhD,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAE/E,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;aACjC;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aACpC;SACF;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qDAAqD,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE,cAAc,KAAK,EAAE,CAAC,CAAC;SACtH;IACH,CAAC;IAED;;;OAGG;IACI,cAAc;QACnB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;CAEF;AAjUD,sEAiUC"}
|
|
1
|
+
{"version":3,"file":"platformInverter.js","sourceRoot":"","sources":["../src/platformInverter.ts"],"names":[],"mappings":"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"}
|
package/dist/platformMeters.d.ts
CHANGED
|
@@ -6,23 +6,31 @@ import { SolaxOutletAccessory } from './outletAccessory';
|
|
|
6
6
|
export interface PlatformOutletMeters {
|
|
7
7
|
/**
|
|
8
8
|
* Virtual outlet used to detect and measure photovoltaic production.
|
|
9
|
-
|
|
9
|
+
*/
|
|
10
10
|
pv: SolaxOutletAccessory;
|
|
11
11
|
/**
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
* Virtual outlet used to measure DC power sent to battery.
|
|
13
|
+
*/
|
|
14
|
+
inverterToBattery: SolaxOutletAccessory;
|
|
15
|
+
/**
|
|
16
|
+
* Virtual outlet used to measure DC power sent to battery.
|
|
17
|
+
*/
|
|
18
|
+
inverterFromBattery: SolaxOutletAccessory;
|
|
19
|
+
/**
|
|
20
|
+
* Virtual outlet used to detect and measure inverter AC production.
|
|
21
|
+
*/
|
|
14
22
|
inverterAC: SolaxOutletAccessory;
|
|
15
23
|
/**
|
|
16
|
-
|
|
17
|
-
|
|
24
|
+
* Virtual outlet used to detect and measure inverter excess production injected in the grid.
|
|
25
|
+
*/
|
|
18
26
|
inverterToGrid: SolaxOutletAccessory;
|
|
19
27
|
/**
|
|
20
|
-
|
|
21
|
-
|
|
28
|
+
* Virtual outlet used to detect and measure inverter production directly fed into the house (self-consumption).
|
|
29
|
+
*/
|
|
22
30
|
inverterToHouse: SolaxOutletAccessory;
|
|
23
31
|
/**
|
|
24
|
-
|
|
25
|
-
|
|
32
|
+
* Virtual outlet used to detect and measure grid power fed into the house.
|
|
33
|
+
*/
|
|
26
34
|
gridToHouse: SolaxOutletAccessory;
|
|
27
35
|
}
|
|
28
36
|
/**
|
|
@@ -31,23 +39,31 @@ export interface PlatformOutletMeters {
|
|
|
31
39
|
export interface PlatformLightSensorMeters {
|
|
32
40
|
/**
|
|
33
41
|
* Virtual ambient light meter used to detect and measure photovoltaic production.
|
|
34
|
-
|
|
42
|
+
*/
|
|
35
43
|
pv: SolaxLightSensorAccessory;
|
|
36
44
|
/**
|
|
37
|
-
|
|
38
|
-
|
|
45
|
+
* Virtual ambient light meter used to measure DC power sent to battery.
|
|
46
|
+
*/
|
|
47
|
+
inverterToBattery: SolaxLightSensorAccessory;
|
|
48
|
+
/**
|
|
49
|
+
* Virtual ambient light meter used to measure DC power sent to battery.
|
|
50
|
+
*/
|
|
51
|
+
inverterFromBattery: SolaxLightSensorAccessory;
|
|
52
|
+
/**
|
|
53
|
+
* Virtual ambient light meter used to detect and measure inverter AC production.
|
|
54
|
+
*/
|
|
39
55
|
inverterAC: SolaxLightSensorAccessory;
|
|
40
56
|
/**
|
|
41
|
-
|
|
42
|
-
|
|
57
|
+
* Virtual ambient light meter used to detect and measure inverter excess production injected in the grid.
|
|
58
|
+
*/
|
|
43
59
|
inverterToGrid: SolaxLightSensorAccessory;
|
|
44
60
|
/**
|
|
45
|
-
|
|
46
|
-
|
|
61
|
+
* Virtual ambient light meter used to detect and measure inverter production directly fed into the house (self-consumption).
|
|
62
|
+
*/
|
|
47
63
|
inverterToHouse: SolaxLightSensorAccessory;
|
|
48
64
|
/**
|
|
49
|
-
|
|
50
|
-
|
|
65
|
+
* Virtual ambient light meter used to detect and measure grid power fed into the house.
|
|
66
|
+
*/
|
|
51
67
|
gridToHouse: SolaxLightSensorAccessory;
|
|
52
68
|
}
|
|
53
69
|
//# sourceMappingURL=platformMeters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platformMeters.d.ts","sourceRoot":"","sources":["../src/platformMeters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,oBAAoB;
|
|
1
|
+
{"version":3,"file":"platformMeters.d.ts","sourceRoot":"","sources":["../src/platformMeters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,EAAE,EAAE,oBAAoB,CAAC;IAEzB;;OAEG;IACH,iBAAiB,EAAE,oBAAoB,CAAC;IAExC;;OAEG;IACH,mBAAmB,EAAE,oBAAoB,CAAC;IAE1C;;OAEG;IACH,UAAU,EAAE,oBAAoB,CAAC;IAEjC;;OAEG;IACH,cAAc,EAAE,oBAAoB,CAAC;IAErC;;OAEG;IACH,eAAe,EAAE,oBAAoB,CAAC;IAEtC;;OAEG;IACH,WAAW,EAAE,oBAAoB,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,EAAE,EAAE,yBAAyB,CAAC;IAE9B;;KAEC;IACD,iBAAiB,EAAE,yBAAyB,CAAC;IAE7C;;OAEG;IACH,mBAAmB,EAAE,yBAAyB,CAAC;IAE/C;;OAEG;IACH,UAAU,EAAE,yBAAyB,CAAC;IAEtC;;OAEG;IACH,cAAc,EAAE,yBAAyB,CAAC;IAE1C;;OAEG;IACH,eAAe,EAAE,yBAAyB,CAAC;IAE3C;;OAEG;IACH,WAAW,EAAE,yBAAyB,CAAC;CACxC"}
|
package/dist/solaxcloudapi.d.ts
CHANGED
|
@@ -32,11 +32,17 @@ export interface SolaxCloudAPIResult {
|
|
|
32
32
|
inverterType: string;
|
|
33
33
|
/** Inverter status code */
|
|
34
34
|
inverterStatus: string;
|
|
35
|
+
/** Update time */
|
|
35
36
|
uploadTime: string;
|
|
37
|
+
/** Inverter DC Battery power total (W) */
|
|
36
38
|
batPower: number;
|
|
39
|
+
/** Inverter DC PV power MPPT1 (W) */
|
|
37
40
|
powerdc1: number | null;
|
|
41
|
+
/** Inverter DC PV power MPPT2 (W) */
|
|
38
42
|
powerdc2: number | null;
|
|
43
|
+
/** Inverter DC PV power MPPT3 (W) */
|
|
39
44
|
powerdc3: number | null;
|
|
45
|
+
/** Inverter DC PV power MPPT4 (W) */
|
|
40
46
|
powerdc4: number | null;
|
|
41
47
|
}
|
|
42
48
|
/**
|
|
@@ -86,6 +92,18 @@ export declare class SolaxCloudAPI {
|
|
|
86
92
|
* @returns {number} The measured inverter output AC power (in W).
|
|
87
93
|
*/
|
|
88
94
|
static getInverterACPower(data: SolaxCloudAPIResult): number;
|
|
95
|
+
/**
|
|
96
|
+
* Gets the inverter power charging battery (in W) from the retrieved API results.
|
|
97
|
+
* @param {SolaxCloudAPIResult} data The result data retrieved from the Solax Cloud API.
|
|
98
|
+
* @returns {number} The measured inverter DC power to battery (in W).
|
|
99
|
+
*/
|
|
100
|
+
static getInverterPowerToBattery(data: SolaxCloudAPIResult): number;
|
|
101
|
+
/**
|
|
102
|
+
* Gets the inverter power drawn from battery (in W) from the retrieved API results.
|
|
103
|
+
* @param {SolaxCloudAPIResult} data The result data retrieved from the Solax Cloud API.
|
|
104
|
+
* @returns {number} The measured inverter DC power from battery (in W).
|
|
105
|
+
*/
|
|
106
|
+
static getInverterPowerFromBattery(data: SolaxCloudAPIResult): number;
|
|
89
107
|
/**
|
|
90
108
|
* Gets the Inverter AC energy out for today (KWh) from the retrieved API results.
|
|
91
109
|
* @param {SolaxCloudAPIResult} data The result data retrieved from the Solax Cloud API.
|
|
@@ -98,6 +116,12 @@ export declare class SolaxCloudAPI {
|
|
|
98
116
|
* @returns {number} The total AC energy output by the inverter (in KWh).
|
|
99
117
|
*/
|
|
100
118
|
static getYieldTotal(data: SolaxCloudAPIResult): number;
|
|
119
|
+
/**
|
|
120
|
+
* Gets the battery State of Charge - Soc (%) from the retrieved API results.
|
|
121
|
+
* @param {SolaxCloudAPIResult} data The result data retrieved from the Solax Cloud API.
|
|
122
|
+
* @returns {number} The battery State of Charge for this inverter (%).
|
|
123
|
+
*/
|
|
124
|
+
static getBatterySoC(data: SolaxCloudAPIResult): number;
|
|
101
125
|
/**
|
|
102
126
|
* Gets the power currently being fed to the grid by the inverter (in W).
|
|
103
127
|
* @param {SolaxCloudAPIResult} data The result data retrieved from the Solax Cloud API.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solaxcloudapi.d.ts","sourceRoot":"","sources":["../src/solaxcloudapi.ts"],"names":[],"mappings":"AAEA;;KAEK;AACL,MAAM,WAAW,mBAAmB;IAChC,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,kCAAkC;IAClC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,kCAAkC;IAClC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,kCAAkC;IAClC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;CAClB;AAIH;;GAEG;AACH,qBAAa,aAAa;aAOK,OAAO,EAAE,MAAM;aAAkB,EAAE,EAAE,MAAM;IALxE;;;;SAIK;gBACwB,OAAO,EAAE,MAAM,EAAkB,EAAE,EAAE,MAAM;IAKxE;;;;SAIK;WACS,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAiCvD;;;;SAIK;WACS,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAmC3D;;;;OAIG;WACW,UAAU,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;IAI3D;;;;OAIG;WACW,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;IAInE;;;;OAIG;WACW,aAAa,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;IAI9D;;;;OAIG;WACW,aAAa,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;IAI9D;;;;OAIG;WACW,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;IAIvE;;;;OAIG;WACW,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;IAIpE;;;;OAIG;WACW,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;IAIxE;;;OAGG;IACI,UAAU,IAAI,qBAAqB;CAc3C"}
|
|
1
|
+
{"version":3,"file":"solaxcloudapi.d.ts","sourceRoot":"","sources":["../src/solaxcloudapi.ts"],"names":[],"mappings":"AAEA;;KAEK;AACL,MAAM,WAAW,mBAAmB;IAChC,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,kCAAkC;IAClC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,kCAAkC;IAClC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,kCAAkC;IAClC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;CAClB;AAIH;;GAEG;AACH,qBAAa,aAAa;aAOK,OAAO,EAAE,MAAM;aAAkB,EAAE,EAAE,MAAM;IALxE;;;;SAIK;gBACwB,OAAO,EAAE,MAAM,EAAkB,EAAE,EAAE,MAAM;IAKxE;;;;SAIK;WACS,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAiCvD;;;;SAIK;WACS,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAmC3D;;;;OAIG;WACW,UAAU,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;IAI3D;;;;OAIG;WACW,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;IAInE;;;;OAIG;WACW,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;IAI1E;;;;OAIG;WACW,2BAA2B,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;IAI5E;;;;OAIG;WACW,aAAa,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;IAI9D;;;;OAIG;WACW,aAAa,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;IAI9D;;;;OAIG;WACW,aAAa,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;IAI9D;;;;OAIG;WACW,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;IAIvE;;;;OAIG;WACW,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;IAIpE;;;;OAIG;WACW,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;IAIxE;;;OAGG;IACI,UAAU,IAAI,qBAAqB;CAc3C"}
|
package/dist/solaxcloudapi.js
CHANGED
|
@@ -113,6 +113,22 @@ class SolaxCloudAPI {
|
|
|
113
113
|
static getInverterACPower(data) {
|
|
114
114
|
return data.acpower;
|
|
115
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Gets the inverter power charging battery (in W) from the retrieved API results.
|
|
118
|
+
* @param {SolaxCloudAPIResult} data The result data retrieved from the Solax Cloud API.
|
|
119
|
+
* @returns {number} The measured inverter DC power to battery (in W).
|
|
120
|
+
*/
|
|
121
|
+
static getInverterPowerToBattery(data) {
|
|
122
|
+
return data.batPower > 0 ? data.batPower : 0;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Gets the inverter power drawn from battery (in W) from the retrieved API results.
|
|
126
|
+
* @param {SolaxCloudAPIResult} data The result data retrieved from the Solax Cloud API.
|
|
127
|
+
* @returns {number} The measured inverter DC power from battery (in W).
|
|
128
|
+
*/
|
|
129
|
+
static getInverterPowerFromBattery(data) {
|
|
130
|
+
return data.batPower < 0 ? -data.batPower : 0;
|
|
131
|
+
}
|
|
116
132
|
/**
|
|
117
133
|
* Gets the Inverter AC energy out for today (KWh) from the retrieved API results.
|
|
118
134
|
* @param {SolaxCloudAPIResult} data The result data retrieved from the Solax Cloud API.
|
|
@@ -129,6 +145,14 @@ class SolaxCloudAPI {
|
|
|
129
145
|
static getYieldTotal(data) {
|
|
130
146
|
return data.yieldtotal;
|
|
131
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Gets the battery State of Charge - Soc (%) from the retrieved API results.
|
|
150
|
+
* @param {SolaxCloudAPIResult} data The result data retrieved from the Solax Cloud API.
|
|
151
|
+
* @returns {number} The battery State of Charge for this inverter (%).
|
|
152
|
+
*/
|
|
153
|
+
static getBatterySoC(data) {
|
|
154
|
+
return data.soc === null ? 0 : data.soc;
|
|
155
|
+
}
|
|
132
156
|
/**
|
|
133
157
|
* Gets the power currently being fed to the grid by the inverter (in W).
|
|
134
158
|
* @param {SolaxCloudAPIResult} data The result data retrieved from the Solax Cloud API.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solaxcloudapi.js","sourceRoot":"","sources":["../src/solaxcloudapi.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA+B;
|
|
1
|
+
{"version":3,"file":"solaxcloudapi.js","sourceRoot":"","sources":["../src/solaxcloudapi.ts"],"names":[],"mappings":"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"}
|
package/dist/solaxcloudfetch.js
CHANGED
|
@@ -7,9 +7,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
const solaxcloudapi_1 = require("./solaxcloudapi");
|
|
8
8
|
const fs_1 = __importDefault(require("fs"));
|
|
9
9
|
const config = JSON.parse(fs_1.default.readFileSync('config.json').toString());
|
|
10
|
-
const api = new solaxcloudapi_1.SolaxCloudAPI(config.platforms[0].tokenId, config.platforms[0].sn);
|
|
10
|
+
const api = new solaxcloudapi_1.SolaxCloudAPI(config.platforms[0].tokenId, config.platforms[0].inverters[0].sn);
|
|
11
11
|
const result = api.getAPIData();
|
|
12
12
|
console.log(`PV Power: ${solaxcloudapi_1.SolaxCloudAPI.getPVPower(result.result)}W`);
|
|
13
|
+
console.log(`Battery SoC: ${solaxcloudapi_1.SolaxCloudAPI.getBatterySoC(result.result)}%`);
|
|
14
|
+
console.log(`Inverter Power To Battery: ${solaxcloudapi_1.SolaxCloudAPI.getInverterPowerToBattery(result.result)}W`);
|
|
15
|
+
console.log(`Inverter Power From Battery: ${solaxcloudapi_1.SolaxCloudAPI.getInverterPowerFromBattery(result.result)}W`);
|
|
13
16
|
console.log(`Inverter AC Power: ${solaxcloudapi_1.SolaxCloudAPI.getInverterACPower(result.result)}W`);
|
|
14
17
|
console.log(`Grid Power to House: ${solaxcloudapi_1.SolaxCloudAPI.getGridPowerToHouse(result.result)}W`);
|
|
15
18
|
console.log(`Inverter Power to Grid: ${solaxcloudapi_1.SolaxCloudAPI.getInverterPowerToGrid(result.result)}W`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solaxcloudfetch.js","sourceRoot":"","sources":["../src/solaxcloudfetch.ts"],"names":[],"mappings":";;;;;AAAA,+BAA+B;AAC/B,mDAAgD;AAEhD,4CAAoB;AAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrE,MAAM,GAAG,GAAG,IAAI,6BAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"solaxcloudfetch.js","sourceRoot":"","sources":["../src/solaxcloudfetch.ts"],"names":[],"mappings":";;;;;AAAA,+BAA+B;AAC/B,mDAAgD;AAEhD,4CAAoB;AAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrE,MAAM,GAAG,GAAG,IAAI,6BAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEhG,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;AAEhC,OAAO,CAAC,GAAG,CAAC,aAAa,6BAAa,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAErE,OAAO,CAAC,GAAG,CAAC,gBAAgB,6BAAa,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC3E,OAAO,CAAC,GAAG,CAAC,8BAA8B,6BAAa,CAAC,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACrG,OAAO,CAAC,GAAG,CAAC,gCAAgC,6BAAa,CAAC,2BAA2B,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAEzG,OAAO,CAAC,GAAG,CAAC,sBAAsB,6BAAa,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACtF,OAAO,CAAC,GAAG,CAAC,wBAAwB,6BAAa,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACzF,OAAO,CAAC,GAAG,CAAC,2BAA2B,6BAAa,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/F,OAAO,CAAC,GAAG,CAAC,4BAA4B,6BAAa,CAAC,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAEjG,OAAO,CAAC,GAAG,CAAC,gBAAgB,6BAAa,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7E,OAAO,CAAC,GAAG,CAAC,gBAAgB,6BAAa,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"private": false,
|
|
3
3
|
"displayName": "Homebridge Solax Cloud API",
|
|
4
4
|
"name": "homebridge-solaxcloud-api",
|
|
5
|
-
"version": "2.1.
|
|
6
|
-
"description": "Integrates solar production info using public Solax Cloud API into
|
|
5
|
+
"version": "2.1.4-beta.1",
|
|
6
|
+
"description": "Integrates solar production info using public Solax Cloud API into Homebridge accessories.",
|
|
7
7
|
"license": "Apache-2.0",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
@@ -17,14 +17,14 @@ describe('SolaxCloudAPI: Static methods', () => {
|
|
|
17
17
|
feedinenergy: 24.65,
|
|
18
18
|
consumeenergy: 433.09,
|
|
19
19
|
feedinpowerM2: 0,
|
|
20
|
-
soc:
|
|
20
|
+
soc: 25,
|
|
21
21
|
peps1: 0,
|
|
22
22
|
peps2: null,
|
|
23
23
|
peps3: null,
|
|
24
24
|
inverterType: '3',
|
|
25
25
|
inverterStatus: '102',
|
|
26
26
|
uploadTime: '2021-12-06 10:16:59',
|
|
27
|
-
batPower:
|
|
27
|
+
batPower: -21,
|
|
28
28
|
powerdc1: 0,
|
|
29
29
|
powerdc2: 1258,
|
|
30
30
|
powerdc3: null,
|
|
@@ -36,6 +36,18 @@ describe('SolaxCloudAPI: Static methods', () => {
|
|
|
36
36
|
assert.strictEqual(1258, SolaxCloudAPI.getPVPower(sampleReply.result));
|
|
37
37
|
});
|
|
38
38
|
|
|
39
|
+
it('Battery SoC', () => {
|
|
40
|
+
assert.strictEqual(25, SolaxCloudAPI.getBatterySoC(sampleReply.result));
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
it('DC From Battery', () => {
|
|
44
|
+
assert.strictEqual(21, SolaxCloudAPI.getInverterPowerFromBattery(sampleReply.result));
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
it('DC To Battery', () => {
|
|
48
|
+
assert.strictEqual(0, SolaxCloudAPI.getInverterPowerToBattery(sampleReply.result));
|
|
49
|
+
});
|
|
50
|
+
|
|
39
51
|
it('Inverter AC Power', () => {
|
|
40
52
|
assert.strictEqual(1214, SolaxCloudAPI.getInverterACPower(sampleReply.result));
|
|
41
53
|
});
|