homebridge-octopus-energy 0.0.7 → 0.0.9
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/accessory.js +28 -12
- package/dist/accessory.js.map +1 -1
- package/dist/octopusUrls.js +26 -0
- package/dist/octopusUrls.js.map +1 -0
- package/dist/platform.js +3 -0
- package/dist/platform.js.map +1 -1
- package/package.json +1 -1
package/dist/accessory.js
CHANGED
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.OctopusMeterAccessory = void 0;
|
|
7
7
|
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
8
|
+
const octopusUrls_1 = require("./octopusUrls");
|
|
8
9
|
class OctopusMeterAccessory {
|
|
9
10
|
constructor(platform, accessory, meter, apiKey, pollSeconds) {
|
|
10
11
|
this.platform = platform;
|
|
@@ -33,6 +34,15 @@ class OctopusMeterAccessory {
|
|
|
33
34
|
this.outletService = outlet;
|
|
34
35
|
this.evePower = this.ensureEveCharacteristic(this.platform.Eve.Power);
|
|
35
36
|
this.eveTotal = this.ensureEveCharacteristic(this.platform.Eve.TotalConsumption);
|
|
37
|
+
this.lastWatts = typeof this.accessory.context.lastWatts === 'number' ? this.accessory.context.lastWatts : 0;
|
|
38
|
+
this.lastTotalKWh = typeof this.accessory.context.totalKWh === 'number' ? this.accessory.context.totalKWh : 0;
|
|
39
|
+
this.updateCachedCharacteristics();
|
|
40
|
+
this.platform.api.on('shutdown', () => this.stopPolling());
|
|
41
|
+
}
|
|
42
|
+
startPolling() {
|
|
43
|
+
if (this.timer) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
36
46
|
this.refreshNow().catch((error) => {
|
|
37
47
|
this.platform.log.warn(`Initial fetch failed for ${this.meter.name}: ${error instanceof Error ? error.message : String(error)}`);
|
|
38
48
|
});
|
|
@@ -41,7 +51,6 @@ class OctopusMeterAccessory {
|
|
|
41
51
|
this.platform.log.warn(`Refresh failed for ${this.meter.name}: ${error instanceof Error ? error.message : String(error)}`);
|
|
42
52
|
});
|
|
43
53
|
}, this.pollSeconds * 1000);
|
|
44
|
-
this.platform.api.on('shutdown', () => this.stopPolling());
|
|
45
54
|
}
|
|
46
55
|
stopPolling() {
|
|
47
56
|
if (this.timer) {
|
|
@@ -76,6 +85,7 @@ class OctopusMeterAccessory {
|
|
|
76
85
|
if (this.evePower) {
|
|
77
86
|
this.evePower.updateValue(safeValue);
|
|
78
87
|
}
|
|
88
|
+
this.updateCachedCharacteristics();
|
|
79
89
|
this.platform.log.debug(`${this.meter.name} Eve power updated to ${safeValue.toFixed(2)} W`);
|
|
80
90
|
}
|
|
81
91
|
catch (error) {
|
|
@@ -90,6 +100,7 @@ class OctopusMeterAccessory {
|
|
|
90
100
|
if (this.eveTotal) {
|
|
91
101
|
this.eveTotal.updateValue(totalKWh);
|
|
92
102
|
}
|
|
103
|
+
this.updateCachedCharacteristics();
|
|
93
104
|
this.platform.log.debug(`${this.meter.name} Eve total updated to ${totalKWh.toFixed(3)} kWh (today)`);
|
|
94
105
|
}
|
|
95
106
|
catch (error) {
|
|
@@ -97,13 +108,16 @@ class OctopusMeterAccessory {
|
|
|
97
108
|
}
|
|
98
109
|
}
|
|
99
110
|
async fetchLatestWatts() {
|
|
100
|
-
const url =
|
|
111
|
+
const url = (0, octopusUrls_1.buildLatestConsumptionUrl)(this.meter.mpan, this.meter.meterSerial);
|
|
112
|
+
this.platform.log.debug(`Latest consumption URL for ${this.meter.name}: ${url}`);
|
|
101
113
|
const response = await (0, node_fetch_1.default)(url, {
|
|
102
114
|
headers: {
|
|
103
115
|
Authorization: `Basic ${Buffer.from(`${this.apiKey}:`).toString('base64')}`,
|
|
104
116
|
},
|
|
105
117
|
});
|
|
106
118
|
if (!response.ok) {
|
|
119
|
+
const body = await response.text();
|
|
120
|
+
this.platform.log.warn(`HTTP ${response.status} ${body} for URL ${url}`);
|
|
107
121
|
throw new Error(`HTTP ${response.status}`);
|
|
108
122
|
}
|
|
109
123
|
const payload = (await response.json());
|
|
@@ -132,22 +146,16 @@ class OctopusMeterAccessory {
|
|
|
132
146
|
return Math.max(0, Math.round(watts * 100) / 100);
|
|
133
147
|
}
|
|
134
148
|
async fetchTodayTotalKWh() {
|
|
135
|
-
const
|
|
136
|
-
|
|
137
|
-
const end = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate() + 1, 0, 0, 0));
|
|
138
|
-
const params = new URLSearchParams({
|
|
139
|
-
page_size: '96',
|
|
140
|
-
order_by: 'period_start',
|
|
141
|
-
period_from: start.toISOString(),
|
|
142
|
-
period_to: end.toISOString(),
|
|
143
|
-
});
|
|
144
|
-
const url = `https://api.octopus.energy/v1/electricity-meter-points/${this.meter.mpan}/meters/${this.meter.meterSerial}/consumption/?${params.toString()}`;
|
|
149
|
+
const url = (0, octopusUrls_1.buildTodayConsumptionUrl)(this.meter.mpan, this.meter.meterSerial);
|
|
150
|
+
this.platform.log.debug(`Today consumption URL for ${this.meter.name}: ${url}`);
|
|
145
151
|
const response = await (0, node_fetch_1.default)(url, {
|
|
146
152
|
headers: {
|
|
147
153
|
Authorization: `Basic ${Buffer.from(`${this.apiKey}:`).toString('base64')}`,
|
|
148
154
|
},
|
|
149
155
|
});
|
|
150
156
|
if (!response.ok) {
|
|
157
|
+
const body = await response.text();
|
|
158
|
+
this.platform.log.warn(`HTTP ${response.status} ${body} for URL ${url}`);
|
|
151
159
|
throw new Error(`HTTP ${response.status}`);
|
|
152
160
|
}
|
|
153
161
|
const payload = (await response.json());
|
|
@@ -160,6 +168,14 @@ class OctopusMeterAccessory {
|
|
|
160
168
|
}
|
|
161
169
|
return Math.max(0, Math.round(total * 1000) / 1000);
|
|
162
170
|
}
|
|
171
|
+
updateCachedCharacteristics() {
|
|
172
|
+
if (this.evePower) {
|
|
173
|
+
this.evePower.updateValue(Math.max(0, this.lastWatts));
|
|
174
|
+
}
|
|
175
|
+
if (this.eveTotal) {
|
|
176
|
+
this.eveTotal.updateValue(Math.max(0, this.lastTotalKWh));
|
|
177
|
+
}
|
|
178
|
+
}
|
|
163
179
|
}
|
|
164
180
|
exports.OctopusMeterAccessory = OctopusMeterAccessory;
|
|
165
181
|
//# sourceMappingURL=accessory.js.map
|
package/dist/accessory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessory.js","sourceRoot":"","sources":["../src/accessory.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA+B;
|
|
1
|
+
{"version":3,"file":"accessory.js","sourceRoot":"","sources":["../src/accessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildLatestConsumptionUrl = buildLatestConsumptionUrl;
|
|
4
|
+
exports.buildTodayConsumptionUrl = buildTodayConsumptionUrl;
|
|
5
|
+
function buildLatestConsumptionUrl(mpan, serial) {
|
|
6
|
+
const safeMpan = encodeURIComponent(mpan.trim());
|
|
7
|
+
const safeSerial = encodeURIComponent(serial.trim());
|
|
8
|
+
const params = new URLSearchParams({
|
|
9
|
+
page_size: '1',
|
|
10
|
+
order_by: '-period',
|
|
11
|
+
});
|
|
12
|
+
return `https://api.octopus.energy/v1/electricity-meter-points/${safeMpan}/meters/${safeSerial}/consumption/?${params.toString()}`;
|
|
13
|
+
}
|
|
14
|
+
function buildTodayConsumptionUrl(mpan, serial, options = {}) {
|
|
15
|
+
const safeMpan = encodeURIComponent(mpan.trim());
|
|
16
|
+
const safeSerial = encodeURIComponent(serial.trim());
|
|
17
|
+
const now = options.now ?? new Date();
|
|
18
|
+
const start = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(), 0, 0, 0));
|
|
19
|
+
const params = new URLSearchParams({
|
|
20
|
+
page_size: String(options.pageSize ?? 250),
|
|
21
|
+
order_by: 'period',
|
|
22
|
+
period_from: start.toISOString(),
|
|
23
|
+
});
|
|
24
|
+
return `https://api.octopus.energy/v1/electricity-meter-points/${safeMpan}/meters/${safeSerial}/consumption/?${params.toString()}`;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=octopusUrls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"octopusUrls.js","sourceRoot":"","sources":["../src/octopusUrls.ts"],"names":[],"mappings":";;AAKA,8DASC;AAED,4DAaC;AAxBD,SAAgB,yBAAyB,CAAC,IAAY,EAAE,MAAc;IACpE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,SAAS;KACpB,CAAC,CAAC;IAEH,OAAO,0DAA0D,QAAQ,WAAW,UAAU,iBAAiB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;AACrI,CAAC;AAED,SAAgB,wBAAwB,CAAC,IAAY,EAAE,MAAc,EAAE,UAA2B,EAAE;IAClG,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAErG,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC;QAC1C,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;KACjC,CAAC,CAAC;IAEH,OAAO,0DAA0D,QAAQ,WAAW,UAAU,iBAAiB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;AACrI,CAAC"}
|
package/dist/platform.js
CHANGED
|
@@ -21,6 +21,9 @@ class OctopusEnergyPlatform {
|
|
|
21
21
|
this.api.on("didFinishLaunching" /* APIEvent.DID_FINISH_LAUNCHING */, () => {
|
|
22
22
|
this.log.debug('Finished launching, starting discovery');
|
|
23
23
|
this.discoverMeters();
|
|
24
|
+
setTimeout(() => {
|
|
25
|
+
this.managed.forEach((meter) => meter.startPolling());
|
|
26
|
+
}, 15000);
|
|
24
27
|
});
|
|
25
28
|
this.api.on("shutdown" /* APIEvent.SHUTDOWN */, () => {
|
|
26
29
|
this.managed.forEach((meter) => meter.stopPolling());
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;AACA,2CAA4E;AAC5E,yCAAwD;AACxD,+BAAkE;AAelE,MAAa,qBAAqB;IAShC,YACkB,GAAW,EACX,MAA6B,EAC7B,GAAQ;QAFR,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAuB;QAC7B,QAAG,GAAH,GAAG,CAAK;QAXV,YAAO,GAAmB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/C,mBAAc,GAA0B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;QAGnE,gBAAW,GAAwB,EAAE,CAAC;QACtC,YAAO,GAA4B,EAAE,CAAC;QAQrD,IAAI,CAAC,GAAG,GAAG,IAAA,2BAAqB,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,MAAM,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEpG,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,EAAE,2DAAgC,GAAG,EAAE;YAC9C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACzD,IAAI,CAAC,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|