iobroker.pv-notifications 1.2.27 → 1.2.29

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 CHANGED
@@ -314,6 +314,14 @@ sadam6752@gmail.com
314
314
  ### **WORK IN PROGRESS**
315
315
  -->
316
316
 
317
+ ### 1.2.29
318
+ * (FIX) Corrupted UTF-8 separator lines in the monthly stats message (showed as question marks in Telegram)
319
+ * (FIX) Corrupted Russian translations for "Current charge level" and "Own consumption"
320
+ * (FIX) Weather today in daily stats now shows the temperature as "(currently: X°C)" instead of implying a daily value
321
+
322
+ ### 1.2.28
323
+ * (FIX) Migrate i18n to short format ({lang}.json); trim news to 7 entries
324
+
317
325
  ### 1.2.27
318
326
  * (FIX) CI: update package-lock.json to include all eslint peer dependencies
319
327
 
package/io-package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "pv-notifications",
4
- "version": "1.2.27",
4
+ "version": "1.2.29",
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.29": {
33
+ "en": "Fix corrupted UTF-8 separator lines in the monthly stats message (showed as question marks in Telegram). Fix corrupted Russian translations for 'Current charge level' and 'Own consumption'. Weather today in daily stats now shows the temperature reading as '(currently: X°C)' instead of implying a daily value.",
34
+ "de": "Beschädigte UTF-8-Trennzeilen in der Monatsstatistik-Nachricht behoben (erschienen als Fragezeichen in Telegram). Beschädigte russische Übersetzungen für 'Aktueller Ladestand' und 'Eigenverbrauch' behoben. Wetter heute in der Tagesstatistik zeigt den Temperaturwert jetzt als '(aktuell: X°C)' statt einen Tageswert zu suggerieren.",
35
+ "ru": "Исправлены повреждённые UTF-8 разделители в сообщении месячной статистики (отображались как знаки вопроса в Telegram). Исправлены повреждённые русские переводы 'Текущий уровень заряда' и 'Собственное потребление'. Погода сегодня в дневной статистике теперь показывает температуру как '(сейчас: X°C)' вместо намёка на дневное значение.",
36
+ "fr": "Correction des lignes de séparation UTF-8 corrompues dans le message de statistiques mensuelles (affichées comme des points d'interrogation dans Telegram). Correction des traductions russes corrompues.",
37
+ "it": "Corrette le righe separatore UTF-8 danneggiate nel messaggio delle statistiche mensili (apparivano come punti interrogativi in Telegram). Corrette le traduzioni russe danneggiate.",
38
+ "es": "Corregidas las líneas separadoras UTF-8 dañadas en el mensaje de estadísticas mensuales (aparecían como signos de interrogación en Telegram). Corregidas las traducciones rusas dañadas.",
39
+ "pl": "Naprawiono uszkodzone linie separatora UTF-8 w wiadomości statystyk miesięcznych (wyświetlane jako znaki zapytania w Telegramie). Naprawiono uszkodzone tłumaczenia rosyjskie.",
40
+ "pt": "Corrigidas as linhas separadoras UTF-8 corrompidas na mensagem de estatísticas mensais (apareciam como pontos de interrogação no Telegram). Corrigidas as traduções russas corrompidas.",
41
+ "nl": "Beschadigde UTF-8-scheidingsregels in het maandstatistiekbericht gecorrigeerd (werden weergegeven als vraagtekens in Telegram). Beschadigde Russische vertalingen gecorrigeerd.",
42
+ "uk": "Виправлено пошкоджені UTF-8 роздільники в повідомленні місячної статистики (відображалися як знаки питання в Telegram). Виправлено пошкоджені російські переклади.",
43
+ "zh-cn": "修复了月度统计消息中损坏的UTF-8分隔线(在Telegram中显示为问号)。修复了损坏的俄语翻译。"
44
+ },
45
+ "1.2.28": {
46
+ "en": "Migrate i18n to short format ({lang}.json); trim news to 7 entries",
47
+ "de": "i18n auf Kurzformat ({lang}.json) migriert; News auf 7 Einträge gekürzt",
48
+ "ru": "Миграция i18n на короткий формат ({lang}.json); news сокращены до 7 записей",
49
+ "fr": "Migration i18n vers format court ({lang}.json); news réduit à 7 entrées",
50
+ "it": "Migrazione i18n a formato breve ({lang}.json); news ridotte a 7 voci",
51
+ "es": "Migración i18n a formato corto ({lang}.json); news reducidas a 7 entradas",
52
+ "pl": "Migracja i18n do krótkiego formatu ({lang}.json); news skrócone do 7 wpisów",
53
+ "pt": "Migração i18n para formato curto ({lang}.json); news reduzidas a 7 entradas",
54
+ "nl": "i18n gemigreerd naar kort formaat ({lang}.json); news ingekort tot 7 items",
55
+ "uk": "Міграція i18n на короткий формат ({lang}.json); news скорочено до 7 записів",
56
+ "zh-cn": "将i18n迁移到短格式({lang}.json);news缩减至7条"
57
+ },
32
58
  "1.2.27": {
33
59
  "en": "Fix CI: update package-lock.json to include all eslint peer dependencies",
34
60
  "de": "CI behoben: package-lock.json aktualisiert um alle eslint Peer-Dependencies einzuschließen",
@@ -93,45 +119,6 @@
93
119
  "nl": "Lay-out statistieksectie gecorrigeerd: tijd, zonsondergang-checkbox en object op een rij",
94
120
  "zh-cn": "修复统计部分布局:将时间、日落复选框和对象放在同一行",
95
121
  "uk": "Виправлено макет секції статистики: час, чекбокс заходу сонця та обєкт в одному рядку"
96
- },
97
- "1.2.22": {
98
- "en": "Add sunset-based daily statistics: optional checkbox to send daily stats at sunset time from a configurable object instead of fixed time",
99
- "de": "Sonnenuntergang-basierte Tagesstatistik: optionale Checkbox um Tagesstatistik zur Sonnenuntergangszeit aus einem konfigurierbaren Objekt zu senden statt zur festen Uhrzeit",
100
- "ru": "Отправка дневной статистики по закату: опциональный чекбокс для отправки статистики в момент заката из настраиваемого объекта вместо фиксированного времени",
101
- "fr": "Statistiques quotidiennes au coucher du soleil: case optionnelle pour envoyer les stats au coucher du soleil depuis un objet configurable au lieu d une heure fixe",
102
- "it": "Statistiche giornaliere al tramonto: checkbox opzionale per inviare le statistiche all ora del tramonto da un oggetto configurabile invece di un orario fisso",
103
- "es": "Estadisticas diarias al atardecer: casilla opcional para enviar estadisticas a la hora del atardecer desde un objeto configurable en lugar de hora fija",
104
- "pl": "Statystyki dzienne o zachodzie slonca: opcjonalne pole wyboru do wysylania statystyk o zachodzie slonca z konfigurowalnego obiektu zamiast stalej godziny",
105
- "pt": "Estatisticas diarias ao por do sol: caixa opcional para enviar estatisticas na hora do por do sol de um objeto configuravel em vez de hora fixa",
106
- "nl": "Dagelijkse statistieken bij zonsondergang: optioneel selectievakje om dagelijkse statistieken te sturen op zonsondergangtijd van een configureerbaar object in plaats van vaste tijd",
107
- "zh-cn": "日落时发送每日统计:可选复选框,在可配置对象的日落时间发送每日统计,而非固定时间",
108
- "uk": "Додано відправку денної статистики за заходом сонця: опціональний чекбокс для відправки статистики в момент заходу сонця з обєкта що налаштовується замість фіксованого часу"
109
- },
110
- "1.2.21": {
111
- "en": "Fix: use extendObject instead of setObjectNotExists for states with unit/role to update existing instances",
112
- "de": "Fix: extendObject statt setObjectNotExists fuer States mit unit/role, um bestehende Instanzen zu aktualisieren",
113
- "ru": "Fix: extendObject вместо setObjectNotExists для states с unit/role, чтобы обновить существующие инстанции",
114
- "fr": "Fix: extendObject au lieu de setObjectNotExists pour les states avec unit/role afin de mettre a jour les instances existantes",
115
- "it": "Fix: extendObject invece di setObjectNotExists per states con unit/role per aggiornare le istanze esistenti",
116
- "es": "Fix: extendObject en lugar de setObjectNotExists para states con unit/role para actualizar instancias existentes",
117
- "pl": "Fix: extendObject zamiast setObjectNotExists dla states z unit/role aby zaktualizowac istniejace instancje",
118
- "pt": "Fix: extendObject em vez de setObjectNotExists para states com unit/role para atualizar instancias existentes",
119
- "nl": "Fix: extendObject in plaats van setObjectNotExists voor states met unit/role om bestaande instanties bij te werken",
120
- "zh-cn": "修复:对带有 unit/role 的 state 使用 extendObject 而非 setObjectNotExists,以更新现有实例",
121
- "uk": "Виправлено: extendObject замість setObjectNotExists для states з unit/role для оновлення існуючих екземплярів"
122
- },
123
- "1.2.20": {
124
- "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",
125
- "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",
126
- "ru": "Fix PR#5576: удалены неиспользуемые файлы admin, info-логи снижены до debug, английские имена states с единицами, channel-объекты для statistics/info, button read:false, this.setInterval, fallback translate на английский",
127
- "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",
128
- "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",
129
- "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",
130
- "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",
131
- "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",
132
- "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",
133
- "zh-cn": "修复 PR#5576:删除未使用的 admin 文件,将 info 日志降级为 debug,英文 state 名称带单位,statistics/info 的 channel 对象,button read:false,this.setInterval,translate 回退到英文",
134
- "uk": "Fix PR#5576: видалено невикористані файли admin, info-логи знижено до debug, англійські імена states з одиницями, channel-обєкти для statistics/info, button read:false, this.setInterval, fallback translate на англійську"
135
122
  }
