myenergi-api 1.1.0 → 2.0.0
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/dist/MyEnergi.js +129 -69
- package/dist/models/Zappi.d.ts +2 -1
- package/package.json +11 -10
package/dist/MyEnergi.js
CHANGED
|
@@ -36,134 +36,194 @@ class MyEnergi {
|
|
|
36
36
|
}
|
|
37
37
|
getStatusAll() {
|
|
38
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
try {
|
|
40
|
+
const data = yield this._digest.get(this._config.status_url);
|
|
41
|
+
const jsonData = JSON.parse(data);
|
|
42
|
+
return jsonData;
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
42
47
|
});
|
|
43
48
|
}
|
|
44
49
|
getStatusZappiAll() {
|
|
45
50
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
+
try {
|
|
52
|
+
const data = yield this._digest.get(this._config.zappi_url);
|
|
53
|
+
const jsonData = JSON.parse(data);
|
|
54
|
+
if (jsonData.zappi)
|
|
55
|
+
return Object.assign([], jsonData.zappi);
|
|
56
|
+
else
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
51
60
|
return [];
|
|
61
|
+
}
|
|
52
62
|
});
|
|
53
63
|
}
|
|
54
64
|
getStatusZappi(serialNumber) {
|
|
55
65
|
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
66
|
+
try {
|
|
67
|
+
const data = yield this._digest.get(this._config.zappi_url);
|
|
68
|
+
const jsonData = JSON.parse(data);
|
|
69
|
+
if (jsonData.zappi) {
|
|
70
|
+
const zappi = Object.assign([], jsonData.zappi).find((zappi) => {
|
|
71
|
+
return zappi.sno == serialNumber;
|
|
72
|
+
});
|
|
73
|
+
if (zappi)
|
|
74
|
+
return Object.assign({}, zappi);
|
|
75
|
+
else
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
64
78
|
else
|
|
65
79
|
return null;
|
|
66
80
|
}
|
|
67
|
-
|
|
81
|
+
catch (error) {
|
|
68
82
|
return null;
|
|
83
|
+
}
|
|
69
84
|
});
|
|
70
85
|
}
|
|
71
86
|
setZappiChargeMode(serialNo, chargeMode) {
|
|
72
87
|
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
88
|
+
try {
|
|
89
|
+
const url = `${this._config.zappi_mode_url}${serialNo}-${chargeMode}-0-0-0000`;
|
|
90
|
+
const data = yield this._digest.get(url);
|
|
91
|
+
const jsonData = JSON.parse(data);
|
|
92
|
+
return jsonData;
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
return {};
|
|
96
|
+
}
|
|
77
97
|
});
|
|
78
98
|
}
|
|
79
99
|
setZappiBoostMode(serialNo, boostMode, kwh = 0, completeTime = "0000") {
|
|
80
100
|
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
101
|
+
try {
|
|
102
|
+
if (boostMode === Types_1.ZappiBoostMode.Stop) {
|
|
103
|
+
kwh = 0;
|
|
104
|
+
completeTime = "0000";
|
|
105
|
+
}
|
|
106
|
+
const url = `${this._config.zappi_mode_url}${serialNo}-0-${boostMode}-${kwh}-${completeTime}`;
|
|
107
|
+
const data = yield this._digest.get(url);
|
|
108
|
+
const jsonData = JSON.parse(data);
|
|
109
|
+
return jsonData;
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
return {};
|
|
113
|
+
}
|
|
89
114
|
});
|
|
90
115
|
}
|
|
91
116
|
setZappiGreenLevel(serialNo, percentage) {
|
|
92
117
|
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
118
|
+
try {
|
|
119
|
+
const url = `${this._config.zappi_min_green_url}${serialNo}-${percentage}`;
|
|
120
|
+
const data = yield this._digest.get(url);
|
|
121
|
+
const jsonData = JSON.parse(data);
|
|
122
|
+
return jsonData;
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
return {};
|
|
126
|
+
}
|
|
97
127
|
});
|
|
98
128
|
}
|
|
99
129
|
getStatusEddiAll() {
|
|
100
130
|
return __awaiter(this, void 0, void 0, function* () {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
131
|
+
try {
|
|
132
|
+
const data = yield this._digest.get(this._config.eddi_url);
|
|
133
|
+
const jsonData = JSON.parse(data);
|
|
134
|
+
if (jsonData.eddi)
|
|
135
|
+
return Object.assign([], jsonData.eddi);
|
|
136
|
+
else
|
|
137
|
+
return [];
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
106
140
|
return [];
|
|
141
|
+
}
|
|
107
142
|
});
|
|
108
143
|
}
|
|
109
144
|
getStatusEddi(serialNumber) {
|
|
110
145
|
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
146
|
+
try {
|
|
147
|
+
const data = yield this._digest.get(this._config.eddi_url);
|
|
148
|
+
const jsonData = JSON.parse(data);
|
|
149
|
+
if (jsonData.eddi) {
|
|
150
|
+
const eddi = Object.assign([], jsonData.eddi).find((eddi) => {
|
|
151
|
+
return eddi.sno == serialNumber;
|
|
152
|
+
});
|
|
153
|
+
if (eddi)
|
|
154
|
+
return Object.assign({}, eddi);
|
|
155
|
+
else
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
119
158
|
else
|
|
120
159
|
return null;
|
|
121
160
|
}
|
|
122
|
-
|
|
161
|
+
catch (error) {
|
|
123
162
|
return null;
|
|
163
|
+
}
|
|
124
164
|
});
|
|
125
165
|
}
|
|
126
166
|
setEddiMode(serialNo, mode) {
|
|
127
167
|
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
168
|
+
try {
|
|
169
|
+
const url = `${this._config.eddi_mode_url}${serialNo}-${mode}`;
|
|
170
|
+
const data = yield this._digest.get(url);
|
|
171
|
+
const jsonData = JSON.parse(data);
|
|
172
|
+
return jsonData;
|
|
173
|
+
}
|
|
174
|
+
catch (error) {
|
|
175
|
+
return {};
|
|
176
|
+
}
|
|
132
177
|
});
|
|
133
178
|
}
|
|
134
179
|
setEddiBoost(serialNo, boost, minutes = 0) {
|
|
135
180
|
return __awaiter(this, void 0, void 0, function* () {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
181
|
+
try {
|
|
182
|
+
const url = `${this._config.eddi_boost_url}${serialNo}-${boost}-${minutes}`;
|
|
183
|
+
const data = yield this._digest.get(url);
|
|
184
|
+
const jsonData = JSON.parse(data);
|
|
185
|
+
return jsonData;
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
return {};
|
|
189
|
+
}
|
|
140
190
|
});
|
|
141
191
|
}
|
|
142
192
|
getStatusHarviAll() {
|
|
143
193
|
return __awaiter(this, void 0, void 0, function* () {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
194
|
+
try {
|
|
195
|
+
const data = yield this._digest.get(this._config.harvi_url);
|
|
196
|
+
const jsonData = JSON.parse(data);
|
|
197
|
+
if (jsonData.harvi)
|
|
198
|
+
return Object.assign([], jsonData.harvi);
|
|
199
|
+
else
|
|
200
|
+
return [];
|
|
201
|
+
}
|
|
202
|
+
catch (error) {
|
|
149
203
|
return [];
|
|
204
|
+
}
|
|
150
205
|
});
|
|
151
206
|
}
|
|
152
207
|
getStatusHarvi(serialNumber) {
|
|
153
208
|
return __awaiter(this, void 0, void 0, function* () {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
209
|
+
try {
|
|
210
|
+
const data = yield this._digest.get(this._config.harvi_url);
|
|
211
|
+
const jsonData = JSON.parse(data);
|
|
212
|
+
if (jsonData.harvi) {
|
|
213
|
+
const harvi = Object.assign([], jsonData.harvi).find((harvi) => {
|
|
214
|
+
return harvi.sno == serialNumber;
|
|
215
|
+
});
|
|
216
|
+
if (harvi)
|
|
217
|
+
return Object.assign({}, harvi);
|
|
218
|
+
else
|
|
219
|
+
return null;
|
|
220
|
+
}
|
|
162
221
|
else
|
|
163
222
|
return null;
|
|
164
223
|
}
|
|
165
|
-
|
|
224
|
+
catch (error) {
|
|
166
225
|
return null;
|
|
226
|
+
}
|
|
167
227
|
});
|
|
168
228
|
}
|
|
169
229
|
}
|
package/dist/models/Zappi.d.ts
CHANGED
|
@@ -31,8 +31,8 @@ export interface Zappi {
|
|
|
31
31
|
lck: number;
|
|
32
32
|
pst: string;
|
|
33
33
|
bsm: number;
|
|
34
|
-
bst: number;
|
|
35
34
|
bss: number;
|
|
35
|
+
bst: number;
|
|
36
36
|
sbh: number;
|
|
37
37
|
sbk: number;
|
|
38
38
|
sbm: number;
|
|
@@ -40,6 +40,7 @@ export interface Zappi {
|
|
|
40
40
|
tbk: number;
|
|
41
41
|
tbm: number;
|
|
42
42
|
zmo: number;
|
|
43
|
+
zsh: number;
|
|
43
44
|
rdc: number;
|
|
44
45
|
rac: number;
|
|
45
46
|
rrac: number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "myenergi-api",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "NodeJS implementation of MyEnergi API for controlling Zappi, Eddi and other MyEnergi products",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
],
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "tsc",
|
|
12
|
-
"test": "
|
|
12
|
+
"test": "jest --runInBand --config jestconfig.json",
|
|
13
13
|
"format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
|
|
14
14
|
"lint": "tslint -p tsconfig.json",
|
|
15
15
|
"prepare": "tsc",
|
|
@@ -35,15 +35,16 @@
|
|
|
35
35
|
"homepage": "https://github.com/bisand/myenergi-api#readme",
|
|
36
36
|
"dependencies": {},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@
|
|
39
|
-
"@types/
|
|
38
|
+
"@jest/test-sequencer": "^28.1.1",
|
|
39
|
+
"@types/jest": "^28.1.3",
|
|
40
40
|
"@types/node": "^16.11.12",
|
|
41
|
-
"dotenv": "^16.0.
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"prettier": "^2.
|
|
45
|
-
"ts-
|
|
41
|
+
"dotenv": "^16.0.2",
|
|
42
|
+
"jest": "^28.1.3",
|
|
43
|
+
"nock": "^13.2.9",
|
|
44
|
+
"prettier": "^2.7.1",
|
|
45
|
+
"ts-jest": "^28.0.8",
|
|
46
|
+
"ts-node": "^10.9.1",
|
|
46
47
|
"tslint": "^6.1.3",
|
|
47
|
-
"typescript": "^4.
|
|
48
|
+
"typescript": "^4.8.3"
|
|
48
49
|
}
|
|
49
50
|
}
|