iobroker.tibberlink 1.1.0 → 1.1.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.
package/README.md CHANGED
@@ -16,151 +16,193 @@
16
16
  [![NPM](https://nodei.co/npm/iobroker.tibberlink.png?downloads=true)](https://nodei.co/npm/iobroker.tibberlink/)
17
17
 
18
18
  ## Adapter for utilizing TIBBER energy data in ioBroker
19
+
19
20
  This adapter connects data from your Tibber account API for use in ioBroker. It can be used for single or multiple homes.
20
21
 
21
22
  If you're not a Tibber user currently, it would be greatly appreciated if you use my referral link:
22
23
  [https://invite.tibber.com/2gwuign3.](https://invite.tibber.com/2gwuign3.)
23
24
 
24
25
  ## Standard Configuration
25
- + Create a new instance of the adapter
26
- + You will also need an API token from Tibber. Get it here: [https://developer.tibber.com/](https://developer.tibber.com/)
27
- + Enter your Tibber API token in the standard settings and create at least one line for live feed configuration (select "None available").
28
- + Save the settings and exit the configaration to restart the adapter (your home(s) will now be queried from the Tibber server).
29
- + Return to the configuration screen and select the homes from which you want to pull real-time data from your Tibber Pulse or select homes and disable the feed - (!! Only works if hardware is installed and the Tibber server has verified the connection to Pulse).
30
- + Save the settings.
26
+
27
+ - Create a new instance of the adapter
28
+ - You will also need an API token from Tibber. Get it here: [https://developer.tibber.com/](https://developer.tibber.com/)
29
+ - Enter your Tibber API token in the standard settings and create at least one line for live feed configuration (select "None available").
30
+ - Save the settings and exit the configaration to restart the adapter (your home(s) will now be queried from the Tibber server).
31
+ - Return to the configuration screen and select the homes from which you want to pull real-time data from your Tibber Pulse or select homes and disable the feed - (!! Only works if hardware is installed and the Tibber server has verified the connection to Pulse).
32
+ - Save the settings.
31
33
 
32
34
  ## Calculator Configuration
33
- + Since the Tibber connection is up and running, you can also use the Calculator to include some automation add-ons in the TibberLink adapter.
34
- + The Calculator works with channels. Each channel is linked to a selected home.
35
- + Channels can be activated or deactivated in a corresponding state.
36
- + All states of a calculator channel are placed near the homes states, named by the channel number.
37
- + The behavior of a channel is defined by its type: "best cost"; "best single hours" - not implemented yet; "best hours block" - not implemented yet.
38
- + Each channel has an external state as output, which can be chosen in the settings tab. This state could be, for example, "0_userdata.0.example_state" or any other writable external state.
39
- + The values to be written to the output state can be defined in "value YES" and "value NO," e.g., "true" for boolean states, or a number or text to be written.
40
- + Outputs:
41
- + "Best cost": Uses the "TriggerPrice" state as input - output is "YES" every hour the current Tibber energy cost is below the trigger price.
42
- + "Best single hours" - not implemented yet.
43
- + "Best hours block" - not implemented yet.
35
+
36
+ - Since the Tibber connection is up and running, you can also use the Calculator to include some automation add-ons in the TibberLink adapter.
37
+ - The Calculator works with channels. Each channel is linked to a selected home.
38
+ - Channels can be activated or deactivated in a corresponding state.
39
+ - All states of a calculator channel are placed near the homes states, named by the channel number.
40
+ - The behavior of a channel is defined by its type: "best cost"; "best single hours" - not implemented yet; "best hours block" - not implemented yet.
41
+ - Each channel has an external state as output, which can be chosen in the settings tab. This state could be, for example, "0_userdata.0.example_state" or any other writable external state.
42
+ - The values to be written to the output state can be defined in "value YES" and "value NO," e.g., "true" for boolean states, or a number or text to be written.
43
+ - Outputs:
44
+ - "Best cost": Uses the "TriggerPrice" state as input - output is "YES" every hour the current Tibber energy cost is below the trigger price.
45
+ - "Best single hours" - not implemented yet.
46
+ - "Best hours block" - not implemented yet.
44
47
 
45
48
  ## Notes
49
+
46
50
  This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers. For more details and information on how to disable the error reporting; see the [Sentry-Plugin Documentation](https://github.com/ioBroker/plugin-sentry#plugin-sentry)! Sentry reporting is used starting with js-controller 3.0.
47
51
 
48
52
  ## Changelog
53
+
49
54
  ! Note that missing version entries are typically dependency updates for improved security.
50
55
 
56
+ ### 1.2.0 (2023-10-2x) WORK in PROGRESS
57
+
58
+ - (HombachC) implement tibber calculator mode "best single hours" (#16)
59
+
60
+ ### 1.1.1 (2023-10-14)
61
+
62
+ - (HombachC) fix error in startup of additional channels
63
+
51
64
  ### 1.1.0 (2023-10-14)
52
- + (HombachC) implement tibber calculator mode "best price" (#16)
53
- + (HombachC) precised pull times of current cost
54
- + (HombachC) reduced error messages (#80)
55
- + (HombachC) extend documentation
56
- + (HombachC) update adapter-core
65
+
66
+ - (HombachC) implement tibber calculator mode "best price" (#16)
67
+ - (HombachC) precised pull times of current cost
68
+ - (HombachC) reduced error messages (#80)
69
+ - (HombachC) extend documentation
70
+ - (HombachC) update adapter-core
57
71
 
58
72
  ### 1.0.0 (2023-10-05)
59
- + (HombachC) Increase to the first major release, as now a stable level is reached
60
- + (HombachC) Code cleanup
73
+
74
+ - (HombachC) Increase to the first major release, as now a stable level is reached
75
+ - (HombachC) Code cleanup
61
76
 
62
77
  ### 0.4.2 (2023-10-03)
78
+
63
79
  - (HombachC) fixed error with polling multiple homes live data (#108)
64
80
  - (HombachC) Lots of dependency updates; code optimizations
65
81
 
66
82
  ### 0.4.1 (2023-09-24)
83
+
67
84
  - (HombachC) Hardened 2 typeerrors uppon sentry recognition
68
85
  - (HombachC) Fix error with not deleted averages of tomorrow pricing (#95)
69
86
  - (HombachC) preparations for tibber calculator
70
87
 
71
88
  ### 0.4.0 (2023-09-20)
89
+
72
90
  - (HombachC) Added daily average price values (#89)
73
91
 
74
92
  ### 0.3.3 (2023-09-17)
93
+
75
94
  - (HombachC) Fixed false positive connection message (#87)
76
95
  - (HombachC) Updated translations with ChatGPT
77
96
  - (HombachC) preparations for tibber calculator
78
97
 
79
98
  ### 0.3.2 (2023-09-14)
99
+
80
100
  - (HombachC) Fixed error when starting adapter first time (#82)
81
101
  - (HombachC) Fixed error in admin config from 0.3.0 (#81)
82
102
 
83
103
  ### 0.3.1 (2023-09-13)
104
+
84
105
  - (HombachC) Mitigate error in admin config from 0.3.0 (#81)
85
106
  - (HombachC) Change logging of TibberFeed errors from type error to type warn - because of too many downtimes of Tibber server (#80)
86
107
 
87
108
  ### 0.3.0 (2023-09-12)
109
+
88
110
  - (HombachC) BREAKING: change Pulse usage to be configurable for all homes seperately (#41)
89
111
  - (HombachC) optimize code again to mitigate set state timing for long JSON states (#68)
90
112
  - (HombachC) preparations for tibber calculator
91
113
 
92
114
  ### 0.2.7 (2023-09-07)
115
+
93
116
  - (HombachC) reducing polls at Tibber server by precheck of current price data
94
117
  - (HombachC) preparations for tibber calculator
95
118
 
96
119
  ### 0.2.6 (2023-09-04)
120
+
97
121
  - (HombachC) fix error with boolean states
98
122
 
99
123
  ### 0.2.5 (2023-09-03)
124
+
100
125
  - (HombachC) optimize code to mitigate set state timing for long JSON states (#68)
101
126
 
102
127
  ### 0.2.4 (2023-08-30)
128
+
103
129
  - (HombachC) enable correct price poll also for adapter running in different timezones (#63)
104
130
 
105
131
  ### 0.2.3 (2023-08-27)
132
+
106
133
  - (HombachC) fix error in 0.2.2 in start conditions of adapter
107
134
 
108
135
  ### 0.2.2 (2023-08-24)
136
+
109
137
  - (HombachC) reducing polls at Tibber server by precheck of known data
110
138
  - (HombachC) code optimizations
111
139
  - (HombachC) fix config screen (#55)
112
140
 
113
141
  ### 0.2.1 (2023-08-21)
142
+
114
143
  - (HombachC) double timeout for Tibber server queries
115
144
 
116
145
  ### 0.2.0 (2023-08-18)
146
+
117
147
  - (HombachC) introduces JSONs for prices sorted by price ascending
118
148
  - (HombachC) fix stupid error for obsolete next day pricing (#23, #50)
119
149
 
120
150
  ### 0.1.10 (2023-08-15)
151
+
121
152
  - (HombachC) bump dependencies, code cleanups
122
153
  - (HombachC) preparations for tibber calculator
123
154
  - (HombachC) mitigate multi homes & pulse problems (#41)
124
155
  - (HombachC) add documentation to config screen (#47)
125
156
 
126
157
  ### 0.1.9 (2023-08-14)
158
+
127
159
  - (HombachC) optimizing fetching homes list (#32) after Tibber server error, restart adapter in case of trouble
128
160
 
129
161
  ### 0.1.8 (2023-08-12)
162
+
130
163
  - (HombachC) bump dev-dependencies, fix eslint/prettier issue
131
164
 
132
165
  ### 0.1.7 (2023-08-11)
166
+
133
167
  - (HombachC) code cleanup, fix error for obsolete next day pricing (#23)
134
168
  - (HombachC) add another try/catch while fetching homes list (#32)
135
169
 
136
170
  ### 0.1.6 (2023-07-30)
171
+
137
172
  - (HombachC) add units for live data, bump adapter-core to 3.x
138
173
 
139
174
  ### 0.1.5 (2023-07-18)
175
+
140
176
  - (HombachC) fix error in sentry logging
141
177
 
142
178
  ### 0.1.4 (2023-07-17)
179
+
143
180
  - (HombachC) BREAKING: encrypted API-Token in ioBroker
144
181
  - (HombachC) rearranged configuration options
145
182
  - (HombachC) fixed bug in state generation
146
183
 
147
184
  ### 0.1.3 (2023-07-17)
185
+
148
186
  - (HombachC) all log messages in English
149
187
  - (HombachC) remove unused state change handler
150
188
  - (HombachC) fixed state roles
151
189
 
152
190
  ### 0.1.2 (2023-07-17)
191
+
153
192
  - (HombachC) round grid consumption meter values to Wh accuracy
154
193
  - (HombachC) hide unused checkboxes in config
155
194
  - (HombachC) fix snyc and appveyor
156
195
 
157
196
  ### 0.1.1 (2023-07-16)
197
+
158
198
  - (HombachC) remove release script and dev-server
159
199
 
160
200
  ### 0.1.0 (2023-07-14)
201
+
161
202
  - (HombachC) initial version
162
203
 
163
204
  ## License
205
+
164
206
  GNU General Public License v3.0 only
165
207
 
166
208
  Copyright (c) 2023 Hombach <TibberLink@homba.ch>
@@ -12,7 +12,10 @@ class TibberCalculator extends tibberHelper_1.TibberHelper {
12
12
  this.adapter.config.CalculatorList[channel].chTriggerPrice = 0;
13
13
  }
14
14
  this.checkAndSetValueNumber(this.getStatePrefix(homeId, `Calculations.${channel}`, `TriggerPrice`), this.adapter.config.CalculatorList[channel].chTriggerPrice, `pricelevel to trigger this channel at`, true, true);
15
- this.checkAndSetValueBoolean(this.getStatePrefix(homeId, `Calculations.${channel}`, `Active`), this.adapter.config.CalculatorList[channel].chActive, `Whether the calculation channel is active`, true, false);
15
+ if (this.adapter.config.CalculatorList[channel].chActive === undefined) {
16
+ this.adapter.config.CalculatorList[channel].chActive = false;
17
+ }
18
+ this.checkAndSetValueBoolean(this.getStatePrefix(homeId, `Calculations.${channel}`, `Active`), this.adapter.config.CalculatorList[channel].chActive, `Whether the calculation channel is active`, true, true);
16
19
  if (this.adapter.config.CalculatorList[channel].chAmountHours === undefined) {
17
20
  this.adapter.config.CalculatorList[channel].chAmountHours = 0;
18
21
  }
@@ -33,10 +36,10 @@ class TibberCalculator extends tibberHelper_1.TibberHelper {
33
36
  this.executeCalculatorBestCost(parseInt(channel));
34
37
  break;
35
38
  case tibberHelper_1.enCalcType.BestSingleHours:
36
- //tibberCalculator.executeCalculatorBestSingleHours(parseInt(channel));
39
+ //this.executeCalculatorBestSingleHours(parseInt(channel));
37
40
  break;
38
41
  case tibberHelper_1.enCalcType.BestHoursBlock:
39
- //tibberCalculator.executeCalculatorBestHoursBlock(parseInt(channel));
42
+ //this.executeCalculatorBestHoursBlock(parseInt(channel));
40
43
  break;
41
44
  default:
42
45
  this.adapter.log.debug(`unknown value for calculator type: ${this.adapter.config.CalculatorList[channel].chType}`);
@@ -65,6 +68,32 @@ class TibberCalculator extends tibberHelper_1.TibberHelper {
65
68
  }
66
69
  async executeCalculatorBestSingleHours(channel) {
67
70
  try {
71
+ //import { DateTime } from "luxon";
72
+ //const currentDateTime = DateTime.local();
73
+ const currentDateTime = new Date();
74
+ const jsonPrices = await this.getStateValue(`Homes.${this.adapter.config.CalculatorList[channel].chHomeID}.PricesToday.json`);
75
+ // Anzahl der Einträge, die verglichen werden
76
+ //const n = this.adapter.config.CalculatorList[channel].chAmountHours;
77
+ // function to check for equal hour values
78
+ function checkHourMatch(entry) {
79
+ //const startDateTime = DateTime.fromISO(entry.startsAt);
80
+ const startDateTime = new Date(entry.startsAt);
81
+ //return currentDateTime.hour === startDateTime.hour;
82
+ return currentDateTime.getHours() === startDateTime.getHours();
83
+ }
84
+ // get first n entries und test for matching hour
85
+ //const result: boolean[] = data.slice(0, n).map(checkHourMatch);
86
+ //const result: boolean[] = data.slice(0, n).map(checkHourMatch);
87
+ const result = jsonPrices.slice(0, this.adapter.config.CalculatorList[channel].chAmountHours).map(checkHourMatch);
88
+ // identify if any elementis true
89
+ const isAnyTrue = result.some((value) => value);
90
+ if (isAnyTrue) {
91
+ this.adapter.setForeignStateAsync(this.adapter.config.CalculatorList[channel].chTargetState, convertValue(this.adapter.config.CalculatorList[channel].chValueOn));
92
+ }
93
+ else {
94
+ this.adapter.setForeignStateAsync(this.adapter.config.CalculatorList[channel].chTargetState, convertValue(this.adapter.config.CalculatorList[channel].chValueOff));
95
+ }
96
+ this.adapter.log.debug(`calculator channel: ${channel} setting state: ${this.adapter.config.CalculatorList[channel].chTargetState}`);
68
97
  }
69
98
  catch (error) {
70
99
  this.adapter.log.warn(this.generateErrorMessage(error, `execute calculator for best single hours in channel ${channel}`));
@@ -72,6 +101,12 @@ class TibberCalculator extends tibberHelper_1.TibberHelper {
72
101
  }
73
102
  async executeCalculatorBestHoursBlock(channel) {
74
103
  try {
104
+ if (false) {
105
+ }
106
+ else {
107
+ this.adapter.setForeignStateAsync(this.adapter.config.CalculatorList[channel].chTargetState, convertValue(this.adapter.config.CalculatorList[channel].chValueOff));
108
+ }
109
+ this.adapter.log.debug(`calculator channel: ${channel} setting state: ${this.adapter.config.CalculatorList[channel].chTargetState}`);
75
110
  }
76
111
  catch (error) {
77
112
  this.adapter.log.warn(this.generateErrorMessage(error, `execute calculator for best hours block in channel ${channel}`));
@@ -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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"}
package/io-package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "tibberlink",
4
- "version": "1.1.0",
4
+ "version": "1.1.1",
5
5
  "news": {
6
+ "1.1.1": {
7
+ "en": "fix error in startup of additional channels",
8
+ "de": "Fehler beim Starten zusätzlicher Kanäle beheben",
9
+ "ru": "Исправление ошибки при запуске дополнительных каналов",
10
+ "pt": "Corrigir erro na inicialização de canais adicionais",
11
+ "nl": "Fout bij opstarten van extra kanalen herstellen",
12
+ "fr": "Corriger l'erreur au démarrage des canaux supplémentaires",
13
+ "it": "Correzione dell'errore all'avvio dei canali aggiuntivi",
14
+ "es": "Corregir error en el inicio de canales adicionales",
15
+ "pl": "Napraw błąd przy uruchamianiu dodatkowych kanałów",
16
+ "uk": "Виправити помилку під час запуску додаткових каналів",
17
+ "zh-cn": "修复启动附加通道时的错误"
18
+ },
6
19
  "1.1.0": {
7
20
  "en": "Implement Tibber Calculator Mode 'Best Price' (#16)",
8
21
  "de": "Implementierung des Tibber Calculator Modus 'Bester Preis' (#16)",
@@ -224,19 +237,6 @@
224
237
  "uk": "вводить JSON для цін, що відсортовані загальним зростанням цін",
225
238
  "zh-cn": "公司采用以总价格计算价格计算的价格"
226
239
  },
227
- "0.1.10": {
228
- "en": "bump dependencies, preparations for tibber calculator, code cleanup, mitigate multi homes & pulse problems (#41)",
229
- "de": "Abhängigkeiten aktualisiert, Vorbereitungen für tibber-rechner, Code Bereinigung, Minderung multi homes & Pulse probleme (#41)",
230
- "ru": "бамповые зависимости, подготовка к калькулятору tibber, очистка кода, уменьшение нескольких домов и проблемы импульса (#41)",
231
- "pt": "dependências de choque, preparações para calculadora de tibber, limpeza de código, mitigar multi casas e problemas de pulso (#41)",
232
- "nl": "quality over quantity (qoq) releases vertaling:",
233
- "fr": "dépendances de bosse, préparations pour calculateur de tibber, nettoyage de code, atténuer les problèmes de pulsation de plusieurs foyers (#41)",
234
- "it": "paraurti dipendenze, preparazioni per calcolatore di tibber, pulizia del codice, mitigare multi case e problemi di polso (#41)",
235
- "es": "unidades de parachoques, preparaciones para la calculadora de tibber, limpieza de códigos, mitigación de múltiples hogares \" problemas de pulso (#41)",
236
- "pl": "w zależności od zderzenia, przygotowania kalkulatora, czyszczenie kodu, złagodzenie problemów wielodomów i impulsów (#41)",
237
- "uk": "bump залежностей, підготовка до тиберного калькулятора, очищення коду, пом'якшення багатобудинків та імпульсних проблем (#41)",
238
- "zh-cn": "b 倾覆依赖、浮动器的准备、守则清理、减轻多家住宅和厕所问题"
239
- },
240
240
  "0.1.9": {
241
241
  "en": "optimizing fetching homes list (#32) after Tibber server error",
242
242
  "de": "optimierung der Fetching-Homes-Liste (#32) nach Tibber-Server-Fehler",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.tibberlink",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "links tibber API data to be used in ioBroker",
5
5
  "author": {
6
6
  "name": "Hombach",