myenergi-api 1.0.3 → 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.
@@ -5,7 +5,7 @@ import { Zappi } from "./models/Zappi";
5
5
  export declare class MyEnergi {
6
6
  private _config;
7
7
  private _digest;
8
- constructor(username: string, password: string);
8
+ constructor(username: string, password: string, apiBaseUrl?: string);
9
9
  getStatusAll(): Promise<any>;
10
10
  getStatusZappiAll(): Promise<Zappi[]>;
11
11
  getStatusZappi(serialNumber: string): Promise<Zappi | null>;
package/dist/MyEnergi.js CHANGED
@@ -13,7 +13,7 @@ exports.MyEnergi = void 0;
13
13
  const Digest_1 = require("./Digest");
14
14
  const Types_1 = require("./models/Types");
15
15
  class MyEnergi {
16
- constructor(username, password) {
16
+ constructor(username, password, apiBaseUrl) {
17
17
  this._config = {
18
18
  username: "",
19
19
  password: "",
@@ -30,138 +30,200 @@ class MyEnergi {
30
30
  };
31
31
  this._config.username = username;
32
32
  this._config.password = password;
33
+ if (apiBaseUrl)
34
+ this._config.base_url = apiBaseUrl;
33
35
  this._digest = new Digest_1.Digest(this._config.base_url, this._config.username, this._config.password);
34
36
  }
35
37
  getStatusAll() {
36
38
  return __awaiter(this, void 0, void 0, function* () {
37
- const data = yield this._digest.get(this._config.status_url);
38
- const jsonData = JSON.parse(data);
39
- return jsonData;
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
+ }
40
47
  });
41
48
  }
42
49
  getStatusZappiAll() {
43
50
  return __awaiter(this, void 0, void 0, function* () {
44
- const data = yield this._digest.get(this._config.zappi_url);
45
- const jsonData = JSON.parse(data);
46
- if (jsonData.zappi)
47
- return Object.assign([], jsonData.zappi);
48
- else
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) {
49
60
  return [];
61
+ }
50
62
  });
51
63
  }
52
64
  getStatusZappi(serialNumber) {
53
65
  return __awaiter(this, void 0, void 0, function* () {
54
- const data = yield this._digest.get(this._config.zappi_url);
55
- const jsonData = JSON.parse(data);
56
- if (jsonData.zappi) {
57
- const zappi = Object.assign([], jsonData.zappi).find((zappi) => {
58
- return zappi.sno === serialNumber;
59
- });
60
- if (zappi)
61
- return Object.assign({}, zappi);
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
+ }
62
78
  else
63
79
  return null;
64
80
  }
65
- else
81
+ catch (error) {
66
82
  return null;
83
+ }
67
84
  });
68
85
  }
69
86
  setZappiChargeMode(serialNo, chargeMode) {
70
87
  return __awaiter(this, void 0, void 0, function* () {
71
- const url = `${this._config.zappi_mode_url}${serialNo}-${chargeMode}-0-0-0000`;
72
- const data = yield this._digest.get(url);
73
- const jsonData = JSON.parse(data);
74
- return jsonData;
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
+ }
75
97
  });
76
98
  }
77
99
  setZappiBoostMode(serialNo, boostMode, kwh = 0, completeTime = "0000") {
78
100
  return __awaiter(this, void 0, void 0, function* () {
79
- if (boostMode === Types_1.ZappiBoostMode.Stop) {
80
- kwh = 0;
81
- completeTime = "0000";
82
- }
83
- const url = `${this._config.zappi_mode_url}${serialNo}-0-${boostMode}-${kwh}-${completeTime}`;
84
- const data = yield this._digest.get(url);
85
- const jsonData = JSON.parse(data);
86
- return jsonData;
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
+ }
87
114
  });
88
115
  }
