iobroker.sigenergy 2.3.2 → 2.3.3

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
@@ -153,6 +153,9 @@ Status and power readings for the DC charger.
153
153
 
154
154
  ## Changelog
155
155
 
156
+ ### 2.3.3 (2026-06-11)
157
+ - (ssbingo) fix: suppress repeated register read warnings after first occurrence for plant/inverter/acCharger/dcCharger/pss/pid; subsequent failures log at debug level only
158
+
156
159
  ### 2.3.2 (2026-06-10)
157
160
  - (ssbingo) fix: show 'pre-V2.6' instead of 'unknown' when device responds but has no extended plant registers; add per-probe debug log with Modbus exception message
158
161
 
package/io-package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "sigenergy",
4
- "version": "2.3.2",
4
+ "version": "2.3.3",
5
5
  "news": {
6
- "2.3.2": {
7
- "en": "(ssbingo) fix: show 'pre-V2.6' instead of 'unknown' when device responds but has no extended plant registers; add per-probe debug log with Modbus exception message",
8
- "de": "(ssbingo) fix: 'pre-V2.6' statt 'unknown' wenn Gerät antwortet aber keine erweiterten Plant-Register hat; Debug-Log pro Probe mit Modbus-Exception-Meldung ergänzt",
9
- "ru": "(ssbingo) fix: отображать 'pre-V2.6' вместо 'unknown' если устройство отвечает, но не имеет расширенных регистров plant; добавлено отладочное сообщение на каждый зонд с кодом Modbus-исключения",
10
- "pt": "(ssbingo) fix: mostrar 'pre-V2.6' em vez de 'unknown' quando o dispositivo responde mas não tem registos plant estendidos; log de debug por sonda com mensagem de excepção Modbus",
11
- "nl": "(ssbingo) fix: 'pre-V2.6' tonen in plaats van 'unknown' als het apparaat reageert maar geen uitgebreide plant-registers heeft; debug-log per probe met Modbus-uitzonderingsmelding",
12
- "fr": "(ssbingo) fix: afficher 'pre-V2.6' au lieu de 'unknown' si l'appareil répond mais n'a pas de registres plant étendus ; log de débogage par sonde avec message d'exception Modbus",
13
- "it": "(ssbingo) fix: mostrare 'pre-V2.6' invece di 'unknown' quando il dispositivo risponde ma non ha registri plant estesi; log di debug per sonda con messaggio di eccezione Modbus",
14
- "es": "(ssbingo) fix: mostrar 'pre-V2.6' en lugar de 'unknown' cuando el dispositivo responde pero no tiene registros plant extendidos; log de depuración por sonda con mensaje de excepción Modbus",
15
- "pl": "(ssbingo) fix: pokazywać 'pre-V2.6' zamiast 'unknown' gdy urządzenie odpowiada ale nie ma rozszerzonych rejestrów plant; log debugowania na sondę z komunikatem wyjątku Modbus",
16
- "uk": "(ssbingo) fix: відображати 'pre-V2.6' замість 'unknown' коли пристрій відповідає, але не має розширених регістрів plant; журнал налагодження на зонд з повідомленням про виняток Modbus",
17
- "zh-cn": "(ssbingo) fix: 当设备响应但无扩展 plant 寄存器时显示 'pre-V2.6' 而非 'unknown';为每个探针添加含 Modbus 异常信息的调试日志"
6
+ "2.3.3": {
7
+ "en": "(ssbingo) fix: suppress repeated register read warnings after first occurrence for plant/inverter/acCharger/dcCharger/pss/pid; subsequent failures log at debug level only",
8
+ "de": "(ssbingo) fix: wiederholte Register-Lesewarnungen nach erstem Auftreten für plant/inverter/acCharger/dcCharger/pss/pid unterdrückt; weitere Fehler nur noch auf Debug-Ebene protokolliert",
9
+ "ru": "(ssbingo) fix: подавление повторяющихся предупреждений о чтении регистров после первого возникновения для plant/inverter/acCharger/dcCharger/pss/pid; последующие ошибки логируются только на уровне debug",
10
+ "pt": "(ssbingo) fix: suprimir avisos repetidos de leitura de registos após primeira ocorrência para plant/inverter/acCharger/dcCharger/pss/pid; falhas subsequentes registadas apenas ao nível debug",
11
+ "nl": "(ssbingo) fix: herhaalde register-leeswaarschuwingen na eerste voorkomen onderdrukken voor plant/inverter/acCharger/dcCharger/pss/pid; volgende fouten alleen op debug-niveau gelogd",
12
+ "fr": "(ssbingo) fix: supprimer les avertissements répétés de lecture de registres après la première occurrence pour plant/inverter/acCharger/dcCharger/pss/pid ; les échecs suivants sont journalisés au niveau debug uniquement",
13
+ "it": "(ssbingo) fix: sopprimere gli avvisi ripetuti di lettura registro dopo la prima occorrenza per plant/inverter/acCharger/dcCharger/pss/pid; i guasti successivi vengono registrati solo a livello debug",
14
+ "es": "(ssbingo) fix: suprimir advertencias repetidas de lectura de registros tras la primera aparición para plant/inverter/acCharger/dcCharger/pss/pid; los fallos posteriores solo se registran a nivel debug",
15
+ "pl": "(ssbingo) fix: tłumienie powtarzających się ostrzeżeń o odczycie rejestrów po pierwszym wystąpieniu dla plant/inverter/acCharger/dcCharger/pss/pid; kolejne błędy rejestrowane tylko na poziomie debug",
16
+ "uk": "(ssbingo) fix: придушення повторюваних попереджень про зчитування регістрів після першого виникнення для plant/inverter/acCharger/dcCharger/pss/pid; наступні помилки журналюються лише на рівні debug",
17
+ "zh-cn": "(ssbingo) fix: plant/inverter/acCharger/dcCharger/pss/pid 寄存器读取警告在首次出现后不再重复;后续失败仅在 debug 级别记录"
18
18
  }
19
19
  },
20
20
  "titleLang": {
package/main.js CHANGED
@@ -62,6 +62,12 @@ class Sigenergy extends utils.Adapter {
62
62
  this._controlRegistersRead = false;
63
63
  this._protocolDetected = false;
64
64
  this._essPreheatingUnsupported = false;
65
+ this._plantUnsupportedGroups = new Set();
66
+ this._inverterUnsupportedGroups = new Set();
67
+ this._acChargerUnsupportedGroups = new Set();
68
+ this._dcChargerUnsupportedGroups = new Set();
69
+ this._pssUnsupportedGroups = new Set();
70
+ this._pidUnsupportedGroups = new Set();
65
71
 
66
72
  this.on('ready', this.onReady.bind(this));
67
73
  this.on('stateChange', this.onStateChange.bind(this));
@@ -353,7 +359,12 @@ class Sigenergy extends utils.Adapter {
353
359
  await this._processReadGroup(group, raw, 'plant');
354
360
  await this._sleep(100);
355
361
  } catch (err) {
356
- this.log.warn(`Plant register read error at ${group.startAddr}: ${err.message}`);
362
+ if (!this._plantUnsupportedGroups.has(group.startAddr)) {
363
+ this._plantUnsupportedGroups.add(group.startAddr);
364
+ this.log.warn(`Plant register read error at ${group.startAddr}: ${err.message}`);
365
+ } else {
366
+ this.log.debug(`[plant] read error at ${group.startAddr}: ${err.message}`);
367
+ }
357
368
  }
358
369
  }
359
370
  }
@@ -379,7 +390,12 @@ class Sigenergy extends utils.Adapter {
379
390
  await this._processReadGroup(group, raw, 'inverter');
380
391
  await this._sleep(100);
381
392
  } catch (err) {
382
- this.log.warn(`Inverter register read error at ${group.startAddr}: ${err.message}`);
393
+ if (!this._inverterUnsupportedGroups.has(group.startAddr)) {
394
+ this._inverterUnsupportedGroups.add(group.startAddr);
395
+ this.log.warn(`Inverter register read error at ${group.startAddr}: ${err.message}`);
396
+ } else {
397
+ this.log.debug(`[inverter] read error at ${group.startAddr}: ${err.message}`);
398
+ }
383
399
  }
384
400
  }
