iobroker.sun2000 1.2.2 → 1.3.0

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
@@ -64,6 +64,9 @@ browse in the [wiki](https://github.com/bolliy/ioBroker.sun2000/wiki)
64
64
  Placeholder for the next version (at the beginning of the line):
65
65
  ### **WORK IN PROGRESS**
66
66
  -->
67
+ ### 1.3.0 (2025-04-02)
68
+ * usableSurplusPower: new control state `sun2000.0.control.usableSurplus.allowNegativeValue`
69
+
67
70
  ### 1.2.2 (2025-04-01)
68
71
  * deploy 1.2
69
72
 
package/io-package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "sun2000",
4
- "version": "1.2.2",
4
+ "version": "1.3.0",
5
5
  "news": {
6
+ "1.3.0": {
7
+ "en": "usableSurplusPower: new control state `sun2000.0.control.usableSurplus.allowNegativeValue`",
8
+ "de": "usableSurplusPower: neuer Steuerzustand `sun2000.0.control.usableSurplus.allowNegativeValue `",
9
+ "ru": "usableSurplusPower: новое состояние управления 'sun2000.0.control.usableSurplus.allowНегативная ценность пункт",
10
+ "pt": "usableSurplusPower: novo estado de controle `sun2000.0.control.usableSurplus.allowValue negativo \"",
11
+ "nl": "bruikbareSurplusPower: nieuwe controlestatus Wat",
12
+ "fr": "utilisableSurplusPower: nouvel état de contrôle `sun2000.0.control.usableSurplus.allowNegativeValue \"",
13
+ "it": "usableSurplusPower: nuovo stato di controllo `sun2000.0.control.usableSurplus.allowValore negativo #",
14
+ "es": "usableSurplusPower: nuevo estado de control `sun2000.0.control.usableSurplus.allowNegativeValue `",
15
+ "pl": "usableSurplusPower: nowy stan kontroli 'Sun2000.0.control.usableSurplus.allowNegativeValue'",
16
+ "uk": "english, Українська, Français... й",
17
+ "zh-cn": "可用SurpusPower: 新的控制状态 `sun 2000.control.usurplus.allow NegativeValue ' `"
18
+ },
6
19
  "1.2.2": {
7
20
  "en": "deploy 1.2",
8
21
  "de": "bereitstellung 1.2",
@@ -80,19 +93,6 @@
80
93
  "pl": "zaktualizowana dalsza wrażliwość przypadku nazwy statusu obiektu\nwymagają joBroker admin 7.4.10 lub wyższy # 154",
81
94
  "uk": "оновлений подальший випадок чутливості назви стану об'єкта\nпотрібно ioBroker admin 7.4.10 або вище #154",
82
95
  "zh-cn": "更新对象状态名称的进一步大小写灵敏度\n需要 ioBroker 管理员 7.4.10 或 以上 # 154"
83
- },
84
- "1.0.0": {
85
- "en": "dependency and configuration updates\nupdated case sensitivity of the object status name\nInterval time of the slave inverter increased slightly\nRegister data is not read in \"Standby: detecting irradiation\" (0x0002) of the slave inverter\nControl: battery.maximumDischargePower is deprecated use \"maximumDischargingPower\" instead\nControl: battery.maximumChargePower is deprecated use \"maximumChargingPower\" instead\nbreaking changes\nNode.js 20 or higher required\nioBroker host (js-controller) 6.0.1 or higher\nioBroker admin 6.13.16 or higher",
86
- "de": "abhängigkeits- und konfigurationsupdates\naktualisierte fallempfindlichkeit des objektstatusnamens\nDie Laufzeit des Slave-Wechselrichters stieg leicht an\nRegisterdaten werden nicht in \"Standby: Detektion von Bestrahlung\" (0x0002) des Slave-Wechselrichters gelesen\nSteuerung: batterie.maximumDischargePower ist deprecated verwenden \"maximumDischargingPower\" statt\nSteuerung: Batterie.maximumChargePower wird mit \"maximumChargingPower\" depreciert\nänderungen\nNode.js 20 oder höher erforderlich\nioBroker Host (js-controller) 6.0.1 oder höher\nioBroker admin 6.13.16 oder höher",
87
- "ru": "обновления зависимости и конфигурации\nобновленная чувствительность случая имени состояния объекта\nИнтервал времени инвертора раба несколько увеличился\nРегистрационные данные не считываются в «Standby: Выявление облучения» (0x0002) рабского инвертора\nУправление: батарея.maximumDischargePower вместо этого депрецируется использование \"maximumDischargingPower\"\nУправление: батарея.maximumChargePower вместо этого депрецируется использование \"maximumChargingPower\"\nизменения\nNode.js 20 или выше требуется\nioBroker host (js-controller) 6.0.1 или выше\nioBroker admin 6.13.16 или выше",
88
- "pt": "atualizações de dependência e configuração\nsensibilidade de caso atualizada do nome de status do objeto\nO tempo de intervalo do inversor de escravos aumentou ligeiramente\nOs dados de registro não são lidos em \"Standby: detecção de irradiação\" (0x0002) do inversor de escravos\nControl: battery.maximumDischargePower é deprecated use \"maximumDischargingPower\" em vez\nControle: battery.maximumChargePower é deprecated use \"maximumChargingPower\" em vez\nalterações de ruptura\nNode.js 20 ou mais necessários\nhospedeiro ioBroker (js-controller) 6.0.1 ou superior\nioBroker admin 6.13.16 ou superior",
89
- "nl": "afhankelijkheid en configuratie-updates\nbijgewerkte gevoeligheid van de statusnaam van het object\nIntervaltijd van de slavenomvormer nam licht toe\nRegistergegevens worden niet gelezen in \"Standby: detectie van bestraling\" (0x0002) van de slavenomvormer\nControle: batterij.maximumDischargePower is verouderd gebruik \"maximumDischargingPower\" in plaats daarvan\nControle: batterij.maximumChargePower is verouderd gebruik \"maximumChargingPower\" in plaats daarvan\nwijzigingen breken\nNode.js 20 of hoger vereist\nioBroker-host (js-controller) 6.0.1 of hoger\nioBroker admin 6.13.16 of hoger",
90
- "fr": "mises à jour de la dépendance et de la configuration\nsensibilité mise à jour du nom d'état de l'objet\nTemps d'intervalle de l'onduleur esclave augmenté légèrement\nLes données du registre ne sont pas lues dans \"Standby: detecting irradiation\" (0x0002) de l'onduleur esclave\nContrôle: batterie.maximumDischargePower est déprécié utiliser \"maximumDischargingPower\" à la place\nContrôle: batterie.maximumChargePower est déprécié utiliser \"maximumChargingPower\" à la place\ncasser les changements\nNode.js 20 ou plus requis\nioBroker host (js-controller) 6.0.1 ou plus\nioBroker admin 6.13.16 ou supérieur",
91
- "it": "aggiornamenti di dipendenza e configurazione\nsensibilità caso aggiornata del nome di stato dell'oggetto\nIl tempo intervalente dell'inverter schiavo è aumentato leggermente\nI dati di registro non sono letti in \"Standby: rilevamento dell'irradiazione\" (0x0002) dell'inverter slave\nControllo: batteria.maximumDischargePower è deprecato uso \"maximumDischargingPower\" invece\nControllo: batteria.maximumChargePower è deprecato uso \"maximumChargingPower\" invece\ncambiamenti di rottura\nNode.js 20 o superiore richiesto\nioBroker host (js-controller) 6.0.1 o superiore\nioBroker admin 6.13.16 o superiore",
92
- "es": "actualizaciones de dependencia y configuración\nsensibilidad actualizada del caso del nombre del estado del objeto\nEl tiempo intervalido del inversor de esclavos aumentó ligeramente\nLos datos del registro no se leen en \"Standby: detección de irradiación\" (0x0002) del inversor de esclavos\nControl: batería.maximumDischargePower es deprecated use \"maximumDischargingPower\" en su lugar\nControl: batería.maximumChargePower es el uso deprecatado \"maximumChargingPower\" en su lugar\ncambios de ruptura\nNode.js 20 o superior requerido\nioBroker host (js-controller) 6.0.1 o superior\nioBroker admin 6.13.16 o superior",
93
- "pl": "aktualizacje zależności i konfiguracji\nzaktualizowana czułość przypadku nazwy statusu obiektu\nCzas interval inverter niewolnika nieznacznie wzrosła\nDane rejestracyjne nie są odczytywane w \"Standby: detection irradiation\" (0x0002) inwertera niewolnika\nKontrola: battery.maximumDischargePower jest zdeprecjonowane użycie \"maximumDischargingPower\" zamiast\nKontrola: battery.maximumChargePower jest przestarzałe użycie \"maximumChargingPower\" zamiast\nłamanie zmian\nNode.js 20 lub wyższe wymagane\njoBroker host (kontroler js-) 6.0.1 lub wyższy\njoBroker admin 6.13.16 lub wyższy",
94
- "uk": "оновлення залежності та конфігурації\nоновлена чутливість корпусу назви стану об'єкта\nМіжвалий час раба інвертора трохи збільшилася\nЗареєструвати дані не читають в \"Станбі: виявлення опромінення\" (0x0002) рабоінвертора\nКонтроль: акумулятор.maximumDischargePower deprecated use \"maximumDischargingPower\" замість\nКонтроль: акумулятор.maximumChargePower deprecated use \"maximumChargingPower\" замість\nполомка змін\nNode.js 20 або вище\nioBroker host (js-controller) 6.0.1 або вище\nioBroker admin 6.13.16 або вище",
95
- "zh-cn": "依赖和配置更新\n更新对象状态名称的大小写灵敏度\n奴隶倒转的间隔时间略有增加\n在奴隶反转器的\"Standby:检测辐照\"(0x0002)中不读登记数据\n控制: 电池. 最大充电Power被贬值 使用\"最大充电Power\"代替\n控制:电池. 最大管理员Power被贬值 使用\"最大充电Power\"代替\n断开更改\n需要20个或以上的节点\nioBroker 主机(js-controller) 6.0.1 或更高\nioBroker 管理员 6.13.16或以上"
96
96
  }
97
97
  },
98
98
  "titleLang": {
@@ -86,6 +86,21 @@ class ConfigMap {
86
86
  return true;
87
87
  },
88
88
  },
89
+ {
90
+ state: {
91
+ id: 'usableSurplus.allowNegativeValue',
92
+ name: 'allow negative value',
93
+ type: 'boolean',
94
+ role: 'switch.enable',
95
+ desc: 'Allows negative value for usableSurplusPower',
96
+ },
97
+ fn: async event => {
98
+ if (event.value !== true && event.value !== false) {
99
+ event.value = false;
100
+ }
101
+ return true;
102
+ },
103
+ },
89
104
  ];
