iobroker.tibberlink 2.1.0 → 2.2.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
@@ -58,7 +58,8 @@ If you're not currently a Tibber user, I would greatly appreciate it if you coul
58
58
  - Outputs:
59
59
  - "Best cost": Utilizes the "TriggerPrice" state as input, producing a "YES" output every hour when the current Tibber energy cost is below the trigger price.
60
60
  - "Best single hours": Generates a "YES" output during the least expensive hours, with the number defined in the "AmountHours" state.
61
- - "Best hours block": Outputs "YES" during the most cost-effective block of hours, with the number of hours specified in the "AmountHours" state.
61
+ - "Best hours block": Outputs "YES" during the most cost-effective block of hours, with the number of hours specified in the "AmountHours" state.
62
+ Additionally, the average total cost in the determined block is written to a state "AverageTotalCost" nearby the input states of this channel. Also start and end hour of the block is written to "BlockStartFullHour" and "BlockEndFullHour" as a result of the calculation.
62
63
  - "Best cost LTF": "Best cost" within a Limited Time Frame (LTF).
63
64
  - "Best single hours LTF": "Best single hours" within a Limited Time Frame (LTF).
64
65
  - "Best hours block LTF": "Best hours block" within a Limited Time Frame (LTF).
@@ -95,6 +96,20 @@ If you enjoyed this project — or just feeling generous, consider buying me a b
95
96
 
96
97
  ! Note that missing version entries are typically dependency updates for improved security.
97
98
 
99
+ ### 2.2.0 (2024-02-04)
100
+
101
+ - (HombachC) add data points for BestHoursBlock results - period and average cost (#240)
102
+ - (HombachC) fixed wrong error message texts
103
+ - (HombachC) fix some possible edge cases in internal support functions
104
+ - (HombachC) internal code docu optimization
105
+ - (HombachC) bump dependencies
106
+
107
+ ### 2.1.1 (2024-01-27)
108
+
109
+ - (HombachC) fix reconnect error for Pulse feed (#300)
110
+ - (HombachC) new error message handler
111
+ - (HombachC) internal code docu optimization
112
+
98
113
  ### 2.1.0 (2024-01-21)
99
114
 
100
115
  - (HombachC) add repeatablity for LTF channels (#289)
@@ -106,6 +106,7 @@ class TibberCalculator extends tibberHelper_1.TibberHelper {
106
106
  //"best cost": Defined by the "TriggerPrice" state as input.
107
107
  //"best single hours": Defined by the "AmountHours" state as input.
108
108
  //"best hours block": Defined by the "AmountHours" state as input.
109
+ //"best hours block": Writes data to the "AverageTotalCost", "BlockStartFullHour", "BlockEndFullHour" states as output.
109
110
  //"best cost LTF": Defined by the "TriggerPrice", "StartTime", "StopTime", "RepeatDays" states as input.
110
111
  //"best single hours LTF": Defined by the "AmountHours", "StartTime", "StopTime", "RepeatDays" states as input.
111
112
  //"best hours block LTF": Defined by the "AmountHours", "StartTime", "StopTime", "RepeatDays" states as input.
@@ -117,9 +118,22 @@ class TibberCalculator extends tibberHelper_1.TibberHelper {
117
118
  this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `StopTime`).value);
118
119
  this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `EfficiencyLoss`).value);
119
120
  this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `RepeatDays`).value);
121
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `AverageTotalCost`).value);
122
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `BlockStartTime`).value);
123
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `BlockStopTime`).value);
120
124
  await this.setup_chTriggerPrice(homeId, channel);
121
125
  break;
122
126
  case tibberHelper_1.enCalcType.BestSingleHours:
127
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `TriggerPrice`).value);
128
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `StartTime`).value);
129
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `StopTime`).value);
130
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `EfficiencyLoss`).value);
131
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `RepeatDays`).value);
132
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `AverageTotalCost`).value);
133
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `BlockStartTime`).value);
134
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `BlockStopTime`).value);
135
+ await this.setup_chAmountHours(homeId, channel);
136
+ break;
123
137
  case tibberHelper_1.enCalcType.BestHoursBlock:
124
138
  this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `TriggerPrice`).value);
125
139
  this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `StartTime`).value);
@@ -127,16 +141,32 @@ class TibberCalculator extends tibberHelper_1.TibberHelper {
127
141
  this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `EfficiencyLoss`).value);
128
142
  this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `RepeatDays`).value);
129
143
  await this.setup_chAmountHours(homeId, channel);
144
+ await this.setup_chAverageTotalCost(homeId, channel);
145
+ await this.setup_chBlockStartFullHour(homeId, channel);
146
+ await this.setup_chBlockEndFullHour(homeId, channel);
130
147
  break;
131
148
  case tibberHelper_1.enCalcType.BestCostLTF:
132
149
  this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `AmountHours`).value);
133
150
  this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `EfficiencyLoss`).value);
151
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `AverageTotalCost`).value);
152
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `BlockStartTime`).value);
153
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `BlockStopTime`).value);
134
154
  await this.setup_chTriggerPrice(homeId, channel);
