myenergi-api 2.5.0 → 2.7.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/README.md +22 -0
- package/dist/src/MyEnergi.d.ts +6 -1
- package/dist/src/MyEnergi.js +63 -0
- package/dist/src/index.d.ts +3 -2
- package/dist/src/index.js +2 -1
- package/dist/src/models/HistoryRecord.d.ts +27 -0
- package/dist/src/models/HistoryRecord.js +2 -0
- package/dist/src/models/Types.d.ts +5 -0
- package/dist/src/models/Types.js +7 -1
- package/dist/src/models/Zappi.d.ts +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -83,6 +83,28 @@ In ECO and ECO+ you can use the boosts to top up your battery quickly. There ar
|
|
|
83
83
|
const result = await myenergi.setZappiBoostMode(sno, ZappiBoostMode.Smart, 22, '0615');
|
|
84
84
|
console.log(result);
|
|
85
85
|
```
|
|
86
|
+
### Get Zappi boost times
|
|
87
|
+
Gets the boost charge times schedule. Returns the times as list of 4 available slots.
|
|
88
|
+
```typescript
|
|
89
|
+
const result = await myenergi.getZappiBoostTimes(sno);
|
|
90
|
+
console.log(result);
|
|
91
|
+
```
|
|
92
|
+
### Set Zappi boost time
|
|
93
|
+
Sets the boost time schedule.
|
|
94
|
+
|
|
95
|
+
The arguments are:
|
|
96
|
+
1. Serial number of zappi device
|
|
97
|
+
2. The slot number (obtained by calling getZappiBoostTimes and likely to be 11-14)
|
|
98
|
+
3. Start hour (0-23)
|
|
99
|
+
4. Start minutes (must be 0, 15, 30 or 45)
|
|
100
|
+
5. Duration hours (0-9)
|
|
101
|
+
6. Duration minutes (must be 0, 15, 30 or 45)
|
|
102
|
+
7. Day enablements (always starts with zero and the following seven digits are Monday-Sunday))
|
|
103
|
+
|
|
104
|
+
```typescript
|
|
105
|
+
const result = await myenergi.setZappiBoostTime(sno, 11, 23, 45, 2, 30, '01111111');
|
|
106
|
+
console.log(result);
|
|
107
|
+
```
|
|
86
108
|
|
|
87
109
|
### Get status for all Harvi devices
|
|
88
110
|
Return status of all Harvi devices connected to the hub.
|
package/dist/src/MyEnergi.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { AppKeyValues } from './models/AppKeyValues';
|
|
2
2
|
import { Eddi } from "./models/Eddi";
|
|
3
3
|
import { Harvi } from "./models/Harvi";
|
|
4
|
+
import { HistoryRecord } from './models/HistoryRecord';
|
|
4
5
|
import { KeyValue } from './models/KeyValue';
|
|
5
|
-
import { EddiBoost, EddiMode, ZappiBoostMode, ZappiChargeMode } from "./models/Types";
|
|
6
|
+
import { EddiBoost, EddiMode, ZappiBoostMode, ZappiChargeMode, ZappiPhaseSetting } from "./models/Types";
|
|
6
7
|
import { Zappi } from "./models/Zappi";
|
|
7
8
|
export declare class MyEnergi {
|
|
8
9
|
private _config;
|
|
@@ -14,6 +15,10 @@ export declare class MyEnergi {
|
|
|
14
15
|
setZappiChargeMode(serialNo: string, chargeMode: ZappiChargeMode): Promise<any>;
|
|
15
16
|
setZappiBoostMode(serialNo: string, boostMode: ZappiBoostMode, kwh?: number, completeTime?: string): Promise<any>;
|
|
16
17
|
setZappiGreenLevel(serialNo: string, percentage: number): Promise<any>;
|
|
18
|
+
setZappiPhaseSetting(serialNo: string, phaseSetting: ZappiPhaseSetting): Promise<any>;
|
|
19
|
+
getDayHourHistory(id: string, year: number, month: number, day: number, startHour?: number, noHours?: number): Promise<HistoryRecord[]>;
|
|
20
|
+
getZappiBoostTimes(serialNo: string): Promise<any>;
|
|
21
|
+
setZappiBoostTime(serialNo: string, slot: number, startHour: number, startMinute: number, durationHour: number, durationMinute: number, daySpec: string): Promise<any>;
|
|
17
22
|
getStatusEddiAll(): Promise<Eddi[]>;
|
|
18
23
|
getStatusEddi(serialNumber: string): Promise<Eddi | null>;
|
|
19
24
|
setEddiMode(serialNo: string, mode: EddiMode): Promise<any>;
|
package/dist/src/MyEnergi.js
CHANGED
|
@@ -25,6 +25,8 @@ class MyEnergi {
|
|
|
25
25
|
dayhour_url: "/cgi-jdayhour-",
|
|
26
26
|
zappi_mode_url: "/cgi-zappi-mode-Z",
|
|
27
27
|
zappi_min_green_url: "/cgi-set-min-green-Z",
|
|
28
|
+
zappi_phase_setting_url: "/cgi-zappi-phase-setting-Z",
|
|
29
|
+
zappi_boost_time_url: "/cgi-boost-time-Z",
|
|
28
30
|
eddi_mode_url: "/cgi-eddi-mode-E",
|
|
29
31
|
eddi_boost_url: "/cgi-eddi-boost-E",
|
|
30
32
|
get_app_key_url: "/cgi-get-app-key",
|
|
@@ -128,6 +130,67 @@ class MyEnergi {
|
|
|
128
130
|
}
|
|
129
131
|
});
|
|
130
132
|
}
|
|
133
|
+
setZappiPhaseSetting(serialNo, phaseSetting) {
|
|
134
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
135
|
+
try {
|
|
136
|
+
const url = new URL(`${this._config.zappi_phase_setting_url}${serialNo}-${phaseSetting}`, this._config.base_url);
|
|
137
|
+
const data = yield this._digest.get(url);
|
|
138
|
+
const jsonData = JSON.parse(data);
|
|
139
|
+
return jsonData;
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
return {};
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
getDayHourHistory(id, year, month, day, startHour, noHours) {
|
|
147
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
148
|
+
try {
|
|
149
|
+
let path = `${this._config.dayhour_url}${id}-${year}-${month}-${day}`;
|
|
150
|
+
if (startHour !== undefined) {
|
|
151
|
+
path += `-${startHour}`;
|
|
152
|
+
if (noHours !== undefined) {
|
|
153
|
+
path += `-${noHours}`;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
const url = new URL(path, this._config.base_url);
|
|
157
|
+
const data = yield this._digest.get(url);
|
|
158
|
+
const jsonData = JSON.parse(data);
|
|
159
|
+
const key = Object.keys(jsonData)[0];
|
|
160
|
+
const records = key ? jsonData[key] : undefined;
|
|
161
|
+
return Array.isArray(records) ? records : [];
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
return [];
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
getZappiBoostTimes(serialNo) {
|
|
169
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
170
|
+
try {
|
|
171
|
+
const url = new URL(`${this._config.zappi_boost_time_url}${serialNo}`, this._config.base_url);
|
|
172
|
+
const data = yield this._digest.get(url);
|
|
173
|
+
const jsonData = JSON.parse(data);
|
|
174
|
+
return jsonData;
|
|
175
|
+
}
|
|
176
|
+
catch (error) {
|
|
177
|
+
return {};
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
setZappiBoostTime(serialNo, slot, startHour, startMinute, durationHour, durationMinute, daySpec) {
|
|
182
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
183
|
+
try {
|
|
184
|
+
const url = new URL(`${this._config.zappi_boost_time_url}${serialNo}-${slot}-${startHour.toString().padStart(2, '0')}${startMinute.toString().padStart(2, '0')}-${durationHour}${durationMinute.toString().padStart(2, '0')}-${daySpec}`, this._config.base_url);
|
|
185
|
+
const data = yield this._digest.get(url);
|
|
186
|
+
const jsonData = JSON.parse(data);
|
|
187
|
+
return jsonData;
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
return {};
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
}
|
|
131
194
|
getStatusEddiAll() {
|
|
132
195
|
return __awaiter(this, void 0, void 0, function* () {
|
|
133
196
|
try {
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Eddi } from "./models/Eddi";
|
|
2
2
|
import { Harvi } from "./models/Harvi";
|
|
3
|
-
import {
|
|
3
|
+
import { HistoryRecord } from "./models/HistoryRecord";
|
|
4
|
+
import { EddiBoost, EddiHeaterStatus, EddiMode, ZappiBoostMode, ZappiChargeMode, ZappiPhaseSetting, ZappiStatus } from "./models/Types";
|
|
4
5
|
import { Zappi } from "./models/Zappi";
|
|
5
6
|
import { MyEnergi } from "./MyEnergi";
|
|
6
|
-
export { MyEnergi, Eddi, Zappi, Harvi, EddiBoost, EddiMode, EddiHeaterStatus, ZappiBoostMode, ZappiChargeMode, ZappiStatus };
|
|
7
|
+
export { MyEnergi, Eddi, Zappi, Harvi, HistoryRecord, EddiBoost, EddiMode, EddiHeaterStatus, ZappiBoostMode, ZappiChargeMode, ZappiPhaseSetting, ZappiStatus };
|
package/dist/src/index.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ZappiStatus = exports.ZappiChargeMode = exports.ZappiBoostMode = exports.EddiHeaterStatus = exports.EddiMode = exports.EddiBoost = exports.MyEnergi = void 0;
|
|
3
|
+
exports.ZappiStatus = exports.ZappiPhaseSetting = exports.ZappiChargeMode = exports.ZappiBoostMode = exports.EddiHeaterStatus = exports.EddiMode = exports.EddiBoost = exports.MyEnergi = void 0;
|
|
4
4
|
const Types_1 = require("./models/Types");
|
|
5
5
|
Object.defineProperty(exports, "EddiBoost", { enumerable: true, get: function () { return Types_1.EddiBoost; } });
|
|
6
6
|
Object.defineProperty(exports, "EddiHeaterStatus", { enumerable: true, get: function () { return Types_1.EddiHeaterStatus; } });
|
|
7
7
|
Object.defineProperty(exports, "EddiMode", { enumerable: true, get: function () { return Types_1.EddiMode; } });
|
|
8
8
|
Object.defineProperty(exports, "ZappiBoostMode", { enumerable: true, get: function () { return Types_1.ZappiBoostMode; } });
|
|
9
9
|
Object.defineProperty(exports, "ZappiChargeMode", { enumerable: true, get: function () { return Types_1.ZappiChargeMode; } });
|
|
10
|
+
Object.defineProperty(exports, "ZappiPhaseSetting", { enumerable: true, get: function () { return Types_1.ZappiPhaseSetting; } });
|
|
10
11
|
Object.defineProperty(exports, "ZappiStatus", { enumerable: true, get: function () { return Types_1.ZappiStatus; } });
|
|
11
12
|
const MyEnergi_1 = require("./MyEnergi");
|
|
12
13
|
Object.defineProperty(exports, "MyEnergi", { enumerable: true, get: function () { return MyEnergi_1.MyEnergi; } });
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface HistoryRecord {
|
|
2
|
+
min?: number;
|
|
3
|
+
hr?: number;
|
|
4
|
+
dow?: string;
|
|
5
|
+
dom?: number;
|
|
6
|
+
mon?: number;
|
|
7
|
+
yr?: number;
|
|
8
|
+
imp?: number;
|
|
9
|
+
exp?: number;
|
|
10
|
+
gep?: number;
|
|
11
|
+
gen?: number;
|
|
12
|
+
h1d?: number;
|
|
13
|
+
h1b?: number;
|
|
14
|
+
h2d?: number;
|
|
15
|
+
h2b?: number;
|
|
16
|
+
h3d?: number;
|
|
17
|
+
h3b?: number;
|
|
18
|
+
pect1?: number;
|
|
19
|
+
nect1?: number;
|
|
20
|
+
pect2?: number;
|
|
21
|
+
nect2?: number;
|
|
22
|
+
pect3?: number;
|
|
23
|
+
nect3?: number;
|
|
24
|
+
v1?: number;
|
|
25
|
+
frq?: number;
|
|
26
|
+
pst?: string;
|
|
27
|
+
}
|
package/dist/src/models/Types.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ZappiStatus = exports.ZappiChargeMode = exports.ZappiBoostMode = exports.EddiMode = exports.EddiHeaterStatus = exports.EddiBoost = void 0;
|
|
3
|
+
exports.ZappiPhaseSetting = exports.ZappiStatus = exports.ZappiChargeMode = exports.ZappiBoostMode = exports.EddiMode = exports.EddiHeaterStatus = exports.EddiBoost = void 0;
|
|
4
4
|
var EddiBoost;
|
|
5
5
|
(function (EddiBoost) {
|
|
6
6
|
EddiBoost["CancelHeater1"] = "1-1";
|
|
@@ -49,3 +49,9 @@ var ZappiStatus;
|
|
|
49
49
|
ZappiStatus["Charging"] = "C2";
|
|
50
50
|
ZappiStatus["Fault"] = "F";
|
|
51
51
|
})(ZappiStatus = exports.ZappiStatus || (exports.ZappiStatus = {}));
|
|
52
|
+
var ZappiPhaseSetting;
|
|
53
|
+
(function (ZappiPhaseSetting) {
|
|
54
|
+
ZappiPhaseSetting[ZappiPhaseSetting["SinglePhase"] = 0] = "SinglePhase";
|
|
55
|
+
ZappiPhaseSetting[ZappiPhaseSetting["ThreePhase"] = 1] = "ThreePhase";
|
|
56
|
+
ZappiPhaseSetting[ZappiPhaseSetting["Auto"] = 2] = "Auto";
|
|
57
|
+
})(ZappiPhaseSetting = exports.ZappiPhaseSetting || (exports.ZappiPhaseSetting = {}));
|
package/package.json
CHANGED