89
116
  setZappiGreenLevel(serialNo, percentage) {
90
117
  return __awaiter(this, void 0, void 0, function* () {
91
- const url = `${this._config.zappi_min_green_url}${serialNo}-${percentage}`;
92
- const data = yield this._digest.get(url);
93
- const jsonData = JSON.parse(data);
94
- return jsonData;
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
+ }
95
127
  });
96
128
  }
97
129
  getStatusEddiAll() {
98
130
  return __awaiter(this, void 0, void 0, function* () {
99
- const data = yield this._digest.get(this._config.eddi_url);
100
- const jsonData = JSON.parse(data);
101
- if (jsonData.eddi)
102
- return Object.assign([], jsonData.eddi);
103
- else
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) {
104
140
  return [];
141
+ }
105
142
  });
106
143
  }
107
144
  getStatusEddi(serialNumber) {
108
145
  return __awaiter(this, void 0, void 0, function* () {
109
- const data = yield this._digest.get(this._config.eddi_url);
110
- const jsonData = JSON.parse(data);
111
- if (jsonData.eddi) {
112
- const eddi = Object.assign([], jsonData.eddi).find((eddi) => {
113
- return eddi.sno === serialNumber;
114
- });
115
- if (eddi)
116
- return Object.assign({}, eddi);
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
+ }
117
158
  else
118
159
  return null;
119
160
  }
120
- else
161
+ catch (error) {
121
162
  return null;
163
+ }
122
164
  });
123
165
  }
124
166
  setEddiMode(serialNo, mode) {
125
167
  return __awaiter(this, void 0, void 0, function* () {
126
- const url = `${this._config.eddi_mode_url}${serialNo}-${mode}`;
127
- const data = yield this._digest.get(url);
128
- const jsonData = JSON.parse(data);
129
- return jsonData;
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
+ }
130
177
  });
131
178
  }
132
179
  setEddiBoost(serialNo, boost, minutes = 0) {
133
180
  return __awaiter(this, void 0, void 0, function* () {
134
- const url = `${this._config.eddi_boost_url}${serialNo}-${boost}-${minutes}`;
135
- const data = yield this._digest.get(url);
136
- const jsonData = JSON.parse(data);
137
- return jsonData;
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
+ }
138
190
  });
139
191
  }
140
192
  getStatusHarviAll() {
141
193
  return __awaiter(this, void 0, void 0, function* () {
142
- const data = yield this._digest.get(this._config.harvi_url);
143
- const jsonData = JSON.parse(data);
144
- if (jsonData.harvi)
145
- return Object.assign([], jsonData.harvi);
146
- else
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) {
147
203
  return [];
204
+ }
148
205
  });
149
206
  }
150
207
  getStatusHarvi(serialNumber) {
151
208
  return __awaiter(this, void 0, void 0, function* () {
152
- const data = yield this._digest.get(this._config.harvi_url);
153
- const jsonData = JSON.parse(data);
154
- if (jsonData.harvi) {
155
- const harvi = Object.assign([], jsonData.harvi).find((harvi) => {
156
- return harvi.sno === serialNumber;
157
- });
158
- if (harvi)
159
- return Object.assign({}, harvi);
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
+ }
160
221
  else
161
222
  return null;
162
223
  }
163
- else
224
+ catch (error) {
164
225
  return null;
226
+ }
165
227
  });
166
228
  }
167
229
  }
@@ -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": "1.0.3",
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": "env TS_NODE_PROJECT='tsconfig.testing.json' mocha -r ts-node/register tests/**/*-spec.ts",
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
- "@types/chai": "^4.3.0",
39
- "@types/mocha": "^9.1.0",
38
+ "@jest/test-sequencer": "^28.1.1",
39
+ "@types/jest": "^28.1.3",
40
40
  "@types/node": "^16.11.12",
41
- "dotenv": "^16.0.0",
42
- "chai": "^4.3.6",
43
- "mocha": "^9.2.1",
44
- "prettier": "^2.5.1",
45
- "ts-node": "^10.7.0",
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.6.2"
48
+ "typescript": "^4.8.3"
48
49
  }
49
50
  }