135
155
  await this.setup_chStartTime(homeId, channel);
136
156
  await this.setup_chStopTime(homeId, channel);
137
157
  await this.setup_chRepeatDays(homeId, channel);
138
158
  break;
139
159
  case tibberHelper_1.enCalcType.BestSingleHoursLTF:
160
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `TriggerPrice`).value);
161
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `EfficiencyLoss`).value);
162
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `AverageTotalCost`).value);
163
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `BlockStartTime`).value);
164
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `BlockStopTime`).value);
165
+ await this.setup_chAmountHours(homeId, channel);
166
+ await this.setup_chStartTime(homeId, channel);
167
+ await this.setup_chStopTime(homeId, channel);
168
+ await this.setup_chRepeatDays(homeId, channel);
169
+ break;
140
170
  case tibberHelper_1.enCalcType.BestHoursBlockLTF:
141
171
  this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `TriggerPrice`).value);
142
172
  this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `EfficiencyLoss`).value);
@@ -144,12 +174,18 @@ class TibberCalculator extends tibberHelper_1.TibberHelper {
144
174
  await this.setup_chStartTime(homeId, channel);
145
175
  await this.setup_chStopTime(homeId, channel);
146
176
  await this.setup_chRepeatDays(homeId, channel);
177
+ await this.setup_chAverageTotalCost(homeId, channel);
178
+ await this.setup_chBlockStartFullHour(homeId, channel);
179
+ await this.setup_chBlockEndFullHour(homeId, channel);
147
180
  break;
148
181
  case tibberHelper_1.enCalcType.SmartBatteryBuffer:
149
182
  this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `TriggerPrice`).value);
150
183
  this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `StartTime`).value);
151
184
  this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `StopTime`).value);
152
185
  this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `RepeatDays`).value);
186
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `AverageTotalCost`).value);
187
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `BlockStartTime`).value);
188
+ this.adapter.delObjectAsync(this.getStatePrefix(homeId, `Calculations.${channel}`, `BlockStopTime`).value);
153
189
  await this.setup_chAmountHours(homeId, channel);
154
190
  await this.setup_chEfficiencyLoss(homeId, channel);
155
191
  break;
@@ -198,7 +234,7 @@ class TibberCalculator extends tibberHelper_1.TibberHelper {
198
234
  this.adapter.log.debug(`setup calculator settings state in home: ${homeId} - channel: ${channel}-${channelName} - set to AmountHours: ${this.adapter.config.CalculatorList[channel].chAmountHours}`);
199
235
  }
200
236
  else {
201
- this.adapter.log.debug(`Wrong type for chTriggerPrice: ${valueAmountHours}`);
237
+ this.adapter.log.debug(`Wrong type for chAmountHours: ${valueAmountHours}`);
202
238
  }
203
239
  }
204
240
  catch (error) {
@@ -286,13 +322,49 @@ class TibberCalculator extends tibberHelper_1.TibberHelper {
286
322
  this.adapter.log.debug(`setup calculator settings state in home: ${homeId} - channel: ${channel}-${channelName} - set to EfficiencyLoss: ${this.adapter.config.CalculatorList[channel].chEfficiencyLoss}`);
287
323
  }
288
324
  else {
289
- this.adapter.log.debug(`Wrong type for chTriggerPrice: ${valueEfficiencyLoss}`);
325
+ this.adapter.log.debug(`Wrong type for chEfficiencyLoss: ${valueEfficiencyLoss}`);
290
326
  }
291
327
  }
292
328
  catch (error) {
293
329
  this.adapter.log.warn(this.generateErrorMessage(error, `setup of state EfficiencyLoss for calculator`));
294
330
  }
295
331
  }
