iobroker.alpha-ess 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -61,6 +61,9 @@ How to find SN and Check code for registration is described here: https://github
61
61
  **All product and company names or logos are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them or any associated subsidiaries! This personal project is maintained in spare time and has no business goal.**
62
62
 
63
63
  ## Changelog
64
+ ### 3.0.1 (2024-12-22)
65
+
66
+ - (Gaspode) Optimizations of reading pseudo-realtime power data for slow systems
64
67
 
65
68
  ### 3.0.0 (2024-12-21)
66
69
 
package/io-package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "alpha-ess",
4
- "version": "3.0.0",
4
+ "version": "3.0.1",
5
5
  "news": {
6
+ "3.0.1": {
7
+ "en": "Optimizations of reading pseudo-realtime power data for slow systems",
8
+ "de": "Lesen von Pseudo-Realtime-Leistungsdaten für langsame Systeme optimiert",
9
+ "ru": "Оптимизация чтения псевдо-реальных данных питания для медленных систем",
10
+ "pt": "Otimizações de leitura de dados de energia pseudo-realtime para sistemas lentos",
11
+ "nl": "Optimalisaties van het lezen van pseudo-realtime stroomgegevens voor trage systemen",
12
+ "fr": "Optimisation de la lecture des données de puissance pseudo-en temps réel pour les systèmes lents",
13
+ "it": "Ottimizzazione dei dati di potenza pseudo-realtime di lettura per sistemi lenti",
14
+ "es": "Optimizaciones de lectura de datos de energía pseudo-real para sistemas lentos",
15
+ "pl": "Optymalizacja odczytu danych o mocy pseudorealtime dla powolnych systemów",
16
+ "uk": "Оптимізація даних псевдореального часу для повільних систем",
17
+ "zh-cn": "对慢系统读取伪实时功率数据的优化"
18
+ },
6
19
  "3.0.0": {
7
20
  "en": "**Breaking Change:** Renamed state \"Charging_period 1_end\" to \"Charging_period_1_end\"\nOptimizations in configuration dialog",
8
21
  "de": "**Breaking Change:** Zustand \"Charging_period 1_end\" wurde zu \"Charging_period_1_end\" umbenannt\nOptimierungen im Konfigurationsdialog",
@@ -18,7 +31,7 @@
18
31
  },
19
32
  "2.3.0": {
20
33
  "en": "Provides the ability to read pseudo-realtime power data using the API function getTodayPowerBySn. This feature is useful for systems that lack \"realtime data support.\" When activated, data is fetched every 5 minutes and stored in the \"Recent\" folder.",
21
- "de": "Bietet die Möglichkeit, pseudo-realtime Stromdaten mit der API-Funktion getTodayPowerBySn zu lesen. Diese Funktion ist nützlich für Systeme, die keinen \"Realtime Data Support\" haben. Wenn aktiviert, werden alle 5 Minuten Daten gelesen und im Ordner \"Recent\" gespeichert.",
34
+ "de": "Bietet die Möglichkeit, pseudo-realtime Leistungsdaten mit der API-Funktion getTodayPowerBySn zu lesen. Diese Funktion ist nützlich für Systeme, die keinen \"Realtime Data Support\" haben. Wenn aktiviert, werden alle 5 Minuten Daten gelesen und im Ordner \"Recent\" gespeichert.",
22
35
  "ru": "Предоставляет возможность чтения псевдо-в реальном времени данных питания с использованием функции API getTodayPowerBySn. Эта функция полезна для систем, которые не имеют «поддержки данных в реальном времени». При активации данные загружаются каждые 5 минут и хранятся в папке «Recent».",
23
36
  "pt": "Fornece a capacidade de ler dados de energia pseudo-realtime usando a função API getTodayPowerBySn. Esse recurso é útil para sistemas que não possuem \"apoio de dados em tempo real\". Quando ativado, os dados são obtidos a cada 5 minutos e armazenados na pasta \"Recente\".",
24
37
  "nl": "Biedt de mogelijkheid om pseudo-realtime power data te lezen met behulp van de API-functie krijgenTodayPowerBySn. Deze functie is nuttig voor systemen die geen \"realtime data support\" hebben. Wanneer geactiveerd, worden de gegevens elke 5 minuten opgehaald en opgeslagen in de \"Recent\" map.",
@@ -80,19 +93,6 @@
80
93
  "pl": "Aktualizacja niektórych formalnych rzeczy",
81
94
  "uk": "Оновлено деякі формальні речі",
82
95
  "zh-cn": "更新了一些正式的东西"
83
- },
84
- "2.1.3": {
85
- "en": "Increased read timeout from 10s to 20s",
86
- "de": "Read Timeout von 10 auf 20 Sekunden erhöht",
87
- "ru": "Увеличение времени чтения с 10 до 20 с",
88
- "pt": "Aumento do tempo de leitura de 10 a 20 s",
89
- "nl": "Verhoogde leestijd van 10 tot 20 s",
90
- "fr": "Augmentation du temps de lecture de 10 à 20 s",
91
- "it": "Tempo di lettura aumentato da 10 a 20 s",
92
- "es": "Mayor tiempo de lectura de 10 a 20 s",
93
- "pl": "Zwiększony czas odczytu od 10 do 20 s",
94
- "uk": "Підвищений час читання від 10 до 20 с",
95
- "zh-cn": "阅读超时从10秒增加到20秒"
96
96
  }
97
97
  },