90
105
  }
91
106
 
package/lib/register.js CHANGED
@@ -50,12 +50,14 @@ class Registers {
50
50
  let chargeDischarge = 0;
51
51
 
52
52
  function calcUsableSurplus() {
53
- let surplusPower = meterPower;
53
+ let surplusPower = 0;
54
54
  if (this.adapter.control) {
55
+ surplusPower += meterPower;
55
56
  const minSoc = this.adapter.control.get('usableSurplus.minSoc')?.value ?? 0;
56
57
  const bufferSoc = this.adapter.control.get('usableSurplus.bufferSoc')?.value ?? 0;
57
58
  const residualPower = this.adapter.control.get('usableSurplus.residualPower')?.value ?? 0;
58
59
  const soc = this.stateCache.get('collected.SOC')?.value ?? 0;
60
+ const allowNegativeValue = this.adapter.control.get('usableSurplus.allowNegativeValue')?.value ?? false;
59
61
 
60
62
  if (soc >= minSoc) {
61
63
  surplusPower += chargeDischarge;
@@ -69,8 +71,10 @@ class Registers {
69
71
  }
70
72
 
71
73
  //this.adapter.log.info(`### TEST usableSurplus.minSoc ${minSoc}`);
74
+ if (!allowNegativeValue) {
75
+ if (surplusPower < 0.1) surplusPower = 0;
76
+ }
72
77
  }
73
- if (surplusPower < 0.1) surplusPower = 0;
74
78
  return surplusPower;
75
79
  }
76
80
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.sun2000",
3
- "version": "1.2.2",
3
+ "version": "1.3.0",
4
4
  "description": "sun2000",
5
5
  "author": {
6
6
  "name": "bolliy",