332
+ async setup_chAverageTotalCost(homeId, channel) {
333
+ try {
334
+ const channelName = this.adapter.config.CalculatorList[channel].chName;
335
+ this.checkAndSetValueNumber(this.getStatePrefix(homeId, `Calculations.${channel}`, `AverageTotalCost`), 0, `average total cost in determined block`, false, false);
336
+ this.adapter.log.debug(`setup calculator output state AverageTotalCost in home: ${homeId} - channel: ${channel}-${channelName}`);
337
+ }
338
+ catch (error) {
339
+ this.adapter.log.warn(this.generateErrorMessage(error, `setup of state AverageTotalCost for calculator`));
340
+ }
341
+ }
342
+ async setup_chBlockStartFullHour(homeId, channel, delMode) {
343
+ if (delMode === undefined)
344
+ delMode = false;
345
+ try {
346
+ const channelName = this.adapter.config.CalculatorList[channel].chName;
347
+ this.checkAndSetValue(this.getStatePrefix(homeId, `Calculations.${channel}`, `BlockStartFullHour`), `-`, `first hour of determined block`, false, false);
348
+ if (!delMode)
349
+ this.adapter.log.debug(`setup calculator output state BlockStartFullHour in home: ${homeId} - channel: ${channel}-${channelName}`);
350
+ }
351
+ catch (error) {
352
+ this.adapter.log.warn(this.generateErrorMessage(error, `write state BlockStartFullHour for calculator`));
353
+ }
354
+ }
355
+ async setup_chBlockEndFullHour(homeId, channel, delMode) {
356
+ if (delMode === undefined)
357
+ delMode = false;
358
+ try {
359
+ const channelName = this.adapter.config.CalculatorList[channel].chName;
360
+ this.checkAndSetValue(this.getStatePrefix(homeId, `Calculations.${channel}`, `BlockEndFullHour`), `-`, `end hour of determined block`, false, false);
361
+ if (!delMode)
362
+ this.adapter.log.debug(`setup calculator output state BlockEndFullHour in home: ${homeId} - channel: ${channel}-${channelName}`);
363
+ }
364
+ catch (error) {
365
+ this.adapter.log.warn(this.generateErrorMessage(error, `write state BlockEndFullHour for calculator`));
366
+ }
367
+ }
296
368
  async startCalculatorTasks() {
297
369
  if (!this.adapter.config.UseCalculator)
298
370
  return;
@@ -472,14 +544,20 @@ class TibberCalculator extends tibberHelper_1.TibberHelper {
472
544
  if (!this.adapter.config.CalculatorList[channel].chActive) {
473
545
  // not active -> choose chValueOff
474
546
  valueToSet = this.adapter.config.CalculatorList[channel].chValueOff;
547
+ this.setup_chBlockStartFullHour(this.adapter.config.CalculatorList[channel].chHomeID, channel, true);
548
+ this.setup_chBlockEndFullHour(this.adapter.config.CalculatorList[channel].chHomeID, channel, true);
475
549
  }
476
550
  else if (modeLTF && now < this.adapter.config.CalculatorList[channel].chStartTime) {
477
551
  // chActive but before LTF -> choose chValueOff
478
552
  valueToSet = this.adapter.config.CalculatorList[channel].chValueOff;
553
+ this.setup_chBlockStartFullHour(this.adapter.config.CalculatorList[channel].chHomeID, channel, true);
554
+ this.setup_chBlockEndFullHour(this.adapter.config.CalculatorList[channel].chHomeID, channel, true);
479
555
  }
480
556
  else if (modeLTF && now > this.adapter.config.CalculatorList[channel].chStopTime) {
481
- // chActive but after LTF -> choose chValueOff and disable channel
557
+ // chActive but after LTF -> choose chValueOff and disable channel or generate new running period
482
558
  valueToSet = this.adapter.config.CalculatorList[channel].chValueOff;
559
+ this.setup_chBlockStartFullHour(this.adapter.config.CalculatorList[channel].chHomeID, channel, true);
560
+ this.setup_chBlockEndFullHour(this.adapter.config.CalculatorList[channel].chHomeID, channel, true);
483
561
  if (this.adapter.config.CalculatorList[channel].chRepeatDays == 0) {
484
562
  this.adapter.setStateAsync(`Homes.${this.adapter.config.CalculatorList[channel].chHomeID}.Calculations.${channel}.Active`, false, true);
485
563
  }
@@ -492,7 +570,7 @@ class TibberCalculator extends tibberHelper_1.TibberHelper {
492
570
  const pricesToday = JSON.parse(await this.getStateValue(`Homes.${this.adapter.config.CalculatorList[channel].chHomeID}.PricesToday.json`));
493
571
  let filteredPrices = pricesToday;
494
572
  if (modeLTF) {
495
- // Limited Time Frame mode
573
+ // Limited Time Frame mode, modify filteredPrices accordingly
496
574
  const pricesTomorrow = JSON.parse(await this.getStateValue(`Homes.${this.adapter.config.CalculatorList[channel].chHomeID}.PricesTomorrow.json`));
497
575
  const startTime = this.adapter.config.CalculatorList[channel].chStartTime;
498
576
  const stopTime = this.adapter.config.CalculatorList[channel].chStopTime;
@@ -528,6 +606,13 @@ class TibberCalculator extends tibberHelper_1.TibberHelper {
528
606
  else {
529
607
  valueToSet = this.adapter.config.CalculatorList[channel].chValueOff;
530
608
  }
609
+ // calculate average cost of determined block of hours, write to data point
610
+ this.checkAndSetValueNumber(this.getStatePrefix(this.adapter.config.CalculatorList[channel].chHomeID, `Calculations.${channel}`, `AverageTotalCost`), Math.round(1000 * (minSum / n)) / 1000, `average total cost in determined block`, false, false);
611
+ // write start and stop time of determined block to data points
612
+ const beginDate = new Date(filteredPrices[startIndex].startsAt);
613
+ const endDate = new Date(filteredPrices[startIndex + n - 1].startsAt);
614
+ this.checkAndSetValue(this.getStatePrefix(this.adapter.config.CalculatorList[channel].chHomeID, `Calculations.${channel}`, `BlockStartFullHour`), (0, date_fns_1.format)(beginDate, "H"), `first hour of determined block`, false, false);
615
+ this.checkAndSetValue(this.getStatePrefix(this.adapter.config.CalculatorList[channel].chHomeID, `Calculations.${channel}`, `BlockEndFullHour`), (0, date_fns_1.format)((0, date_fns_1.addHours)(endDate, 1), "H"), `end hour of determined block`, false, false);
531
616
  }
532
617
  //set value to foreign state
533
618
  this.adapter.setForeignStateAsync(this.adapter.config.CalculatorList[channel].chTargetState, convertValue(valueToSet));
@@ -1 +1 @@
1
- {"version":3,"file":"tibberCalculator.js","sourceRoot":"","sources":["../../src/lib/tibberCalculator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tibberCalculator.js","sourceRoot":"","sources":["../../src/lib/tibberCalculator.ts"],"names":[],"mappings":"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"}
@@ -80,7 +80,19 @@ class TibberHelper {
80
80
  return true;
81
81
  }
82
82
  }
83
+ /**
84
+ * Checks if a string state exists, creates it if necessary, and updates its value.
85
+ *
86
+ * @param stateName - An object containing the key and value for the name of the state.
87
+ * @param value - The string value to set for the state.
88
+ * @param description - Optional description for the state.
89
+ * @param writeable - Optional boolean indicating if the state should be writeable (default is false).
90
+ * @param dontUpdate - Optional boolean indicating if the state should not be updated if it already exists (default is false).
91
+ * @returns A Promise that resolves when the state is checked, created (if necessary), and updated.
92
+ */
83
93
  async checkAndSetValue(stateName, value, description, writeable, dontUpdate) {
94
+ if (description === undefined)
95
+ description = "";
84
96
  if (writeable === undefined)
85
97
  writeable = false;
86
98
  if (dontUpdate === undefined)
@@ -105,7 +117,19 @@ class TibberHelper {
105
117
  }
106
118
  }
107
119
  }
120
+ /**
121
+ * Checks if a number state exists, creates it if necessary, and updates its value.
122
+ *
123
+ * @param stateName - An object containing the key and value for the name of the state.
124
+ * @param value - The number value to set for the state.
125
+ * @param description - Optional description for the state.
126
+ * @param writeable - Optional boolean indicating if the state should be writeable (default is false).
127
+ * @param dontUpdate - Optional boolean indicating if the state should not be updated if it already exists (default is false).
128
+ * @returns A Promise that resolves when the state is checked, created (if necessary), and updated.
129
+ */
108
130
  async checkAndSetValueNumber(stateName, value, description, writeable, dontUpdate) {
131
+ if (description === undefined)
132
+ description = "";
109
133
  if (writeable === undefined)
110
134
  writeable = false;
111
135
  if (dontUpdate === undefined)
@@ -128,7 +152,19 @@ class TibberHelper {
128
152
  }
129
153
  }
130
154
  }
155
+ /**
156
+ * Checks if a number state with named unit exists, creates it if necessary, and updates its value.
157
+ *
158
+ * @param stateName - An object containing the key and value for the name of the state.
159
+ * @param value - The number value to set for the state.
160
+ * @param unit - The unit string to set for the state.
161
+ * @param description - Optional description for the state.
162
+ * @param writeable - Optional boolean indicating if the state should be writeable (default is false).
163
+ * @returns A Promise that resolves when the state is checked, created (if necessary), and updated.
164
+ */
131
165
  async checkAndSetValueNumberUnit(stateName, value, unit, description, writeable) {
166
+ if (description === undefined)
167
+ description = "";
132
168
  if (writeable === undefined)
133
169
  writeable = false;
134
170
  if (value || value === 0) {
@@ -148,7 +184,20 @@ class TibberHelper {
148
184
  await this.adapter.setStateAsync(stateName.value, { val: value, ack: true });
149
185
  }
150
186
  }
187
+ /**
188
+ * Checks if a boolean state exists, creates it if necessary, and updates its value.
189
+ *
190
+ * @param stateName - An object containing the key and value for the name of the state.
191
+ * @param value - The boolean value to set for the state.
192
+ * @param description - Optional description for the state.
193
+ * @param writeable - Optional boolean indicating if the state should be writeable (default is false).
194
+ * @param dontUpdate - Optional boolean indicating if the state should not be updated if it already exists (default is false).
195
+ * @returns A Promise that resolves when the state is checked, created (if necessary), and updated.
196
+ */
151
197
  async checkAndSetValueBoolean(stateName, value, description, writeable, dontUpdate) {
198
+ // Default values for optional parameters
199
+ if (description === undefined)
200
+ description = "";
152
201
  if (writeable === undefined)
153
202
  writeable = false;
154
203
  if (dontUpdate === undefined)
@@ -182,19 +231,38 @@ class TibberHelper {
182
231
  native: {},
183
232
  });
184
233
  }
234
+ // Update the state value if not in don't update mode or the state does not exist
185
235
  if (!dontUpdate || (await this.adapter.getStateAsync(stateName.value)) === null) {
186
236
  await this.adapter.setStateAsync(stateName.value, { val: value, ack: true });
187
237
  }
188
238
  }
189
239
  }
240
+ /**
241
+ * Generates a formatted error message based on the provided error object and context.
242
+ *
243
+ * @param error - The error object containing information about the error, such as status and error messages.
244
+ * @param context - A string providing context for where the error occurred.
245
+ * @returns A string representing the formatted error message.
246
+ */
190
247
  generateErrorMessage(error, context) {
191
248
  let errorMessages = "";
192
- for (const index in error.errors) {
193
- if (errorMessages)
194
- errorMessages += ", ";
195
- errorMessages += error.errors[index].message;
249
+ // Check if error object has an 'errors' property that is an array
250
+ if (error.errors && Array.isArray(error.errors)) {
251
+ // Iterate over the array of errors and concatenate their messages
252
+ for (const err of error.errors) {
253
+ if (errorMessages)
254
+ errorMessages += ", ";
255
+ errorMessages += err.message;
256
+ }
257
+ }
258
+ else if (error.message) {
259
+ errorMessages = error.message; // If 'errors' array is not present, use the 'message' property of the error object
260
+ }
261
+ else {
262
+ errorMessages = "Unknown error"; // If no 'errors' or 'message' property is found, default to "Unknown error"
196
263
  }
197
- return `Error (${error.statusMessage}) occured during: -${context}- : ${errorMessages}`;
264
+ // Construct the final error message string with status, context, and error messages
265
+ return `Error (${error.statusMessage || error.statusText || "Unknown Status"}) occurred during: -${context}- : ${errorMessages}`;
198
266
  }
199
267
  }
200
268
  exports.TibberHelper = TibberHelper;
@@ -1 +1 @@
1
- {"version":3,"file":"tibberHelper.js","sourceRoot":"","sources":["../../src/lib/tibberHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tibberHelper.js","sourceRoot":"","sources":["../../src/lib/tibberHelper.ts"],"names":[],"mappings":";;;AAEA,IAAY,UASX;AATD,WAAY,UAAU;IACrB,mDAAY,CAAA;IACZ,iEAAmB,CAAA;IACnB,+DAAkB,CAAA;IAClB,yDAAe,CAAA;IACf,uEAAsB,CAAA;IACtB,qEAAqB,CAAA;IACrB,uEAAsB,CAAA;IACtB,uBAAuB;AACxB,CAAC,EATW,UAAU,0BAAV,UAAU,QASrB;AAUD,MAAa,YAAY;IAGxB,YAAY,OAA8B;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAES,cAAc,CAAC,MAAc,EAAE,KAAa,EAAE,EAAU,EAAE,IAAa;QAChF,MAAM,WAAW,GAAG;YACnB,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACrB,KAAK,EAAE,SAAS,MAAM,IAAI,KAAK,IAAI,EAAE,EAAE;SACvC,CAAC;QACF,OAAO,WAAW,CAAC;IACpB,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,SAAiB;QAC9C,IAAI;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACnD,OAAO,WAAW,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,iDAAiD;SAClF;QAAC,OAAO,KAAK,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,SAAS,MAAM,KAAK,EAAE,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,SAAiB;QACvC,IAAI;YACH,IAAI,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE;gBAC/C,0EAA0E;gBAC1E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBACrE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;oBACxC,OAAO,gBAAgB,CAAC;iBACxB;qBAAM;oBACN,MAAM,uCAAuC,SAAS,IAAI,CAAC;iBAC3D;aACD;SACD;QAAC,OAAO,KAAK,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,SAAS,MAAM,KAAK,EAAE,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,SAAiB;QACnD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB;QAC1F,IAAI,CAAC,WAAW,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,SAAS,0BAA0B,CAAC,CAAC;YACtF,OAAO,KAAK,CAAC;SACb;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,WAAW,CAAC,QAA2C;QAC9D,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,IAAI,EAAE;YACzD,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACrC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,0BAA0B;YAC7D,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;YACnD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;YACnD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;YACpD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;YACpD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;YACpD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;YACpD,IAAI,KAAK,KAAK,EAAE,EAAE;gBACjB,OAAO,KAAK,CAAC;aACb;iBAAM;gBACN,OAAO,IAAI,CAAC;aACZ;SACD;aAAM;YACN,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;IAED;;;;;;;;;OASG;IACO,KAAK,CAAC,gBAAgB,CAC/B,SAAoC,EACpC,KAAa,EACb,WAAoB,EACpB,SAAmB,EACnB,UAAoB;QAEpB,IAAI,WAAW,KAAK,SAAS;YAAE,WAAW,GAAG,EAAE,CAAC;QAChD,IAAI,SAAS,KAAK,SAAS;YAAE,SAAS,GAAG,KAAK,CAAC;QAC/C,IAAI,UAAU,KAAK,SAAS;YAAE,UAAU,GAAG,KAAK,CAAC;QACjD,IAAI,KAAK,IAAI,SAAS,EAAE;YACvB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,CAAC,KAAK,EAAE;oBAC3D,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE;wBACP,IAAI,EAAE,SAAS,CAAC,GAAG;wBACnB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,SAAS;qBAChB;oBACD,MAAM,EAAE,EAAE;iBACV,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE;oBAChF,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC7E;aACD;SACD;IACF,CAAC;IAED;;;;;;;;;OASG;IACO,KAAK,CAAC,sBAAsB,CACrC,SAAoC,EACpC,KAAa,EACb,WAAoB,EACpB,SAAmB,EACnB,UAAoB;QAEpB,IAAI,WAAW,KAAK,SAAS;YAAE,WAAW,GAAG,EAAE,CAAC;QAChD,IAAI,SAAS,KAAK,SAAS;YAAE,SAAS,GAAG,KAAK,CAAC;QAC/C,IAAI,UAAU,KAAK,SAAS;YAAE,UAAU,GAAG,KAAK,CAAC;QACjD,IAAI,KAAK,IAAI,KAAK,KAAK,CAAC,EAAE;YACzB,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,CAAC,KAAK,EAAE;gBAC3D,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE;oBACP,IAAI,EAAE,SAAS,CAAC,GAAG;oBACnB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,SAAS;iBAChB;gBACD,MAAM,EAAE,EAAE;aACV,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE;gBAChF,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;aAC7E;SACD;IACF,CAAC;IAED;;;;;;;;;OASG;IACO,KAAK,CAAC,0BAA0B,CACzC,SAAoC,EACpC,KAAa,EACb,IAAY,EACZ,WAAoB,EACpB,SAAmB;QAEnB,IAAI,WAAW,KAAK,SAAS;YAAE,WAAW,GAAG,EAAE,CAAC;QAChD,IAAI,SAAS,KAAK,SAAS;YAAE,SAAS,GAAG,KAAK,CAAC;QAC/C,IAAI,KAAK,IAAI,KAAK,KAAK,CAAC,EAAE;YACzB,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,CAAC,KAAK,EAAE;gBAC3D,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE;oBACP,IAAI,EAAE,SAAS,CAAC,GAAG;oBACnB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,SAAS;iBAChB;gBACD,MAAM,EAAE,EAAE;aACV,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;SAC7E;IACF,CAAC;IAED;;;;;;;;;OASG;IACO,KAAK,CAAC,uBAAuB,CACtC,SAAoC,EACpC,KAAc,EACd,WAAoB,EACpB,SAAmB,EACnB,UAAoB;QAEpB,yCAAyC;QACzC,IAAI,WAAW,KAAK,SAAS;YAAE,WAAW,GAAG,EAAE,CAAC;QAChD,IAAI,SAAS,KAAK,SAAS;YAAE,SAAS,GAAG,KAAK,CAAC;QAC/C,IAAI,UAAU,KAAK,SAAS;YAAE,UAAU,GAAG,KAAK,CAAC;QACjD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;YAC1C,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,SAAS,CAAC,GAAG,EAAE;gBACvD,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,CAAC,KAAK,EAAE;oBAC3D,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE;wBACP,IAAI,EAAE,SAAS,CAAC,GAAG;wBACnB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,SAAS;qBAChB;oBACD,MAAM,EAAE,EAAE;iBACV,CAAC,CAAC;aACH;iBAAM;gBACN,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE;oBAClD,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE;wBACP,IAAI,EAAE,SAAS,CAAC,GAAG;wBACnB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,SAAS;qBAChB;oBACD,MAAM,EAAE,EAAE;iBACV,CAAC,CAAC;aACH;YACD,iFAAiF;YACjF,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE;gBAChF,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;aAC7E;SACD;IACF,CAAC;IAED;;;;;;OAMG;IACI,oBAAoB,CAAC,KAAU,EAAE,OAAe;QACtD,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,kEAAkE;QAClE,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAChD,kEAAkE;YAClE,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE;gBAC/B,IAAI,aAAa;oBAAE,aAAa,IAAI,IAAI,CAAC;gBACzC,aAAa,IAAI,GAAG,CAAC,OAAO,CAAC;aAC7B;SACD;aAAM,IAAI,KAAK,CAAC,OAAO,EAAE;YACzB,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,mFAAmF;SAClH;aAAM;YACN,aAAa,GAAG,eAAe,CAAC,CAAC,4EAA4E;SAC7G;QACD,oFAAoF;QACpF,OAAO,UAAU,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,UAAU,IAAI,gBAAgB,uBAAuB,OAAO,OAAO,aAAa,EAAE,CAAC;IAClI,CAAC;CACD;AA5QD,oCA4QC"}
@@ -107,18 +107,20 @@ class TibberPulse extends tibberHelper_1.TibberHelper {
107
107
  this.checkAndSetValueNumberUnit(this.getStatePrefix(this.tibberConfig.homeId, objectDestination, "currentL3"), liveMeasurement.currentL3, "A", "Current on L3; on some meters this value is not part of every data frame therefore the value is null at some timestamps");
108
108
  }
109
109
  }
110
+ /**
111
+ * Tries to reconnect to TibberFeed in a loop, with incremental delay between attempts,
112
+ * and generates a formatted error message if unsuccessful.
113
+ *
114
+ * @returns A Promise that resolves when reconnection is successful, or rejects with an error message.
115
+ */
110
116
  async reconnect() {
111
- const reconnectionInterval = this.adapter.setInterval(async () => {
112
- if (!this.tibberFeed.connected) {
113
- this.reconnectTime = Math.min(this.reconnectTime + 1000, this.maxReconnectTime);
114
- this.adapter.log.debug(`Attempting to reconnected to TibberFeed in ${this.reconnectTime / 1000}sec interval - (of max. ${this.reconnectTime / 1000}sec)`);
115
- await this.ConnectPulseStream();
116
- }
117
- else {
118
- this.adapter.log.info(`Reconnection successful! Stopping reconnection interval.`);
119
- this.adapter.clearInterval(reconnectionInterval);
120
- }
121
- }, this.reconnectTime);
117
+ do {
118
+ await this.adapter.delay(this.reconnectTime);
119
+ this.adapter.log.debug(`Attempting to reconnect to TibberFeed in ${this.reconnectTime / 1000}sec interval - (of max. ${this.maxReconnectTime / 1000}sec)`);
120
+ await this.ConnectPulseStream();
121
+ this.reconnectTime = Math.min(this.reconnectTime + 1000, this.maxReconnectTime);
122
+ } while (!this.tibberFeed.connected);
123
+ this.adapter.log.info(`Reconnection successful!`);
122
124
  }
123
125
  }