136
123
  },
137
124
  "authors": [
package/main.js CHANGED
@@ -1344,11 +1344,13 @@ ${statusText}
1344
1344
  weatherTodayTextState && weatherTodayTextState.val !== null ? weatherTodayTextState.val : null;
1345
1345
  const weatherTodayTemp =
1346
1346
  weatherTodayTempState && weatherTodayTempState.val !== null ? weatherTodayTempState.val : null;
1347
- const todayTempText = weatherTodayTemp ? ` ${this.round(weatherTodayTemp, 1)}°C` : '';
1348
1347
 
1349
1348
  if (weatherTodayText || weatherTodayTemp) {
1350
1349
  const weatherDesc = weatherTodayText ? this.getWeatherDescription(weatherTodayText) : '🌡️';
1351
- message += `\n━━━━━━━━━━━━━━━━━━━━━━\n🌤️ *${this.translate('Weather today')}:* ${weatherDesc}${todayTempText}`;
1350
+ const todayTempSuffix = weatherTodayTemp
1351
+ ? ` (${this.translate('Currently')}: ${this.round(weatherTodayTemp, 1)}°C)`
1352
+ : '';
1353
+ message += `\n━━━━━━━━━━━━━━━━━━━━━━\n🌤️ *${this.translate('Weather today')}:* ${weatherDesc}${todayTempSuffix}`;
1352
1354
  weatherAdded = true;
1353
1355
  }
1354
1356
  }
