myenergi-api 0.6.0 → 0.9.1

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.
@@ -1,16 +1,7 @@
1
+ import { Eddi } from './models/Eddi';
1
2
  import { Harvi } from './models/Harvi';
3
+ import { EddiBoost, EddiMode, ZappiBoostMode, ZappiChargeMode } from './models/Types';
2
4
  import { Zappi } from './models/Zappi';
3
- export declare enum ZappiChargeMode {
4
- Off = 4,
5
- Fast = 1,
6
- Eco = 2,
7
- EcoPlus = 3
8
- }
9
- export declare enum ZappiBoostMode {
10
- Manual = 10,
11
- Smart = 11,
12
- Stop = 2
13
- }
14
5
  export declare class MyEnergi {
15
6
  private _config;
16
7
  private _digest;
@@ -21,6 +12,10 @@ export declare class MyEnergi {
21
12
  setZappiChargeMode(serialNo: string, chargeMode: ZappiChargeMode): Promise<any>;
22
13
  setZappiBoostMode(serialNo: string, boostMode: ZappiBoostMode, kwh?: number, completeTime?: string): Promise<any>;
23
14
  setZappiGreenLevel(serialNo: string, percentage: number): Promise<any>;
15
+ getStatusEddiAll(): Promise<Eddi[]>;
16
+ getStatusEddi(serialNumber: string): Promise<Eddi | null>;
17
+ setEddiMode(serialNo: string, mode: EddiMode): Promise<any>;
18
+ setEddiBoost(serialNo: string, boost: EddiBoost, minutes?: number): Promise<any>;
24
19
  getStatusHarviAll(): Promise<Harvi[]>;
25
20
  getStatusHarvi(serialNumber: string): Promise<Harvi | null>;
26
21
  }
package/dist/MyEnergi.js CHANGED
@@ -9,21 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.MyEnergi = exports.ZappiBoostMode = exports.ZappiChargeMode = void 0;
12
+ exports.MyEnergi = void 0;
13
13
  const Digest_1 = require("./Digest");
14
- var ZappiChargeMode;
15
- (function (ZappiChargeMode) {
16
- ZappiChargeMode[ZappiChargeMode["Off"] = 4] = "Off";
17
- ZappiChargeMode[ZappiChargeMode["Fast"] = 1] = "Fast";
18
- ZappiChargeMode[ZappiChargeMode["Eco"] = 2] = "Eco";
19
- ZappiChargeMode[ZappiChargeMode["EcoPlus"] = 3] = "EcoPlus";
20
- })(ZappiChargeMode = exports.ZappiChargeMode || (exports.ZappiChargeMode = {}));
21
- var ZappiBoostMode;
22
- (function (ZappiBoostMode) {
23
- ZappiBoostMode[ZappiBoostMode["Manual"] = 10] = "Manual";
24
- ZappiBoostMode[ZappiBoostMode["Smart"] = 11] = "Smart";
25
- ZappiBoostMode[ZappiBoostMode["Stop"] = 2] = "Stop";
26
- })(ZappiBoostMode = exports.ZappiBoostMode || (exports.ZappiBoostMode = {}));
14
+ const Types_1 = require("./models/Types");
27
15
  class MyEnergi {
28
16
  constructor(username, password) {
29
17
  this._config = {
@@ -37,6 +25,8 @@ class MyEnergi {
37
25
  dayhour_url: '/cgi-jdayhour-',
38
26
  zappi_mode_url: '/cgi-zappi-mode-Z',
39
27
  zappi_min_green_url: '/cgi-set-min-green-Z',
28
+ eddi_mode_url: '/cgi-eddi-mode-E',
29
+ eddi_boost_url: '/cgi-eddi-boost-E'
40
30
  //https://s18.myenergi.net/cgi-jdayhour-Znnnnnnnn-YYYY-MM-DD
41
31
  };
42
32
  this._config.username = username;
@@ -87,7 +77,7 @@ class MyEnergi {
87
77
  }
88
78
  setZappiBoostMode(serialNo, boostMode, kwh = 0, completeTime = '0000') {
89
79
  return __awaiter(this, void 0, void 0, function* () {
90
- if (boostMode === ZappiBoostMode.Stop) {
80
+ if (boostMode === Types_1.ZappiBoostMode.Stop) {
91
81
  kwh = 0;
92
82
  completeTime = '0000';
93
83
  }
@@ -105,6 +95,49 @@ class MyEnergi {
105
95
  return jsonData;
106
96
  });
107
97
  }
98
+ getStatusEddiAll() {
99
+ return __awaiter(this, void 0, void 0, function* () {
100
+ const data = yield this._digest.get(this._config.eddi_url);
101
+ const jsonData = JSON.parse(data);
102
+ if (jsonData.eddi)
103
+ return Object.assign([], jsonData.eddi);
104
+ else
105
+ return [];
106
+ });
107
+ }
108
+ getStatusEddi(serialNumber) {
109
+ return __awaiter(this, void 0, void 0, function* () {
110
+ const data = yield this._digest.get(this._config.eddi_url);
111
+ const jsonData = JSON.parse(data);
112
+ if (jsonData.eddi) {
113
+ const eddi = Object.assign([], jsonData.eddi).find((eddi) => {
114
+ return eddi.sno === serialNumber;
115
+ });
116
+ if (eddi)
117
+ return Object.assign({}, eddi);
118
+ else
119
+ return null;
120
+ }
121
+ else
122
+ return null;
123
+ });
124
+ }
125
+ setEddiMode(serialNo, mode) {
126
+ return __awaiter(this, void 0, void 0, function* () {
127
+ const url = `${this._config.eddi_mode_url}${serialNo}-${mode}`;
128
+ const data = yield this._digest.get(url);
129
+ const jsonData = JSON.parse(data);
130
+ return jsonData;
131
+ });
132
+ }
133
+ setEddiBoost(serialNo, boost, minutes = 0) {
134
+ return __awaiter(this, void 0, void 0, function* () {
135
+ const url = `${this._config.eddi_boost_url}${serialNo}-${boost}-${minutes}`;
136
+ const data = yield this._digest.get(url);
137
+ const jsonData = JSON.parse(data);
138
+ return jsonData;
139
+ });
140
+ }
108
141
  getStatusHarviAll() {
109
142
  return __awaiter(this, void 0, void 0, function* () {
110
143
  const data = yield this._digest.get(this._config.harvi_url);
package/dist/index.d.ts CHANGED
@@ -1,2 +1,6 @@
1
+ import { Eddi } from './models/Eddi';
2
+ import { Harvi } from './models/Harvi';
3
+ import { EddiBoost, EddiMode, ZappiBoostMode, ZappiChargeMode } from './models/Types';
4
+ import { Zappi } from './models/Zappi';
1
5
  import { MyEnergi } from './MyEnergi';
2
- export { MyEnergi };
6
+ export { MyEnergi, Eddi, Zappi, Harvi, EddiBoost, EddiMode, ZappiBoostMode, ZappiChargeMode };
package/dist/index.js CHANGED
@@ -1,5 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MyEnergi = void 0;
3
+ exports.ZappiChargeMode = exports.ZappiBoostMode = exports.EddiMode = exports.EddiBoost = exports.MyEnergi = void 0;
4
+ const Types_1 = require("./models/Types");
5
+ Object.defineProperty(exports, "EddiBoost", { enumerable: true, get: function () { return Types_1.EddiBoost; } });
6
+ Object.defineProperty(exports, "EddiMode", { enumerable: true, get: function () { return Types_1.EddiMode; } });
7
+ Object.defineProperty(exports, "ZappiBoostMode", { enumerable: true, get: function () { return Types_1.ZappiBoostMode; } });
8
+ Object.defineProperty(exports, "ZappiChargeMode", { enumerable: true, get: function () { return Types_1.ZappiChargeMode; } });
4
9
  const MyEnergi_1 = require("./MyEnergi");
5
10
  Object.defineProperty(exports, "MyEnergi", { enumerable: true, get: function () { return MyEnergi_1.MyEnergi; } });
@@ -0,0 +1,31 @@
1
+ export interface Eddi {
2
+ sno: string;
3
+ bsm: number;
4
+ che: number;
5
+ cmt: number;
6
+ dat: string;
7
+ div: number;
8
+ dst: number;
9
+ ectp1: number;
10
+ ectp2: number;
11
+ ectt1: string;
12
+ ectt2: string;
13
+ frq: number;
14
+ fwv: number;
15
+ gen: number;
16
+ grd: number;
17
+ hno: number;
18
+ ht1: string;
19
+ ht2: string;
20
+ pha: number;
21
+ pri: number;
22
+ r1a: number;
23
+ r2a: number;
24
+ r2b: number;
25
+ rbt: number;
26
+ sta: number;
27
+ tim: string;
28
+ tp: number;
29
+ tp2: number;
30
+ vol: number;
31
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,32 @@
1
+ export declare enum EddiBoost {
2
+ CancelHeater1 = "1-1",
3
+ CancelHeater2 = "1-1",
4
+ CancelRelay1 = "1-11",
5
+ CancelRelay2 = "1-12",
6
+ ManualHeater1 = "10-1",
7
+ ManualHeater2 = "10-1",
8
+ ManualRelay1 = "10-11",
9
+ ManualRelay2 = "10-12"
10
+ }
11
+ export declare enum EddiHeaterStatus {
12
+ Paused = 1,
13
+ Diverting = 3,
14
+ Boost = 4,
15
+ MaxTempReached = 5,
16
+ Stopped = 6
17
+ }
18
+ export declare enum EddiMode {
19
+ Off = 0,
20
+ On = 1
21
+ }
22
+ export declare enum ZappiBoostMode {
23
+ Manual = 10,
24
+ Smart = 11,
25
+ Stop = 2
26
+ }
27
+ export declare enum ZappiChargeMode {
28
+ Off = 4,
29
+ Fast = 1,
30
+ Eco = 2,
31
+ EcoPlus = 3
32
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZappiChargeMode = exports.ZappiBoostMode = exports.EddiMode = exports.EddiHeaterStatus = exports.EddiBoost = void 0;
4
+ var EddiBoost;
5
+ (function (EddiBoost) {
6
+ EddiBoost["CancelHeater1"] = "1-1";
7
+ EddiBoost["CancelHeater2"] = "1-1";
8
+ EddiBoost["CancelRelay1"] = "1-11";
9
+ EddiBoost["CancelRelay2"] = "1-12";
10
+ EddiBoost["ManualHeater1"] = "10-1";
11
+ EddiBoost["ManualHeater2"] = "10-1";
12
+ EddiBoost["ManualRelay1"] = "10-11";
13
+ EddiBoost["ManualRelay2"] = "10-12";
14
+ })(EddiBoost = exports.EddiBoost || (exports.EddiBoost = {}));
15
+ var EddiHeaterStatus;
16
+ (function (EddiHeaterStatus) {
17
+ EddiHeaterStatus[EddiHeaterStatus["Paused"] = 1] = "Paused";
18
+ EddiHeaterStatus[EddiHeaterStatus["Diverting"] = 3] = "Diverting";
19
+ EddiHeaterStatus[EddiHeaterStatus["Boost"] = 4] = "Boost";
20
+ EddiHeaterStatus[EddiHeaterStatus["MaxTempReached"] = 5] = "MaxTempReached";
21
+ EddiHeaterStatus[EddiHeaterStatus["Stopped"] = 6] = "Stopped";
22
+ })(EddiHeaterStatus = exports.EddiHeaterStatus || (exports.EddiHeaterStatus = {}));
23
+ var EddiMode;
24
+ (function (EddiMode) {
25
+ EddiMode[EddiMode["Off"] = 0] = "Off";
26
+ EddiMode[EddiMode["On"] = 1] = "On";
27
+ })(EddiMode = exports.EddiMode || (exports.EddiMode = {}));
28
+ var ZappiBoostMode;
29
+ (function (ZappiBoostMode) {
30
+ ZappiBoostMode[ZappiBoostMode["Manual"] = 10] = "Manual";
31
+ ZappiBoostMode[ZappiBoostMode["Smart"] = 11] = "Smart";
32
+ ZappiBoostMode[ZappiBoostMode["Stop"] = 2] = "Stop";
33
+ })(ZappiBoostMode = exports.ZappiBoostMode || (exports.ZappiBoostMode = {}));
34
+ var ZappiChargeMode;
35
+ (function (ZappiChargeMode) {
36
+ ZappiChargeMode[ZappiChargeMode["Off"] = 4] = "Off";
37
+ ZappiChargeMode[ZappiChargeMode["Fast"] = 1] = "Fast";
38
+ ZappiChargeMode[ZappiChargeMode["Eco"] = 2] = "Eco";
39
+ ZappiChargeMode[ZappiChargeMode["EcoPlus"] = 3] = "EcoPlus";
40
+ })(ZappiChargeMode = exports.ZappiChargeMode || (exports.ZappiChargeMode = {}));
@@ -14,8 +14,6 @@ export interface Zappi {
14
14
  ectt4: string;
15
15
  ectt5: string;
16
16
  ectt6: string;
17
- bsm: number;
18
- bst: number;
19
17
  cmt: number;
20
18
  dst: number;
21
19
  div: number;
@@ -23,15 +21,24 @@ export interface Zappi {
23
21
  fwv: string;
24
22
  gen: number;
25
23
  grd: number;
24
+ mgl: number;
26
25
  pha: number;
27
26
  pri: number;
28
27
  sta: number;
29
28
  tz: number;
30
29
  vol: number;
31
30
  che: number;
32
- bss: number;
33
31
  lck: number;
34
32
  pst: string;
33
+ bsm: number;
34
+ bst: number;
35
+ bss: number;
36
+ sbh: number;
37
+ sbk: number;
38
+ sbm: number;
39
+ tbh: number;
40
+ tbk: number;
41
+ tbm: number;
35
42
  zmo: number;
36
43
  zs: number;
37
44
  rdc: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myenergi-api",
3
- "version": "0.6.0",
3
+ "version": "0.9.1",
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",
@@ -33,18 +33,17 @@
33
33
  "url": "https://github.com/bisand/myenergi-api/issues"
34
34
  },
35
35
  "homepage": "https://github.com/bisand/myenergi-api#readme",
36
- "dependencies": {
37
- "dotenv": "^10.0.0"
38
- },
36
+ "dependencies": {},
39
37
  "devDependencies": {
40
- "@types/chai": "^4.2.22",
38
+ "@types/chai": "^4.3.0",
41
39
  "@types/mocha": "^9.0.0",
42
- "@types/node": "^16.11.9",
40
+ "@types/node": "^16.11.12",
41
+ "dotenv": "^10.0.0",
43
42
  "chai": "^4.3.4",
44
43
  "mocha": "^9.1.3",
45
- "prettier": "^2.4.1",
44
+ "prettier": "^2.5.1",
46
45
  "ts-node": "^10.4.0",
47
46
  "tslint": "^6.1.3",
48
- "typescript": "^4.5.2"
47
+ "typescript": "^4.5.3"
49
48
  }
50
49
  }