iobroker.tibberlink 1.4.1 → 1.4.3

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
@@ -2,16 +2,27 @@
2
2
 
3
3
  # ioBroker.tibberlink
4
4
 
5
- [![NPM version](https://img.shields.io/npm/v/iobroker.tibberlink.svg)](https://www.npmjs.com/package/iobroker.tibberlink)
6
- ![NPM version (stable)](https://iobroker.live/badges/tibberlink-stable.svg)
7
- [![Downloads](https://img.shields.io/npm/dm/iobroker.tibberlink.svg)](https://www.npmjs.com/package/iobroker.tibberlink)
8
- ![Number of Installations (latest)](https://iobroker.live/badges/tibberlink-installed.svg)
9
- [![Known Vulnerabilities](https://snyk.io/test/github/hombach/ioBroker.tibberlink/badge.svg)](https://snyk.io/test/github/hombach/ioBroker.tibberlink)
10
-
11
- **CI-Tests:**
12
- ![Test and Release](https://github.com/hombach/ioBroker.tibberlink/workflows/Test%20and%20Release/badge.svg)
5
+ [![NPM version](https://img.shields.io/npm/v/iobroker.tibberlink?style=flat-square)](https://www.npmjs.com/package/iobroker.tibberlink)
6
+ [![Downloads](https://img.shields.io/npm/dm/iobroker.tibberlink?label=npm%20downloads&style=flat-square)](https://www.npmjs.com/package/iobroker.tibberlink)
7
+ ![node-lts](https://img.shields.io/node/v-lts/iobroker.tibberlink?style=flat-square)
8
+ ![Libraries.io dependency status for latest release](https://img.shields.io/librariesio/release/npm/iobroker.tibberlink?label=npm%20dependencies&style=flat-square)
9
+
10
+ ![GitHub](https://img.shields.io/github/license/hombach/iobroker.tibberlink?style=flat-square)
11
+ ![GitHub repo size](https://img.shields.io/github/repo-size/hombach/iobroker.tibberlink?logo=github&style=flat-square)
12
+ ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/hombach/iobroker.tibberlink?logo=github&style=flat-square)
13
+ ![GitHub last commit](https://img.shields.io/github/last-commit/hombach/iobroker.tibberlink?logo=github&style=flat-square)
14
+ ![GitHub issues](https://img.shields.io/github/issues/hombach/iobroker.tibberlink?logo=github&style=flat-square)
15
+
16
+ ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/hombach/iobroker.tibberlink/test-and-release.yml?branch=main&logo=github&style=flat-square)
13
17
  [![CodeQL](https://github.com/hombach/ioBroker.tibberlink/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/hombach/ioBroker.tibberlink/actions/workflows/codeql-analysis.yml)
14
18
  [![Appveyor-CI](https://ci.appveyor.com/api/projects/status/github/hombach/ioBroker.tibberlink?branch=master&svg=true)](https://ci.appveyor.com/project/hombach/iobroker-tibberlink)
19
+ [![SNYK Known Vulnerabilities](https://snyk.io/test/github/hombach/ioBroker.tibberlink/badge.svg)](https://snyk.io/test/github/hombach/ioBroker.tibberlink)
20
+
21
+ ## Versions
22
+
23
+ ![Beta](https://img.shields.io/npm/v/iobroker.tibberlink.svg?color=red&label=beta)
24
+ ![Stable](https://iobroker.live/badges/tibberlink-stable.svg)
25
+ ![Installed](https://iobroker.live/badges/tibberlink-installed.svg)
15
26
 
16
27
  [![NPM](https://nodei.co/npm/iobroker.tibberlink.png?downloads=true)](https://nodei.co/npm/iobroker.tibberlink/)
17
28
 
@@ -54,6 +65,22 @@ This adapter employs Sentry libraries to automatically report exceptions and cod
54
65
 
55
66
  ! Note that missing version entries are typically dependency updates for improved security.
56
67
 
68
+ ### 1.4.3 (2023-11-08)
69
+
70
+ - (HombachC) fix possible type error in first calculator calls notified by Sentry
71
+ - (HombachC) change state object description of production values (#167)
72
+ - (HombachC) optimize pulse feed error message in case of error as object (#176)
73
+ - (HombachC) preparations for calculator object names (#186)
74
+ - (HombachC) bump dependencies
75
+
76
+ ### 1.4.2 (2023-11-03)
77
+
78
+ - (HombachC) complete rework of task scheduling for more precise pull timing (#149)
79
+ - (HombachC) critical vulnerability fix for axios
80
+ - (HombachC) fix debug message typos, code optimisations in calculator
81
+ - (HombachC) fix type error in price average calculation notified by Sentry
82
+ - (HombachC) fix error in update prices tomorrow - possible false positive
83
+
57
84
  ### 1.4.1 (2023-10-25)
58
85
 
59
86
  - (HombachC) implement forced update of all data after adapter restart (#155)
@@ -458,8 +458,7 @@
458
458
  ],
459
459
  "filter": false,
460
460
  "sort": false,
461
- "width": "15%",
462
- "default": ""
461
+ "width": "15%"
463
462
  },
464
463
  {
465
464
  "type": "objectId",
@@ -467,8 +466,7 @@
467
466
  "attr": "chTargetState",
468
467
  "filter": false,
469
468
  "sort": false,
470
- "width": "40%",
471
- "default": ""
469
+ "width": "40%"
472
470
  },
473
471
  {
474
472
  "type": "text",
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TibberAPICaller = void 0;
4
4
  const tibber_api_1 = require("tibber-api");
5
+ const EnergyResolution_1 = require("tibber-api/lib/src/models/enums/EnergyResolution");
5
6
  const tibberHelper_1 = require("./tibberHelper");
6
7
  class TibberAPICaller extends tibberHelper_1.TibberHelper {
7
8
  constructor(tibberConfig, adapter) {
@@ -49,106 +50,210 @@ class TibberAPICaller extends tibberHelper_1.TibberHelper {
49
50
  return [];
50
51
  }
51
52
  }
53
+ async updateCurrentPriceAllHomes(homeInfoList, forceUpdate) {
54
+ let newPrice = false;
55
+ for (const index in homeInfoList) {
56
+ if (await this.updateCurrentPrice(homeInfoList[index].ID, forceUpdate))
57
+ newPrice = true;
58
+ }
59
+ return newPrice;
60
+ }
52
61
  async updateCurrentPrice(homeId, forceUpdate) {
53
- if (homeId) {
54
- let exDate = null;
55
- exDate = new Date(await this.getStateValue(`Homes.${homeId}.CurrentPrice.startsAt`));
56
- const now = new Date();
57
- if (!exDate || now.getHours() !== exDate.getHours() || forceUpdate) {
58
- const currentPrice = await this.tibberQuery.getCurrentEnergyPrice(homeId);
59
- await this.fetchPrice(homeId, "CurrentPrice", currentPrice);
60
- this.adapter.log.debug(`Got current price from tibber api: ${JSON.stringify(currentPrice)}`);
61
- return true;
62
+ try {
63
+ if (homeId) {
64
+ let exDate = null;
65
+ exDate = new Date(await this.getStateValue(`Homes.${homeId}.CurrentPrice.startsAt`));
66
+ const now = new Date();
67
+ if (!exDate || now.getHours() !== exDate.getHours() || forceUpdate) {
68
+ const currentPrice = await this.tibberQuery.getCurrentEnergyPrice(homeId);
69
+ await this.fetchPrice(homeId, "CurrentPrice", currentPrice);
70
+ this.adapter.log.debug(`Got current price from tibber api: ${JSON.stringify(currentPrice)}`);
71
+ return true;
72
+ }
73
+ else {
74
+ this.adapter.log.debug(`Hour (${exDate.getHours()}) of known current price is already the current hour, polling of current price from Tibber skipped`);
75
+ return false;
76
+ }
62
77
  }
63
78
  else {
64
- this.adapter.log.debug(`Hour (${exDate.getHours()}) of known current price is already the current hour, polling of current price from Tibber skipped`);
65
79
  return false;
66
80
  }
67
81
  }
68
- else {
82
+ catch (error) {
83
+ if (forceUpdate)
84
+ this.adapter.log.error(this.generateErrorMessage(error, `pull of current price`));
85
+ else
86
+ this.adapter.log.warn(this.generateErrorMessage(error, `pull of current price`));
69
87
  return false;
70
88
  }
71
89
  }
90
+ async updatePricesTodayAllHomes(homeInfoList, forceUpdate) {
91
+ let newPrice = false;
92
+ for (const index in homeInfoList) {
93
+ if (await this.updatePricesToday(homeInfoList[index].ID, forceUpdate))
94
+ newPrice = true;
95
+ }
96
+ return newPrice;
97
+ }
72
98
  async updatePricesToday(homeId, forceUpdate) {
73
- let exDate = null;
74
- const exJSON = await this.getStateValue(`Homes.${homeId}.PricesToday.json`);
75
- const exPricesToday = JSON.parse(exJSON);
76
- if (Array.isArray(exPricesToday) && exPricesToday[2] && exPricesToday[2].startsAt) {
77
- exDate = new Date(exPricesToday[2].startsAt);
78
- }
79
- const today = new Date();
80
- today.setHours(0, 0, 0, 0); // sets clock to 0:00
81
- if (!exDate || exDate <= today || forceUpdate) {
82
- const pricesToday = await this.tibberQuery.getTodaysEnergyPrices(homeId);
83
- this.adapter.log.debug(`Got prices today from tibber api: ${JSON.stringify(pricesToday)}`);
84
- this.checkAndSetValue(this.getStatePrefix(homeId, "PricesToday", "json"), JSON.stringify(pricesToday), "The prices today as json");
85
- this.fetchPriceAverage(homeId, `PricesToday.average`, pricesToday);
86
- this.fetchPriceMaximum(homeId, `PricesToday.maximum`, pricesToday.sort((a, b) => a.total - b.total));
87
- this.fetchPriceMinimum(homeId, `PricesToday.minimum`, pricesToday.sort((a, b) => a.total - b.total));
88
- for (const i in pricesToday) {
89
- const price = pricesToday[i];
90
- const hour = new Date(price.startsAt.substr(0, 19)).getHours();
91
- await this.fetchPrice(homeId, `PricesToday.${hour}`, price);
99
+ try {
100
+ let exDate = null;
101
+ const exJSON = await this.getStateValue(`Homes.${homeId}.PricesToday.json`);
102
+ const exPricesToday = JSON.parse(exJSON);
103
+ if (Array.isArray(exPricesToday) && exPricesToday[2] && exPricesToday[2].startsAt) {
104
+ exDate = new Date(exPricesToday[2].startsAt);
92
105
  }
93
- if (Array.isArray(pricesToday)) {
94
- // Sort the array if it is an array - possible type error discovered by sentry
95
- this.checkAndSetValue(this.getStatePrefix(homeId, "PricesToday", "jsonBYpriceASC"), JSON.stringify(pricesToday.sort((a, b) => a.total - b.total)), "prices sorted by cost ascending as json");
106
+ const today = new Date();
107
+ today.setHours(0, 0, 0, 0); // sets clock to 0:00
108
+ if (!exDate || exDate <= today || forceUpdate) {
109
+ const pricesToday = await this.tibberQuery.getTodaysEnergyPrices(homeId);
110
+ this.adapter.log.debug(`Got prices today from tibber api: ${JSON.stringify(pricesToday)}`);
111
+ this.checkAndSetValue(this.getStatePrefix(homeId, "PricesToday", "json"), JSON.stringify(pricesToday), "The prices today as json");
112
+ this.fetchPriceAverage(homeId, `PricesToday.average`, pricesToday);
113
+ this.fetchPriceMaximum(homeId, `PricesToday.maximum`, pricesToday.sort((a, b) => a.total - b.total));
114
+ this.fetchPriceMinimum(homeId, `PricesToday.minimum`, pricesToday.sort((a, b) => a.total - b.total));
115
+ for (const i in pricesToday) {
116
+ const price = pricesToday[i];
117
+ const hour = new Date(price.startsAt.substr(0, 19)).getHours();
118
+ await this.fetchPrice(homeId, `PricesToday.${hour}`, price);
119
+ }
120
+ if (Array.isArray(pricesToday)) {
121
+ // Sort the array if it is an array - possible type error discovered by sentry
122
+ this.checkAndSetValue(this.getStatePrefix(homeId, "PricesToday", "jsonBYpriceASC"), JSON.stringify(pricesToday.sort((a, b) => a.total - b.total)), "prices sorted by cost ascending as json");
123
+ }
124
+ else {
125
+ // Handle the case when pricesToday is not an array, it's empty!, so just don't sort and write
126
+ this.checkAndSetValue(this.getStatePrefix(homeId, "PricesToday", "jsonBYpriceASC"), JSON.stringify(pricesToday), "prices sorted by cost ascending as json");
127
+ }
128
+ return true;
96
129
  }
97
130
  else {
98
- // Handle the case when pricesToday is not an array, it's empty!, so just don't sort and write
99
- this.checkAndSetValue(this.getStatePrefix(homeId, "PricesToday", "jsonBYpriceASC"), JSON.stringify(pricesToday), "prices sorted by cost ascending as json");
131
+ this.adapter.log.debug(`Existing date (${exDate}) of price info is already the today date, polling of prices today from Tibber skipped`);
132
+ return false;
100
133
  }
101
134
  }
102
- else {
103
- this.adapter.log.debug(`Existing date (${exDate}) of price info is already the today date, polling of prices today from Tibber skipped`);
135
+ catch (error) {
136
+ if (forceUpdate)
137
+ this.adapter.log.error(this.generateErrorMessage(error, `pull of prices today`));
138
+ else
139
+ this.adapter.log.warn(this.generateErrorMessage(error, `pull of prices today`));
140
+ return false;
141
+ }
142
+ }
143
+ async updatePricesTomorrowAllHomes(homeInfoList, forceUpdate) {
144
+ let newPrice = false;
145
+ for (const index in homeInfoList) {
146
+ if (await this.updatePricesTomorrow(homeInfoList[index].ID, forceUpdate))
147
+ newPrice = true;
104
148
  }
149
+ return newPrice;
105
150
  }
106
151
  async updatePricesTomorrow(homeId, forceUpdate) {
107
- let exDate = null;
108
- const exJSON = await this.getStateValue(`Homes.${homeId}.PricesTomorrow.json`);
109
- const exPricesTomorrow = JSON.parse(exJSON);
110
- if (Array.isArray(exPricesTomorrow) && exPricesTomorrow[2] && exPricesTomorrow[2].startsAt) {
111
- exDate = new Date(exPricesTomorrow[2].startsAt);
112
- }
113
- const morgen = new Date();
114
- morgen.setDate(morgen.getDate() + 1);
115
- morgen.setHours(0, 0, 0, 0); // sets clock to 0:00
116
- if (!exDate || exDate <= morgen || forceUpdate) {
117
- const pricesTomorrow = await this.tibberQuery.getTomorrowsEnergyPrices(homeId);
118
- this.adapter.log.debug(`Got prices tomorrow from tibber api: ${JSON.stringify(pricesTomorrow)}`);
119
- if (pricesTomorrow.length === 0) {
120
- // pricing not known, before about 13:00 - delete the states
121
- this.adapter.log.debug(`Emptying prices tomorrow and average cause existing ones are obsolete...`);
122
- for (let hour = 0; hour < 24; hour++) {
123
- this.emptyingPrice(homeId, `PricesTomorrow.${hour}`);
124
- }
125
- this.emptyingPriceAverage(homeId, `PricesTomorrow.average`);
126
- this.emptyingPriceMaximum(homeId, `PricesTomorrow.maximum`);
127
- this.emptyingPriceMinimum(homeId, `PricesTomorrow.minimum`);
152
+ try {
153
+ let exDate = null;
154
+ const exJSON = await this.getStateValue(`Homes.${homeId}.PricesTomorrow.json`);
155
+ const exPricesTomorrow = JSON.parse(exJSON);
156
+ if (Array.isArray(exPricesTomorrow) && exPricesTomorrow[2] && exPricesTomorrow[2].startsAt) {
157
+ exDate = new Date(exPricesTomorrow[2].startsAt);
128
158
  }
129
- else if (pricesTomorrow) {
130
- // pricing known, after about 13:00 - write the states
131
- for (const i in pricesTomorrow) {
132
- const price = pricesTomorrow[i];
133
- const hour = new Date(price.startsAt.substr(0, 19)).getHours();
134
- await this.fetchPrice(homeId, "PricesTomorrow." + hour, price);
159
+ const morgen = new Date();
160
+ morgen.setDate(morgen.getDate() + 1);
161
+ morgen.setHours(0, 0, 0, 0); // sets clock to 0:00
162
+ if (!exDate || exDate <= morgen || forceUpdate) {
163
+ const pricesTomorrow = await this.tibberQuery.getTomorrowsEnergyPrices(homeId);
164
+ this.adapter.log.debug(`Got prices tomorrow from tibber api: ${JSON.stringify(pricesTomorrow)}`);
165
+ this.checkAndSetValue(this.getStatePrefix(homeId, "PricesTomorrow", "json"), JSON.stringify(pricesTomorrow), "The prices tomorrow as json"); //write, also JSON is empty
166
+ if (pricesTomorrow.length === 0) {
167
+ // pricing not known, before about 13:00 - delete the states
168
+ this.adapter.log.debug(`Emptying prices tomorrow and average cause existing ones are obsolete...`);
169
+ for (let hour = 0; hour < 24; hour++) {
170
+ this.emptyingPrice(homeId, `PricesTomorrow.${hour}`);
171
+ }
172
+ this.emptyingPriceAverage(homeId, `PricesTomorrow.average`);
173
+ this.emptyingPriceMaximum(homeId, `PricesTomorrow.maximum`);
174
+ this.emptyingPriceMinimum(homeId, `PricesTomorrow.minimum`);
175
+ this.checkAndSetValue(this.getStatePrefix(homeId, "PricesTomorrow", "jsonBYpriceASC"), JSON.stringify(pricesTomorrow), "prices sorted by cost ascending as json");
176
+ return false;
177
+ }
178
+ else if (Array.isArray(pricesTomorrow)) {
179
+ // pricing known, after about 13:00 - write the states
180
+ for (const i in pricesTomorrow) {
181
+ const price = pricesTomorrow[i];
182
+ const hour = new Date(price.startsAt.substr(0, 19)).getHours();
183
+ await this.fetchPrice(homeId, "PricesTomorrow." + hour, price);
184
+ }
185
+ this.fetchPriceAverage(homeId, `PricesTomorrow.average`, pricesTomorrow);
186
+ this.fetchPriceMaximum(homeId, `PricesTomorrow.maximum`, pricesTomorrow.sort((a, b) => a.total - b.total));
187
+ this.fetchPriceMinimum(homeId, `PricesTomorrow.minimum`, pricesTomorrow.sort((a, b) => a.total - b.total));
188
+ this.checkAndSetValue(this.getStatePrefix(homeId, "PricesTomorrow", "jsonBYpriceASC"), JSON.stringify(pricesTomorrow.sort((a, b) => a.total - b.total)), "prices sorted by cost ascending as json");
189
+ return true;
135
190
  }
136
- this.fetchPriceAverage(homeId, `PricesTomorrow.average`, pricesTomorrow);
137
- this.fetchPriceMaximum(homeId, `PricesTomorrow.maximum`, pricesTomorrow.sort((a, b) => a.total - b.total));
138
- this.fetchPriceMinimum(homeId, `PricesTomorrow.minimum`, pricesTomorrow.sort((a, b) => a.total - b.total));
139
- }
140
- this.checkAndSetValue(this.getStatePrefix(homeId, "PricesTomorrow", "json"), JSON.stringify(pricesTomorrow), "The prices tomorrow as json");
141
- if (Array.isArray(pricesTomorrow)) {
142
- // Sort the array if it is an array - possible type error discovered by sentry
143
- this.checkAndSetValue(this.getStatePrefix(homeId, "PricesTomorrow", "jsonBYpriceASC"), JSON.stringify(pricesTomorrow.sort((a, b) => a.total - b.total)), "prices sorted by cost ascending as json");
144
191
  }
145
192
  else {
146
- // Handle the case when pricesToday is not an array, it's empty!, so just don't sort and write
147
- this.checkAndSetValue(this.getStatePrefix(homeId, "PricesTomorrow", "jsonBYpriceASC"), JSON.stringify(pricesTomorrow), "prices sorted by cost ascending as json");
193
+ this.adapter.log.debug(`Existing date (${exDate}) of price info is already the tomorrow date, polling of prices tomorrow from Tibber skipped`);
194
+ return false;
195
+ }
196
+ return false;
197
+ }
198
+ catch (error) {
199
+ if (forceUpdate)
200
+ this.adapter.log.error(this.generateErrorMessage(error, `pull of prices tomorrow`));
201
+ else
202
+ this.adapter.log.warn(this.generateErrorMessage(error, `pull of prices tomorrow`));
203
+ return false;
204
+ }
205
+ }
206
+ // yet not used in public revisions
207
+ async getConsumption(homeId) {
208
+ try {
209
+ if (homeId) {
210
+ const dailyConsumption = await this.tibberQuery.getConsumption(EnergyResolution_1.EnergyResolution.DAILY, 7, homeId);
211
+ const weeklyConsumption = await this.tibberQuery.getConsumption(EnergyResolution_1.EnergyResolution.WEEKLY, 4, homeId);
212
+ const monthlyConsumption = await this.tibberQuery.getConsumption(EnergyResolution_1.EnergyResolution.MONTHLY, 4, homeId);
213
+ const annualConsumption = await this.tibberQuery.getConsumption(EnergyResolution_1.EnergyResolution.ANNUAL, 2, homeId);
214
+ this.adapter.log.debug(`dailyConsumption ${JSON.stringify(dailyConsumption)}`);
215
+ this.adapter.log.debug(`weeklyConsumption ${JSON.stringify(weeklyConsumption)}`);
216
+ this.adapter.log.debug(`monthlyConsumption ${JSON.stringify(monthlyConsumption)}`);
217
+ this.adapter.log.debug(`annualConsumption ${JSON.stringify(annualConsumption)}`);
218
+ this.adapter.log.debug(`dailyConsumption ${dailyConsumption[0].consumption}`);
219
+ this.adapter.log.debug(`weeklyConsumption ${weeklyConsumption[0].consumption}`);
220
+ this.adapter.log.debug(`monthlyConsumption ${monthlyConsumption[0].consumption}`);
221
+ this.adapter.log.debug(`annualConsumption ${annualConsumption[0].consumption}`);
222
+ this.adapter.log.debug(`dailyConsumption cost ${dailyConsumption[0].cost}`);
223
+ this.adapter.log.debug(`weeklyConsumption cost ${weeklyConsumption[0].cost}`);
224
+ this.adapter.log.debug(`monthlyConsumption cost ${monthlyConsumption[0].cost}`);
225
+ this.adapter.log.debug(`annualConsumption cost ${annualConsumption[0].cost}`);
226
+ /*DEMO results
227
+ annualConsumption [
228
+ {"from":"2021-01-01T00:00:00.000+01:00","to":"2022-01-01T00:00:00.000+01:00","cost":18724.9354599375,"unitPrice":0.957861,"unitPriceVAT":0.191572,"consumption":19548.706,"consumptionUnit":"kWh","currency":"SEK"},
229
+ {"from":"2022-01-01T00:00:00.000+01:00","to":"2023-01-01T00:00:00.000+01:00","cost":26246.8039997125,"unitPrice":1.594865,"unitPriceVAT":0.318973,"consumption":16457.069,"consumptionUnit":"kWh","currency":"SEK"}
230
+ ]
231
+ monthlyConsumption [
232
+ {"from":"2023-06-01T00:00:00.000+02:00","to":"2023-07-01T00:00:00.000+02:00","cost":314.7847971125,"unitPrice":0.576087,"unitPriceVAT":0.115217,"consumption":546.419,"consumptionUnit":"kWh","currency":"SEK"},
233
+ {"from":"2023-07-01T00:00:00.000+02:00","to":"2023-08-01T00:00:00.000+02:00","cost":303.3428907125,"unitPrice":0.536517,"unitPriceVAT":0.107303,"consumption":565.393,"consumptionUnit":"kWh","currency":"SEK"},
234
+ {"from":"2023-08-01T00:00:00.000+02:00","to":"2023-09-01T00:00:00.000+02:00","cost":334.8228185875,"unitPrice":0.47777,"unitPriceVAT":0.095554,"consumption":700.804,"consumptionUnit":"kWh","currency":"SEK"},
235
+ {"from":"2023-09-01T00:00:00.000+02:00","to":"2023-10-01T00:00:00.000+02:00","cost":213.2174193625,"unitPrice":0.311208,"unitPriceVAT":0.062242,"consumption":685.129,"consumptionUnit":"kWh","currency":"SEK"}
236
+ ]
237
+ weeklyConsumption [
238
+ {"from":"2023-10-02T00:00:00.000+02:00","to":"2023-10-02T00:00:00.000+02:00","cost":31.87599515,"unitPrice":0.152634,"unitPriceVAT":0.030527,"consumption":208.84,"consumptionUnit":"kWh","currency":"SEK"},
239
+ {"from":"2023-10-09T00:00:00.000+02:00","to":"2023-10-09T00:00:00.000+02:00","cost":58.7682522,"unitPrice":0.178189,"unitPriceVAT":0.035638,"consumption":329.808,"consumptionUnit":"kWh","currency":"SEK"},
240
+ {"from":"2023-10-16T00:00:00.000+02:00","to":"2023-10-16T00:00:00.000+02:00","cost":93.24510705,"unitPrice":0.301353,"unitPriceVAT":0.060271,"consumption":309.422,"consumptionUnit":"kWh","currency":"SEK"},
241
+ {"from":"2023-10-23T00:00:00.000+02:00","to":"2023-10-23T00:00:00.000+02:00","cost":150.1804269,"unitPrice":0.368239,"unitPriceVAT":0.073648,"consumption":407.834,"consumptionUnit":"kWh","currency":"SEK"}
242
+ ]
243
+ dailyConsumption [
244
+ {"from":"2023-10-22T00:00:00.000+02:00","to":"2023-10-23T00:00:00.000+02:00","cost":30.167938475,"unitPrice":0.531032,"unitPriceVAT":0.106206,"consumption":56.81,"consumptionUnit":"kWh","currency":"SEK"},
245
+ {"from":"2023-10-23T00:00:00.000+02:00","to":"2023-10-24T00:00:00.000+02:00","cost":63.6176248,"unitPrice":1.190828,"unitPriceVAT":0.238166,"consumption":53.423,"consumptionUnit":"kWh","currency":"SEK"},
246
+ {"from":"2023-10-24T00:00:00.000+02:00","to":"2023-10-25T00:00:00.000+02:00","cost":39.1912734625,"unitPrice":0.754418,"unitPriceVAT":0.150884,"consumption":51.949,"consumptionUnit":"kWh","currency":"SEK"},
247
+ {"from":"2023-10-25T00:00:00.000+02:00","to":"2023-10-26T00:00:00.000+02:00","cost":41.3920498875,"unitPrice":0.644034,"unitPriceVAT":0.128807,"consumption":64.27,"consumptionUnit":"kWh","currency":"SEK"},
248
+ {"from":"2023-10-26T00:00:00.000+02:00","to":"2023-10-27T00:00:00.000+02:00","cost":67.9109407375,"unitPrice":0.698248,"unitPriceVAT":0.13965,"consumption":97.259,"consumptionUnit":"kWh","currency":"SEK"},
249
+ {"from":"2023-10-27T00:00:00.000+02:00","to":"2023-10-28T00:00:00.000+02:00","cost":65.7115841375,"unitPrice":1.309596,"unitPriceVAT":0.261919,"consumption":50.177,"consumptionUnit":"kWh","currency":"SEK"},
250
+ {"from":"2023-10-28T00:00:00.000+02:00","to":"2023-10-29T00:00:00.000+02:00","cost":78.08023065,"unitPrice":1.112523,"unitPriceVAT":0.222505,"consumption":70.183,"consumptionUnit":"kWh","currency":"SEK"}
251
+ ]
252
+ END results*/
148
253
  }
149
254
  }
150
- else {
151
- this.adapter.log.debug(`Existing date (${exDate}) of price info is already the tomorrow date, polling of prices tomorrow from Tibber skipped`);
255
+ catch (error) {
256
+ this.adapter.log.error(this.generateErrorMessage(error, `pull of consumption data`));
152
257
  }
153
258
  }
154
259
  async fetchPrice(homeId, objectDestination, price) {
@@ -160,14 +265,24 @@ class TibberAPICaller extends tibberHelper_1.TibberHelper {
160
265
  this.checkAndSetValue(this.getStatePrefix(homeId, objectDestination, "level"), price.level, "Price level compared to recent price values");
161
266
  }
162
267
  fetchPriceAverage(homeId, objectDestination, price) {
163
- const totalSum = price.reduce((sum, item) => sum + item.total, 0);
268
+ //const totalSum = price.reduce((sum, item) => sum + item.total, 0); // Verify 1.4.2 - Sentry error
269
+ const totalSum = price.reduce((sum, item) => {
270
+ if (item && typeof item.total === "number") {
271
+ return sum + item.total;
272
+ }
273
+ return sum;
274
+ }, 0);
164
275
  this.checkAndSetValueNumber(this.getStatePrefix(homeId, objectDestination, "total"), Math.round(1000 * (totalSum / price.length)) / 1000, "Todays total price average");
165
276
  const energySum = price.reduce((sum, item) => sum + item.energy, 0);
166
- this.checkAndSetValueNumber(this.getStatePrefix(homeId, objectDestination, "energy"), Math.round(1000 * (energySum / price.length)) / 1000, "Todays avarage spotmarket price");
277
+ this.checkAndSetValueNumber(this.getStatePrefix(homeId, objectDestination, "energy"), Math.round(1000 * (energySum / price.length)) / 1000, "Todays average spotmarket price");
167
278
  const taxSum = price.reduce((sum, item) => sum + item.tax, 0);
168
- this.checkAndSetValueNumber(this.getStatePrefix(homeId, objectDestination, "tax"), Math.round(1000 * (taxSum / price.length)) / 1000, "Todays avarage tax price");
279
+ this.checkAndSetValueNumber(this.getStatePrefix(homeId, objectDestination, "tax"), Math.round(1000 * (taxSum / price.length)) / 1000, "Todays average tax price");
169
280
  }
170
281
  fetchPriceMaximum(homeId, objectDestination, price) {
282
+ if (!price || typeof price[23].total !== "number") {
283
+ // possible exit 1.4.3 - Sentry discovered possible error in 1.4.1
284
+ // return;
285
+ }
171
286
  this.checkAndSetValueNumber(this.getStatePrefix(homeId, objectDestination, "total"), Math.round(1000 * price[23].total) / 1000, "Todays total price maximum");
172
287
  this.checkAndSetValueNumber(this.getStatePrefix(homeId, objectDestination, "energy"), Math.round(1000 * price[23].energy) / 1000, "Todays spotmarket price at total price maximum");
173
288
  this.checkAndSetValueNumber(this.getStatePrefix(homeId, objectDestination, "tax"), Math.round(1000 * price[23].tax) / 1000, "Todays tax price at total price maximum");
@@ -1 +1 @@
1
- {"version":3,"file":"tibberAPICaller.js","sourceRoot":"","sources":["../../src/lib/tibberAPICaller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tibberAPICaller.js","sourceRoot":"","sources":["../../src/lib/tibberAPICaller.ts"],"names":[],"mappings":"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"}