iobroker.utility-monitor 1.4.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.
@@ -0,0 +1,1542 @@
1
+ {
2
+ "i18n": true,
3
+ "type": "tabs",
4
+ "items": {
5
+ "tabGas": {
6
+ "type": "panel",
7
+ "label": "🔥 Gas",
8
+ "items": {
9
+ "_gasActivationHeader": {
10
+ "type": "header",
11
+ "text": "Grundeinstellungen",
12
+ "size": 4
13
+ },
14
+ "gasAktiv": {
15
+ "type": "checkbox",
16
+ "label": "Gas-Überwachung aktivieren",
17
+ "sm": 12,
18
+ "md": 6,
19
+ "newLine": true,
20
+ "xs": 12,
21
+ "lg": 6,
22
+ "xl": 6
23
+ },
24
+ "_gasSensorHeader": {
25
+ "type": "header",
26
+ "text": "Sensor-Konfiguration",
27
+ "size": 5,
28
+ "hidden": "!data.gasAktiv"
29
+ },
30
+ "gasSensorDP": {
31
+ "type": "objectId",
32
+ "label": "🔍 Gaszähler-Sensor auswählen (m³)",
33
+ "hidden": "!data.gasAktiv",
34
+ "sm": 12,
35
+ "xs": 12,
36
+ "md": 8,
37
+ "lg": 6,
38
+ "xl": 4
39
+ },
40
+ "_gasMeterHeader": {
41
+ "type": "header",
42
+ "text": "Offset (Optional)",
43
+ "size": 5,
44
+ "hidden": "!data.gasAktiv"
45
+ },
46
+ "_gasOffsetHelp": {
47
+ "type": "staticText",
48
+ "text": "Nur nötig wenn Sensor nicht mit physischem Zähler übereinstimmt. Offset = Physischer Wert - Sensor Wert",
49
+ "hidden": "!data.gasAktiv",
50
+ "sm": 12,
51
+ "style": {
52
+ "fontSize": "0.9em",
53
+ "color": "#666",
54
+ "marginBottom": "10px"
55
+ },
56
+ "xs": 12,
57
+ "md": 12,
58
+ "lg": 12,
59
+ "xl": 12
60
+ },
61
+ "gasOffset": {
62
+ "type": "text",
63
+ "label": "Offset (m³)",
64
+ "placeholder": "z.B. 1234.5 (optional)",
65
+ "hidden": "!data.gasAktiv",
66
+ "sm": 12,
67
+ "md": 6,
68
+ "xs": 12,
69
+ "lg": 4,
70
+ "xl": 3
71
+ },
72
+ "gasInitialReading": {
73
+ "type": "text",
74
+ "label": "Zählerstand bei Vertragsbeginn (m³)",
75
+ "placeholder": "z.B. 10000 (Zählerstand am frühesten Preisdatum)",
76
+ "help": "Wird für Jahresverbrauch-Berechnung verwendet: Aktuell - Beginn = Jahresverbrauch. 💡 Jahresabschluss: Nutze gas.billing.closePeriod zum automatischen Archivieren & Zurücksetzen",
77
+ "hidden": "!data.gasAktiv",
78
+ "sm": 12,
79
+ "md": 6,
80
+ "xs": 12,
81
+ "lg": 4,
82
+ "xl": 3
83
+ },
84
+ "gasContractStart": {
85
+ "type": "text",
86
+ "label": "📅 Vertragsbeginn",
87
+ "placeholder": "z.B. 12.05.2025 oder 01.01.25",
88
+ "hidden": "!data.gasAktiv",
89
+ "sm": 12,
90
+ "md": 6,
91
+ "xs": 12,
92
+ "lg": 4,
93
+ "xl": 3
94
+ },
95
+ "_gasConversionHeader": {
96
+ "type": "header",
97
+ "text": "Umrechnungsparameter (m³ → kWh)",
98
+ "size": 5,
99
+ "hidden": "!data.gasAktiv"
100
+ },
101
+ "_gasConversionHelp": {
102
+ "type": "staticText",
103
+ "text": "📋 **Diese Werte findest du auf deiner Gasrechnung oder beim Gasversorger.**\n\nFormel: kWh = m³ × Brennwert × Z-Zahl",
104
+ "hidden": "!data.gasAktiv",
105
+ "sm": 12,
106
+ "xs": 12,
107
+ "md": 12,
108
+ "lg": 12,
109
+ "xl": 12
110
+ },
111
+ "gasBrennwert": {
112
+ "type": "text",
113
+ "label": "Brennwert (kWh/m³)",
114
+ "placeholder": "Typisch: 10-12",
115
+ "hidden": "!data.gasAktiv",
116
+ "sm": 6,
117
+ "md": 3,
118
+ "xs": 12,
119
+ "lg": 3,
120
+ "xl": 3
121
+ },
122
+ "gasZahl": {
123
+ "type": "text",
124
+ "label": "Z-Zahl (Zustandszahl)",
125
+ "placeholder": "Typisch: 0.90-1.00",
126
+ "hidden": "!data.gasAktiv",
127
+ "sm": 6,
128
+ "md": 3,
129
+ "xs": 12,
130
+ "lg": 3,
131
+ "xl": 3
132
+ },
133
+ "_gasPreisHeader": {
134
+ "type": "header",
135
+ "text": "💰 Preisinformationen",
136
+ "size": 4,
137
+ "hidden": "!data.gasAktiv"
138
+ },
139
+ "_gasPriceHelp": {
140
+ "type": "staticText",
141
+ "text": "Füge deine Gaspreise mit Gültigkeitsdatum hinzu. Der Adapter wählt automatisch den aktuell gültigen Preis.",
142
+ "hidden": "!data.gasAktiv",
143
+ "sm": 12,
144
+ "style": {
145
+ "fontSize": "0.9em",
146
+ "color": "#666",
147
+ "marginBottom": "10px"
148
+ },
149
+ "xs": 12,
150
+ "md": 12,
151
+ "lg": 12,
152
+ "xl": 12
153
+ },
154
+ "gasPreis": {
155
+ "type": "text",
156
+ "hidden": "!data.gasAktiv || data.gasHtNtEnabled",
157
+ "label": "Arbeitspreis (€/kWh)",
158
+ "placeholder": "z.B. 0.12",
159
+ "xs": 12,
160
+ "sm": 12,
161
+ "md": 6,
162
+ "lg": 4,
163
+ "xl": 3
164
+ },
165
+ "gasGrundgebuehr": {
166
+ "type": "text",
167
+ "hidden": "!data.gasAktiv",
168
+ "label": "Grundgebühr (€/Monat)",
169
+ "placeholder": "z.B. 15.30",
170
+ "default": 0,
171
+ "xs": 12,
172
+ "sm": 12,
173
+ "md": 6,
174
+ "lg": 4,
175
+ "xl": 3
176
+ },
177
+ "gasJahresgebuehr": {
178
+ "type": "text",
179
+ "hidden": "!data.gasAktiv",
180
+ "label": "Jahresgebühr (z.B. Zählermiete) (€/Jahr)",
181
+ "placeholder": "z.B. 20.00",
182
+ "default": 0,
183
+ "xs": 12,
184
+ "sm": 12,
185
+ "md": 6,
186
+ "lg": 4,
187
+ "xl": 3
188
+ },
189
+ "_gasHtNtDivider": {
190
+ "type": "divider",
191
+ "hidden": "!data.gasAktiv"
192
+ },
193
+ "_gasHtNtWarning": {
194
+ "type": "header",
195
+ "text": "⚠️ HT/NT-Tarife (Tag/Nacht)",
196
+ "size": 5,
197
+ "hidden": "!data.gasAktiv"
198
+ },
199
+ "_gasHtNtInfo": {
200
+ "type": "staticText",
201
+ "text": "**Wichtig:** Die HT/NT-Berechnung ist nur präzise, wenn sie ab **Vertragsbeginn** aktiv ist. Bei nachträglicher Aktivierung kann der Adapter nicht wissen, welcher Verbrauch zu welcher Tageszeit stattfand.",
202
+ "hidden": "!data.gasAktiv",
203
+ "newLine": true,
204
+ "xs": 12,
205
+ "sm": 12,
206
+ "md": 12,
207
+ "lg": 12,
208
+ "xl": 12
209
+ },
210
+ "gasHtNtEnabled": {
211
+ "type": "checkbox",
212
+ "hidden": "!data.gasAktiv",
213
+ "label": "HT/NT-Tarif verwenden",
214
+ "help": "Aktiviere zeitbasierte Tarife. Best Practice: Aktiviere dies VOR dem Vertragsbeginn oder nutze billing.closePeriod zum Neubeginn.",
215
+ "xs": 12,
216
+ "sm": 12,
217
+ "md": 6,
218
+ "lg": 6,
219
+ "xl": 6
220
+ },
221
+ "gasHtPrice": {
222
+ "type": "text",
223
+ "hidden": "!data.gasAktiv || !data.gasHtNtEnabled",
224
+ "label": "Haupttarif (HT) Preis (€/kWh)",
225
+ "placeholder": "z.B. 0.12",
226
+ "xs": 12,
227
+ "sm": 12,
228
+ "md": 6,
229
+ "lg": 4,
230
+ "xl": 3
231
+ },
232
+ "gasHtStart": {
233
+ "type": "text",
234
+ "hidden": "!data.gasAktiv || !data.gasHtNtEnabled",
235
+ "label": "HT Start (z.B. 06:00)",
236
+ "placeholder": "06:00",
237
+ "xs": 12,
238
+ "sm": 12,
239
+ "md": 6,
240
+ "lg": 4,
241
+ "xl": 3
242
+ },
243
+ "gasHtEnd": {
244
+ "type": "text",
245
+ "hidden": "!data.gasAktiv || !data.gasHtNtEnabled",
246
+ "label": "HT Ende (z.B. 22:00)",
247
+ "placeholder": "22:00",
248
+ "xs": 12,
249
+ "sm": 12,
250
+ "md": 6,
251
+ "lg": 4,
252
+ "xl": 3
253
+ },
254
+ "gasNtPrice": {
255
+ "type": "text",
256
+ "hidden": "!data.gasAktiv || !data.gasHtNtEnabled",
257
+ "label": "Nebentarif (NT) Preis (€/kWh)",
258
+ "placeholder": "z.B. 0.08",
259
+ "xs": 12,
260
+ "sm": 12,
261
+ "md": 6,
262
+ "lg": 4,
263
+ "xl": 3
264
+ },
265
+ "gasNtStart": {
266
+ "type": "text",
267
+ "hidden": "!data.gasAktiv || !data.gasHtNtEnabled",
268
+ "label": "NT Start (z.B. 22:00)",
269
+ "placeholder": "22:00",
270
+ "xs": 12,
271
+ "sm": 12,
272
+ "md": 6,
273
+ "lg": 4,
274
+ "xl": 3
275
+ },
276
+ "gasNtEnd": {
277
+ "type": "text",
278
+ "hidden": "!data.gasAktiv || !data.gasHtNtEnabled",
279
+ "label": "NT Ende (z.B. 06:00)",
280
+ "placeholder": "06:00",
281
+ "xs": 12,
282
+ "sm": 12,
283
+ "md": 6,
284
+ "lg": 4,
285
+ "xl": 3
286
+ },
287
+ "_gasAbschlagHeader": {
288
+ "type": "header",
289
+ "text": "💳 Abschlag (Monatliche Vorauszahlung)",
290
+ "size": 4,
291
+ "hidden": "!data.gasAktiv"
292
+ },
293
+ "_gasAbschlagHelp": {
294
+ "type": "staticText",
295
+ "text": "Trage deinen monatlichen Abschlag ein. Der Adapter berechnet dann, ob du über oder unter deinem Verbrauch liegst.",
296
+ "hidden": "!data.gasAktiv",
297
+ "sm": 12,
298
+ "style": {
299
+ "fontSize": "0.9em",
300
+ "color": "#666",
301
+ "marginBottom": "10px"
302
+ },
303
+ "xs": 12,
304
+ "md": 12,
305
+ "lg": 12,
306
+ "xl": 12
307
+ },
308
+ "gasAbschlag": {
309
+ "type": "text",
310
+ "label": "Monatlicher Abschlag (€)",
311
+ "placeholder": "z.B. 85.00",
312
+ "hidden": "!data.gasAktiv",
313
+ "default": 0,
314
+ "sm": 12,
315
+ "md": 6,
316
+ "xs": 12,
317
+ "lg": 4,
318
+ "xl": 3
319
+ },
320
+ "_gasAdditionalMetersDivider": {
321
+ "type": "divider",
322
+ "hidden": "!data.gasAktiv"
323
+ },
324
+ "_gasAdditionalMetersHeader": {
325
+ "type": "header",
326
+ "text": "➕ Zusätzliche Gaszähler",
327
+ "size": 4,
328
+ "hidden": "!data.gasAktiv"
329
+ },
330
+ "_gasAdditionalMetersInfo": {
331
+ "type": "staticText",
332
+ "text": "Hier können Sie weitere Gaszähler hinzufügen (z.B. für verschiedene Wohnungen, Etagen oder Gebäude). Jeder Zähler wird separat erfasst und die Gesamtsumme automatisch berechnet.",
333
+ "hidden": "!data.gasAktiv",
334
+ "newLine": true,
335
+ "xs": 12,
336
+ "sm": 12,
337
+ "md": 12,
338
+ "lg": 12,
339
+ "xl": 12
340
+ },
341
+ "gasAdditionalMeters": {
342
+ "type": "table",
343
+ "hidden": "!data.gasAktiv",
344
+ "newLine": true,
345
+ "xs": 12,
346
+ "sm": 12,
347
+ "md": 12,
348
+ "lg": 12,
349
+ "xl": 12,
350
+ "items": [
351
+ {
352
+ "type": "text",
353
+ "title": "Zählername",
354
+ "attr": "name",
355
+ "filter": false,
356
+ "sort": true,
357
+ "width": "15%",
358
+ "placeholder": "z.B. Erdgeschoss"
359
+ },
360
+ {
361
+ "type": "objectId",
362
+ "title": "Sensor (m³)",
363
+ "attr": "sensorDP",
364
+ "filter": false,
365
+ "sort": false,
366
+ "width": "20%"
367
+ },
368
+ {
369
+ "type": "text",
370
+ "title": "Preis (€/kWh)",
371
+ "attr": "preis",
372
+ "filter": false,
373
+ "sort": false,
374
+ "width": "10%",
375
+ "default": 0
376
+ },
377
+ {
378
+ "type": "text",
379
+ "title": "Offset",
380
+ "attr": "offset",
381
+ "filter": false,
382
+ "sort": false,
383
+ "width": "8%",
384
+ "default": 0
385
+ },
386
+ {
387
+ "type": "text",
388
+ "title": "Anfangsstand (m³)",
389
+ "attr": "initialReading",
390
+ "filter": false,
391
+ "sort": false,
392
+ "width": "12%",
393
+ "default": 0
394
+ },
395
+ {
396
+ "type": "text",
397
+ "title": "Vertragsbeginn",
398
+ "attr": "contractStart",
399
+ "filter": false,
400
+ "sort": false,
401
+ "width": "10%",
402
+ "placeholder": "TT.MM.JJJJ"
403
+ },
404
+ {
405
+ "type": "text",
406
+ "title": "Grundgebühr (€/Mon.)",
407
+ "attr": "grundgebuehr",
408
+ "filter": false,
409
+ "sort": false,
410
+ "width": "10%",
411
+ "default": 0
412
+ },
413
+ {
414
+ "type": "text",
415
+ "title": "Jahresgebühr (€/Jahr)",
416
+ "attr": "jahresgebuehr",
417
+ "filter": false,
418
+ "sort": false,
419
+ "width": "10%",
420
+ "default": 0
421
+ },
422
+ {
423
+ "type": "text",
424
+ "title": "Abschlag (€/Mon.)",
425
+ "attr": "abschlag",
426
+ "filter": false,
427
+ "sort": false,
428
+ "width": "10%",
429
+ "default": 0
430
+ }
431
+ ]
432
+ }
433
+ }
434
+ },
435
+ "tabWasser": {
436
+ "type": "panel",
437
+ "label": "💦 Wasser",
438
+ "items": {
439
+ "_wasserActivationHeader": {
440
+ "type": "header",
441
+ "text": "Grundeinstellungen",
442
+ "size": 4
443
+ },
444
+ "wasserAktiv": {
445
+ "type": "checkbox",
446
+ "label": "Wasser-Überwachung aktivieren",
447
+ "sm": 12,
448
+ "md": 6,
449
+ "newLine": true,
450
+ "xs": 12,
451
+ "lg": 6,
452
+ "xl": 6
453
+ },
454
+ "_wasserSensorHeader": {
455
+ "type": "header",
456
+ "text": "Sensor-Konfiguration",
457
+ "size": 5,
458
+ "hidden": "!data.wasserAktiv"
459
+ },
460
+ "wasserSensorDP": {
461
+ "type": "objectId",
462
+ "label": "🔍 Wasserzähler-Sensor auswählen (m³)",
463
+ "hidden": "!data.wasserAktiv",
464
+ "sm": 12,
465
+ "xs": 12,
466
+ "md": 8,
467
+ "lg": 6,
468
+ "xl": 4
469
+ },
470
+ "_wasserMeterHeader": {
471
+ "type": "header",
472
+ "text": "Offset (Optional)",
473
+ "size": 5,
474
+ "hidden": "!data.wasserAktiv"
475
+ },
476
+ "_wasserOffsetHelp": {
477
+ "type": "staticText",
478
+ "text": "Nur nötig wenn Sensor nicht mit physischem Zähler übereinstimmt. Offset = Physischer Wert - Sensor Wert",
479
+ "hidden": "!data.wasserAktiv",
480
+ "sm": 12,
481
+ "style": {
482
+ "fontSize": "0.9em",
483
+ "color": "#666",
484
+ "marginBottom": "10px"
485
+ },
486
+ "xs": 12,
487
+ "md": 12,
488
+ "lg": 12,
489
+ "xl": 12
490
+ },
491
+ "wasserOffset": {
492
+ "type": "text",
493
+ "label": "Offset (m³)",
494
+ "placeholder": "z.B. 543.2 (optional)",
495
+ "hidden": "!data.wasserAktiv",
496
+ "sm": 12,
497
+ "md": 6,
498
+ "xs": 12,
499
+ "lg": 4,
500
+ "xl": 3
501
+ },
502
+ "wasserInitialReading": {
503
+ "type": "text",
504
+ "label": "Zählerstand bei Vertragsbeginn (m³)",
505
+ "placeholder": "z.B. 5000 (Zählerstand am frühesten Preisdatum)",
506
+ "help": "Wird für Jahresverbrauch-Berechnung verwendet: Aktuell - Beginn = Jahresverbrauch. 💡 Jahresabschluss: Nutze wasser.billing.closePeriod zum automatischen Archivieren & Zurücksetzen",
507
+ "hidden": "!data.wasserAktiv",
508
+ "sm": 12,
509
+ "md": 6,
510
+ "xs": 12,
511
+ "lg": 4,
512
+ "xl": 3
513
+ },
514
+ "wasserContractStart": {
515
+ "type": "text",
516
+ "label": "📅 Vertragsbeginn",
517
+ "placeholder": "z.B. 12.05.2025 oder 01.01.25",
518
+ "hidden": "!data.wasserAktiv",
519
+ "sm": 12,
520
+ "md": 6,
521
+ "xs": 12,
522
+ "lg": 4,
523
+ "xl": 3
524
+ },
525
+ "_wasserPreisHeader": {
526
+ "type": "header",
527
+ "text": "💰 Preisinformationen",
528
+ "size": 4,
529
+ "hidden": "!data.wasserAktiv"
530
+ },
531
+ "_wasserPriceHelp": {
532
+ "type": "staticText",
533
+ "text": "Füge deine Wasserpreise mit Gültigkeitsdatum hinzu. Der Adapter wählt automatisch den aktuell gültigen Preis.",
534
+ "hidden": "!data.wasserAktiv",
535
+ "sm": 12,
536
+ "style": {
537
+ "fontSize": "0.9em",
538
+ "color": "#666",
539
+ "marginBottom": "10px"
540
+ },
541
+ "xs": 12,
542
+ "md": 12,
543
+ "lg": 12,
544
+ "xl": 12
545
+ },
546
+ "wasserPreis": {
547
+ "type": "text",
548
+ "hidden": "!data.wasserAktiv",
549
+ "label": "Arbeitspreis (€/m³)",
550
+ "placeholder": "z.B. 2.50",
551
+ "xs": 12,
552
+ "sm": 12,
553
+ "md": 6,
554
+ "lg": 4,
555
+ "xl": 3
556
+ },
557
+ "wasserGrundgebuehr": {
558
+ "type": "text",
559
+ "hidden": "!data.wasserAktiv",
560
+ "label": "Grundgebühr (€/Monat)",
561
+ "placeholder": "z.B. 5.00",
562
+ "default": 0,
563
+ "xs": 12,
564
+ "sm": 12,
565
+ "md": 6,
566
+ "lg": 4,
567
+ "xl": 3
568
+ },
569
+ "wasserJahresgebuehr": {
570
+ "type": "text",
571
+ "hidden": "!data.wasserAktiv",
572
+ "label": "Jahresgebühr (z.B. Zählermiete) (€/Jahr)",
573
+ "placeholder": "z.B. 20.00",
574
+ "default": 0,
575
+ "xs": 12,
576
+ "sm": 12,
577
+ "md": 6,
578
+ "lg": 4,
579
+ "xl": 3
580
+ },
581
+ "_wasserAbschlagHeader": {
582
+ "type": "header",
583
+ "text": "💳 Abschlag (Monatliche Vorauszahlung)",
584
+ "size": 4,
585
+ "hidden": "!data.wasserAktiv"
586
+ },
587
+ "_wasserAbschlagHelp": {
588
+ "type": "staticText",
589
+ "text": "Trage deinen monatlichen Abschlag ein. Der Adapter berechnet dann, ob du über oder unter deinem Verbrauch liegst.",
590
+ "hidden": "!data.wasserAktiv",
591
+ "sm": 12,
592
+ "style": {
593
+ "fontSize": "0.9em",
594
+ "color": "#666",
595
+ "marginBottom": "10px"
596
+ },
597
+ "xs": 12,
598
+ "md": 12,
599
+ "lg": 12,
600
+ "xl": 12
601
+ },
602
+ "wasserAbschlag": {
603
+ "type": "text",
604
+ "label": "Monatlicher Abschlag (€)",
605
+ "placeholder": "z.B. 25.00",
606
+ "hidden": "!data.wasserAktiv",
607
+ "default": 0,
608
+ "sm": 12,
609
+ "md": 6,
610
+ "xs": 12,
611
+ "lg": 4,
612
+ "xl": 3
613
+ },
614
+ "_wasserAdditionalMetersDivider": {
615
+ "type": "divider",
616
+ "hidden": "!data.wasserAktiv"
617
+ },
618
+ "_wasserAdditionalMetersHeader": {
619
+ "type": "header",
620
+ "text": "➕ Zusätzliche Wasserzähler",
621
+ "size": 4,
622
+ "hidden": "!data.wasserAktiv"
623
+ },
624
+ "_wasserAdditionalMetersInfo": {
625
+ "type": "staticText",
626
+ "text": "Hier können Sie weitere Wasserzähler hinzufügen (z.B. für verschiedene Wohnungen, Etagen oder Gebäude). Jeder Zähler wird separat erfasst und die Gesamtsumme automatisch berechnet.",
627
+ "hidden": "!data.wasserAktiv",
628
+ "newLine": true,
629
+ "xs": 12,
630
+ "sm": 12,
631
+ "md": 12,
632
+ "lg": 12,
633
+ "xl": 12
634
+ },
635
+ "wasserAdditionalMeters": {
636
+ "type": "table",
637
+ "hidden": "!data.wasserAktiv",
638
+ "newLine": true,
639
+ "xs": 12,
640
+ "sm": 12,
641
+ "md": 12,
642
+ "lg": 12,
643
+ "xl": 12,
644
+ "items": [
645
+ {
646
+ "type": "text",
647
+ "title": "Zählername",
648
+ "attr": "name",
649
+ "filter": false,
650
+ "sort": true,
651
+ "width": "15%",
652
+ "placeholder": "z.B. Erdgeschoss"
653
+ },
654
+ {
655
+ "type": "objectId",
656
+ "title": "Sensor (m³)",
657
+ "attr": "sensorDP",
658
+ "filter": false,
659
+ "sort": false,
660
+ "width": "20%"
661
+ },
662
+ {
663
+ "type": "text",
664
+ "title": "Preis (€/m³)",
665
+ "attr": "preis",
666
+ "filter": false,
667
+ "sort": false,
668
+ "width": "10%",
669
+ "default": 0
670
+ },
671
+ {
672
+ "type": "text",
673
+ "title": "Offset",
674
+ "attr": "offset",
675
+ "filter": false,
676
+ "sort": false,
677
+ "width": "8%",
678
+ "default": 0
679
+ },
680
+ {
681
+ "type": "text",
682
+ "title": "Anfangsstand (m³)",
683
+ "attr": "initialReading",
684
+ "filter": false,
685
+ "sort": false,
686
+ "width": "12%",
687
+ "default": 0
688
+ },
689
+ {
690
+ "type": "text",
691
+ "title": "Vertragsbeginn",
692
+ "attr": "contractStart",
693
+ "filter": false,
694
+ "sort": false,
695
+ "width": "10%",
696
+ "placeholder": "TT.MM.JJJJ"
697
+ },
698
+ {
699
+ "type": "text",
700
+ "title": "Grundgebühr (€/Mon.)",
701
+ "attr": "grundgebuehr",
702
+ "filter": false,
703
+ "sort": false,
704
+ "width": "10%",
705
+ "default": 0
706
+ },
707
+ {
708
+ "type": "text",
709
+ "title": "Jahresgebühr (€/Jahr)",
710
+ "attr": "jahresgebuehr",
711
+ "filter": false,
712
+ "sort": false,
713
+ "width": "10%",
714
+ "default": 0
715
+ },
716
+ {
717
+ "type": "text",
718
+ "title": "Abschlag (€/Mon.)",
719
+ "attr": "abschlag",
720
+ "filter": false,
721
+ "sort": false,
722
+ "width": "10%",
723
+ "default": 0
724
+ }
725
+ ]
726
+ }
727
+ }
728
+ },
729
+ "tabStrom": {
730
+ "type": "panel",
731
+ "label": "⚡️ Strom",
732
+ "items": {
733
+ "_stromActivationHeader": {
734
+ "type": "header",
735
+ "text": "Grundeinstellungen",
736
+ "size": 4
737
+ },
738
+ "stromAktiv": {
739
+ "type": "checkbox",
740
+ "label": "Strom-Überwachung aktivieren",
741
+ "sm": 12,
742
+ "md": 6,
743
+ "newLine": true,
744
+ "xs": 12,
745
+ "lg": 6,
746
+ "xl": 6
747
+ },
748
+ "_stromSensorHeader": {
749
+ "type": "header",
750
+ "text": "Sensor-Konfiguration",
751
+ "size": 5,
752
+ "hidden": "!data.stromAktiv"
753
+ },
754
+ "stromSensorDP": {
755
+ "type": "objectId",
756
+ "label": "🔍 Stromzähler-Sensor auswählen (kWh)",
757
+ "hidden": "!data.stromAktiv",
758
+ "sm": 12,
759
+ "xs": 12,
760
+ "md": 8,
761
+ "lg": 6,
762
+ "xl": 4
763
+ },
764
+ "_stromMeterHeader": {
765
+ "type": "header",
766
+ "text": "Offset (Optional)",
767
+ "size": 5,
768
+ "hidden": "!data.stromAktiv"
769
+ },
770
+ "_stromOffsetHelp": {
771
+ "type": "staticText",
772
+ "text": "Nur nötig wenn Sensor nicht mit physischem Zähler übereinstimmt. Offset = Physischer Wert - Sensor Wert",
773
+ "hidden": "!data.stromAktiv",
774
+ "sm": 12,
775
+ "style": {
776
+ "fontSize": "0.9em",
777
+ "color": "#666",
778
+ "marginBottom": "10px"
779
+ },
780
+ "xs": 12,
781
+ "md": 12,
782
+ "lg": 12,
783
+ "xl": 12
784
+ },
785
+ "stromOffset": {
786
+ "type": "text",
787
+ "label": "Offset (kWh)",
788
+ "placeholder": "z.B. 45555 (optional)",
789
+ "hidden": "!data.stromAktiv",
790
+ "sm": 12,
791
+ "md": 6,
792
+ "xs": 12,
793
+ "lg": 4,
794
+ "xl": 3
795
+ },
796
+ "stromInitialReading": {
797
+ "type": "text",
798
+ "label": "Zählerstand bei Vertragsbeginn (kWh)",
799
+ "placeholder": "z.B. 40000 (Zählerstand am frühesten Preisdatum)",
800
+ "help": "Wird für Jahresverbrauch-Berechnung verwendet: Aktuell - Beginn = Jahresverbrauch. 💡 Jahresabschluss: Nutze strom.billing.closePeriod zum automatischen Archivieren & Zurücksetzen",
801
+ "hidden": "!data.stromAktiv",
802
+ "sm": 12,
803
+ "md": 6,
804
+ "xs": 12,
805
+ "lg": 4,
806
+ "xl": 3
807
+ },
808
+ "stromContractStart": {
809
+ "type": "text",
810
+ "label": "📅 Vertragsbeginn",
811
+ "placeholder": "z.B. 12.05.2025 oder 01.01.25",
812
+ "hidden": "!data.stromAktiv",
813
+ "sm": 12,
814
+ "md": 6,
815
+ "xs": 12,
816
+ "lg": 4,
817
+ "xl": 3
818
+ },
819
+ "_stromPreisHeader": {
820
+ "type": "header",
821
+ "text": "💰 Preisinformationen",
822
+ "size": 4,
823
+ "hidden": "!data.stromAktiv"
824
+ },
825
+ "_stromPriceHelp": {
826
+ "type": "staticText",
827
+ "text": "Füge deine Strompreise mit Gültigkeitsdatum hinzu. Der Adapter wählt automatisch den aktuell gültigen Preis.",
828
+ "hidden": "!data.stromAktiv",
829
+ "sm": 12,
830
+ "style": {
831
+ "fontSize": "0.9em",
832
+ "color": "#666",
833
+ "marginBottom": "10px"
834
+ },
835
+ "xs": 12,
836
+ "md": 12,
837
+ "lg": 12,
838
+ "xl": 12
839
+ },
840
+ "stromPreis": {
841
+ "type": "text",
842
+ "hidden": "!data.stromAktiv || data.stromHtNtEnabled",
843
+ "label": "Arbeitspreis (€/kWh)",
844
+ "xs": 12,
845
+ "sm": 12,
846
+ "md": 6,
847
+ "lg": 4,
848
+ "xl": 3
849
+ },
850
+ "stromGrundgebuehr": {
851
+ "type": "text",
852
+ "hidden": "!data.stromAktiv",
853
+ "label": "Grundgebühr (€/Monat)",
854
+ "default": 0,
855
+ "xs": 12,
856
+ "sm": 12,
857
+ "md": 6,
858
+ "lg": 4,
859
+ "xl": 3
860
+ },
861
+ "stromJahresgebuehr": {
862
+ "type": "text",
863
+ "hidden": "!data.stromAktiv",
864
+ "label": "Jahresgebühr (z.B. Zählermiete) (€/Jahr)",
865
+ "default": 0,
866
+ "xs": 12,
867
+ "sm": 12,
868
+ "md": 6,
869
+ "lg": 4,
870
+ "xl": 3
871
+ },
872
+ "_stromHtNtDivider": {
873
+ "type": "divider",
874
+ "hidden": "!data.stromAktiv"
875
+ },
876
+ "_stromHtNtWarning": {
877
+ "type": "header",
878
+ "text": "⚠️ HT/NT-Tarife (Tag/Nacht)",
879
+ "size": 5,
880
+ "hidden": "!data.stromAktiv"
881
+ },
882
+ "_stromHtNtInfo": {
883
+ "type": "staticText",
884
+ "text": "**Wichtig:** Die HT/NT-Berechnung ist nur präzise, wenn sie ab **Vertragsbeginn** aktiv ist. Bei nachträglicher Aktivierung kann der Adapter nicht wissen, welcher Verbrauch zu welcher Tageszeit stattfand.",
885
+ "hidden": "!data.stromAktiv",
886
+ "newLine": true,
887
+ "xs": 12,
888
+ "sm": 12,
889
+ "md": 12,
890
+ "lg": 12,
891
+ "xl": 12
892
+ },
893
+ "stromHtNtEnabled": {
894
+ "type": "checkbox",
895
+ "hidden": "!data.stromAktiv",
896
+ "label": "HT/NT-Tarif verwenden",
897
+ "help": "Aktiviere zeitbasierte Tarife. Best Practice: Aktiviere dies VOR dem Vertragsbeginn oder nutze billing.closePeriod zum Neubeginn.",
898
+ "xs": 12,
899
+ "sm": 12,
900
+ "md": 6,
901
+ "lg": 6,
902
+ "xl": 6
903
+ },
904
+ "stromHtPrice": {
905
+ "type": "text",
906
+ "hidden": "!data.stromAktiv || !data.stromHtNtEnabled",
907
+ "label": "Haupttarif (HT) Preis (€/kWh)",
908
+ "xs": 12,
909
+ "sm": 12,
910
+ "md": 6,
911
+ "lg": 4,
912
+ "xl": 3
913
+ },
914
+ "stromHtStart": {
915
+ "type": "text",
916
+ "hidden": "!data.stromAktiv || !data.stromHtNtEnabled",
917
+ "label": "HT Start (z.B. 06:00)",
918
+ "placeholder": "06:00",
919
+ "xs": 12,
920
+ "sm": 12,
921
+ "md": 6,
922
+ "lg": 4,
923
+ "xl": 3
924
+ },
925
+ "stromHtEnd": {
926
+ "type": "text",
927
+ "hidden": "!data.stromAktiv || !data.stromHtNtEnabled",
928
+ "label": "HT Ende (z.B. 22:00)",
929
+ "placeholder": "22:00",
930
+ "xs": 12,
931
+ "sm": 12,
932
+ "md": 6,
933
+ "lg": 4,
934
+ "xl": 3
935
+ },
936
+ "stromNtPrice": {
937
+ "type": "text",
938
+ "hidden": "!data.stromAktiv || !data.stromHtNtEnabled",
939
+ "label": "Nebentarif (NT) Preis (€/kWh)",
940
+ "xs": 12,
941
+ "sm": 12,
942
+ "md": 6,
943
+ "lg": 4,
944
+ "xl": 3
945
+ },
946
+ "stromNtStart": {
947
+ "type": "text",
948
+ "hidden": "!data.stromAktiv || !data.stromHtNtEnabled",
949
+ "label": "NT Start (z.B. 22:00)",
950
+ "placeholder": "22:00",
951
+ "xs": 12,
952
+ "sm": 12,
953
+ "md": 6,
954
+ "lg": 4,
955
+ "xl": 3
956
+ },
957
+ "stromNtEnd": {
958
+ "type": "text",
959
+ "hidden": "!data.stromAktiv || !data.stromHtNtEnabled",
960
+ "label": "NT Ende (z.B. 06:00)",
961
+ "placeholder": "06:00",
962
+ "xs": 12,
963
+ "sm": 12,
964
+ "md": 6,
965
+ "lg": 4,
966
+ "xl": 3
967
+ },
968
+ "_stromAbschlagHeader": {
969
+ "type": "header",
970
+ "text": "💳 Abschlag (Monatliche Vorauszahlung)",
971
+ "size": 4,
972
+ "hidden": "!data.stromAktiv"
973
+ },
974
+ "_stromAbschlagHelp": {
975
+ "type": "staticText",
976
+ "text": "Trage deinen monatlichen Abschlag ein. Der Adapter berechnet dann, ob du über oder unter deinem Verbrauch liegst.",
977
+ "hidden": "!data.stromAktiv",
978
+ "sm": 12,
979
+ "style": {
980
+ "fontSize": "0.9em",
981
+ "color": "#666",
982
+ "marginBottom": "10px"
983
+ },
984
+ "xs": 12,
985
+ "md": 12,
986
+ "lg": 12,
987
+ "xl": 12
988
+ },
989
+ "stromAbschlag": {
990
+ "type": "text",
991
+ "label": "Monatlicher Abschlag (€)",
992
+ "placeholder": "z.B. 65.00",
993
+ "hidden": "!data.stromAktiv",
994
+ "sm": 12,
995
+ "md": 6,
996
+ "default": 0,
997
+ "xs": 12,
998
+ "lg": 4,
999
+ "xl": 3
1000
+ },
1001
+ "_stromAdditionalMetersDivider": {
1002
+ "type": "divider",
1003
+ "hidden": "!data.stromAktiv"
1004
+ },
1005
+ "_stromAdditionalMetersHeader": {
1006
+ "type": "header",
1007
+ "text": "➕ Zusätzliche Stromzähler",
1008
+ "size": 4,
1009
+ "hidden": "!data.stromAktiv"
1010
+ },
1011
+ "_stromAdditionalMetersInfo": {
1012
+ "type": "staticText",
1013
+ "text": "Hier können Sie weitere Stromzähler hinzufügen (z.B. für verschiedene Wohnungen, Etagen oder Gebäude). Jeder Zähler wird separat erfasst und die Gesamtsumme automatisch berechnet.",
1014
+ "hidden": "!data.stromAktiv",
1015
+ "newLine": true,
1016
+ "xs": 12,
1017
+ "sm": 12,
1018
+ "md": 12,
1019
+ "lg": 12,
1020
+ "xl": 12
1021
+ },
1022
+ "stromAdditionalMeters": {
1023
+ "type": "table",
1024
+ "hidden": "!data.stromAktiv",
1025
+ "newLine": true,
1026
+ "xs": 12,
1027
+ "sm": 12,
1028
+ "md": 12,
1029
+ "lg": 12,
1030
+ "xl": 12,
1031
+ "items": [
1032
+ {
1033
+ "type": "text",
1034
+ "title": "Zählername",
1035
+ "attr": "name",
1036
+ "filter": false,
1037
+ "sort": true,
1038
+ "width": "15%",
1039
+ "placeholder": "z.B. Erdgeschoss"
1040
+ },
1041
+ {
1042
+ "type": "objectId",
1043
+ "title": "Sensor (kWh)",
1044
+ "attr": "sensorDP",
1045
+ "filter": false,
1046
+ "sort": false,
1047
+ "width": "20%"
1048
+ },
1049
+ {
1050
+ "type": "text",
1051
+ "title": "Preis (€/kWh)",
1052
+ "attr": "preis",
1053
+ "filter": false,
1054
+ "sort": false,
1055
+ "width": "10%",
1056
+ "default": 0
1057
+ },
1058
+ {
1059
+ "type": "text",
1060
+ "title": "Offset",
1061
+ "attr": "offset",
1062
+ "filter": false,
1063
+ "sort": false,
1064
+ "width": "8%",
1065
+ "default": 0
1066
+ },
1067
+ {
1068
+ "type": "text",
1069
+ "title": "Anfangsstand (kWh)",
1070
+ "attr": "initialReading",
1071
+ "filter": false,
1072
+ "sort": false,
1073
+ "width": "12%",
1074
+ "default": 0
1075
+ },
1076
+ {
1077
+ "type": "text",
1078
+ "title": "Vertragsbeginn",
1079
+ "attr": "contractStart",
1080
+ "filter": false,
1081
+ "sort": false,
1082
+ "width": "10%",
1083
+ "placeholder": "TT.MM.JJJJ"
1084
+ },
1085
+ {
1086
+ "type": "text",
1087
+ "title": "Grundgebühr (€/Mon.)",
1088
+ "attr": "grundgebuehr",
1089
+ "filter": false,
1090
+ "sort": false,
1091
+ "width": "10%",
1092
+ "default": 0
1093
+ },
1094
+ {
1095
+ "type": "text",
1096
+ "title": "Jahresgebühr (€/Jahr)",
1097
+ "attr": "jahresgebuehr",
1098
+ "filter": false,
1099
+ "sort": false,
1100
+ "width": "10%",
1101
+ "default": 0
1102
+ },
1103
+ {
1104
+ "type": "text",
1105
+ "title": "Abschlag (€/Mon.)",
1106
+ "attr": "abschlag",
1107
+ "filter": false,
1108
+ "sort": false,
1109
+ "width": "10%",
1110
+ "default": 0
1111
+ }
1112
+ ]
1113
+ }
1114
+ }
1115
+ },
1116
+ "tabPv": {
1117
+ "type": "panel",
1118
+ "label": "🔋 PV / Einspeisung",
1119
+ "items": {
1120
+ "_pvActivationHeader": {
1121
+ "type": "header",
1122
+ "text": "Grundeinstellungen",
1123
+ "size": 4
1124
+ },
1125
+ "pvAktiv": {
1126
+ "type": "checkbox",
1127
+ "label": "PV-Einspeisung überwachen (Lieferung)",
1128
+ "sm": 12,
1129
+ "md": 6,
1130
+ "newLine": true,
1131
+ "xs": 12,
1132
+ "lg": 6,
1133
+ "xl": 6
1134
+ },
1135
+ "_pvSensorHeader": {
1136
+ "type": "header",
1137
+ "text": "Sensor-Konfiguration",
1138
+ "size": 5,
1139
+ "hidden": "!data.pvAktiv"
1140
+ },
1141
+ "pvSensorDP": {
1142
+ "type": "objectId",
1143
+ "label": "🔍 Sensor für Einspeisung auswählen (kWh)",
1144
+ "hidden": "!data.pvAktiv",
1145
+ "sm": 12,
1146
+ "xs": 12,
1147
+ "md": 8,
1148
+ "lg": 6,
1149
+ "xl": 4
1150
+ },
1151
+ "_pvMeterHeader": {
1152
+ "type": "header",
1153
+ "text": "Offset (Optional)",
1154
+ "size": 5,
1155
+ "hidden": "!data.pvAktiv"
1156
+ },
1157
+ "_pvOffsetHelp": {
1158
+ "type": "staticText",
1159
+ "text": "Nur nötig wenn Sensor nicht mit physischem Zähler übereinstimmt. Offset = Physischer Wert - Sensor Wert",
1160
+ "hidden": "!data.pvAktiv",
1161
+ "sm": 12,
1162
+ "style": {
1163
+ "fontSize": "0.9em",
1164
+ "color": "#666",
1165
+ "marginBottom": "10px"
1166
+ },
1167
+ "xs": 12,
1168
+ "md": 12,
1169
+ "lg": 12,
1170
+ "xl": 12
1171
+ },
1172
+ "pvOffset": {
1173
+ "type": "text",
1174
+ "label": "Offset (kWh)",
1175
+ "placeholder": "z.B. 0 (optional)",
1176
+ "hidden": "!data.pvAktiv",
1177
+ "sm": 12,
1178
+ "md": 6,
1179
+ "xs": 12,
1180
+ "lg": 4,
1181
+ "xl": 3
1182
+ },
1183
+ "pvInitialReading": {
1184
+ "type": "text",
1185
+ "label": "Einspeise-Zählerstand bei Start (kWh)",
1186
+ "placeholder": "z.B. 0 (Zählerstand am Stichtag)",
1187
+ "help": "Wird für Jahres-Einspeisung verwendet: Aktuell - Beginn = Jahreseinspeisung. 💡 Jahresabschluss: Nutze pv.billing.closePeriod zum automatischen Archivieren & Zurücksetzen",
1188
+ "hidden": "!data.pvAktiv",
1189
+ "sm": 12,
1190
+ "md": 6,
1191
+ "xs": 12,
1192
+ "lg": 4,
1193
+ "xl": 3
1194
+ },
1195
+ "pvContractStart": {
1196
+ "type": "text",
1197
+ "label": "📅 Stichtag / Vertragsbeginn",
1198
+ "placeholder": "z.B. 01.01.2025",
1199
+ "hidden": "!data.pvAktiv",
1200
+ "sm": 12,
1201
+ "md": 6,
1202
+ "xs": 12,
1203
+ "lg": 4,
1204
+ "xl": 3
1205
+ },
1206
+ "_pvPreisHeader": {
1207
+ "type": "header",
1208
+ "text": "💰 Vergütungsinformationen",
1209
+ "size": 4,
1210
+ "hidden": "!data.pvAktiv"
1211
+ },
1212
+ "_pvPriceHelp": {
1213
+ "type": "staticText",
1214
+ "text": "Trage hier deine Einspeisevergütung ein.",
1215
+ "hidden": "!data.pvAktiv",
1216
+ "sm": 12,
1217
+ "style": {
1218
+ "fontSize": "0.9em",
1219
+ "color": "#666",
1220
+ "marginBottom": "10px"
1221
+ },
1222
+ "xs": 12,
1223
+ "md": 12,
1224
+ "lg": 12,
1225
+ "xl": 12
1226
+ },
1227
+ "pvPreis": {
1228
+ "type": "text",
1229
+ "hidden": "!data.pvAktiv",
1230
+ "label": "Einspeisevergütung (€/kWh)",
1231
+ "xs": 12,
1232
+ "sm": 12,
1233
+ "md": 6,
1234
+ "lg": 4,
1235
+ "xl": 3
1236
+ },
1237
+ "pvGrundgebuehr": {
1238
+ "type": "text",
1239
+ "hidden": "!data.pvAktiv",
1240
+ "label": "Grundgebühr (Messstellenbetrieb) (€/Monat)",
1241
+ "default": 0,
1242
+ "xs": 12,
1243
+ "sm": 12,
1244
+ "md": 6,
1245
+ "lg": 4,
1246
+ "xl": 3
1247
+ },
1248
+ "pvJahresgebuehr": {
1249
+ "type": "text",
1250
+ "hidden": "!data.pvAktiv",
1251
+ "label": "Jahresgebühr (€/Jahr)",
1252
+ "default": 0,
1253
+ "xs": 12,
1254
+ "sm": 12,
1255
+ "md": 6,
1256
+ "lg": 4,
1257
+ "xl": 3
1258
+ }
1259
+ }
1260
+ },
1261
+ "tabNotifications": {
1262
+ "type": "panel",
1263
+ "label": "🛎️ Benachrichtigungen",
1264
+ "items": {
1265
+ "_notificationHeader": {
1266
+ "type": "header",
1267
+ "text": "Erinnerungen vor Abrechnungsende",
1268
+ "size": 4
1269
+ },
1270
+ "_notificationInfo": {
1271
+ "type": "staticText",
1272
+ "text": "Erhalte automatische Benachrichtigungen wenn der Abrechnungszeitraum bald endet. Nutze dazu einen bereits installierten Messaging-Adapter (Telegram, Pushover, Email, etc.)",
1273
+ "sm": 12,
1274
+ "xs": 12,
1275
+ "md": 12,
1276
+ "lg": 12,
1277
+ "xl": 12
1278
+ },
1279
+ "notificationEnabled": {
1280
+ "type": "checkbox",
1281
+ "label": "Benachrichtigungen aktivieren",
1282
+ "sm": 12,
1283
+ "md": 6,
1284
+ "xs": 12,
1285
+ "lg": 6,
1286
+ "xl": 6
1287
+ },
1288
+ "notificationInstance": {
1289
+ "type": "instance",
1290
+ "label": "Benachrichtigungs-Dienst",
1291
+ "adapter": "",
1292
+ "adapters": [
1293
+ "telegram",
1294
+ "pushover",
1295
+ "email",
1296
+ "whatsapp",
1297
+ "whatsapp-cmb",
1298
+ "signal",
1299
+ "signal-cmb",
1300
+ "discord",
1301
+ "notification-manager"
1302
+ ],
1303
+ "help": "Wähle einen installierten Messaging-Adapter",
1304
+ "hidden": "!data.notificationEnabled",
1305
+ "sm": 12,
1306
+ "md": 6,
1307
+ "xs": 12,
1308
+ "lg": 6,
1309
+ "xl": 6
1310
+ },
1311
+ "testNotification": {
1312
+ "type": "sendTo",
1313
+ "showProcess": true,
1314
+ "label": "Test-Benachrichtigung senden",
1315
+ "command": "testNotification",
1316
+ "jsonData": "{\"instance\": \"${data.notificationInstance}\"}",
1317
+ "variant": "outlined",
1318
+ "icon": "send",
1319
+ "hidden": "!data.notificationEnabled || !data.notificationInstance",
1320
+ "sm": 8,
1321
+ "xs": 12,
1322
+ "md": 4,
1323
+ "lg": 3,
1324
+ "xl": 3
1325
+ },
1326
+ "headerNotificationTypes": {
1327
+ "type": "header",
1328
+ "text": "Erinnerungs-Konfiguration",
1329
+ "hidden": "!data.notificationEnabled",
1330
+ "size": 5
1331
+ },
1332
+ "notificationBillingEnabled": {
1333
+ "type": "checkbox",
1334
+ "label": "Erinnerung Abrechnungsende (Zählerstand ablesen)",
1335
+ "hidden": "!data.notificationEnabled",
1336
+ "xs": 12,
1337
+ "sm": 12,
1338
+ "md": 8,
1339
+ "lg": 8,
1340
+ "xl": 8
1341
+ },
1342
+ "notificationBillingDays": {
1343
+ "type": "text",
1344
+ "label": "Tage vorher",
1345
+ "hidden": "!data.notificationEnabled || !data.notificationBillingEnabled",
1346
+ "xs": 12,
1347
+ "sm": 12,
1348
+ "md": 4,
1349
+ "lg": 4,
1350
+ "xl": 4,
1351
+ "help": "Standard: 7 Tage"
1352
+ },
1353
+ "notificationChangeEnabled": {
1354
+ "type": "checkbox",
1355
+ "label": "Erinnerung Vertragswechsel (Tarif-Check / Kündigung)",
1356
+ "hidden": "!data.notificationEnabled",
1357
+ "xs": 12,
1358
+ "sm": 12,
1359
+ "md": 8,
1360
+ "lg": 8,
1361
+ "xl": 8
1362
+ },
1363
+ "notificationChangeDays": {
1364
+ "type": "text",
1365
+ "label": "Tage vorher",
1366
+ "hidden": "!data.notificationEnabled || !data.notificationChangeEnabled",
1367
+ "xs": 12,
1368
+ "sm": 12,
1369
+ "md": 4,
1370
+ "lg": 4,
1371
+ "xl": 4,
1372
+ "help": "Standard: 60 Tage"
1373
+ },
1374
+ "notificationMonthlyEnabled": {
1375
+ "type": "checkbox",
1376
+ "label": "Monatlichen Status-Bericht senden",
1377
+ "hidden": "!data.notificationEnabled",
1378
+ "sm": 12,
1379
+ "xs": 12,
1380
+ "md": 8,
1381
+ "lg": 8,
1382
+ "xl": 8
1383
+ },
1384
+ "notificationMonthlyDay": {
1385
+ "type": "text",
1386
+ "label": "Tag des Monats (1-28)",
1387
+ "hidden": "!data.notificationEnabled || !data.notificationMonthlyEnabled",
1388
+ "default": 1,
1389
+ "sm": 12,
1390
+ "xs": 12,
1391
+ "md": 4,
1392
+ "lg": 4,
1393
+ "xl": 4,
1394
+ "help": "An welchem Tag soll der Bericht gesendet werden?"
1395
+ },
1396
+ "_dividerTypes": {
1397
+ "type": "divider",
1398
+ "hidden": "!data.notificationEnabled"
1399
+ },
1400
+ "_typesHeader": {
1401
+ "type": "header",
1402
+ "text": "Benachrichtigungen pro Typ",
1403
+ "size": 5,
1404
+ "hidden": "!data.notificationEnabled"
1405
+ },
1406
+ "_typesHelp": {
1407
+ "type": "staticText",
1408
+ "text": "Wähle für welche Verbrauchsarten du Erinnerungen erhalten möchtest:",
1409
+ "hidden": "!data.notificationEnabled",
1410
+ "sm": 12,
1411
+ "xs": 12,
1412
+ "md": 12,
1413
+ "lg": 12,
1414
+ "xl": 12
1415
+ },
1416
+ "notificationGasEnabled": {
1417
+ "type": "checkbox",
1418
+ "label": "Gas-Erinnerung",
1419
+ "hidden": "!data.notificationEnabled || !data.gasAktiv",
1420
+ "sm": 12,
1421
+ "md": 4,
1422
+ "xs": 12,
1423
+ "lg": 4,
1424
+ "xl": 4
1425
+ },
1426
+ "notificationWasserEnabled": {
1427
+ "type": "checkbox",
1428
+ "label": "Wasser-Erinnerung",
1429
+ "hidden": "!data.notificationEnabled || !data.wasserAktiv",
1430
+ "sm": 12,
1431
+ "md": 4,
1432
+ "xs": 12,
1433
+ "lg": 4,
1434
+ "xl": 4
1435
+ },
1436
+ "notificationStromEnabled": {
1437
+ "type": "checkbox",
1438
+ "label": "Strom-Erinnerung",
1439
+ "hidden": "!data.notificationEnabled || !data.stromAktiv",
1440
+ "sm": 12,
1441
+ "md": 4,
1442
+ "xs": 12,
1443
+ "lg": 4,
1444
+ "xl": 4
1445
+ },
1446
+ "notificationPVEnabled": {
1447
+ "type": "checkbox",
1448
+ "label": "PV-Erinnerung",
1449
+ "hidden": "!data.notificationEnabled || !data.pvAktiv",
1450
+ "sm": 12,
1451
+ "md": 4,
1452
+ "xs": 12,
1453
+ "lg": 4,
1454
+ "xl": 4
1455
+ }
1456
+ }
1457
+ },
1458
+ "tabInfo": {
1459
+ "type": "panel",
1460
+ "label": "ℹ️ Info & Hilfe",
1461
+ "items": {
1462
+ "_infoHeader": {
1463
+ "type": "header",
1464
+ "text": "Nebenkosten-Monitor",
1465
+ "size": 3
1466
+ },
1467
+ "_infoVersion": {
1468
+ "type": "staticText",
1469
+ "text": "**Version:** 1.4.0\n\n**Autor:** fischi87",
1470
+ "sm": 12,
1471
+ "xs": 12,
1472
+ "md": 12,
1473
+ "lg": 12,
1474
+ "xl": 12
1475
+ },
1476
+ "donation": {
1477
+ "type": "staticText",
1478
+ "text": "☕ [PayPal Spenden](https://paypal.me/bigplay87) | 📁 [GitHub Repository](https://github.com/fischi87/ioBroker.nebenkosten-monitor)",
1479
+ "xs": 12,
1480
+ "sm": 12,
1481
+ "md": 12,
1482
+ "lg": 12,
1483
+ "xl": 12
1484
+ },
1485
+ "_divider1": {
1486
+ "type": "divider"
1487
+ },
1488
+ "_featureHeader": {
1489
+ "type": "header",
1490
+ "text": "Funktionen",
1491
+ "size": 4
1492
+ },
1493
+ "_features": {
1494
+ "type": "staticText",
1495
+ "text": "📊 **Verbrauchsüberwachung** - Gas, Wasser, Strom & PV/Einspeisung\n\n💰 **Automatische Kostenberechnung** - Mit Arbeitspreis & Grundgebühren\n\n☀️ **PV-Integration** - Überwachung von Einspeisung & Vergütung\n\n💳 **Abschlagsüberwachung** - Direkter Vergleich: Bezahlt vs. Verbraucht\n\n🔄 **Gas-Spezial** - Automatische m³ zu kWh Umrechnung\n\n⚡ **HT/NT-Unterstützung** - Volle Unterstützung für Doppeltarife\n\n📅 **Jahres-Historie** - Automatische Archivierung zum Vertragsbeginn",
1496
+ "sm": 12,
1497
+ "xs": 12,
1498
+ "md": 12,
1499
+ "lg": 12,
1500
+ "xl": 12
1501
+ },
1502
+ "_divider2": {
1503
+ "type": "divider"
1504
+ },
1505
+ "_usageHeader": {
1506
+ "type": "header",
1507
+ "text": "Benachrichtigungen (Neu)",
1508
+ "size": 4
1509
+ },
1510
+ "_usage": {
1511
+ "type": "staticText",
1512
+ "text": "**1. Abrechnungsende** 📅\n• Erinnert dich (z.B. 7 Tage vorher) daran, den Zählerstand abzulesen und den Zeitraum abzuschließen.\n\n**2. Vertragswechsel** 📋\n• Erinnert dich frühzeitig (z.B. 60 Tage vorher) daran, Tarife zu vergleichen oder die Kündigungsfrist zu prüfen.\n\n**3. Monatlicher Bericht** 📈\n• Optionaler Status-Bericht am 1. jedes Monats via Benachrichtigung.\n\n**💡 Tipp:** Nutze den **Test-Button** zum Prüfen deiner Einstellungen. Du bekommst sofort ein Popup mit dem Ergebnis!",
1513
+ "sm": 12,
1514
+ "xs": 12,
1515
+ "md": 12,
1516
+ "lg": 12,
1517
+ "xl": 12
1518
+ },
1519
+ "_divider3": {
1520
+ "type": "divider"
1521
+ },
1522
+ "_statesHeader": {
1523
+ "type": "header",
1524
+ "text": "Wichtige Datenpunkte",
1525
+ "size": 4
1526
+ },
1527
+ "_statesInfo": {
1528
+ "type": "staticText",
1529
+ "text": "**📅 billing/** (Abrechnung)\n• **daysRemaining** - Tage bis zum Ende\n• **closePeriod** - Button zum Abschluss\n\n**💰 costs/** (Kosten)\n• **balance** - 🎯 Aktuelle Bilanz (Guthaben/Nachzahlung)\n• **totalYearly** - Prognose Gesamtkosten inkl. Gebühren\n\n**📈 statistics/** (Statistiken)\n• **lastDay** - Verbrauch gestern (kWh)\n• **lastDayVolume** - Verbrauch gestern in m³ (Gas)\n\n**☀️ PV / Einspeisung**\n• **earnings.totalYearly** - Akkumulierte Vergütung\n• **consumption.yearly** - Gesamte Einspeisung",
1530
+ "sm": 12,
1531
+ "xs": 12,
1532
+ "md": 12,
1533
+ "lg": 12,
1534
+ "xl": 12
1535
+ },
1536
+ "_divider4": {
1537
+ "type": "divider"
1538
+ }
1539
+ }
1540
+ }
1541
+ }
1542
+ }