iobroker.pv-notifications 1.2.14 → 1.2.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/io-package.json +27 -14
- package/main.js +12 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -344,6 +344,12 @@ sadam6752@gmail.com
|
|
|
344
344
|
### **WORK IN PROGRESS**
|
|
345
345
|
-->
|
|
346
346
|
|
|
347
|
+
### 1.2.16 (2026-03-14)
|
|
348
|
+
* (FIX) Removed empty line in battery full message for improved formatting
|
|
349
|
+
|
|
350
|
+
### 1.2.15 (2026-03-08)
|
|
351
|
+
* (ADD) Added separator lines to battery full/empty and intermediate messages for improved readability
|
|
352
|
+
|
|
347
353
|
### 1.2.14 (2026-03-06)
|
|
348
354
|
* (FIX) Fixed intermediate message formatting: Removed extra line break before weather data (weather today appears directly below separator)
|
|
349
355
|
|
package/io-package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "pv-notifications",
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.16",
|
|
5
5
|
"titleLang": {
|
|
6
6
|
"en": "PV Notifications",
|
|
7
7
|
"de": "PV-Benachrichtigungen",
|
|
@@ -29,6 +29,32 @@
|
|
|
29
29
|
"zh-cn": "发送 Telegram 通知用于 PV 电池状态"
|
|
30
30
|
},
|
|
31
31
|
"news": {
|
|
32
|
+
"1.2.16": {
|
|
33
|
+
"en": "Removed empty line in battery full message for improved formatting",
|
|
34
|
+
"de": "Leere Zeile in Batterie VOLL Nachricht für bessere Formatierung entfernt",
|
|
35
|
+
"ru": "Удалена пустая строка в сообщении о полной батарее для улучшения форматирования",
|
|
36
|
+
"pt": "Removida linha vazia na mensagem de bateria cheia para melhor formatação",
|
|
37
|
+
"nl": "Lege regel verwijderd in batterij vol-bericht voor verbeterde opmaak",
|
|
38
|
+
"fr": "Suppression de la ligne vide dans le message batterie pleine pour un meilleur formatage",
|
|
39
|
+
"it": "Rimossa riga vuota nel messaggio di batteria piena per un migliore formattazione",
|
|
40
|
+
"es": "Eliminada línea vacía en el mensaje de batería llena para mejorar el formato",
|
|
41
|
+
"pl": "Usunięto pusty wiersz w wiadomości o pełnej baterii dla lepszej formatowania",
|
|
42
|
+
"uk": "Видалено порожній рядок у повідомленні про повну батарею для покращення форматування",
|
|
43
|
+
"zh-cn": "已删除电池满消息中的空行以改善格式"
|
|
44
|
+
},
|
|
45
|
+
"1.2.15": {
|
|
46
|
+
"en": "Added separator lines to battery full/empty and intermediate messages for improved readability",
|
|
47
|
+
"de": "Trennlinien zu Batterie VOLL/LEER und Intermediate-Nachrichten für bessere Lesbarkeit hinzugefügt",
|
|
48
|
+
"ru": "Добавлены разделительные линии к сообщениям о полной/пустой батарее и промежуточным сообщениям для улучшения читаемости",
|
|
49
|
+
"pt": "Adicionadas linhas separadoras às mensagens de bateria cheia/vazia e intermediárias para melhor legibilidade",
|
|
50
|
+
"nl": "Scheidinglijnen toegevoegd aan batterij vol/leeg en intermediate-berichten voor verbeterde leesbaarheid",
|
|
51
|
+
"fr": "Ajout de lignes séparatrices aux messages batterie pleine/vide et intermédiaires pour une meilleure lisibilité",
|
|
52
|
+
"it": "Aggiunte linee separatrici ai messaggi di batteria piena/vuota e intermedi per una migliore leggibilità",
|
|
53
|
+
"es": "Agregadas líneas separadoras a los mensajes de batería llena/vacía e intermedios para mejorar la legibilidad",
|
|
54
|
+
"pl": "Dodano linie oddzielające do wiadomości o pełnej/pustej baterii i pośrednich dla lepszej czytelności",
|
|
55
|
+
"uk": "Додано розділювальні лінії до повідомлень про повну/порожню батарею та проміжних для покращення читабельності",
|
|
56
|
+
"zh-cn": "已添加分隔线到电池满/空和中间消息以提高可读性"
|
|
57
|
+
},
|
|
32
58
|
"1.2.14": {
|
|
33
59
|
"en": "Fixed intermediate message formatting: Removed extra line break before weather data",
|
|
34
60
|
"de": "Intermediate-Nachricht formatiert: Zusätzlichen Zeilenumbruch vor Wetterdaten entfernt",
|
|
@@ -106,19 +132,6 @@
|
|
|
106
132
|
"pl": "Naprawiono problemy z formatowaniem ESLint (75 błędów prettier/prettier automatycznie naprawionych za pomocą lint:fix)",
|
|
107
133
|
"uk": "Виправлено проблеми з форматуванням ESLint (75 помилок prettier/prettier автоматично виправлено за допомогою lint:fix)",
|
|
108
134
|
"zh-cn": "已修复 ESLint 格式化问题(75 个 prettier/prettier 错误已通过 lint:fix 自动修复)"
|
|
109
|
-
},
|
|
110
|
-
"1.2.8": {
|
|
111
|
-
"en": "Fixed duplicate news entry in io-package.json (E1036/E2005 fix)",
|
|
112
|
-
"de": "Doppelten news-Eintrag in io-package.json behoben (E1036/E2005 Fix)",
|
|
113
|
-
"ru": "Исправлена дублирующаяся запись news в io-package.json (исправление E1036/E2005)",
|
|
114
|
-
"pt": "Corrigida entrada duplicada de notícias no io-package.json (correção E1036/E2005)",
|
|
115
|
-
"nl": "Dubbele nieuwsvermelding in io-package.json hersteld (E1036/E2005 fix)",
|
|
116
|
-
"fr": "Correction d'une entrée de nouvelles en double dans io-package.json (correction E1036/E2005)",
|
|
117
|
-
"it": "Corretta voce duplicata delle notizie in io-package.json (correzione E1036/E2005)",
|
|
118
|
-
"es": "Entrada de noticias duplicada corregida en io-package.json (corrección E1036/E2005)",
|
|
119
|
-
"pl": "Naprawiono podwójny wpis wiadomości w io-package.json (poprawka E1036/E2005)",
|
|
120
|
-
"uk": "Виправлено подвійний запис новин у io-package.json (виправлення E1036/E2005)",
|
|
121
|
-
"zh-cn": "已修复 io-package.json 中的重复新闻条目(E1036/E2005 修复)"
|
|
122
135
|
}
|
|
123
136
|
},
|
|
124
137
|
"authors": [
|
package/main.js
CHANGED
|
@@ -888,12 +888,13 @@ class PvNotifications extends utils.Adapter {
|
|
|
888
888
|
const feedIn = feedInState && feedInState.val !== null ? feedInState.val : 0;
|
|
889
889
|
const consumption = consumptionState && consumptionState.val !== null ? consumptionState.val : 0;
|
|
890
890
|
|
|
891
|
-
|
|
891
|
+
const separator = '\n━━━━━━━━━━━━━━━━━━━━━━';
|
|
892
892
|
|
|
893
|
+
let message = `🔋 *${this.translate('Battery full')}* (${soc}%)${separator}
|
|
893
894
|
⚡ ${this.translate('Current production')}: ${this.round(power)} W
|
|
894
895
|
🏠 ${this.translate('Current consumption')}: ${this.round(consumption)} W
|
|
895
896
|
☀️ ${this.translate('Production today')}: ${this.round(totalProd)} kWh
|
|
896
|
-
🔌 ${this.translate('Feed-in today')}: ${this.round(Math.abs(feedIn), 0)} kWh`;
|
|
897
|
+
🔌 ${this.translate('Feed-in today')}: ${this.round(Math.abs(feedIn), 0)} kWh${separator}`;
|
|
897
898
|
|
|
898
899
|
// Wetter-Prognose hinzufügen (heute und morgen)
|
|
899
900
|
const weatherConfigured =
|
|
@@ -963,7 +964,7 @@ class PvNotifications extends utils.Adapter {
|
|
|
963
964
|
|
|
964
965
|
// Empfehlungen bei hoher Produktion
|
|
965
966
|
if (power > this.config.highProduction) {
|
|
966
|
-
message +=
|
|
967
|
+
message += `${separator}\n🚗 ${this.translate('Now ideal for electric car washing machine dishwasher')}`;
|
|
967
968
|
}
|
|
968
969
|
|
|
969
970
|
return message;
|
|
@@ -982,10 +983,12 @@ class PvNotifications extends utils.Adapter {
|
|
|
982
983
|
const gridPower = gridPowerState && gridPowerState.val !== null ? gridPowerState.val : 0;
|
|
983
984
|
const consumption = consumptionState && consumptionState.val !== null ? consumptionState.val : 0;
|
|
984
985
|
|
|
985
|
-
|
|
986
|
+
const separator = '\n━━━━━━━━━━━━━━━━━━━━━━';
|
|
987
|
+
|
|
988
|
+
let message = `🔋 *${this.translate('Battery empty')}* (${soc}%)${separator}
|
|
986
989
|
|
|
987
990
|
⚠️ ${this.translate('Grid consumption today')}: ${this.round(gridPower)} W
|
|
988
|
-
🏠 ${this.translate('Consumption today')}: ${this.round(consumption)} W`;
|
|
991
|
+
🏠 ${this.translate('Consumption today')}: ${this.round(consumption)} W${separator}`;
|
|
989
992
|
|
|
990
993
|
// Wetter-Prognose hinzufügen (heute und morgen)
|
|
991
994
|
const weatherConfigured =
|
|
@@ -1055,7 +1058,7 @@ class PvNotifications extends utils.Adapter {
|
|
|
1055
1058
|
|
|
1056
1059
|
// Spartipps
|
|
1057
1060
|
if (consumption > this.config.highConsumption) {
|
|
1058
|
-
message +=
|
|
1061
|
+
message += `${separator}\n💰 ${this.translate('High consumption Turn off unnecessary devices')}`;
|
|
1059
1062
|
}
|
|
1060
1063
|
|
|
1061
1064
|
return message;
|
|
@@ -1197,6 +1200,8 @@ ${statusText}
|
|
|
1197
1200
|
}
|
|
1198
1201
|
}
|
|
1199
1202
|
|
|
1203
|
+
message += '\n━━━━━━━━━━━━━━━━━━━━━━';
|
|
1204
|
+
|
|
1200
1205
|
return message;
|
|
1201
1206
|
}
|
|
1202
1207
|
|
|
@@ -1373,7 +1378,7 @@ ${statusText}
|
|
|
1373
1378
|
━━━━━━━━━━━━━━━━━━━━━━
|
|
1374
1379
|
🔋 ${this.translate('Full cycles last month')}: ${this.stats.lastMonthFullCycles}
|
|
1375
1380
|
📉 ${this.translate('Empty cycles last month')}: ${this.stats.lastMonthEmptyCycles}
|
|
1376
|
-
|
|
1381
|
+
���━━━━━━━━━━━━━━━━━━━━━
|
|
1377
1382
|
☀️ ${this.translate('Production')}: ${totalProd} kWh
|
|
1378
1383
|
🏠 ${this.translate('Own consumption')}: ${selfConsumption} kWh (${selfConsumptionRate}%)
|
|
1379
1384
|
🔌 ${this.translate('Feed-in')}: ${feedIn} kWh
|