iobroker.poolcontrol 0.2.0 → 0.2.2
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 +42 -67
- package/io-package.json +34 -30
- package/lib/helpers/consumptionHelper.js +6 -6
- package/lib/helpers/controlHelper.js +209 -50
- package/lib/helpers/controlHelper2.js +195 -0
- package/lib/helpers/debugLogHelper.js +5 -5
- package/lib/helpers/frostHelper.js +18 -2
- package/lib/helpers/pumpHelper.js +41 -8
- package/lib/helpers/runtimeHelper.js +36 -6
- package/lib/helpers/solarHelper.js +36 -12
- package/lib/helpers/speechHelper.js +68 -40
- package/lib/helpers/speechTextHelper.js +184 -0
- package/lib/helpers/statusHelper.js +2 -2
- package/lib/helpers/temperatureHelper.js +2 -2
- package/lib/helpers/timeHelper.js +10 -1
- package/lib/stateDefinitions/controlStates.js +128 -0
- package/lib/stateDefinitions/pumpStates.js +19 -0
- package/lib/stateDefinitions/runtimeStates.js +1 -1
- package/lib/stateDefinitions/speechStates.js +58 -0
- package/lib/stateDefinitions/statusStates.js +4 -0
- package/main.js +18 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
# ioBroker.poolcontrol
|
|
2
2
|
|
|
3
|
-

|
|
4
4
|

|
|
5
5
|

|
|
6
6
|

|
|
7
7
|

