iobroker.pv-notifications 1.2.19 → 1.2.21

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/io-package.json CHANGED
@@ -1,487 +1,497 @@
1
- {
2
- "common": {
3
- "name": "pv-notifications",
4
- "version": "1.2.19",
5
- "titleLang": {
6
- "en": "PV Notifications",
7
- "de": "PV-Benachrichtigungen",
8
- "ru": "PV-Уведомления",
9
- "pt": "Notificações PV",
10
- "nl": "PV-meldingen",
11
- "fr": "Notifications PV",
12
- "it": "Notifiche PV",
13
- "es": "Notificaciones PV",
14
- "pl": "Powiadomienia PV",
15
- "uk": "PV-Сповіщення",
16
- "zh-cn": "PV 通知"
17
- },
18
- "desc": {
19
- "en": "Send Telegram notifications for PV battery status",
20
- "de": "Sende Telegram-Benachrichtigungen für PV-Batteriestatus",
21
- "ru": "Отправка Telegram-уведомлений о состоянии батареи PV",
22
- "pt": "Enviar notificações Telegram para status da bateria PV",
23
- "nl": "Verstuur Telegram-meldingen voor PV-batterijstatus",
24
- "fr": "Envoyer des notifications Telegram pour l'état de la batterie PV",
25
- "it": "Invia notifiche Telegram per lo stato della batteria PV",
26
- "es": "Enviar notificaciones de Telegram para el estado de la batería PV",
27
- "pl": "Wysyłaj powiadomienia Telegram o stanie baterii PV",
28
- "uk": "Надсилати Telegram-сповіщення про стан батареї PV",
29
- "zh-cn": "发送 Telegram 通知用于 PV 电池状态"
30
- },
31
- "news": {
32
- "1.2.19": {
33
- "en": "Added v1.2.18 entry to news section in io-package.json",
34
- "de": "Eintrag v1.2.18 zur news-Sektion in io-package.json hinzugefügt",
35
- "ru": "Добавлена запись v1.2.18 в секцию news в io-package.json",
36
- "pt": "Adicionada entrada v1.2.18 à seção news em io-package.json",
37
- "nl": "Vermelding v1.2.18 toegevoegd aan news-sectie in io-package.json",
38
- "fr": "Ajout de l'entrée v1.2.18 à la section news dans io-package.json",
39
- "it": "Aggiunta voce v1.2.18 alla sezione news in io-package.json",
40
- "es": "Añadida entrada v1.2.18 a la sección news en io-package.json",
41
- "pl": "Dodano wpis v1.2.18 do sekcji news w io-package.json",
42
- "uk": "Додано запис v1.2.18 до секції news в io-package.json",
43
- "zh-cn": "在 io-package.json 的 news 部分添加了 v1.2.18 条目"
44
- },
45
- "1.2.18": {
46
- "en": "Fix missing await in onBatterySOCChange, null-check in buildTestMessage, safe intermediateSteps parsing, remove dead code",
47
- "de": "Fehlenden await in onBatterySOCChange behoben, Null-Check in buildTestMessage, sichere intermediateSteps-Verarbeitung, toten Code entfernt",
48
- "ru": "Исправлен отсутствующий await в onBatterySOCChange, null-проверка в buildTestMessage, безопасный парсинг intermediateSteps, удалён мёртвый код",
49
- "pt": "Corrigido await ausente em onBatterySOCChange, verificação null em buildTestMessage, análise segura de intermediateSteps, código morto removido",
50
- "nl": "Ontbrekende await in onBatterySOCChange hersteld, null-check in buildTestMessage, veilige intermediateSteps-verwerking, dode code verwijderd",
51
- "fr": "Correction du await manquant dans onBatterySOCChange, vérification null dans buildTestMessage, analyse sécurisée des intermediateSteps, code mort supprimé",
52
- "it": "Corretto await mancante in onBatterySOCChange, controllo null in buildTestMessage, parsing sicuro di intermediateSteps, codice morto rimosso",
53
- "es": "Corregido await faltante en onBatterySOCChange, verificación null en buildTestMessage, análisis seguro de intermediateSteps, código muerto eliminado",
54
- "pl": "Naprawiono brakujący await w onBatterySOCChange, sprawdzanie null w buildTestMessage, bezpieczne parsowanie intermediateSteps, usunięto martwy kod",
55
- "uk": "Виправлено відсутній await в onBatterySOCChange, перевірка null в buildTestMessage, безпечний парсинг intermediateSteps, видалено мертвий код",
56
- "zh-cn": "修复 onBatterySOCChange 中缺少的 await,buildTestMessage 中的 null 检查,安全的 intermediateSteps 解析,删除死代码"
57
- },
58
- "1.2.17": {
59
- "en": "Removed old versions from common.news to comply with W1032 (maximum 7 versions)",
60
- "de": "Alte Versionen aus common.news entfernt zur Einhaltung von W1032 (maximal 7 Versionen)",
61
- "ru": "Удалены старые версии из common.news для соответствия W1032 (максимум 7 версий)",
62
- "pt": "Versões antigas removidas de common.news para cumprir W1032 (máximo 7 versões)",
63
- "nl": "Oude versies verwijderd uit common.news om te voldoen aan W1032 (maximaal 7 versies)",
64
- "fr": "Anciennes versions supprimées de common.news pour respecter W1032 (maximum 7 versions)",
65
- "it": "Rimosse vecchie versioni da common.news per rispettare W1032 (massimo 7 versioni)",
66
- "es": "Versiones antiguas eliminadas de common.news para cumplir con W1032 (máximo 7 versiones)",
67
- "pl": "Usunięto stare wersje z common.news zgodnie z W1032 (maksymalnie 7 wersji)",
68
- "uk": "Видалено старі версії з common.news для відповідності W1032 (максимум 7 версій)",
69
- "zh-cn": "已从 common.news 中删除旧版本以符合 W1032(最多 7 个版本)"
70
- },
71
- "1.2.16": {
72
- "en": "Removed empty line in battery full message for improved formatting",
73
- "de": "Leere Zeile in Batterie VOLL Nachricht für bessere Formatierung entfernt",
74
- "ru": "Удалена пустая строка в сообщении о полной батарее для улучшения форматирования",
75
- "pt": "Removida linha vazia na mensagem de bateria cheia para melhor formatação",
76
- "nl": "Lege regel verwijderd in batterij vol-bericht voor verbeterde opmaak",
77
- "fr": "Suppression de la ligne vide dans le message batterie pleine pour un meilleur formatage",
78
- "it": "Rimossa riga vuota nel messaggio di batteria piena per un migliore formattazione",
79
- "es": "Eliminada línea vacía en el mensaje de batería llena para mejorar el formato",
80
- "pl": "Usunięto pusty wiersz w wiadomości o pełnej baterii dla lepszej formatowania",
81
- "uk": "Видалено порожній рядок у повідомленні про повну батарею для покращення форматування",
82
- "zh-cn": "已删除电池满消息中的空行以改善格式"
83
- },
84
- "1.2.15": {
85
- "en": "Added separator lines to battery full/empty and intermediate messages for improved readability",
86
- "de": "Trennlinien zu Batterie VOLL/LEER und Intermediate-Nachrichten für bessere Lesbarkeit hinzugefügt",
87
- "ru": "Добавлены разделительные линии к сообщениям о полной/пустой батарее и промежуточным сообщениям для улучшения читаемости",
88
- "pt": "Adicionadas linhas separadoras às mensagens de bateria cheia/vazia e intermediárias para melhor legibilidade",
89
- "nl": "Scheidinglijnen toegevoegd aan batterij vol/leeg en intermediate-berichten voor verbeterde leesbaarheid",
90
- "fr": "Ajout de lignes séparatrices aux messages batterie pleine/vide et intermédiaires pour une meilleure lisibilité",
91
- "it": "Aggiunte linee separatrici ai messaggi di batteria piena/vuota e intermedi per una migliore leggibilità",
92
- "es": "Agregadas líneas separadoras a los mensajes de batería llena/vacía e intermedios para mejorar la legibilidad",
93
- "pl": "Dodano linie oddzielające do wiadomości o pełnej/pustej baterii i pośrednich dla lepszej czytelności",
94
- "uk": "Додано розділювальні лінії до повідомлень про повну/порожню батарею та проміжних для покращення читабельності",
95
- "zh-cn": "已添加分隔线到电池满/空和中间消息以提高可读性"
96
- },
97
- "1.2.14": {
98
- "en": "Fixed intermediate message formatting: Removed extra line break before weather data",
99
- "de": "Intermediate-Nachricht formatiert: Zusätzlichen Zeilenumbruch vor Wetterdaten entfernt",
100
- "ru": "Исправлено форматирование промежуточного сообщения: удалён лишний перенос строки перед данными погоды",
101
- "pt": "Corrigida formatação da mensagem intermediária: Removida quebra de linha extra antes dos dados meteorológicos",
102
- "nl": "Formattering tussentijds bericht gecorrigeerd: extra regeleis voor weergegevens verwijderd",
103
- "fr": "Correction du formatage des messages intermédiaires: suppression du saut de ligne supplémentaire avant les données météo",
104
- "it": "Corretta formattazione messaggio intermedio: rimossa interruzione di riga extra prima dei dati meteo",
105
- "es": "Corregido formato de mensaje intermedio: Eliminada salto de línea adicional antes de datos meteorológicos",
106
- "pl": "Poprawiono formatowanie wiadomości pośrednich: Usunięto dodatkowy podział wiersza przed danymi pogodowymi",
107
- "uk": "Виправлено форматування проміжних повідомлень: видалено додатковий перенос рядка перед даними погоди",
108
- "zh-cn": "修复中间消息格式:删除天气数据前的额外换行符"
109
- },
110
- "1.2.13": {
111
- "en": "Added current production (W) to test message, daily statistics and intermediate messages with improved layout",
112
- "de": "Aktuelle Produktion (W) zu Test-Nachricht, Tagesstatistik und Zwischenmeldungen mit verbessertem Layout hinzugefügt",
113
- "ru": "Добавлена текущая выработка (Вт) в тестовое сообщение, дневную статистику и промежуточные уведомления с улучшенным макетом",
114
- "pt": "Adicionada produção atual (W) à mensagem de teste, estatísticas diárias e mensagens intermediárias com layout aprimorado",
115
- "nl": "Huidige productie (W) toegevoegd aan testbericht, dagelijkse statistieken en intermediate-berichten met verbeterde lay-out",
116
- "fr": "Ajout de la production actuelle (W) au message de test, statistiques quotidiennes et messages intermédiaires avec une mise en page améliorée",
117
- "it": "Aggiunta produzione attuale (W) al messaggio di test, statistiche giornaliere e messaggi intermedi con layout migliorato",
118
- "es": "Agregada producción actual (W) al mensaje de prueba, estadísticas diarias y mensajes intermedios con diseño mejorado",
119
- "pl": "Dodano aktualną produkcję (W) do wiadomości testowej, statystyk dziennych i wiadomości pośrednich z ulepszonym układem",
120
- "uk": "Додано поточне виробництво (Вт) до тестового повідомлення, денної статистики та проміжних повідомлень з покращеним макетом",
121
- "zh-cn": "已添加当前发电量(W)到测试消息、每日统计和中间消息,并改进了布局"
122
- }
123
- },
124
- "authors": [
125
- "Alex <alex@example.com>"
126
- ],
127
- "keywords": [
128
- "PV",
129
- "Solar",
130
- "Batterie",
131
- "Telegram"
132
- ],
133
- "licenseInformation": {
134
- "license": "MIT",
135
- "type": "free"
136
- },
137
- "platform": "Javascript/Node.js",
138
- "mode": "daemon",
139
- "type": "energy",
140
- "enabled": true,
141
- "compact": true,
142
- "connectionType": "local",
143
- "dataSource": "push",
144
- "adminUI": {
145
- "config": "json"
146
- },
147
- "extIcon": "https://raw.githubusercontent.com/sadam6752-tech/ioBroker.pv-notifications/main/admin/pv-notifications.png",
148
- "icon": "pv-notifications.png",
149
- "readme": "https://github.com/sadam6752-tech/ioBroker.pv-notifications/blob/main/README.md",
150
- "loglevel": "info",
151
- "tier": 3,
152
- "dependencies": [
153
- {
154
- "js-controller": ">=6.0.11"
155
- }
156
- ],
157
- "globalDependencies": [
158
- {
159
- "admin": ">=7.6.20"
160
- }
161
- ]
162
- },
163
- "native": {
164
- "telegramInstance": "telegram.0",
165
- "telegramUsers": "",
166
- "batterySOC": "",
167
- "powerProduction": "",
168
- "totalProduction": "",
169
- "feedIn": "",
170
- "consumption": "",
171
- "gridPower": "",
172
- "batteryCapacityWh": 21000,
173
- "thresholdFull": 100,
174
- "thresholdEmpty": 0,
175
- "thresholdResetFull": 95,
176
- "thresholdResetEmpty": 5,
177
- "nightModeEnabled": true,
178
- "nightModeStart": "23:00",
179
- "nightModeEnd": "06:00",
180
- "nightModeIgnoreEmpty": true,
181
- "quietModeEnabled": false,
182
- "quietModeStart": "12:00",
183
- "quietModeEnd": "15:00",
184
- "intermediateSteps": "20,40,60,80",
185
- "minIntervalFull": 10,
186
- "minIntervalEmpty": 5,
187
- "minIntervalIntermediate": 30,
188
- "statsDayTime": "22:00",
189
- "statsWeekDay": 0,
190
- "statsWeekTime": "10:00",
191
- "weatherTodayText": "",
192
- "weatherTodayTemp": "",
193
- "weatherTomorrowText": "",
194
- "weatherTomorrowTemp": "",
195
- "highProduction": 5000,
196
- "highConsumption": 3000,
197
- "monthlyStatsEnabled": false,
198
- "monthlyStatsDay": 1,
199
- "monthlyStatsTime": "09:00",
200
- "weeklyProduction": "",
201
- "weeklyConsumption": "",
202
- "weeklyFeedIn": "",
203
- "weeklyGridPower": "",
204
- "monthlyProduction": "",
205
- "monthlyConsumption": "",
206
- "monthlyFeedIn": "",
207
- "monthlyGridPower": "",
208
- "weatherEnabled": true,
209
- "weatherInIntermediate": true,
210
- "weatherInDailyStats": true
211
- },
212
- "objects": [
213
- {
214
- "_id": "info",
215
- "type": "channel",
216
- "common": {
217
- "name": "Information"
218
- }
219
- },
220
- {
221
- "_id": "info.connection",
222
- "type": "state",
223
- "common": {
224
- "name": "Adapter is connected to Telegram",
225
- "type": "boolean",
226
- "role": "indicator.connected",
227
- "read": true,
228
- "write": false,
229
- "def": false
230
- }
231
- }
232
- ],
233
- "instanceObjects": [
234
- {
235
- "_id": "testButton",
236
- "type": "state",
237
- "common": {
238
- "name": "Send test notification",
239
- "type": "boolean",
240
- "role": "button",
241
- "read": true,
242
- "write": true,
243
- "def": false
244
- }
245
- },
246
- {
247
- "_id": "statistics.fullCyclesToday",
248
- "type": "state",
249
- "common": {
250
- "name": "Full cycles today",
251
- "type": "number",
252
- "role": "value",
253
- "read": true,
254
- "write": false,
255
- "def": 0
256
- }
257
- },
258
- {
259
- "_id": "statistics.emptyCyclesToday",
260
- "type": "state",
261
- "common": {
262
- "name": "Empty cycles today",
263
- "type": "number",
264
- "role": "value",
265
- "read": true,
266
- "write": false,
267
- "def": 0
268
- }
269
- },
270
- {
271
- "_id": "statistics.maxSOCToday",
272
- "type": "state",
273
- "common": {
274
- "name": "Max SOC today",
275
- "type": "number",
276
- "role": "value",
277
- "read": true,
278
- "write": false,
279
- "def": 0
280
- }
281
- },
282
- {
283
- "_id": "statistics.minSOCToday",
284
- "type": "state",
285
- "common": {
286
- "name": "Min SOC today",
287
- "type": "number",
288
- "role": "value",
289
- "read": true,
290
- "write": false,
291
- "def": 100
292
- }
293
- },
294
- {
295
- "_id": "statistics.fullCyclesWeek",
296
- "type": "state",
297
- "common": {
298
- "name": "Full cycles this week",
299
- "type": "number",
300
- "role": "value",
301
- "read": true,
302
- "write": false,
303
- "def": 0
304
- }
305
- },
306
- {
307
- "_id": "statistics.emptyCyclesWeek",
308
- "type": "state",
309
- "common": {
310
- "name": "Empty cycles this week",
311
- "type": "number",
312
- "role": "value",
313
- "read": true,
314
- "write": false,
315
- "def": 0
316
- }
317
- },
318
- {
319
- "_id": "statistics.currentSOC",
320
- "type": "state",
321
- "common": {
322
- "name": "Current SOC",
323
- "type": "number",
324
- "role": "value",
325
- "read": true,
326
- "write": false,
327
- "def": 0
328
- }
329
- },
330
- {
331
- "_id": "statistics.currentEnergyKWh",
332
- "type": "state",
333
- "common": {
334
- "name": "Current energy in kWh",
335
- "type": "number",
336
- "role": "value",
337
- "read": true,
338
- "write": false,
339
- "def": 0
340
- }
341
- },
342
- {
343
- "_id": "statistics.lastMonthProduction",
344
- "type": "state",
345
- "common": {
346
- "name": "Production last month",
347
- "type": "number",
348
- "role": "value",
349
- "read": true,
350
- "write": false,
351
- "def": 0
352
- }
353
- },
354
- {
355
- "_id": "statistics.lastMonthConsumption",
356
- "type": "state",
357
- "common": {
358
- "name": "Consumption last month",
359
- "type": "number",
360
- "role": "value",
361
- "read": true,
362
- "write": false,
363
- "def": 0
364
- }
365
- },
366
- {
367
- "_id": "statistics.lastMonthFeedIn",
368
- "type": "state",
369
- "common": {
370
- "name": "Feed-in last month",
371
- "type": "number",
372
- "role": "value",
373
- "read": true,
374
- "write": false,
375
- "def": 0
376
- }
377
- },
378
- {
379
- "_id": "statistics.lastMonthGridPower",
380
- "type": "state",
381
- "common": {
382
- "name": "Grid power last month",
383
- "type": "number",
384
- "role": "value",
385
- "read": true,
386
- "write": false,
387
- "def": 0
388
- }
389
- },
390
- {
391
- "_id": "statistics.lastMonthFullCycles",
392
- "type": "state",
393
- "common": {
394
- "name": "Full cycles last month",
395
- "type": "number",
396
- "role": "value",
397
- "read": true,
398
- "write": false,
399
- "def": 0
400
- }
401
- },
402
- {
403
- "_id": "statistics.lastMonthEmptyCycles",
404
- "type": "state",
405
- "common": {
406
- "name": "Empty cycles last month",
407
- "type": "number",
408
- "role": "value",
409
- "read": true,
410
- "write": false,
411
- "def": 0
412
- }
413
- },
414
- {
415
- "_id": "statistics.lastWeekProduction",
416
- "type": "state",
417
- "common": {
418
- "name": "Production last week",
419
- "type": "number",
420
- "role": "value",
421
- "read": true,
422
- "write": false,
423
- "def": 0
424
- }
425
- },
426
- {
427
- "_id": "statistics.lastWeekConsumption",
428
- "type": "state",
429
- "common": {
430
- "name": "Consumption last week",
431
- "type": "number",
432
- "role": "value",
433
- "read": true,
434
- "write": false,
435
- "def": 0
436
- }
437
- },
438
- {
439
- "_id": "statistics.lastWeekFeedIn",
440
- "type": "state",
441
- "common": {
442
- "name": "Feed-in last week",
443
- "type": "number",
444
- "role": "value",
445
- "read": true,
446
- "write": false,
447
- "def": 0
448
- }
449
- },
450
- {
451
- "_id": "statistics.lastWeekGridPower",
452
- "type": "state",
453
- "common": {
454
- "name": "Grid power last week",
455
- "type": "number",
456
- "role": "value",
457
- "read": true,
458
- "write": false,
459
- "def": 0
460
- }
461
- },
462
- {
463
- "_id": "statistics.lastWeekFullCycles",
464
- "type": "state",
465
- "common": {
466
- "name": "Full cycles last week",
467
- "type": "number",
468
- "role": "value",
469
- "read": true,
470
- "write": false,
471
- "def": 0
472
- }
473
- },
474
- {
475
- "_id": "statistics.lastWeekEmptyCycles",
476
- "type": "state",
477
- "common": {
478
- "name": "Empty cycles last week",
479
- "type": "number",
480
- "role": "value",
481
- "read": true,
482
- "write": false,
483
- "def": 0
484
- }
485
- }
486
- ]
487
- }
1
+ {
2
+ "common": {
3
+ "name": "pv-notifications",
4
+ "version": "1.2.21",
5
+ "titleLang": {
6
+ "en": "PV Notifications",
7
+ "de": "PV-Benachrichtigungen",
8
+ "ru": "PV-Уведомления",
9
+ "pt": "Notificações PV",
10
+ "nl": "PV-meldingen",
11
+ "fr": "Notifications PV",
12
+ "it": "Notifiche PV",
13
+ "es": "Notificaciones PV",
14
+ "pl": "Powiadomienia PV",
15
+ "uk": "PV-Сповіщення",
16
+ "zh-cn": "PV 通知"
17
+ },
18
+ "desc": {
19
+ "en": "Send Telegram notifications for PV battery status",
20
+ "de": "Sende Telegram-Benachrichtigungen für PV-Batteriestatus",
21
+ "ru": "Отправка Telegram-уведомлений о состоянии батареи PV",
22
+ "pt": "Enviar notificações Telegram para status da bateria PV",
23
+ "nl": "Verstuur Telegram-meldingen voor PV-batterijstatus",
24
+ "fr": "Envoyer des notifications Telegram pour l'état de la batterie PV",
25
+ "it": "Invia notifiche Telegram per lo stato della batteria PV",
26
+ "es": "Enviar notificaciones de Telegram para el estado de la batería PV",
27
+ "pl": "Wysyłaj powiadomienia Telegram o stanie baterii PV",
28
+ "uk": "Надсилати Telegram-сповіщення про стан батареї PV",
29
+ "zh-cn": "发送 Telegram 通知用于 PV 电池状态"
30
+ },
31
+ "news": {
32
+ "1.2.21": {
33
+ "en": "Fix: use extendObject instead of setObjectNotExists for states with unit/role to update existing instances",
34
+ "de": "Fix: extendObject statt setObjectNotExists fuer States mit unit/role, um bestehende Instanzen zu aktualisieren",
35
+ "ru": "Fix: extendObject вместо setObjectNotExists для states с unit/role, чтобы обновить существующие инстанции",
36
+ "fr": "Fix: extendObject au lieu de setObjectNotExists pour les states avec unit/role afin de mettre a jour les instances existantes",
37
+ "it": "Fix: extendObject invece di setObjectNotExists per states con unit/role per aggiornare le istanze esistenti",
38
+ "es": "Fix: extendObject en lugar de setObjectNotExists para states con unit/role para actualizar instancias existentes",
39
+ "pl": "Fix: extendObject zamiast setObjectNotExists dla states z unit/role aby zaktualizowac istniejace instancje",
40
+ "pt": "Fix: extendObject em vez de setObjectNotExists para states com unit/role para atualizar instancias existentes",
41
+ "nl": "Fix: extendObject in plaats van setObjectNotExists voor states met unit/role om bestaande instanties bij te werken",
42
+ "zh-cn": "修复:对带有 unit/role 的 state 使用 extendObject 而非 setObjectNotExists,以更新现有实例"
43
+ },
44
+ "1.2.20": {
45
+ "en": "Fix PR#5576: remove unused admin files, reduce info logs to debug, English state names with units, channel objects for statistics/info, button read:false, this.setInterval, translate fallback to English",
46
+ "de": "Fix PR#5576: ungenutzte Admin-Dateien entfernt, Info-Logs auf Debug reduziert, englische State-Namen mit Einheiten, Channel-Objekte fuer statistics/info, button read:false, this.setInterval, translate Fallback auf Englisch",
47
+ "ru": "Fix PR#5576: удалены неиспользуемые файлы admin, info-логи снижены до debug, английские имена states с единицами, channel-объекты для statistics/info, button read:false, this.setInterval, fallback translate на английский",
48
+ "fr": "Fix PR#5576: suppression fichiers admin inutiles, logs info reduits en debug, noms etats anglais avec unites, objets channel pour statistics/info, button read:false, this.setInterval, fallback translate en anglais",
49
+ "it": "Fix PR#5576: rimossi file admin inutilizzati, log info ridotti a debug, nomi stati inglesi con unita, oggetti channel per statistics/info, button read:false, this.setInterval, fallback translate in inglese",
50
+ "es": "Fix PR#5576: eliminados archivos admin no usados, logs info reducidos a debug, nombres estados ingles con unidades, objetos channel para statistics/info, button read:false, this.setInterval, fallback translate a ingles",
51
+ "pl": "Fix PR#5576: usunieto nieuzywane pliki admin, logi info zredukowane do debug, angielskie nazwy stanow z jednostkami, obiekty channel dla statistics/info, button read:false, this.setInterval, fallback translate na angielski",
52
+ "pt": "Fix PR#5576: removidos ficheiros admin nao usados, logs info reduzidos a debug, nomes estados ingles com unidades, objetos channel para statistics/info, button read:false, this.setInterval, fallback translate para ingles",
53
+ "nl": "Fix PR#5576: ongebruikte admin-bestanden verwijderd, info-logs teruggebracht naar debug, Engelse state-namen met eenheden, channel-objecten voor statistics/info, button read:false, this.setInterval, translate fallback naar Engels",
54
+ "zh-cn": "修复 PR#5576:删除未使用的 admin 文件,将 info 日志降级为 debug,英文 state 名称带单位,statistics/info 的 channel 对象,button read:false,this.setInterval,translate 回退到英文"
55
+ },
56
+ "1.2.19": {
57
+ "en": "Added v1.2.18 entry to news section in io-package.json",
58
+ "de": "Eintrag v1.2.18 zur news-Sektion in io-package.json hinzugefügt",
59
+ "ru": "Добавлена запись v1.2.18 в секцию news в io-package.json",
60
+ "pt": "Adicionada entrada v1.2.18 à seção news em io-package.json",
61
+ "nl": "Vermelding v1.2.18 toegevoegd aan news-sectie in io-package.json",
62
+ "fr": "Ajout de l'entrée v1.2.18 à la section news dans io-package.json",
63
+ "it": "Aggiunta voce v1.2.18 alla sezione news in io-package.json",
64
+ "es": "Añadida entrada v1.2.18 a la sección news en io-package.json",
65
+ "pl": "Dodano wpis v1.2.18 do sekcji news w io-package.json",
66
+ "uk": "Додано запис v1.2.18 до секції news в io-package.json",
67
+ "zh-cn": "在 io-package.json 的 news 部分添加了 v1.2.18 条目"
68
+ },
69
+ "1.2.18": {
70
+ "en": "Fix missing await in onBatterySOCChange, null-check in buildTestMessage, safe intermediateSteps parsing, remove dead code",
71
+ "de": "Fehlenden await in onBatterySOCChange behoben, Null-Check in buildTestMessage, sichere intermediateSteps-Verarbeitung, toten Code entfernt",
72
+ "ru": "Исправлен отсутствующий await в onBatterySOCChange, null-проверка в buildTestMessage, безопасный парсинг intermediateSteps, удалён мёртвый код",
73
+ "pt": "Corrigido await ausente em onBatterySOCChange, verificação null em buildTestMessage, análise segura de intermediateSteps, código morto removido",
74
+ "nl": "Ontbrekende await in onBatterySOCChange hersteld, null-check in buildTestMessage, veilige intermediateSteps-verwerking, dode code verwijderd",
75
+ "fr": "Correction du await manquant dans onBatterySOCChange, vérification null dans buildTestMessage, analyse sécurisée des intermediateSteps, code mort supprimé",
76
+ "it": "Corretto await mancante in onBatterySOCChange, controllo null in buildTestMessage, parsing sicuro di intermediateSteps, codice morto rimosso",
77
+ "es": "Corregido await faltante en onBatterySOCChange, verificación null en buildTestMessage, análisis seguro de intermediateSteps, código muerto eliminado",
78
+ "pl": "Naprawiono brakujący await w onBatterySOCChange, sprawdzanie null w buildTestMessage, bezpieczne parsowanie intermediateSteps, usunięto martwy kod",
79
+ "uk": "Виправлено відсутній await в onBatterySOCChange, перевірка null в buildTestMessage, безпечний парсинг intermediateSteps, видалено мертвий код",
80
+ "zh-cn": "修复 onBatterySOCChange 中缺少的 await,buildTestMessage 中的 null 检查,安全的 intermediateSteps 解析,删除死代码"
81
+ },
82
+ "1.2.17": {
83
+ "en": "Removed old versions from common.news to comply with W1032 (maximum 7 versions)",
84
+ "de": "Alte Versionen aus common.news entfernt zur Einhaltung von W1032 (maximal 7 Versionen)",
85
+ "ru": "Удалены старые версии из common.news для соответствия W1032 (максимум 7 версий)",
86
+ "pt": "Versões antigas removidas de common.news para cumprir W1032 (máximo 7 versões)",
87
+ "nl": "Oude versies verwijderd uit common.news om te voldoen aan W1032 (maximaal 7 versies)",
88
+ "fr": "Anciennes versions supprimées de common.news pour respecter W1032 (maximum 7 versions)",
89
+ "it": "Rimosse vecchie versioni da common.news per rispettare W1032 (massimo 7 versioni)",
90
+ "es": "Versiones antiguas eliminadas de common.news para cumplir con W1032 (máximo 7 versiones)",
91
+ "pl": "Usunięto stare wersje z common.news zgodnie z W1032 (maksymalnie 7 wersji)",
92
+ "uk": "Видалено старі версії з common.news для відповідності W1032 (максимум 7 версій)",
93
+ "zh-cn": "已从 common.news 中删除旧版本以符合 W1032(最多 7 个版本)"
94
+ },
95
+ "1.2.16": {
96
+ "en": "Removed empty line in battery full message for improved formatting",
97
+ "de": "Leere Zeile in Batterie VOLL Nachricht für bessere Formatierung entfernt",
98
+ "ru": "Удалена пустая строка в сообщении о полной батарее для улучшения форматирования",
99
+ "pt": "Removida linha vazia na mensagem de bateria cheia para melhor formatação",
100
+ "nl": "Lege regel verwijderd in batterij vol-bericht voor verbeterde opmaak",
101
+ "fr": "Suppression de la ligne vide dans le message batterie pleine pour un meilleur formatage",
102
+ "it": "Rimossa riga vuota nel messaggio di batteria piena per un migliore formattazione",
103
+ "es": "Eliminada línea vacía en el mensaje de batería llena para mejorar el formato",
104
+ "pl": "Usunięto pusty wiersz w wiadomości o pełnej baterii dla lepszej formatowania",
105
+ "uk": "Видалено порожній рядок у повідомленні про повну батарею для покращення форматування",
106
+ "zh-cn": "已删除电池满消息中的空行以改善格式"
107
+ },
108
+ "1.2.15": {
109
+ "en": "Added separator lines to battery full/empty and intermediate messages for improved readability",
110
+ "de": "Trennlinien zu Batterie VOLL/LEER und Intermediate-Nachrichten für bessere Lesbarkeit hinzugefügt",
111
+ "ru": "Добавлены разделительные линии к сообщениям о полной/пустой батарее и промежуточным сообщениям для улучшения читаемости",
112
+ "pt": "Adicionadas linhas separadoras às mensagens de bateria cheia/vazia e intermediárias para melhor legibilidade",
113
+ "nl": "Scheidinglijnen toegevoegd aan batterij vol/leeg en intermediate-berichten voor verbeterde leesbaarheid",
114
+ "fr": "Ajout de lignes séparatrices aux messages batterie pleine/vide et intermédiaires pour une meilleure lisibilité",
115
+ "it": "Aggiunte linee separatrici ai messaggi di batteria piena/vuota e intermedi per una migliore leggibilità",
116
+ "es": "Agregadas líneas separadoras a los mensajes de batería llena/vacía e intermedios para mejorar la legibilidad",
117
+ "pl": "Dodano linie oddzielające do wiadomości o pełnej/pustej baterii i pośrednich dla lepszej czytelności",
118
+ "uk": "Додано розділювальні лінії до повідомлень про повну/порожню батарею та проміжних для покращення читабельності",
119
+ "zh-cn": "已添加分隔线到电池满/空和中间消息以提高可读性"
120
+ }
121
+ },
122
+ "authors": [
123
+ "Alex <alex@example.com>"
124
+ ],
125
+ "keywords": [
126
+ "PV",
127
+ "Solar",
128
+ "Batterie",
129
+ "Telegram"
130
+ ],
131
+ "licenseInformation": {
132
+ "license": "MIT",
133
+ "type": "free"
134
+ },
135
+ "platform": "Javascript/Node.js",
136
+ "mode": "daemon",
137
+ "type": "energy",
138
+ "enabled": true,
139
+ "compact": true,
140
+ "connectionType": "local",
141
+ "dataSource": "push",
142
+ "adminUI": {
143
+ "config": "json"
144
+ },
145
+ "extIcon": "https://raw.githubusercontent.com/sadam6752-tech/ioBroker.pv-notifications/main/admin/pv-notifications.png",
146
+ "icon": "pv-notifications.png",
147
+ "readme": "https://github.com/sadam6752-tech/ioBroker.pv-notifications/blob/main/README.md",
148
+ "loglevel": "info",
149
+ "tier": 3,
150
+ "dependencies": [
151
+ {
152
+ "js-controller": ">=6.0.11"
153
+ }
154
+ ],
155
+ "globalDependencies": [
156
+ {
157
+ "admin": ">=7.6.20"
158
+ }
159
+ ]
160
+ },
161
+ "native": {
162
+ "telegramInstance": "telegram.0",
163
+ "telegramUsers": "",
164
+ "batterySOC": "",
165
+ "powerProduction": "",
166
+ "totalProduction": "",
167
+ "feedIn": "",
168
+ "consumption": "",
169
+ "gridPower": "",
170
+ "batteryCapacityWh": 21000,
171
+ "thresholdFull": 100,
172
+ "thresholdEmpty": 0,
173
+ "thresholdResetFull": 95,
174
+ "thresholdResetEmpty": 5,
175
+ "nightModeEnabled": true,
176
+ "nightModeStart": "23:00",
177
+ "nightModeEnd": "06:00",
178
+ "nightModeIgnoreEmpty": true,
179
+ "quietModeEnabled": false,
180
+ "quietModeStart": "12:00",
181
+ "quietModeEnd": "15:00",
182
+ "intermediateSteps": "20,40,60,80",
183
+ "minIntervalFull": 10,
184
+ "minIntervalEmpty": 5,
185
+ "minIntervalIntermediate": 30,
186
+ "statsDayTime": "22:00",
187
+ "statsWeekDay": 0,
188
+ "statsWeekTime": "10:00",
189
+ "weatherTodayText": "",
190
+ "weatherTodayTemp": "",
191
+ "weatherTomorrowText": "",
192
+ "weatherTomorrowTemp": "",
193
+ "highProduction": 5000,
194
+ "highConsumption": 3000,
195
+ "monthlyStatsEnabled": false,
196
+ "monthlyStatsDay": 1,
197
+ "monthlyStatsTime": "09:00",
198
+ "weeklyProduction": "",
199
+ "weeklyConsumption": "",
200
+ "weeklyFeedIn": "",
201
+ "weeklyGridPower": "",
202
+ "monthlyProduction": "",
203
+ "monthlyConsumption": "",
204
+ "monthlyFeedIn": "",
205
+ "monthlyGridPower": "",
206
+ "weatherEnabled": true,
207
+ "weatherInIntermediate": true,
208
+ "weatherInDailyStats": true
209
+ },
210
+ "objects": [
211
+ {
212
+ "_id": "info",
213
+ "type": "channel",
214
+ "common": {
215
+ "name": "Information"
216
+ }
217
+ },
218
+ {
219
+ "_id": "info.connection",
220
+ "type": "state",
221
+ "common": {
222
+ "name": "Adapter is connected to Telegram",
223
+ "type": "boolean",
224
+ "role": "indicator.connected",
225
+ "read": true,
226
+ "write": false,
227
+ "def": false
228
+ }
229
+ }
230
+ ],
231
+ "instanceObjects": [
232
+ {
233
+ "_id": "testButton",
234
+ "type": "state",
235
+ "common": {
236
+ "name": "Send test notification",
237
+ "type": "boolean",
238
+ "role": "button",
239
+ "read": false,
240
+ "write": true,
241
+ "def": false
242
+ }
243
+ },
244
+ {
245
+ "_id": "statistics.fullCyclesToday",
246
+ "type": "state",
247
+ "common": {
248
+ "name": "Full cycles today",
249
+ "type": "number",
250
+ "role": "value",
251
+ "read": true,
252
+ "write": false,
253
+ "def": 0
254
+ }
255
+ },
256
+ {
257
+ "_id": "statistics.emptyCyclesToday",
258
+ "type": "state",
259
+ "common": {
260
+ "name": "Empty cycles today",
261
+ "type": "number",
262
+ "role": "value",
263
+ "read": true,
264
+ "write": false,
265
+ "def": 0
266
+ }
267
+ },
268
+ {
269
+ "_id": "statistics.maxSOCToday",
270
+ "type": "state",
271
+ "common": {
272
+ "name": "Max SOC today",
273
+ "type": "number",
274
+ "role": "value.battery",
275
+ "read": true,
276
+ "write": false,
277
+ "def": 0,
278
+ "unit": "%"
279
+ }
280
+ },
281
+ {
282
+ "_id": "statistics.minSOCToday",
283
+ "type": "state",
284
+ "common": {
285
+ "name": "Min SOC today",
286
+ "type": "number",
287
+ "role": "value.battery",
288
+ "read": true,
289
+ "write": false,
290
+ "def": 100,
291
+ "unit": "%"
292
+ }
293
+ },
294
+ {
295
+ "_id": "statistics.fullCyclesWeek",
296
+ "type": "state",
297
+ "common": {
298
+ "name": "Full cycles this week",
299
+ "type": "number",
300
+ "role": "value",
301
+ "read": true,
302
+ "write": false,
303
+ "def": 0
304
+ }
305
+ },
306
+ {
307
+ "_id": "statistics.emptyCyclesWeek",
308
+ "type": "state",
309
+ "common": {
310
+ "name": "Empty cycles this week",
311
+ "type": "number",
312
+ "role": "value",
313
+ "read": true,
314
+ "write": false,
315
+ "def": 0
316
+ }
317
+ },
318
+ {
319
+ "_id": "statistics.currentSOC",
320
+ "type": "state",
321
+ "common": {
322
+ "name": "Current SOC",
323
+ "type": "number",
324
+ "role": "value.battery",
325
+ "read": true,
326
+ "write": false,
327
+ "def": 0,
328
+ "unit": "%"
329
+ }
330
+ },
331
+ {
332
+ "_id": "statistics.currentEnergyKWh",
333
+ "type": "state",
334
+ "common": {
335
+ "name": "Current energy in kWh",
336
+ "type": "number",
337
+ "role": "value.energy",
338
+ "read": true,
339
+ "write": false,
340
+ "def": 0,
341
+ "unit": "kWh"
342
+ }
343
+ },
344
+ {
345
+ "_id": "statistics.lastMonthProduction",
346
+ "type": "state",
347
+ "common": {
348
+ "name": "Production last month",
349
+ "type": "number",
350
+ "role": "value.energy",
351
+ "read": true,
352
+ "write": false,
353
+ "def": 0,
354
+ "unit": "kWh"
355
+ }
356
+ },
357
+ {
358
+ "_id": "statistics.lastMonthConsumption",
359
+ "type": "state",
360
+ "common": {
361
+ "name": "Consumption last month",
362
+ "type": "number",
363
+ "role": "value.energy",
364
+ "read": true,
365
+ "write": false,
366
+ "def": 0,
367
+ "unit": "kWh"
368
+ }
369
+ },
370
+ {
371
+ "_id": "statistics.lastMonthFeedIn",
372
+ "type": "state",
373
+ "common": {
374
+ "name": "Feed-in last month",
375
+ "type": "number",
376
+ "role": "value.energy",
377
+ "read": true,
378
+ "write": false,
379
+ "def": 0,
380
+ "unit": "kWh"
381
+ }
382
+ },
383
+ {
384
+ "_id": "statistics.lastMonthGridPower",
385
+ "type": "state",
386
+ "common": {
387
+ "name": "Grid power last month",
388
+ "type": "number",
389
+ "role": "value.energy",
390
+ "read": true,
391
+ "write": false,
392
+ "def": 0,
393
+ "unit": "kWh"
394
+ }
395
+ },
396
+ {
397
+ "_id": "statistics.lastMonthFullCycles",
398
+ "type": "state",
399
+ "common": {
400
+ "name": "Full cycles last month",
401
+ "type": "number",
402
+ "role": "value",
403
+ "read": true,
404
+ "write": false,
405
+ "def": 0
406
+ }
407
+ },
408
+ {
409
+ "_id": "statistics.lastMonthEmptyCycles",
410
+ "type": "state",
411
+ "common": {
412
+ "name": "Empty cycles last month",
413
+ "type": "number",
414
+ "role": "value",
415
+ "read": true,
416
+ "write": false,
417
+ "def": 0
418
+ }
419
+ },
420
+ {
421
+ "_id": "statistics.lastWeekProduction",
422
+ "type": "state",
423
+ "common": {
424
+ "name": "Production last week",
425
+ "type": "number",
426
+ "role": "value.energy",
427
+ "read": true,
428
+ "write": false,
429
+ "def": 0,
430
+ "unit": "kWh"
431
+ }
432
+ },
433
+ {
434
+ "_id": "statistics.lastWeekConsumption",
435
+ "type": "state",
436
+ "common": {
437
+ "name": "Consumption last week",
438
+ "type": "number",
439
+ "role": "value.energy",
440
+ "read": true,
441
+ "write": false,
442
+ "def": 0,
443
+ "unit": "kWh"
444
+ }
445
+ },
446
+ {
447
+ "_id": "statistics.lastWeekFeedIn",
448
+ "type": "state",
449
+ "common": {
450
+ "name": "Feed-in last week",
451
+ "type": "number",
452
+ "role": "value.energy",
453
+ "read": true,
454
+ "write": false,
455
+ "def": 0,
456
+ "unit": "kWh"
457
+ }
458
+ },
459
+ {
460
+ "_id": "statistics.lastWeekGridPower",
461
+ "type": "state",
462
+ "common": {
463
+ "name": "Grid power last week",
464
+ "type": "number",
465
+ "role": "value.energy",
466
+ "read": true,
467
+ "write": false,
468
+ "def": 0,
469
+ "unit": "kWh"
470
+ }
471
+ },
472
+ {
473
+ "_id": "statistics.lastWeekFullCycles",
474
+ "type": "state",
475
+ "common": {
476
+ "name": "Full cycles last week",
477
+ "type": "number",
478
+ "role": "value",
479
+ "read": true,
480
+ "write": false,
481
+ "def": 0
482
+ }
483
+ },
484
+ {
485
+ "_id": "statistics.lastWeekEmptyCycles",
486
+ "type": "state",
487
+ "common": {
488
+ "name": "Empty cycles last week",
489
+ "type": "number",
490
+ "role": "value",
491
+ "read": true,
492
+ "write": false,
493
+ "def": 0
494
+ }
495
+ }
496
+ ]
497
+ }