homebridge-solaxcloud-api 1.4.5 → 1.4.6
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 +11 -1
- package/config.schema.json +1 -1
- package/dist/platform.d.ts +2 -0
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +88 -37
- package/dist/platform.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -42,7 +42,7 @@ Edit `config.json` manually to add your Solax inverters. See below for instructi
|
|
|
42
42
|
|
|
43
43
|
## Platform configuration
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
Platform configuration is depicted by the example configuration file below:
|
|
46
46
|
|
|
47
47
|
```json
|
|
48
48
|
{
|
|
@@ -57,6 +57,16 @@ Minimum platform configuration is depicted by the example configuration file bel
|
|
|
57
57
|
]
|
|
58
58
|
}
|
|
59
59
|
```
|
|
60
|
+
Configuration parameters are described on the table below:
|
|
61
|
+
|
|
62
|
+
| **Parameter** | **Type** | **Description** | **Default** | **Mandatory?** |
|
|
63
|
+
| ------------------ | -------- | --------------- | ----------: | :------------: |
|
|
64
|
+
| `platform` | string | Platform name (must be SolaxCloudAPI) | - | Y |
|
|
65
|
+
| `name` | string | Inverter name, used as prefix for accessory naming | - | Y |
|
|
66
|
+
| `tokenId` | string | Users get information from Solax Cloud through the granted tokenID. Please obtain your tokenID on the API page of Solax Cloud. | - | Y |
|
|
67
|
+
| `sn` | string | Registration No. (inverter module SN) | - | Y |
|
|
68
|
+
| `pollingFrequency` | number | Plugin data polling frequency from Solax Cloud (in seconds) | 300 | N |
|
|
69
|
+
|
|
60
70
|
**NOTE:** The `pollingFrequency` parameter is optional and defaults to 300 seconds, since Solax inverters update cloud data every 5 minutes.
|
|
61
71
|
|
|
62
72
|
Configuration through the the use of [Homebridge UI](https://github.com/oznu/homebridge-config-ui-x) plugin is also available and recommended:
|
package/config.schema.json
CHANGED
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
{ "title": "600 (10 minutes)", "enum": [ 600 ] },
|
|
44
44
|
{ "title": "900 (15 minutes)", "enum": [ 900 ] }
|
|
45
45
|
],
|
|
46
|
-
"description": "Plugin data polling frequency from Solax Cloud in seconds."
|
|
46
|
+
"description": "Plugin data polling frequency from Solax Cloud (in seconds)."
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
}
|
package/dist/platform.d.ts
CHANGED
|
@@ -39,6 +39,8 @@ export declare class SolaxCloudAPIPlatform implements StaticPlatformPlugin {
|
|
|
39
39
|
* Virtual motion sensor triggered by data updates from Solax Cloud.
|
|
40
40
|
*/
|
|
41
41
|
private motionUpdate;
|
|
42
|
+
/** Array with all accessories */
|
|
43
|
+
private solaxAccessories;
|
|
42
44
|
/**
|
|
43
45
|
* Platform constructor.
|
|
44
46
|
* @param log
|
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;AAE3G,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,QAAQ,MAAM,kBAAkB,CAAC;
|
|
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;AAE3G,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AA6BxC;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,oBAAoB;IAChE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,SAAgB,GAAG,EAAE,GAAG,CAAC;IAEzB,SAAgB,GAAG,EAAE,eAAe,CAAC;IAC9B,UAAU,EAAE,QAAQ,CAAC;IAE5B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,OAAO,CAAyB;IAExC;;MAEE;IACF,OAAO,CAAC,QAAQ,CAAwB;IAExC;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAAwB;IAEhD;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAAwB;IAEpD;;OAEG;IACH,OAAO,CAAC,qBAAqB,CAAwB;IAErD;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAAwB;IAEjD;;OAEG;IACH,OAAO,CAAC,YAAY,CAAwB;IAE5C,iCAAiC;IACjC,OAAO,CAAC,gBAAgB,CAAyB;IAEjD;;;;;;OAMG;gBACU,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG;IA0G3D,KAAK,8CAA8B;IAEnC;;OAEG;YACW,qBAAqB;IAyCnC,WAAW,CAAC,QAAQ,EAAE,CAAC,gBAAgB,EAAE,eAAe,EAAE,KAAK,IAAI,GAAG,IAAI;CAG3E"}
|
package/dist/platform.js
CHANGED
|
@@ -14,6 +14,18 @@ const motionAccessory_1 = require("./motionAccessory");
|
|
|
14
14
|
* Default polling frequency from Solax Cloud (in seconds).
|
|
15
15
|
*/
|
|
16
16
|
const DEFAULT_POLLING_FREQUENCY = 300;
|
|
17
|
+
/**
|
|
18
|
+
* Max polls / min (obtain frequency need to be lower than 10 times/min).
|
|
19
|
+
*/
|
|
20
|
+
const MAX_POLLS_MIN = 10;
|
|
21
|
+
/**
|
|
22
|
+
* Max polls / day (obtain frequency need to be lower than 10,000 times/day).
|
|
23
|
+
*/
|
|
24
|
+
const MAX_POLLS_DAY = 10000;
|
|
25
|
+
/**
|
|
26
|
+
* Maximum polling frequency (in seconds).
|
|
27
|
+
*/
|
|
28
|
+
const MAX_POLLING_FREQUENCY = Math.max(60 / MAX_POLLS_MIN, (24 * 60 * 60) / MAX_POLLS_DAY);
|
|
17
29
|
/**
|
|
18
30
|
* SolaxCloudAPIPlatform.
|
|
19
31
|
* This class is the main constructor for your plugin, this is where you should
|
|
@@ -28,6 +40,8 @@ class SolaxCloudAPIPlatform {
|
|
|
28
40
|
* @returns
|
|
29
41
|
*/
|
|
30
42
|
constructor(log, config, api) {
|
|
43
|
+
/** Array with all accessories */
|
|
44
|
+
this.solaxAccessories = [];
|
|
31
45
|
this.sleep = util_1.default.promisify(setTimeout);
|
|
32
46
|
// store values in properties
|
|
33
47
|
this.log = log;
|
|
@@ -37,48 +51,87 @@ class SolaxCloudAPIPlatform {
|
|
|
37
51
|
if (!api || !config) {
|
|
38
52
|
return;
|
|
39
53
|
}
|
|
54
|
+
this.log.debug(`Config: ${JSON.stringify(config)}`);
|
|
40
55
|
// check for mandatory parameters
|
|
56
|
+
if (!this.config.name) {
|
|
57
|
+
this.log.error('Can\'t find mandatory parameter "name" parameter in config file, aborting!');
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
41
60
|
if (!this.config.tokenId) {
|
|
42
|
-
this.log.error('Can\'t find "tokenId" parameter in config file
|
|
61
|
+
this.log.error('Can\'t find mandatory parameter "tokenId" parameter in config file, aborting!');
|
|
43
62
|
return;
|
|
44
63
|
}
|
|
45
64
|
if (!this.config.sn) {
|
|
46
|
-
this.log.error('Can\'t find "sn" parameter in config file
|
|
65
|
+
this.log.error('Can\'t find mandatory parameter "sn" parameter in config file, aborting!');
|
|
47
66
|
return;
|
|
48
67
|
}
|
|
49
68
|
// setup default polling frequency
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
new
|
|
70
|
-
|
|
71
|
-
new
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
this.
|
|
81
|
-
}
|
|
69
|
+
if (this.config.pollingFrequency) {
|
|
70
|
+
if (Number.isInteger(this.config.pollingFrequency) && this.config.pollingFrequency > 0) {
|
|
71
|
+
// all good?
|
|
72
|
+
if (this.config.pollingFrequency < MAX_POLLING_FREQUENCY) {
|
|
73
|
+
this.log.info(`Polling frequency cannot be higher than ${MAX_POLLS_MIN} times/min and ${MAX_POLLS_DAY} ` +
|
|
74
|
+
`times/day, defaulting to ${DEFAULT_POLLING_FREQUENCY} seconds.`);
|
|
75
|
+
this.config.pollingFrequency = DEFAULT_POLLING_FREQUENCY;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
log.info(`Invalid polling frequency (must be a positive integer number), defaulting to ${DEFAULT_POLLING_FREQUENCY} seconds.`);
|
|
80
|
+
this.config.pollingFrequency = DEFAULT_POLLING_FREQUENCY;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
log.info(`No polling frequency provided, defaulting to ${DEFAULT_POLLING_FREQUENCY} seconds.`);
|
|
85
|
+
this.config.pollingFrequency = DEFAULT_POLLING_FREQUENCY;
|
|
86
|
+
}
|
|
87
|
+
try {
|
|
88
|
+
this.eve = new homebridge_lib_1.EveHomeKitTypes(this.api);
|
|
89
|
+
this.eveService = (0, fakegato_history_1.default)(this.api);
|
|
90
|
+
// init new Solax Cloud API object with give tokenID and sn
|
|
91
|
+
this.solaxCloudAPI = new solaxcloudapi_1.SolaxCloudAPI(this.config.tokenId, this.config.sn);
|
|
92
|
+
// initial data set
|
|
93
|
+
this.apiData = this.solaxCloudAPI.getAPIData();
|
|
94
|
+
this.log.debug(`apiData = ${JSON.stringify(this.apiData)}`);
|
|
95
|
+
let inverterSN;
|
|
96
|
+
let inverterModel;
|
|
97
|
+
if (this.apiData.success) {
|
|
98
|
+
inverterSN = this.apiData.result.inverterSN.toLowerCase();
|
|
99
|
+
inverterModel = solaxcloudapi_1.SolaxCloudAPI.getInverterType(this.apiData.result.inverterType);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
this.log.info('Could not retrieve initial values from Solax Cloud, accessory Serial Number and Model properties deferred...');
|
|
103
|
+
inverterSN = this.config.name;
|
|
104
|
+
inverterModel = 'Unknown';
|
|
105
|
+
}
|
|
106
|
+
// setup outlet accessories
|
|
107
|
+
this.outletPV =
|
|
108
|
+
new outletAccessory_1.SolaxOutletAccessory(this, this.log, `${this.config.name} PV`, `pv-${inverterSN}`, inverterModel);
|
|
109
|
+
this.outletInverterAC =
|
|
110
|
+
new outletAccessory_1.SolaxOutletAccessory(this, this.log, `${this.config.name} Inverter AC`, `inv-ac-${inverterSN}`, inverterModel);
|
|
111
|
+
this.outletInverterToGrid =
|
|
112
|
+
new outletAccessory_1.SolaxOutletAccessory(this, this.log, `${this.config.name} Inverter to Grid`, `inv-grid-${inverterSN}`, inverterModel);
|
|
113
|
+
this.outletInverterToHouse =
|
|
114
|
+
new outletAccessory_1.SolaxOutletAccessory(this, this.log, `${this.config.name} Inverter to House`, `inv-house-${inverterSN}`, inverterModel);
|
|
115
|
+
this.outletGridToHouse =
|
|
116
|
+
new outletAccessory_1.SolaxOutletAccessory(this, this.log, `${this.config.name} Grid to House`, `grid-house-${inverterSN}`, inverterModel);
|
|
117
|
+
// setup update motion sensor
|
|
118
|
+
this.motionUpdate =
|
|
119
|
+
new motionAccessory_1.SolaxMotionAccessory(this, this.log, `${this.config.name} Update`, `update-${inverterSN}`, inverterModel);
|
|
120
|
+
// create array with all accessories
|
|
121
|
+
this.solaxAccessories =
|
|
122
|
+
[this.outletPV, this.outletInverterAC, this.outletInverterToGrid,
|
|
123
|
+
this.outletInverterToHouse, this.outletGridToHouse, this.motionUpdate];
|
|
124
|
+
// start data fetching
|
|
125
|
+
this.fetchDataPeriodically();
|
|
126
|
+
this.log.debug('Finished initializing platform.');
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
this.log.error(`Unexpected error: ${error}`);
|
|
130
|
+
}
|
|
131
|
+
// When this event is fired it means Homebridge has created all accessories.
|
|
132
|
+
this.api.on("didFinishLaunching" /* DID_FINISH_LAUNCHING */, () => {
|
|
133
|
+
this.log.debug('Executed didFinishLaunching callback');
|
|
134
|
+
});
|
|
82
135
|
}
|
|
83
136
|
/**
|
|
84
137
|
* Periodically retrieves inverter data from Solax Cloud API using configured tokenID and SN.
|
|
@@ -118,9 +171,7 @@ class SolaxCloudAPIPlatform {
|
|
|
118
171
|
* The Platform must respond in a timely manner as otherwise the startup of the bridge would be unnecessarily delayed.
|
|
119
172
|
*/
|
|
120
173
|
accessories(callback) {
|
|
121
|
-
callback(
|
|
122
|
-
this.outletInverterToGrid, this.outletInverterToHouse, this.outletGridToHouse,
|
|
123
|
-
this.motionUpdate]);
|
|
174
|
+
callback(this.solaxAccessories);
|
|
124
175
|
}
|
|
125
176
|
}
|
|
126
177
|
exports.SolaxCloudAPIPlatform = SolaxCloudAPIPlatform;
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;;;;AAEA,mDAAiD;AACjD,wEAAwC;AAExC,uDAAyD;AAEzD,gDAAwB;AAExB,mDAAuE;AACvE,uDAAyD;AAEzD;;GAEG;AACH,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAEtC;;;;GAIG;AACH,MAAa,qBAAqB;
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
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": "1.4.
|
|
5
|
+
"version": "1.4.6",
|
|
6
6
|
"description": "Integrates solar production info using public Solax Cloud API into Homebrigde acessories.",
|
|
7
7
|
"license": "Apache-2.0",
|
|
8
8
|
"repository": {
|