|
|
8
8
|
[](https://github.com/DasBo1975/ioBroker.poolcontrol/blob/main/LICENSE)
|
|
9
9
|
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Beschreibung
|
|
13
|
+
|
|
10
14
|
Der Adapter **ioBroker.poolcontrol** dient zur Steuerung und Überwachung von Poolanlagen.
|
|
11
|
-
Er ermöglicht die Automatisierung von Pumpen
|
|
15
|
+
Er ermöglicht die Automatisierung von Pumpen-, Temperatur- und Solarsteuerung sowie die Verbrauchsauswertung.
|
|
12
16
|
|
|
13
17
|
---
|
|
14
18
|
|
|
@@ -28,7 +32,7 @@ Er ermöglicht die Automatisierung von Pumpen, Temperatur- und Solarsteuerung so
|
|
|
28
32
|
- **Solarsteuerung**
|
|
29
33
|
- Ein-/Ausschaltgrenzen mit Hysterese
|
|
30
34
|
- Kollektor-Warnung (mit automatischer Rücksetzung bei 10 % unter der Schwelle)
|
|
31
|
-
-
|
|
35
|
+
- Optionale Sprachausgabe bei Warnung
|
|
32
36
|
|
|
33
37
|
- **Zeitsteuerung**
|
|
34
38
|
- Bis zu 3 frei konfigurierbare Zeitfenster pro Woche
|
|
@@ -41,14 +45,15 @@ Er ermöglicht die Automatisierung von Pumpen, Temperatur- und Solarsteuerung so
|
|
|
41
45
|
- Auswertung eines externen kWh-Zählers
|
|
42
46
|
- Tages-, Wochen-, Monats- und Jahresverbrauch
|
|
43
47
|
- Berechnung der Stromkosten anhand konfigurierbarem Preis
|
|
44
|
-
|
|
45
|
-
|
|
48
|
+
|
|
49
|
+
**Hinweis:**
|
|
50
|
+
Details zum Verhalten der Verbrauchs- und Kostenwerte (z. B. bei Neustarts oder beim Wechsel des Stromzählers) finden Sie in der Datei [help.md](./help.md).
|
|
46
51
|
|
|
47
52
|
- **Sprachausgaben**
|
|
48
53
|
- Ausgabe über Alexa oder Telegram
|
|
49
54
|
- Ansagen bei Pumpenstart/-stopp, Fehlern oder Temperaturschwellen
|
|
50
55
|
|
|
51
|
-
- **
|
|
56
|
+
- **SystemCheck (Diagnosebereich)**
|
|
52
57
|
Ab Version **0.2.0** enthält der Adapter einen neuen Diagnosebereich **SystemCheck**.
|
|
53
58
|
Er bietet interne Debug-Logs, mit denen bestimmte Teilbereiche (z. B. Pumpen-, Solar- oder Temperatursteuerung) gezielt überwacht werden können.
|
|
54
59
|
|
|
@@ -66,7 +71,7 @@ Er ermöglicht die Automatisierung von Pumpen, Temperatur- und Solarsteuerung so
|
|
|
66
71
|
|
|
67
72
|
1. Adapter über ioBroker Admin installieren.
|
|
68
73
|
2. Instanz anlegen.
|
|
69
|
-
3. Konfiguration im Admin-Tab vornehmen: Pumpenleistung, Sensoren, Solar, Sprachausgaben
|
|
74
|
+
3. Konfiguration im Admin-Tab vornehmen: Pumpenleistung, Sensoren, Solar, Sprachausgaben usw.
|
|
70
75
|
|
|
71
76
|
---
|
|
72
77
|
|
|
@@ -88,81 +93,52 @@ Die Konfiguration erfolgt über Tabs im Admin-Interface:
|
|
|
88
93
|
- Rückspülerinnerung (Intervall in Tagen, Erinnerung über State)
|
|
89
94
|
- Wartung Kesseldruck (maximaler Druck, Warnung bei Überschreitung)
|
|
90
95
|
- Weitere Komfortfunktionen nach Praxistests
|
|
96
|
+
- Kesseldruck-Wartung / Drucksensor-Warnung
|
|
97
|
+
- PV-Überschuss-Steuerung (für z.B. Pumpe oder Wärmepumpe)
|
|
98
|
+
- Zweite Pumpe (z.B. Wärmetauscher)
|
|
99
|
+
- Statistikbereich
|
|
100
|
+
- Eigene Widgets für VIS/VIS2
|
|
101
|
+
- Erweiterung Wärmepumpen-/Heizlogik
|
|
102
|
+
- Steuerung von Poolbeleuchtung
|
|
103
|
+
- Steuerung von Poolrobotern
|
|
104
|
+
- Steuerung von elektrischen Ventilen
|
|
105
|
+
- Steuerung von Gegenstromanlagen
|
|
91
106
|
|
|
92
107
|
---
|
|
93
108
|
|
|
94
109
|
## Hinweis
|
|
95
110
|
|
|
96
111
|
Der Adapter befindet sich aktuell in der Entwicklung.
|
|
97
|
-
Funktionen können sich ändern
|
|
112
|
+
Funktionen können sich ändern – bitte regelmäßig den Changelog beachten.
|
|
98
113
|
|
|
99
114
|
---
|
|
100
115
|
|
|
101
116
|
## Dokumentation
|
|
102
|
-
- [
|
|
117
|
+
- [help.md (ausführliche Beschreibung und Hinweise)](./help.md)
|
|
103
118
|
|
|
104
119
|
---
|
|
105
120
|
|
|
106
121
|
## Changelog
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
### 0.2.0 (2025-10-06)
|
|
110
|
-
- Neuer Diagnosebereich **SystemCheck** für interne Debug-Logs und Analysen.
|
|
111
|
-
- Möglichkeit, einzelne Adapterbereiche (z. B. Pumpe, Solar, Temperatur) gezielt zu überwachen.
|
|
112
|
-
- Fortlaufendes Textprotokoll mit manueller Löschfunktion.
|
|
113
|
-
- Alle bisherigen Debug-Funktionen aus `zz_debuglogs` in `SystemCheck.debug_logs` integriert.
|
|
114
|
-
- Vorbereitung für zukünftige Diagnose-Erweiterungen (Export, Systemprüfung, Plausibilitäts-Checks).
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
### 0.1.2
|
|
118
|
-
- Verbesserung: Beim Adapterstart werden nun die letzten bekannten Temperaturwerte aller aktiven Sensoren (z. B. Oberfläche, Kollektor, Außentemperatur usw.) automatisch übernommen.
|
|
119
|
-
- Dadurch werden auch Sensoren korrekt angezeigt, die ihren Messwert nur selten aktualisieren (z. B. Homematic oder stromsparende Funk-Sensoren).
|
|
120
|
-
- Keine Änderung am Verhalten der restlichen Logik, reine Komfort- und Stabilitätsverbesserung.
|
|
121
|
-
|
|
122
|
-
### 0.1.1
|
|
123
|
-
- Fehlerbehebung: Endlosschleife zwischen `pump_switch` und externer Steckdose (`deviceId`) behoben, die bei bestimmten Smart-Steckdosen (z. B. Shelly, Tasmota, FritzDECT) auftreten konnte.
|
|
124
|
-
- Verbesserte Stabilität im `pumpHelper` durch interne Rückkopplungsprüfung.
|
|
125
|
-
- Keine Änderungen an bestehenden Konfigurationen erforderlich.
|
|
122
|
+
### **WORK IN PROGRESS**
|
|
126
123
|
|
|
127
|
-
### 0.
|
|
128
|
-
-
|
|
129
|
-
-
|
|
130
|
-
|
|
131
|
-
-
|
|
132
|
-
-
|
|
124
|
+
### 0.2.2 (2025-10-08)
|
|
125
|
+
- Einführung einer **automatischen Rückspülerinnerung** (neuer Bereich im ControlHelper2)
|
|
126
|
+
- Erinnerung mit Intervall in Tagen und automatischer Rücksetzung nach erfolgter Rückspülung
|
|
127
|
+
- Log- und Sprachausgabe bei Fälligkeit oder Überfälligkeit
|
|
128
|
+
- Erweiterung des Control-Bereichs um zusätzliche States (backwash_reminder_active, interval_days, last_date, required)
|
|
129
|
+
- Anpassung der main.js und controlStates zur Integration
|
|
130
|
+
- Vorbereitung weiterer Wartungs- und Steuerungsfunktionen (Beleuchtung, Roboter, Ventile, Gegenstromanlage, Kesseldruck-Überwachung).
|
|
133
131
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
Statusübersicht
|
|
137
|
-
Ab Version 0.0.10 gibt es einen eigenen Bereich `status.*` mit folgenden Datenpunkten:
|
|
138
|
-
|
|
139
|
-
- **status.summary** → Textübersicht (Pumpe, Modus, Temperaturen, Laufzeit, Umwälzung)
|
|
140
|
-
- **status.overview_json** → Übersicht als JSON (maschinenlesbar)
|
|
141
|
-
- **status.last_summary_update** → Zeitpunkt der letzten Aktualisierung
|
|
142
|
-
- **status.pump_last_start** → Letzter Pumpenstart (Zeitstempel)
|
|
143
|
-
- **status.pump_last_stop** → Letztes Pumpenende (Zeitstempel)
|
|
144
|
-
- **status.pump_was_on_today** → Boolean, ob die Pumpe heute lief
|
|
145
|
-
- **status.pump_today_count** → Anzahl der Starts heute (Reset um Mitternacht)
|
|
146
|
-
- **status.system_ok** → Boolean, ob das System fehlerfrei läuft
|
|
147
|
-
- **status.system_warning** → Boolean, wenn eine Warnung aktiv ist
|
|
148
|
-
- **status.system_warning_text** → Beschreibung der aktiven Warnung
|
|
149
|
-
- **status.season_active** → Anzeige, ob die Poolsaison aktiv ist
|
|
150
|
-
|
|
151
|
-
Diese Datenpunkte sind besonders für **VIS/vis2, Alexa- oder Telegram-Ausgaben** gedacht, da sie eine schnelle Übersicht über den aktuellen Poolstatus bieten.
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
### 0.0.9
|
|
155
|
-
- Laufzeit-, Umwälz-, Verbrauch-/Kosten- und Temperatur-Min/Max-States sind jetzt persistent
|
|
156
|
-
(Werte bleiben nach Adapter-Neustart oder Stromausfall erhalten)
|
|
157
|
-
|
|
158
|
-
### 0.0.8
|
|
159
|
-
- Hilfetab in der Instanzkonfiguration hinzugefügt (mit Link zur GitHub-Dokumentation)
|
|
132
|
+
---
|
|
160
133
|
|
|
161
|
-
### 0.0
|
|
162
|
-
-
|
|
134
|
+
### 0.2.0 (2025-10-06)
|
|
135
|
+
- Neuer Diagnosebereich **SystemCheck** für interne Debug-Logs und Analysen.
|
|
136
|
+
- Möglichkeit, einzelne Adapterbereiche (z. B. Pumpe, Solar, Temperatur) gezielt zu überwachen.
|
|
137
|
+
- Fortlaufendes Textprotokoll mit manueller Löschfunktion.
|
|
138
|
+
- Alle bisherigen Debug-Funktionen aus `zz_debuglogs` in `SystemCheck.debug_logs` integriert.
|
|
139
|
+
- Vorbereitung für zukünftige Diagnose-Erweiterungen (Export, Systemprüfung, Plausibilitäts-Checks).
|
|
163
140
|
|
|
164
|
-
|
|
165
|
-
- initial release
|
|
141
|
+
*(ältere Versionen siehe [io-package.json](./io-package.json))*
|
|
166
142
|
|
|
167
143
|
---
|
|
168
144
|
|
|
@@ -174,7 +150,6 @@ Diese Datenpunkte sind besonders für **VIS/vis2, Alexa- oder Telegram-Ausgaben*
|
|
|
174
150
|
|
|
175
151
|
## Unterstützung der Adapterentwicklung
|
|
176
152
|
Wenn Ihnen **ioBroker.poolcontrol** gefällt, denken Sie bitte über eine Spende nach:
|
|
177
|
-
|
|
178
153
|
➡️ [Unterstützen via PayPal](https://www.paypal.com/donate?business=dirk.bertin@t-online.de)
|
|
179
154
|
|
|
180
155
|
---
|
|
@@ -188,6 +163,6 @@ Der Nutzer ist für die **sichere Installation und den Betrieb seiner Hardware**
|
|
|
188
163
|
---
|
|
189
164
|
|
|
190
165
|
## License
|
|
191
|
-
Copyright (c) 2025 DasBo1975 <dasbo1975@outlook.de>
|
|
166
|
+
Copyright (c) 2025 DasBo1975 <dasbo1975@outlook.de>
|
|
192
167
|
|
|
193
|
-
MIT License
|
|
168
|
+
MIT License
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "poolcontrol",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.2",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.2.2": {
|
|
7
|
+
"en": "Added automatic backwash reminder with speech and log notifications.",
|
|
8
|
+
"de": "Automatische Rückspülerinnerung mit Sprach- und Log-Benachrichtigung hinzugefügt.",
|
|
9
|
+
"ru": "Добавлено автоматическое напоминание о обратной промывке с голосовыми и журнальными уведомлениями.",
|
|
10
|
+
"pt": "Adicionado lembrete automático de retrolavagem com notificações de voz e registro.",
|
|
11
|
+
"nl": "Automatische terugspoelherinnering toegevoegd met spraak- en logmeldingen.",
|
|
12
|
+
"fr": "Ajout d’un rappel automatique de contre-lavage avec notifications vocales et journaux.",
|
|
13
|
+
"it": "Aggiunto promemoria automatico di controlavaggio con notifiche vocali e log.",
|
|
14
|
+
"es": "Recordatorio automático de contralavado añadido con notificaciones de voz y registro.",
|
|
15
|
+
"pl": "Dodano automatyczne przypomnienie o płukaniu wstecznym z powiadomieniami głosowymi i dziennikiem.",
|
|
16
|
+
"zh-cn": "添加了带语音和日志通知的自动反冲洗提醒。"
|
|
17
|
+
},
|
|
18
|
+
"0.2.1": {
|
|
19
|
+
"en": "Fixed the issue with invisible states for speech control and added proper internal variable handling.",
|
|
20
|
+
"de": "Behebung des Problems mit unsichtbaren States für die Sprachsteuerung und hinzugefügte korrekte Handhabung interner Variablen.",
|
|
21
|
+
"ru": "Исправлена проблема с невидимыми состояниями для управления речью и добавлена правильная обработка внутренних переменных.",
|
|
22
|
+
"pt": "Corrigido o problema com estados invisíveis para controle de fala e adicionada a manipulação adequada de variáveis internas.",
|
|
23
|
+
"nl": "Het probleem met onzichtbare toestanden voor spraakbesturing is opgelost en de juiste verwerking van interne variabelen toegevoegd.",
|
|
24
|
+
"fr": "Correction du problème des états invisibles pour le contrôle vocal et ajout d'un traitement correct des variables internes.",
|
|
25
|
+
"it": "Risolto il problema con gli stati invisibili per il controllo vocale e aggiunto un corretto trattamento delle variabili interne.",
|
|
26
|
+
"es": "Se solucionó el problema con los estados invisibles para el control de voz y se añadió el manejo adecuado de las variables internas.",
|
|
27
|
+
"pl": "Naprawiono problem z niewidzialnymi stanami dla kontroli głosowej i dodano prawidłowe przetwarzanie zmiennych wewnętrznych.",
|
|
28
|
+
"uk": "Виправлено проблему з невидимими станами для керування голосом та додано правильну обробку внутрішніх змінних.",
|
|
29
|
+
"zh-cn": "修复了语音控制的隐形状态问题,并添加了正确的内部变量处理。"
|
|
30
|
+
},
|
|
6
31
|
"0.2.0": {
|
|
7
32
|
"en": "New diagnostic area 'SystemCheck' for internal debug logs and future analysis tools.",
|
|
8
33
|
"de": "Neuer Diagnosebereich 'SystemCheck' für interne Debug-Logs und künftige Analysefunktionen.",
|
|
@@ -41,34 +66,8 @@
|
|
|
41
66
|
"pl": "Naprawiono nieskończoną pętlę między pump_switch a deviceId dla niektórych inteligentnych gniazdek",
|
|
42
67
|
"uk": "Виправлено нескінченний цикл між pump_switch і deviceId для деяких розумних розеток",
|
|
43
68
|
"zh-cn": "修复了某些智能插座中 pump_switch 与 deviceId 之间的无限循环"
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
"en": "Added speech output via E-Mail (configurable: instance, recipient, subject)",
|
|
47
|
-
"de": "Sprachausgabe per E-Mail hinzugefügt (konfigurierbar: Instanz, Empfänger, Betreff)",
|
|
48
|
-
"ru": "Добавлен вывод речи по электронной почте (настраивается: экземпляр, получатель, тема)",
|
|
49
|
-
"pt": "Adicionada saída de fala por e-mail (configurável: instância, destinatário, assunto)",
|
|
50
|
-
"nl": "Spraakuitvoer via e-mail toegevoegd (configureerbaar: instantie, ontvanger, onderwerp)",
|
|
51
|
-
"fr": "Ajout de la sortie vocale par e-mail (configurable : instance, destinataire, sujet)",
|
|
52
|
-
"it": "Aggiunta uscita vocale via e-mail (configurabile: istanza, destinatario, oggetto)",
|
|
53
|
-
"es": "Se agregó salida de voz por correo electrónico (configurable: instancia, destinatario, asunto)",
|
|
54
|
-
"pl": "Dodano wyjście głosowe przez e-mail (konfigurowalne: instancja, odbiorca, temat)",
|
|
55
|
-
"uk": "Додано озвучення електронною поштою (налаштовується: екземпляр, одержувач, тема)",
|
|
56
|
-
"zh-cn": "新增通过电子邮件的语音输出(可配置:实例、收件人、主题)"
|
|
57
|
-
},
|
|
58
|
-
"0.0.10": {
|
|
59
|
-
"en": "Added extended status overview with pump statistics, system flags and JSON summary",
|
|
60
|
-
"de": "Erweiterte Statusübersicht mit Pumpenstatistiken, Systemanzeigen und JSON-Zusammenfassung hinzugefügt",
|
|
61
|
-
"ru": "Добавлен расширенный обзор состояния с насосной статистикой, системными флагами и JSON-резюме",
|
|
62
|
-
"pt": "Adicionada visão geral de status estendida com estatísticas da bomba, sinalizadores do sistema e resumo em JSON",
|
|
63
|
-
"nl": "Uitgebreide statusoverzicht toegevoegd met pompstatistieken, systeemindicatoren en JSON-samenvatting",
|
|
64
|
-
"fr": "Aperçu du statut étendu ajouté avec statistiques de la pompe, indicateurs système et résumé JSON",
|
|
65
|
-
"it": "Aggiunta panoramica dello stato estesa con statistiche della pompa, indicatori di sistema e riepilogo JSON",
|
|
66
|
-
"es": "Añadida vista general de estado extendida con estadísticas de la bomba, indicadores del sistema y resumen en JSON",
|
|
67
|
-
"pl": "Dodano rozszerzony przegląd statusu ze statystykami pompy, flagami systemowymi i podsumowaniem JSON",
|
|
68
|
-
"uk": "Додано розширений огляд статусу зі статистикою насоса, системними прапорцями та зведенням JSON",
|
|
69
|
-
"zh-cn": "新增扩展状态概览,包括泵统计、系统标志和 JSON 摘要"
|
|
70
|
-
}
|
|
71
|
-
},
|
|
69
|
+
}
|
|
70
|
+
},
|
|
72
71
|
"titleLang": {
|
|
73
72
|
"en": "PoolControl",
|
|
74
73
|
"de": "PoolControl",
|
|
@@ -115,6 +114,11 @@
|
|
|
115
114
|
"extIcon": "https://raw.githubusercontent.com/DasBo1975/ioBroker.poolcontrol/main/admin/poolcontrol.png",
|
|
116
115
|
"readme": "https://github.com/DasBo1975/ioBroker.poolcontrol/blob/main/README.md",
|
|
117
116
|
"loglevel": "info",
|
|
117
|
+
"ignoreLogs": [
|
|
118
|
+
"State .*speech\\.solar_active.* has no existing object",
|
|
119
|
+
"State .*speech\\.frost_active.* has no existing object",
|
|
120
|
+
"State .*speech\\.time_active.* has no existing object"
|
|
121
|
+
],
|
|
118
122
|
"tier": 3,
|
|
119
123
|
"mode": "daemon",
|
|
120
124
|
"type": "climate-control",
|
|
@@ -141,5 +145,5 @@
|
|
|
141
145
|
},
|
|
142
146
|
"objects": [],
|
|
143
147
|
"instanceObjects": []
|
|
144
|
-
|
|
148
|
+
}
|
|
145
149
|
|
|
@@ -29,13 +29,13 @@ const consumptionHelper = {
|
|
|
29
29
|
this.price = parseFloat(String(adapter.config.energy_price_eur_kwh).replace(',', '.')) || 0;
|
|
30
30
|
this.lastKnownPrice = this.price;
|
|
31
31
|
|
|
32
|
-
this.adapter.log.
|
|
32
|
+
this.adapter.log.debug(`[consumptionHelper] Strompreis: ${this.price} €/kWh`);
|
|
33
33
|
|
|
34
34
|
if (this.energyId) {
|
|
35
35
|
adapter.subscribeForeignStates(this.energyId);
|
|
36
|
-
adapter.log.
|
|
36
|
+
adapter.log.debug(`[consumptionHelper] Überwache externen kWh-Zähler: ${this.energyId}`);
|
|
37
37
|
} else {
|
|
38
|
-
adapter.log.
|
|
38
|
+
adapter.log.debug('[consumptionHelper] Kein externer kWh-Zähler konfiguriert → Verbrauchslogik inaktiv.');
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
this._scheduleDailyReset();
|
|
@@ -51,7 +51,7 @@ const consumptionHelper = {
|
|
|
51
51
|
this.baseTotalKwh = totalKwh;
|
|
52
52
|
this.baseTotalEur = totalEur;
|
|
53
53
|
|
|
54
|
-
this.adapter.log.
|
|
54
|
+
this.adapter.log.debug(
|
|
55
55
|
`[consumptionHelper] Kosten-Basis geladen → ${this.baseTotalEur.toFixed(
|
|
56
56
|
2,
|
|
57
57
|
)} € bei ${this.baseTotalKwh.toFixed(3)} kWh`,
|
|
@@ -169,7 +169,7 @@ const consumptionHelper = {
|
|
|
169
169
|
this.baselines.month = totalNow - (month || 0);
|
|
170
170
|
this.baselines.year = totalNow - (year || 0);
|
|
171
171
|
|
|
172
|
-
this.adapter.log.
|
|
172
|
+
this.adapter.log.debug(`[consumptionHelper] Baselines geladen: ${JSON.stringify(this.baselines)}`);
|
|
173
173
|
},
|
|
174
174
|
|
|
175
175
|
// NEU: Baselines aus States rekonstruieren (beim Adapterstart)
|
|
@@ -186,7 +186,7 @@ const consumptionHelper = {
|
|
|
186
186
|
this.baselines.month = totalNow - month;
|
|
187
187
|
this.baselines.year = totalNow - year;
|
|
188
188
|
|
|
189
|
-
this.adapter.log.
|
|
189
|
+
this.adapter.log.debug(`[consumptionHelper] Bestehende Verbrauchswerte wiederhergestellt.`);
|
|
190
190
|
} catch (err) {
|
|
191
191
|
this.adapter.log.warn(
|
|
192
192
|
`[consumptionHelper] Fehler beim Wiederherstellen der Verbrauchsstände: ${err.message}`,
|