myenergi-api 2.5.0 → 2.6.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 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.
@@ -2,7 +2,7 @@ import { AppKeyValues } from './models/AppKeyValues';
2
2
  import { Eddi } from "./models/Eddi";
3
3
  import { Harvi } from "./models/Harvi";
4
4
  import { KeyValue } from './models/KeyValue';
5
- import { EddiBoost, EddiMode, ZappiBoostMode, ZappiChargeMode } from "./models/Types";
5
+ import { EddiBoost, EddiMode, ZappiBoostMode, ZappiChargeMode, ZappiPhaseSetting } from "./models/Types";
6
6
  import { Zappi } from "./models/Zappi";
7
7
  export declare class MyEnergi {
8
8
  private _config;
@@ -14,6 +14,9 @@ export declare class MyEnergi {
14
14
  setZappiChargeMode(serialNo: string, chargeMode: ZappiChargeMode): Promise<any>;
15
15
  setZappiBoostMode(serialNo: string, boostMode: ZappiBoostMode, kwh?: number, completeTime?: string): Promise<any>;
16
16
  setZappiGreenLevel(serialNo: string, percentage: number): Promise<any>;
17
+ setZappiPhaseSetting(serialNo: string, phaseSetting: ZappiPhaseSetting): Promise<any>;
18
+ getZappiBoostTimes(serialNo: string): Promise<any>;
19
+ setZappiBoostTime(serialNo: string, slot: number, startHour: number, startMinute: number, durationHour: number, durationMinute: number, daySpec: string): Promise<any>;
17
20
  getStatusEddiAll(): Promise<Eddi[]>;
18
21
  getStatusEddi(serialNumber: string): Promise<Eddi | null>;
19
22
  setEddiMode(serialNo: string, mode: EddiMode): Promise<any>;
@@ -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,45 @@ 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
+ getZappiBoostTimes(serialNo) {
147
+ return __awaiter(this, void 0, void 0, function* () {
148
+ try {
149
+ const url = new URL(`${this._config.zappi_boost_time_url}${serialNo}`, this._config.base_url);
150
+ const data = yield this._digest.get(url);
151
+ const jsonData = JSON.parse(data);
152
+ return jsonData;
153
+ }
154
+ catch (error) {
155
+ return {};
156
+ }
157
+ });
158
+ }
159
+ setZappiBoostTime(serialNo, slot, startHour, startMinute, durationHour, durationMinute, daySpec) {
160
+ return __awaiter(this, void 0, void 0, function* () {
161
+ try {
162
+ 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);
163
+ const data = yield this._digest.get(url);
164
+ const jsonData = JSON.parse(data);
165
+ return jsonData;
166
+ }
167
+ catch (error) {
168
+ return {};
169
+ }
170
+ });
171
+ }
131
172
  getStatusEddiAll() {
132
173
  return __awaiter(this, void 0, void 0, function* () {
133
174
  try {
@@ -1,6 +1,6 @@
1
1
  import { Eddi } from "./models/Eddi";
2
2
  import { Harvi } from "./models/Harvi";
3
- import { EddiBoost, EddiHeaterStatus, EddiMode, ZappiBoostMode, ZappiChargeMode, ZappiStatus } from "./models/Types";
3
+ import { EddiBoost, EddiHeaterStatus, EddiMode, ZappiBoostMode, ZappiChargeMode, ZappiPhaseSetting, ZappiStatus } from "./models/Types";
4
4
  import { Zappi } from "./models/Zappi";
5
5
  import { MyEnergi } from "./MyEnergi";
6
- export { MyEnergi, Eddi, Zappi, Harvi, EddiBoost, EddiMode, EddiHeaterStatus, ZappiBoostMode, ZappiChargeMode, ZappiStatus };
6
+ export { MyEnergi, Eddi, Zappi, Harvi, 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; } });
@@ -40,3 +40,8 @@ export declare enum ZappiStatus {
40
40
  Charging = "C2",
41
41
  Fault = "F"
42
42
  }
43
+ export declare enum ZappiPhaseSetting {
44
+ SinglePhase = 0,
45
+ ThreePhase = 1,
46
+ Auto = 2
47
+ }
@@ -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 = {}));
@@ -46,4 +46,5 @@ export interface Zappi {
46
46
  rrac: number;
47
47
  zs: number;
48
48
  zsl: number;
49
+ phaseSetting?: string;
49
50
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myenergi-api",
3
- "version": "2.5.0",
3
+ "version": "2.6.0",
4
4
  "description": "NodeJS implementation of MyEnergi API for controlling Zappi, Eddi and other MyEnergi products",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",