385
401
  }
@@ -402,7 +418,12 @@ class Sigenergy extends utils.Adapter {
402
418
  await this._processReadGroup(group, raw, 'acCharger');
403
419
  await this._sleep(100);
404
420
  } catch (err) {
405
- this.log.warn(`AC Charger register read error: ${err.message}`);
421
+ if (!this._acChargerUnsupportedGroups.has(group.startAddr)) {
422
+ this._acChargerUnsupportedGroups.add(group.startAddr);
423
+ this.log.warn(`AC Charger register read error at ${group.startAddr}: ${err.message}`);
424
+ } else {
425
+ this.log.debug(`[acCharger] read error at ${group.startAddr}: ${err.message}`);
426
+ }
406
427
  }
407
428
  }
408
429
  }
@@ -425,7 +446,12 @@ class Sigenergy extends utils.Adapter {
425
446
  await this._processReadGroup(group, raw, 'dcCharger');
426
447
  await this._sleep(100);
427
448
  } catch (err) {
428
- this.log.warn(`DC Charger register read error: ${err.message}`);
449
+ if (!this._dcChargerUnsupportedGroups.has(group.startAddr)) {
450
+ this._dcChargerUnsupportedGroups.add(group.startAddr);
451
+ this.log.warn(`DC Charger register read error at ${group.startAddr}: ${err.message}`);
452
+ } else {
453
+ this.log.debug(`[dcCharger] read error at ${group.startAddr}: ${err.message}`);
454
+ }
429
455
  }
430
456
  }
431
457
  }
@@ -445,7 +471,12 @@ class Sigenergy extends utils.Adapter {
445
471
  await this._processReadGroup(group, raw, 'pss');
446
472
  await this._sleep(100);
447
473
  } catch (err) {
448
- this.log.warn(`PSS register read error: ${err.message}`);
474
+ if (!this._pssUnsupportedGroups.has(group.startAddr)) {
475
+ this._pssUnsupportedGroups.add(group.startAddr);
476
+ this.log.warn(`PSS register read error at ${group.startAddr}: ${err.message}`);
477
+ } else {
478
+ this.log.debug(`[pss] read error at ${group.startAddr}: ${err.message}`);
479
+ }
449
480
  }
450
481
  }
451
482
  }
@@ -465,7 +496,12 @@ class Sigenergy extends utils.Adapter {
465
496
  await this._processReadGroup(group, raw, 'pid');
466
497
  await this._sleep(100);
467
498
  } catch (err) {
468
- this.log.warn(`PID register read error: ${err.message}`);
499
+ if (!this._pidUnsupportedGroups.has(group.startAddr)) {
500
+ this._pidUnsupportedGroups.add(group.startAddr);
501
+ this.log.warn(`PID register read error at ${group.startAddr}: ${err.message}`);
502
+ } else {
503
+ this.log.debug(`[pid] read error at ${group.startAddr}: ${err.message}`);
504
+ }
469
505
  }
470
506
  }
471
507
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.sigenergy",
3
- "version": "2.3.2",
3
+ "version": "2.3.3",
4
4
  "description": "ioBroker adapter for Sigenergy solar energy systems via Modbus TCP/RTU",
5
5
  "author": {
6
6
  "name": "ssbingo",