124
126
  exports.TibberPulse = TibberPulse;
@@ -1 +1 @@
1
- {"version":3,"file":"tibberPulse.js","sourceRoot":"","sources":["../../src/lib/tibberPulse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tibberPulse.js","sourceRoot":"","sources":["../../src/lib/tibberPulse.ts"],"names":[],"mappings":"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"}
package/io-package.json CHANGED
@@ -1,8 +1,34 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "tibberlink",
4
- "version": "2.1.0",
4
+ "version": "2.2.0",
5
5
  "news": {
6
+ "2.2.0": {
7
+ "en": "add data points for BestHoursBlock results - period and average cost (#240)",
8
+ "de": "Datenpunkte für BestHoursBlock-Ergebnisse hinzufügen - Zeitraum und Durchschnittskosten (#240)",
9
+ "ru": "Добавить точки данных для результатов BestHoursBlock - период и средняя стоимость (#240)",
10
+ "pt": "Adicionar pontos de dados para os resultados do BestHoursBlock - período e custo médio (#240)",
11
+ "nl": "Gegevenspunten toevoegen voor BestHoursBlock-resultaten - periode en gemiddelde kosten (#240)",
12
+ "fr": "Ajouter des points de données pour les résultats de BestHoursBlock - période et coût moyen (#240)",
13
+ "it": "Aggiungere punti dati per i risultati di BestHoursBlock - periodo e costo medio (#240)",
14
+ "es": "Agregar puntos de datos para los resultados de BestHoursBlock - período y costo promedio (#240)",
15
+ "pl": "Dodaj punkty danych dla wyników BestHoursBlock - okres i średni koszt (#240)",
16
+ "uk": "Додати точки даних для результатів BestHoursBlock - період і середня вартість (#240)",
17
+ "zh-cn": "为 BestHoursBlock 结果添加数据点 - 周期和平均成本 (#240)"
18
+ },
19
+ "2.1.1": {
20
+ "en": "fix reconnect error for Pulse feed (#300)",
21
+ "de": "Fehler bei der erneuten Verbindung für den Pulse Feed beheben (#300)",
22
+ "ru": "Исправить ошибку повторного подключения для ленты Pulse (#300)",
23
+ "pt": "Corrigir erro de reconexão para o feed Pulse (#300)",
24
+ "nl": "Herstel fout bij opnieuw verbinden voor Pulse-feed (#300)",
25
+ "fr": "Corriger l'erreur de reconnexion pour le flux Pulse (#300)",
26
+ "it": "Correggi l'errore di riconnessione per il feed Pulse (#300)",
27
+ "es": "Corregir error de reconexión para el feed Pulse (#300)",
28
+ "pl": "Napraw błąd ponownego podłączenia dla strumienia Pulse (#300)",
29
+ "uk": "Виправити помилку з'єднання для стрічки Pulse (#300)",
30
+ "zh-cn": "修复 Pulse 订阅的重新连接错误 (#300)"
31
+ },
6
32
  "2.1.0": {
7
33
  "en": "add repeatability for LTF channels (#289)",
8
34
  "de": "Wiederholbarkeit für LTF-Kanäle hinzufügen (#289)",
@@ -198,19 +224,6 @@
198
224
  "uk": "Реалізовано стани мінімуму/максимуму (#131)\nвиправлено помилку з ігноруванням деактивації калькуляторних каналів (#143)",
199
225
  "zh-cn": "实现最小/最大状态 (#131)\n修复忽略计算器通道停用错误 (#143)"
200
226
  },
201
- "1.3.1": {
202
- "en": "Changed message 'reconnect successful' to level info (#80)\nfixed initialization of channel states (#141)",
203
- "de": "Geänderte Meldung 'Neuverbindung erfolgreich' auf Stufe Info (#80)\nbehob die Initialisierung der Kanalzustände (#141)",
204
- "ru": "Изменено сообщение 'повторное подключение успешно' на уровень информации (#80)\nисправлено начальное состояние канала (#141)",
205
- "pt": "Alterou a mensagem 'reconexão bem-sucedida' para o nível de informação (#80)\ncorrigiu a inicialização dos estados do canal (#141)",
206
- "nl": "Bericht 'herverbinding gelukt' gewijzigd naar infoniveau (#80)\ninitialisatie van kanaalstaten hersteld (#141)",
207
- "fr": "Message 'reconnexion réussie' modifié au niveau info (#80)\ninitialisation corrigée des états de canal (#141)",
208
- "it": "Messaggio 'riconnessione riuscita' modificato a livello di informazioni (#80)\ncorretta l'inizializzazione degli stati del canale (#141)",
209
- "es": "Cambió el mensaje 'reconexión exitosa' al nivel de información (#80)\ncorrigió la inicialización de los estados del canal (#141)",
210
- "pl": "Zmieniono komunikat 'ponowne połączenie udane' na poziomie informacji (#80)\nnaprawiono inicjowanie stanów kanału (#141)",
211
- "uk": "Змінено повідомлення 'повторне підключення успішне' на рівень інформації (#80)\nвиправлено ініціалізацію станів каналу (#141)",
212
- "zh-cn": "将消息 '重新连接成功' 更改为信息级别 (#80)\n修复渠道状态的初始化 (#141)"
213
- },
214
227
  "1.3.0": {
215
228
  "en": "Implement Tibber calculator mode 'best hours block' (#16)",
216
229
  "de": "Implementieren des Tibber-Rechnermodus 'beste Stundenblock' (#16)",
@@ -237,19 +250,6 @@
237
250
  "uk": "Впровадження режиму калькулятора Tibber 'кращі одиночні години' (#16)\nвиправлені переклади (#128)\nвиправлено помилку при початковому читанні станів калькулятора (#129)",
238
251
  "zh-cn": "实施Tibber计算器模式 '最佳单个小时' (#16)\n修正的翻译 (#128)\n修正了计算器状态初始读取中的错误 (#129)"
239
252
  },
240
- "1.1.2": {
241
- "en": "fix timing error in calculator",
242
- "de": "Behebe Zeitfehler im Rechner",
243
- "ru": "Исправьте ошибку в расчетах по времени",
244
- "pt": "Corrigir erro de temporização na calculadora",
245
- "nl": "Los tijdgerelateerde fout op in de calculator",
246
- "fr": "Corriger l'erreur de synchronisation dans le calculateur",
247
- "it": "Correggi l'errore di sincronizzazione nel calcolatore",
248
- "es": "Corregir error de sincronización en la calculadora",
249
- "pl": "Napraw błąd czasowania w kalkulatorze",
250
- "uk": "Виправити помилку в розрахунках за часом в калькуляторі",
251
- "zh-cn": "修复计算器中的时序错误"
252
- },
253
253
  "1.1.0": {
254
254
  "en": "Implement Tibber Calculator Mode 'Best Price' (#16)",
255
255
  "de": "Implementierung des Tibber Calculator Modus 'Bester Preis' (#16)",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.tibberlink",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "links tibber API data to be used in ioBroker",
5
5
  "author": {
6
6
  "name": "Hombach",
@@ -27,28 +27,28 @@
27
27
  "@iobroker/adapter-core": "^3.0.4",
28
28
  "tibber-api": "^5.1.9",
29
29
  "cron": "^3.1.6",
30
- "date-fns": "^3.3.0"
30
+ "date-fns": "^3.3.1"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@iobroker/testing": "^4.1.0",
34
- "@iobroker/types": "^5.0.17",
34
+ "@iobroker/types": "^5.0.19",
35
35
  "@types/chai": "^4.3.11",
36
36
  "@types/chai-as-promised": "^7.1.8",
37
37
  "@types/mocha": "^10.0.6",
38
- "@types/node": "^20.11.5",
38
+ "@types/node": "^20.11.16",
39
39
  "@types/proxyquire": "^1.3.31",
40
40
  "@types/sinon": "^17.0.3",
41
41
  "@types/sinon-chai": "^3.2.12",
42
- "@typescript-eslint/eslint-plugin": "^6.19.0",
43
- "@typescript-eslint/parser": "^6.19.0",
44
- "axios": "^1.6.5",
42
+ "@typescript-eslint/eslint-plugin": "^6.20.0",
43
+ "@typescript-eslint/parser": "^6.20.0",
44
+ "axios": "^1.6.7",
45
45
  "chai": "^4.4.1",
46
46
  "chai-as-promised": "^7.1.1",
47
47
  "eslint": "^8.56.0",
48
48
  "eslint-config-prettier": "^9.1.0",
49
49
  "eslint-plugin-prettier": "^5.1.3",
50
50
  "mocha": "^10.2.0",
51
- "prettier": "^3.2.4",
51
+ "prettier": "^3.2.5",
52
52
  "proxyquire": "^2.1.3",
53
53
  "sinon": "^17.0.1",
54
54
  "sinon-chai": "^3.7.0",