@@ -1452,12 +1454,12 @@ ${statusText}
1452
1454
  ━━━━━━━━━━━━━━━━━━━━━━
1453
1455
  🔋 ${this.translate('Full cycles last month')}: ${this.stats.lastMonthFullCycles}
1454
1456
  📉 ${this.translate('Empty cycles last month')}: ${this.stats.lastMonthEmptyCycles}
1455
- ���━━━━━━━━━━━━━━━━━━━━━
1457
+ ━━━━━━━━━━━━━━━━━━━━━━
1456
1458
  ☀️ ${this.translate('Production')}: ${totalProd} kWh
1457
1459
  🏠 ${this.translate('Own consumption')}: ${selfConsumption} kWh (${selfConsumptionRate}%)
1458
1460
  🔌 ${this.translate('Feed-in')}: ${feedIn} kWh
1459
1461
  ⚡ ${this.translate('Grid consumption')}: ${gridPower} kWh
1460
- ━━━━━━━━━━━━���━━━━━━━━━`;
1462
+ ━━━━━━━━━━━━━━━━━━━━━━`;
1461
1463
  }
1462
1464
 
1463
1465
  /**
@@ -1785,7 +1787,7 @@ ${statusText}
1785
1787
  'Current charge level': {
1786
1788
  de: 'Aktueller Ladestand',
1787
1789
  en: 'Current charge level',
1788
- ru: 'Текущий уровень за��яда',
1790
+ ru: 'Текущий уровень заряда',
1789
1791
  },
1790
1792
  'Current energy': {
1791
1793
  de: 'Aktuelle Energie',
@@ -1805,7 +1807,7 @@ ${statusText}
1805
1807
  'Own consumption': {
1806
1808
  de: 'Eigenverbrauch',
1807
1809
  en: 'Own consumption',
1808
- ru: 'Собственное потребле��ие',
1810
+ ru: 'Собственное потребление',
1809
1811
  },
1810
1812
  'Feed-in': {
1811
1813
  de: 'Einspeisung',
@@ -1847,6 +1849,11 @@ ${statusText}
1847
1849
  en: 'Weather today',
1848
1850
  ru: 'Погода сегодня',
1849
1851
  },
1852
+ Currently: {
1853
+ de: 'aktuell',
1854
+ en: 'currently',
1855
+ ru: 'сейчас',
1856
+ },
1850
1857
  'Good PV production expected': {
1851
1858
  de: 'Gute PV-Produktion erwartet',
1852
1859
  en: 'Good PV production expected',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.pv-notifications",
3
- "version": "1.2.27",
3
+ "version": "1.2.29",
4
4
  "description": "PV-Anlage Batterie-Status Telegram Benachrichtigungen",
5
5
  "author": {
6
6
  "name": "Alex1808 via LLM: Qwen",
@@ -64,7 +64,7 @@
64
64
  "typescript": "~5.9.3"
65
65
  },
66
66
  "bugs": {
67
- "url": "https://github.com/alex/iobroker.pv-notifications/issues"
67
+ "url": "https://github.com/sadam6752-tech/ioBroker.pv-notifications/issues"
68
68
  },
69
69
  "readmeFilename": "README.md"
70
70
  }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes