iobroker.nebenkosten-monitor 1.3.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/LICENSE +21 -0
- package/README.md +294 -0
- package/admin/i18n/de.json +5 -0
- package/admin/i18n/en.json +5 -0
- package/admin/i18n/es.json +5 -0
- package/admin/i18n/fr.json +5 -0
- package/admin/i18n/it.json +5 -0
- package/admin/i18n/nl.json +5 -0
- package/admin/i18n/pl.json +5 -0
- package/admin/i18n/pt.json +5 -0
- package/admin/i18n/ru.json +5 -0
- package/admin/i18n/uk.json +5 -0
- package/admin/i18n/zh-cn.json +5 -0
- package/admin/jsonConfig.json +1052 -0
- package/admin/nebenkosten-monitor.png +0 -0
- package/io-package.json +124 -0
- package/lib/adapter-config.d.ts +19 -0
- package/lib/billingManager.js +545 -0
- package/lib/calculator.js +148 -0
- package/lib/consumptionManager.js +398 -0
- package/lib/messagingHandler.js +235 -0
- package/lib/stateManager.js +743 -0
- package/main.js +203 -0
- package/package.json +80 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 fischi87 <axel.fischer@hotmail.com>
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
# ioBroker.nebenkosten-monitor
|
|
4
|
+
|
|
5
|
+
[](https://github.com/fischi87/ioBroker.nebenkosten-monitor/releases)
|
|
6
|
+
[](https://github.com/fischi87/ioBroker.nebenkosten-monitor/blob/main/LICENSE)
|
|
7
|
+
[](https://github.com/fischi87/ioBroker.nebenkosten-monitor/actions)
|
|
8
|
+
[](https://paypal.me/bigplay87)
|
|
9
|
+
|
|
10
|
+
## Nebenkosten-Monitor Adapter für ioBroker
|
|
11
|
+
|
|
12
|
+
Überwacht Gas-, Wasser- und Stromverbrauch mit automatischer Kostenberechnung, Abschlagsüberwachung und detaillierten Statistiken.
|
|
13
|
+
|
|
14
|
+
### ✨ Hauptfunktionen
|
|
15
|
+
|
|
16
|
+
- 📊 **Verbrauchsüberwachung** für Gas, Wasser und Strom
|
|
17
|
+
- 💰 **Automatische Kostenberechnung** mit Arbeitspreis und Grundgebühr
|
|
18
|
+
- 💳 **Abschlagsüberwachung** - Sehe sofort ob Nachzahlung oder Guthaben droht
|
|
19
|
+
- 🔄 **Flexible Sensoren** - Nutzt vorhandene Sensoren (Shelly, Tasmota, Homematic, etc.)
|
|
20
|
+
- ⚡ **HT/NT-Tarife** - Volle Unterstützung für Hoch- und Nebentarife (Tag/Nacht)
|
|
21
|
+
- 🔄 **Gas-Spezial** - Automatische Umrechnung von m³ in kWh
|
|
22
|
+
- 🕛 **Automatische Resets** - Täglich, monatlich und jährlich (Vertragsjubiläum)
|
|
23
|
+
- 🔔 **Intelligente Benachrichtigungen** - Getrennte Erinnerungen für Abrechnungsende (Zählerstand) und Vertragswechsel (Tarif-Check) mit einstellbaren Vorlaufzeiten.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 💝 Support
|
|
28
|
+
|
|
29
|
+
Gefällt dir dieser Adapter? Du kannst mich gerne mit einem Kaffee unterstützen! ☕
|
|
30
|
+
|
|
31
|
+
[](https://paypal.me/bigplay87)
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 🚀 Schnellstart
|
|
36
|
+
|
|
37
|
+
### 1. Installation
|
|
38
|
+
|
|
39
|
+
1. Adapter über die ioBroker Admin-Oberfläche installieren
|
|
40
|
+
2. Instanz erstellen
|
|
41
|
+
3. Konfiguration öffnen
|
|
42
|
+
|
|
43
|
+
### 2. Grundkonfiguration (Beispiel: Gas)
|
|
44
|
+
|
|
45
|
+
1. ✅ **Gas-Überwachung aktivieren**
|
|
46
|
+
2. 🔍 **Sensor auswählen** - Deinen Gaszähler-Sensor (in m³)
|
|
47
|
+
3. 📝 **Zählerstand bei Vertragsbeginn** - z.B. 10250 m³ (für korrekte Jahresberechnung)
|
|
48
|
+
4. 📅 **Vertragsbeginn** - z.B. 01.01.2026 (für korrekten Jahresreset und Abschlagsberechnung)
|
|
49
|
+
5. 🔧 **Offset** _(optional)_ - Falls dein Hardware-Zähler nicht bei 0 startet
|
|
50
|
+
6. 🔥 **Brennwert & Z-Zahl** - Von deiner Gasrechnung (z.B. 11,5 und 0,95)
|
|
51
|
+
7. 💶 **Preise eintragen**:
|
|
52
|
+
- Arbeitspreis: 0,1835 €/kWh
|
|
53
|
+
- Grundgebühr: 15,03 €/Monat
|
|
54
|
+
- Jahresgebühr: 60,00 €/Jahr (z.B. Zählermiete)
|
|
55
|
+
8. 💳 **Abschlag** - Monatliche Vorauszahlung (z.B. 150 €)
|
|
56
|
+
|
|
57
|
+
**Fertig!** Der Adapter berechnet nun automatisch alle Kosten! 🎉
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 📊 Datenpunkte erklärt
|
|
62
|
+
|
|
63
|
+
Für jede aktivierte Verbrauchsart (Gas/Wasser/Strom) werden folgende Ordner angelegt:
|
|
64
|
+
|
|
65
|
+
### 🗂️ **consumption** (Verbrauch)
|
|
66
|
+
|
|
67
|
+
| Datenpunkt | Beschreibung | Beispiel |
|
|
68
|
+
| --------------- | ----------------------------------------------------- | ---------------- |
|
|
69
|
+
| `daily` | Verbrauch **heute** (seit 00:00 Uhr) | 12,02 kWh |
|
|
70
|
+
| `dailyVolume` | Verbrauch heute in m³ | 1,092 m³ |
|
|
71
|
+
| `monthly` | Verbrauch **diesen Monat** (seit 1. des Monats) | 117,77 kWh |
|
|
72
|
+
| `monthlyVolume` | Monatlicher Verbrauch in m³ | 10,69 m³ |
|
|
73
|
+
| `yearly` | Verbrauch **seit Vertragsbeginn** (this billing year) | 730,01 kWh |
|
|
74
|
+
| `yearlyVolume` | Jahresverbrauch in m³ | 66,82 m³ |
|
|
75
|
+
| `dailyHT` | Tagesverbrauch im **Haupttarif** (HT) | 8,40 kWh |
|
|
76
|
+
| `dailyNT` | Tagesverbrauch im **Nebentarif** (NT) | 3,62 kWh |
|
|
77
|
+
| `monthlyHT` | Monatsverbrauch im HT | 82,15 kWh |
|
|
78
|
+
| `monthlyNT` | Monatsverbrauch im NT | 35,62 kWh |
|
|
79
|
+
| `yearlyHT` | Jahresverbrauch im HT | 511,00 kWh |
|
|
80
|
+
| `yearlyNT` | Jahresverbrauch im NT | 219,01 kWh |
|
|
81
|
+
| `lastUpdate` | Letzte Aktualisierung | 06.01.2026 14:11 |
|
|
82
|
+
|
|
83
|
+
**💡 Tipp:** `yearly` wird automatisch als `(Aktueller Zählerstand - Offset) - Initial Reading` berechnet!
|
|
84
|
+
|
|
85
|
+
**📅 Wichtig:** Der Jahresreset erfolgt am **Vertragsbeginn-Datum** (z.B. 12. Mai), NICHT am 1. Januar!
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
### 💰 **costs** (Kosten)
|
|
90
|
+
|
|
91
|
+
| Datenpunkt | Was ist das? | Berechnung | Beispiel |
|
|
92
|
+
| ------------- | ------------------------------------------------------------- | ------------------------------------------ | ------------------------------ |
|
|
93
|
+
| `daily` | Kosten **heute** | daily × Arbeitspreis | 2,27 € |
|
|
94
|
+
| `monthly` | Kosten **diesen Monat** | monthly × Arbeitspreis | 21,61 € |
|
|
95
|
+
| `yearly` | **Verbrauchskosten** seit Vertragsbeginn | yearly × Arbeitspreis | 137,61 € |
|
|
96
|
+
| `totalYearly` | **Gesamtkosten Jahr** (Verbrauch + alle Fixkosten) | yearly-cost + basicCharge + annualFee | 162,64 € |
|
|
97
|
+
| `basicCharge` | **Grundgebühr akkumuliert** (inkl. Jahresgebühr anteilig) | (Grundgebühr + (Jahresgebühr/12)) × Monate | 19,20 € |
|
|
98
|
+
| `annualFee` | **Jahresgebühr akkumuliert** | (Jahresgebühr / 12) × Monate | 4,17 € |
|
|
99
|
+
| `paidTotal` | **Bezahlt** via Abschlag | Abschlag × Monate | 150,00 € |
|
|
100
|
+
| `balance` | **🎯 WICHTIGSTER Wert!**<br>Nachzahlung (+) oder Guthaben (-) | totalYearly - paidTotal | **+12,64 €**<br>→ Nachzahlung! |
|
|
101
|
+
|
|
102
|
+
#### 🔍 **balance** genauer erklärt:
|
|
103
|
+
|
|
104
|
+
- **Positiv (+50 €)** → ❌ **Nachzahlung**: Du musst am Jahresende zahlen
|
|
105
|
+
- **Negativ (-24 €)** → ✅ **Guthaben**: Du bekommst Geld zurück
|
|
106
|
+
- **Null (0 €)** → ⚖️ **Ausgeglichen**: Verbrauch = Abschlag
|
|
107
|
+
|
|
108
|
+
**Beispiel:**
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
Verbrauchskosten: 137,61 € (yearly)
|
|
112
|
+
Grundgebühr: + 15,03 € (basicCharge)
|
|
113
|
+
────────────────────────────
|
|
114
|
+
Gesamtkosten: 152,64 €
|
|
115
|
+
|
|
116
|
+
Bezahlt (Abschlag): 150,00 € (paidTotal)
|
|
117
|
+
────────────────────────────
|
|
118
|
+
Balance: +2,64 € → Nachzahlung
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
### ℹ️ **info** (Informationen)
|
|
124
|
+
|
|
125
|
+
| Datenpunkt | Beschreibung | Beispiel |
|
|
126
|
+
| -------------------- | ---------------------------- | ---------------- |
|
|
127
|
+
| `currentPrice` | Aktueller Arbeitspreis | 0,1885 €/kWh |
|
|
128
|
+
| `meterReading` | Zählerstand in kWh | 112711,26 kWh |
|
|
129
|
+
| `meterReadingVolume` | Zählerstand in m³ (nur Gas) | 10305,03 m³ |
|
|
130
|
+
| `lastSync` | Letzte Sensor-Aktualisierung | 06.01.2026 14:11 |
|
|
131
|
+
| `sensorActive` | Sensor verbunden? | ✅ true |
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
### 📈 **statistics** (Statistiken)
|
|
136
|
+
|
|
137
|
+
| Datenpunkt | Beschreibung |
|
|
138
|
+
| ---------------- | ------------------------------------ |
|
|
139
|
+
| `averageDaily` | Durchschnittlicher Tagesverbrauch |
|
|
140
|
+
| `averageMonthly` | Durchschnittlicher Monatsverbrauch |
|
|
141
|
+
| `lastDayStart` | Letzter Tages-Reset (00:00 Uhr) |
|
|
142
|
+
| `lastMonthStart` | Letzter Monats-Reset (1. des Monats) |
|
|
143
|
+
| `lastYearStart` | Vertragsbeginn / Jahresstart |
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
### 📅 **billing** (Abrechnungszeitraum)
|
|
148
|
+
|
|
149
|
+
| Datenpunkt | Beschreibung | Beispiel |
|
|
150
|
+
| ------------------- | ---------------------------------------- | ----------- |
|
|
151
|
+
| `endReading` | Endzählerstand (manuell eintragen) | 10316.82 m³ |
|
|
152
|
+
| `closePeriod` | Zeitraum jetzt abschließen (Button) | true/false |
|
|
153
|
+
| `periodEnd` | Abrechnungszeitraum endet am | 01.01.2027 |
|
|
154
|
+
| `daysRemaining` | Tage bis Abrechnungsende | 359 Tage |
|
|
155
|
+
| `newInitialReading` | Neuer Startwert (für Config übernehmen!) | 10316.82 m³ |
|
|
156
|
+
|
|
157
|
+
**💡 Workflow am Jahresende:**
|
|
158
|
+
|
|
159
|
+
1. Physischen Zähler ablesen (z.B. 10316.82 m³)
|
|
160
|
+
2. Wert in `endReading` eintragen
|
|
161
|
+
3. `closePeriod` auf `true` setzen
|
|
162
|
+
4. ✅ Adapter archiviert automatisch alle Daten in `history.{JAHR}.*`
|
|
163
|
+
5. ⚠️ **Wichtig:** Config aktualisieren mit neuem `initialReading` (siehe `newInitialReading`)
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
### 📊 **history** (Jahres-Historie)
|
|
168
|
+
|
|
169
|
+
| Datenpunkt | Beschreibung | Beispiel |
|
|
170
|
+
| --------------------------- | --------------------------------------- | ---------- |
|
|
171
|
+
| `history.2024.yearly` | Jahresverbrauch 2024 | 730.01 kWh |
|
|
172
|
+
| `history.2024.yearlyVolume` | Jahresverbrauch 2024 in m³ (Gas/Wasser) | 66.82 m³ |
|
|
173
|
+
| `history.2024.totalYearly` | Gesamtkosten 2024 | 162.64 € |
|
|
174
|
+
| `history.2024.balance` | Bilanz 2024 (Nachzahlung/Guthaben) | +12.64 € |
|
|
175
|
+
|
|
176
|
+
**💡 Automatische Archivierung:**
|
|
177
|
+
|
|
178
|
+
- Wird beim Abschluss des Abrechnungszeitraums erstellt
|
|
179
|
+
- Speichert alle wichtigen Jahreshöchstwerte inkl. HT/NT
|
|
180
|
+
- Ermöglicht Jahresvergleiche
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
### 🔧 **adjustment** (Manuelle Anpassung)
|
|
185
|
+
|
|
186
|
+
Korrigiere Sensor-Abdrift durch manuelle Anpassung.
|
|
187
|
+
|
|
188
|
+
| Datenpunkt | Beschreibung | Beispiel |
|
|
189
|
+
| ---------- | ------------------------------------ | --------- |
|
|
190
|
+
| `value` | Korrekturwert (Differenz zum Zähler) | +4.2 m³ |
|
|
191
|
+
| `note` | Notiz/Grund für Anpassung (optional) | "Ausfall" |
|
|
192
|
+
| `applied` | Zeitstempel der letzten Anwendung | 17035... |
|
|
193
|
+
|
|
194
|
+
**💡 Workflow:**
|
|
195
|
+
|
|
196
|
+
1. Physischen Zähler ablesen: **10350 m³**
|
|
197
|
+
2. Adapter zeigt: **10346 m³**
|
|
198
|
+
3. Differenz in `adjustment.value` eintragen: **+4**
|
|
199
|
+
4. ✅ Alle Berechnungen werden automatisch korrigiert.
|
|
200
|
+
5. **Dank der HT/NT-Integration** werden Anpassungen bei HT/NT-Tarifen automatisch dem Haupttarif (HT) angerechnet.
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## ⚙️ Spezialfunktionen
|
|
205
|
+
|
|
206
|
+
### ⚡ Gas: m³ → kWh Umrechnung
|
|
207
|
+
|
|
208
|
+
Gasverbrauch wird in **m³ gemessen**, aber in **kWh abgerechnet**.
|
|
209
|
+
|
|
210
|
+
**Formel:** `kWh = m³ × Brennwert × Z-Zahl`
|
|
211
|
+
|
|
212
|
+
💡 **Tipp:** Brennwert und Z-Zahl findest du auf deiner Gasrechnung!
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
### 🔄 Automatische Resets
|
|
217
|
+
|
|
218
|
+
Der Adapter setzt Zähler automatisch zurück:
|
|
219
|
+
|
|
220
|
+
| Zeitpunkt | Was passiert | Beispiel |
|
|
221
|
+
| --------------------- | ------------- | ------------------- |
|
|
222
|
+
| **00:00 Uhr** täglich | `daily` → 0 | Neuer Tag beginnt |
|
|
223
|
+
| **1. des Monats** | `monthly` → 0 | Neuer Monat beginnt |
|
|
224
|
+
| **Vertragsjubiläum** | `yearly` → 0 | Abrechnungsjahr neu |
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Changelog
|
|
229
|
+
|
|
230
|
+
### 1.3.1 (2026-01-09)
|
|
231
|
+
|
|
232
|
+
- **FIX:** Kritischer Fehler behoben: HT/NT-Datenpunkte wurden aufgrund eines internen Namensfehlers (electricity vs. strom) nicht angelegt.
|
|
233
|
+
- **FIX:** Warnungen im Log "State ... has no existing object" beseitigt.
|
|
234
|
+
|
|
235
|
+
### 1.3.0 (2026-01-09)
|
|
236
|
+
|
|
237
|
+
- **NEW:** **Differenzierte Benachrichtigungen** - Zwei getrennte Erinnerungstypen:
|
|
238
|
+
- **Abrechnungsende**: Erinnerung zum Zählerstand ablesen (z.B. 7 Tage vorher).
|
|
239
|
+
- **Vertragswechsel**: Erinnerung zum Tarif-Check / Kündigen (z.B. 60 Tage vorher).
|
|
240
|
+
- **NEW:** **Interaktives Benachrichtigungs-Feedback** - Der Test-Button zeigt nun direkt Erfolgs- oder Fehlermeldungen via Popup an (inkl. SMTP-Fehler vom Email-Adapter).
|
|
241
|
+
- **NEW:** **Live-Test ohne Speichern** - Benachrichtigungen können jetzt sofort getestet werden, ohne die Konfiguration vorher speichern zu müssen.
|
|
242
|
+
- **NEW:** **Modularer Code-Aufbau** - Umstellung auf eine moderne Architektur mit spezialisierten Managern für bessere Performance und Wartbarkeit.
|
|
243
|
+
- **IMPROVED:** **Responsives Admin-UI** - Kompakteres Button-Design und optimierte Darstellung auf mobilen Geräten.
|
|
244
|
+
- **FIX:** Redundante Volumen-Datenpunkte (`dailyVolume` etc.) für Strom und Wasser entfernt, um Log-Warnungen zu vermeiden.
|
|
245
|
+
- **FIX:** Mandatory bot requirements (Changelog header, News cleanup).
|
|
246
|
+
|
|
247
|
+
### 1.2.7 (2026-01-08)
|
|
248
|
+
|
|
249
|
+
- **NEW:** Universelles Benachrichtigungssystem für Abrechnungszeitraum-Erinnerungen (Telegram, Pushover, Email, etc.)
|
|
250
|
+
- **NEW:** Optionale PayPal-Unterstützung (Links in README und Config)
|
|
251
|
+
- **FIX:** Dezimalstellen für Tagesverbrauch auf 3 erhöht (bessere Unterstützung für Sensoren mit kleinen Deltas wie Shelly)
|
|
252
|
+
- **FIX:** Erlauben von leeren Preisen/Gebühren in der Konfiguration (verhindert Speicher-Fehler)
|
|
253
|
+
|
|
254
|
+
### 1.2.6 (2026-01-08)
|
|
255
|
+
|
|
256
|
+
- **FIX:** Erlaube leere Felder für Grundgebühr/Jahresgebühr/Abschlag in der Konfiguration (verhindert Speicher-Block im Admin-UI)
|
|
257
|
+
|
|
258
|
+
### 1.2.5 (2026-01-08)
|
|
259
|
+
|
|
260
|
+
- **NEW:** Transparente Anzeige des Vertragsbeginns bei jedem Adapter-Start im Log
|
|
261
|
+
- **NEW:** Unterstützung für zusätzliche **Jahresgebühren** (z.B. Zählermiete)
|
|
262
|
+
- **NEW:** Datenpunkt `costs.totalYearly` für die echten Gesamtkosten
|
|
263
|
+
- **FIX:** Kritischer Fehler in der Verbrauchs-Delta-Berechnung behoben (v1.2.4)
|
|
264
|
+
- **FIX:** Arbeitspreis-Anzeige bei Strom korrigiert
|
|
265
|
+
- **FIX:** Gas m³ → kWh Umrechnung für Anpassungswerte
|
|
266
|
+
- **FIX:** Korrekte Initialisierung des Vertragsjahres bei Neustart
|
|
267
|
+
- **FIX:** Vereinheitlichung der Konfigurationsschlüssel (`wasserInitialReading`)
|
|
268
|
+
- **ROBUSTNESS:** Schutz vor Datenverlust bei Adapter-Neustart (Zählerstand-Persistierung)
|
|
269
|
+
- **ROBUSTNESS:** Integration von manuellen Anpassungen in die HT/NT-Kostenrechnung
|
|
270
|
+
- **NEW:** Volle Unterstützung für **HT/NT-Tarife** für alle Energieträger (Strom, Gas, Wasser)
|
|
271
|
+
- **NEW:** Automatische Archivierung von HT/NT-Verbräuchen und Kosten in der Historie
|
|
272
|
+
- **DOCS:** Internationalisierung von Titel und Beschreibung
|
|
273
|
+
|
|
274
|
+
### 1.2.2 (2026-01-08)
|
|
275
|
+
|
|
276
|
+
- **NEW:** Manuelle Anpassung für Sensor-Abdrift-Korrektur
|
|
277
|
+
- **NEW:** Abrechnungszeitraum-Management mit automatischer Archivierung
|
|
278
|
+
- **NEW:** Unterstützung für zusätzliche **Jahresgebühren** (z.B. Zählermiete)
|
|
279
|
+
- **NEW:** Datenpunkt `costs.totalYearly` für die echten Gesamtkosten
|
|
280
|
+
- **FIX:** Arbeitspreis-Anzeige bei Strom korrigiert
|
|
281
|
+
- **FIX:** Gas m³ → kWh Umrechnung für Anpassungswerte
|
|
282
|
+
- **DOCS:** Internationalisierung von Titel und Beschreibung
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
- Initial release
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
## License
|
|
291
|
+
|
|
292
|
+
MIT License
|
|
293
|
+
|
|
294
|
+
Copyright (c) 2026 fischi87 <axel.fischer@hotmail.com>
|