98
98
  "titleLang": {
package/main.js CHANGED
@@ -279,6 +279,14 @@ class OpenAPI {
279
279
  type: 'string',
280
280
  unit: null,
281
281
  },
282
+ {
283
+ alphaAttrName: 'uploadTime',
284
+ role: 'text',
285
+ id: 'Upload_time',
286
+ name: 'Upload time to Alpha ESS Cloud',
287
+ type: 'string',
288
+ unit: null,
289
+ },
282
290
  ],
283
291
  },
284
292
  {
@@ -875,8 +883,8 @@ class OpenAPI {
875
883
  });
876
884
  if (latestEntry.uploadTime != null) {
877
885
  const deliveredTs = new Date(latestEntry.uploadTime.replace(' ', 'T')).getTime();
878
- if (Date.now() - deliveredTs < 300000) {
879
- // ensure that the data is not older than 5 minutes
886
+ if (Date.now() - deliveredTs < 600000) {
887
+ // ensure that the data is not older than 10 minutes
880
888
  await this.adapter.createAndUpdateStates(group, latestEntry);
881
889
  } else {
882
890
  this.adapter.log.error(
@@ -1414,7 +1422,7 @@ class AlphaEss extends utils.Adapter {
1414
1422
  const groupInfo = this.getStateInfoList()[gidx];
1415
1423
 
1416
1424
  if (groupInfo.isSchedule) {
1417
- groupInfo.interval = 300; // 5 Minutes, used for watchdog only
1425
+ groupInfo.interval = 600; // 10 Minutes, used for watchdog only
1418
1426
  } else {
1419
1427
  groupInfo.interval = this.config[groupInfo.intervalName] * groupInfo.intervalFactor;
1420
1428
  this.log.debug(`${groupInfo.intervalName}: ${groupInfo.interval}`);
@@ -2058,7 +2066,7 @@ class AlphaEss extends utils.Adapter {
2058
2066
  */
2059
2067
  calculateIntervalInMs(timeInS, groupInfo) {
2060
2068
  if (groupInfo.isSchedule) {
2061
- // In this case we calculate the seconds until the next full 5 minutes plus 10 seconds
2069
+ // In this case we calculate the seconds until the next full 5 minutes plus 50 seconds
2062
2070
  const now = new Date();
2063
2071
  const minutes = now.getMinutes();
2064
2072
  const seconds = now.getSeconds();
@@ -2066,7 +2074,7 @@ class AlphaEss extends utils.Adapter {
2066
2074
  const remainingMinutes = nextFullFiveMinute - minutes - 1;
2067
2075
  const remainingSeconds = 60 - seconds;
2068
2076
 
2069
- timeInS = remainingMinutes * 60 + remainingSeconds + 10;
2077
+ timeInS = remainingMinutes * 60 + remainingSeconds + 50;
2070
2078
  } else {
2071
2079
  if (this.errorCount < 5) {
2072
2080
  return timeInS * 1000;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.alpha-ess",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "description": "Read and write data from and to Alpha ESS systems.",
5
5
  "author": {
6
6
  "name": "Gaspode",