iobroker.senec 1.3.6 → 1.3.7

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
@@ -370,6 +370,11 @@ This channel contains calculated values. Currently these are day/week/month/year
370
370
  *Read-only number, which designates the number of wallbox [0..3]. This is only available on systems with configured wallboxes.*
371
371
 
372
372
  ## Changelog
373
+ ### 1.3.7 (NoBl, noffycws, git-ZeR0)
374
+ * Updates to state translations (new values when SENEC turned off appliances)
375
+ * Added state definitions
376
+ * Added high priority datapoints: temperatures, voltages, ... to better monitor safety relevant data
377
+
373
378
  ### 1.3.6 (NoBl)
374
379
  * Fixed log.warning error
375
380
 
package/io-package.json CHANGED
@@ -1,8 +1,20 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "senec",
4
- "version": "1.3.6",
4
+ "version": "1.3.7",
5
5
  "news": {
6
+ "1.3.7": {
7
+ "en": "Updates to state translations (new values when SENEC turned off appliances), Added state definitions, Added high priority datapoints: temperatures, voltages, ... to better monitor safety relevant data",
8
+ "de": "Aktualisierungen der State Übersetzungen (neue Werte durch die SENEC Problematik), Zustandsdefinitionen hinzugefügt, Datenpunkte mit hoher Priorität ergänzt: Temperaturen, Spannungen, ... um sicherheitsrelevante Daten besser zu überwachen",
9
+ "ru": "Обновления государственных переводов (новые значения, когда SENEC отключила бытовую технику), Добавлены государственные определения, Добавлены высокие приоритетные данные: температуры, напряжения, ... для лучшего контроля безопасности соответствующих данных",
10
+ "pt": "Atualizações às traduções estaduais (novos valores quando o SENEC desligou aparelhos), definições de estado adicionadas, pontos de dados de alta prioridade adicionados: temperaturas, tensões, ... para melhor monitorar dados relevantes de segurança",
11
+ "nl": "Vertaling:",
12
+ "fr": "Mises à jour des traductions d'état (nouvelles valeurs lorsque SENEC a éteint les appareils), Définitions d'état, Ajout de points de données hautement prioritaires: températures, tensions, ... pour mieux surveiller les données pertinentes de sécurité",
13
+ "it": "Aggiornamenti alle traduzioni di stato (nuovi valori quando SENEC ha spento gli elettrodomestici), Aggiunte definizioni di stato, Aggiunto datapoint ad alta priorità: temperature, tensioni, ... per monitorare meglio la sicurezza dati rilevanti",
14
+ "es": "Actualizaciones a las traducciones estatales (nuevos valores cuando SENEC apagó electrodomésticos), definiciones de estado agregadas, Puntos de datos de alta prioridad añadidos: temperaturas, voltajes, ... para monitorear mejor la seguridad datos relevantes",
15
+ "pl": "Ulepszenia do tłumaczenia stanu (nowe wartości, kiedy SENEC odwrócił urządzenia), definicje państwowe, dodane wysoko priorytetowe punkty danych: temperatury, napięcia, ... aby lepiej monitorować odpowiednie dane danych",
16
+ "zh-cn": "国家翻译的更新(新值在中欧经会脱离了配件),加上国家定义,加上高度优先的数据点:温度,火山,......以更好地监测安全相关数据"
17
+ },
6
18
  "1.3.6": {
7
19
  "en": "fixed log.warning error",
8
20
  "de": "log.warning-Fehler behoben",
@@ -74,18 +86,6 @@
74
86
  "es": "(NoBl) Cálculo agregado de autarquía para día / semana / mes / año",
75
87
  "pl": "(NoBl) Dodano obliczanie autarkii dla dnia / tygodnia / miesiąca / roku",
76
88
  "zh-cn": "(NoBl)添加了针对日/周/月/年的自给自足计算"
77
- },
78
- "1.3.0": {
79
- "en": "(NoBl) Rewrote translations handling and added translations for wallbox status. Translated status get an extra datapoint with _Text as postfix. Former translations that didn't add an extra dp will now revert to their numeric representation and add the _Text DP. translations are now handled via lib/state_trans.js for all 3 languages available in the senec system (german, english, italian).",
80
- "de": "(NoBl) Übersetzungshandling neu designed und Übersetzungen für den Wallbox-Status hinzugefügt. Der übersetzte Status erhält einen zusätzlichen Datenpunkt mit _Text als Postfix. Frühere Übersetzungen ohne zusätzlichen DP werden auf ihren numerischen Wert zurückgesetzt und es wird der DP mit Postfix ergänzt. Übersetzungen werden jetzt über lib / state_trans.js für alle 3 im senec-System verfügbaren Sprachen (Deutsch, Englisch, Italienisch) abgewickelt.",
81
- "ru": "(NoBl) Переписана обработка переводов и добавлены переводы для статуса wallbox. Переведенный статус получает дополнительную точку данных с _Text в качестве постфикса. Прежние переводы, которые не добавляли дополнительный dp, теперь вернутся к своему числовому представлению и добавят _Text DP. переводы теперь выполняются через lib / state_trans.js для всех 3 языков, доступных в системе senec (немецкий, английский, итальянский).",
82
- "pt": "(NoBl) Manipulação de traduções reescritas e traduções adicionadas para status de wallbox. O status traduzido obtém um ponto de dados extra com _Text como postfix. As traduções anteriores que não adicionaram um dp extra irão agora reverter para sua representação numérica e adicionar o _Text DP. as traduções agora são feitas via lib / state_trans.js para todos os 3 idiomas disponíveis no sistema senec (alemão, inglês, italiano).",
83
- "nl": "(NoBl) Verwerking van vertalingen herschreven en vertalingen toegevoegd voor wallbox-status. De vertaalde status krijgt een extra datapunt met _Text als postfix. Voormalige vertalingen die geen extra dp hebben toegevoegd, zullen nu terugkeren naar hun numerieke weergave en de _Text DP toevoegen. vertalingen worden nu afgehandeld via lib / state_trans.js voor alle 3 talen die beschikbaar zijn in het senec-systeem (duits, engels, italiaans).",
84
- "fr": "(NoBl) Réécriture de la gestion des traductions et ajout de traductions pour le statut de la wallbox. Le statut traduit obtient un point de données supplémentaire avec _Text comme suffixe. Les anciennes traductions qui n'ajoutaient pas de dp supplémentaire reviendront maintenant à leur représentation numérique et ajouteront le _Text DP. les traductions sont désormais gérées via lib / state_trans.js pour les 3 langues disponibles dans le système senec (allemand, anglais, italien).",
85
- "it": "(NoBl) Gestione delle traduzioni riscritta e traduzioni aggiunte per lo stato della wallbox. Lo stato tradotto ottiene un datapoint aggiuntivo con _Text come suffisso. Le precedenti traduzioni che non aggiungevano un dp extra torneranno ora alla loro rappresentazione numerica e aggiungeranno _Text DP. le traduzioni sono ora gestite tramite lib / state_trans.js per tutte e 3 le lingue disponibili nel sistema senec (tedesco, inglese, italiano).",
86
- "es": "(NoBl) Reescribió el manejo de traducciones y agregó traducciones para el estado de wallbox. El estado traducido obtiene un punto de datos adicional con _Text como sufijo. Las traducciones anteriores que no agregaron un dp adicional ahora volverán a su representación numérica y agregarán el _Text DP. las traducciones ahora se manejan a través de lib / state_trans.js para los 3 idiomas disponibles en el sistema senec (alemán, inglés, italiano).",
87
- "pl": "(NoBl) Przepisano obsługę tłumaczeń i dodano tłumaczenia dla statusu Wallbox. Status przetłumaczony otrzymuje dodatkowy punkt danych z _Textem jako postfiksem. Wcześniejsze tłumaczenia, które nie dodały dodatkowego dp, teraz powrócą do swojej reprezentacji numerycznej i dodają _Text DP. tłumaczenia są teraz obsługiwane przez lib / state_trans.js dla wszystkich 3 języków dostępnych w systemie senec (niemiecki, angielski, włoski).",
88
- "zh-cn": "(NoBl)重新编写了翻译处理并添加了关于墙盒状态的翻译。转换后的状态以_Text作为后缀获得一个额外的数据点。以前没有添加额外dp的翻译现在将恢复为其数字表示形式,并添加_Text DP。现在可以通过lib / state_trans.js处理senec系统中所有3种语言(德语,英语,意大利语)的翻译。"
89
89
  }
90
90
  },
91
91
  "docs": {
package/lib/state_attr.js CHANGED
@@ -2064,6 +2064,78 @@ const state_attr = {
2064
2064
  datetype: false,
2065
2065
  iptype: false,
2066
2066
  multiply: 1
2067
+ },
2068
+ 'BMS.CELL_BALANCE_STATUS': {
2069
+ name: 'CELL_BALANCE_STATUS',
2070
+ unit: '',
2071
+ booltype: false,
2072
+ datetype: false,
2073
+ iptype: false,
2074
+ multiply: 1
2075
+ },
2076
+ 'BMS.CELL_TEMPERATURES_MODULE_A': {
2077
+ name: 'CELL_TEMPERATURES_MODULE_A',
2078
+ unit: '°C',
2079
+ booltype: false,
2080
+ datetype: false,
2081
+ iptype: false,
2082
+ multiply: 1
2083
+ },
2084
+ 'BMS.CELL_TEMPERATURES_MODULE_B': {
2085
+ name: 'CELL_TEMPERATURES_MODULE_B',
2086
+ unit: '°C',
2087
+ booltype: false,
2088
+ datetype: false,
2089
+ iptype: false,
2090
+ multiply: 1
2091
+ },
2092
+ 'BMS.CELL_TEMPERATURES_MODULE_C': {
2093
+ name: 'CELL_TEMPERATURES_MODULE_C',
2094
+ unit: '°C',
2095
+ booltype: false,
2096
+ datetype: false,
2097
+ iptype: false,
2098
+ multiply: 1
2099
+ },
2100
+ 'BMS.CELL_TEMPERATURES_MODULE_D': {
2101
+ name: 'CELL_TEMPERATURES_MODULE_D',
2102
+ unit: '°C',
2103
+ booltype: false,
2104
+ datetype: false,
2105
+ iptype: false,
2106
+ multiply: 1
2107
+ },
2108
+ 'BMS.CELL_VOLTAGES_MODULE_A': {
2109
+ name: 'CELL_VOLTAGES_MODULE_A',
2110
+ unit: 'mV',
2111
+ booltype: false,
2112
+ datetype: false,
2113
+ iptype: false,
2114
+ multiply: 1
2115
+ },
2116
+ 'BMS.CELL_VOLTAGES_MODULE_B': {
2117
+ name: 'CELL_VOLTAGES_MODULE_V',
2118
+ unit: 'mV',
2119
+ booltype: false,
2120
+ datetype: false,
2121
+ iptype: false,
2122
+ multiply: 1
2123
+ },
2124
+ 'BMS.CELL_VOLTAGES_MODULE_C': {
2125
+ name: 'CELL_VOLTAGES_MODULE_C',
2126
+ unit: 'mV',
2127
+ booltype: false,
2128
+ datetype: false,
2129
+ iptype: false,
2130
+ multiply: 1
2131
+ },
2132
+ 'BMS.CELL_VOLTAGES_MODULE_D': {
2133
+ name: 'CELL_VOLTAGES_MODULE_D',
2134
+ unit: 'mV',
2135
+ booltype: false,
2136
+ datetype: false,
2137
+ iptype: false,
2138
+ multiply: 1
2067
2139
  },
2068
2140
  'BMS.BMS_READY_FLAG': {
2069
2141
  name: 'BMS Ready Flag',
@@ -2353,6 +2425,22 @@ const state_attr = {
2353
2425
  iptype: false,
2354
2426
  multiply: 1
2355
2427
  },
2428
+ 'BMS.BMS_STATUS': {
2429
+ name: 'BMS Status',
2430
+ unit: '',
2431
+ booltype: true,
2432
+ datetype: false,
2433
+ iptype: false,
2434
+ multiply: 1
2435
+ },
2436
+ 'BMS.BMS_STATUS_TIMESTAMP': {
2437
+ name: 'BMS Status Timestamp',
2438
+ unit: '',
2439
+ booltype: true,
2440
+ datetype: false,
2441
+ iptype: false,
2442
+ multiply: 1
2443
+ },
2356
2444
  'BMS.STATUS': {
2357
2445
  name: 'Status',
2358
2446
  unit: '',
@@ -2993,6 +3081,22 @@ const state_attr = {
2993
3081
  iptype: false,
2994
3082
  multiply: 1
2995
3083
  },
3084
+ 'ENERGY.GUI_BAT_DATA_MAX_CELL_VOLTAGE': {
3085
+ name: 'BAT_DATA_MAX_CELL_VOLTAGE',
3086
+ unit: 'mV',
3087
+ booltype: false,
3088
+ datetype: false,
3089
+ iptype: false,
3090
+ multiply: 1
3091
+ },
3092
+ 'ENERGY.GUI_BAT_DATA_MIN_CELL_VOLTAGE': {
3093
+ name: 'BAT_DATA_MIN_CELL_VOLTAGE',
3094
+ unit: 'mV',
3095
+ booltype: false,
3096
+ datetype: false,
3097
+ iptype: false,
3098
+ multiply: 1
3099
+ },
2996
3100
  'ENERGY.GUI_BAT_DATA_OA_CHARGING': {
2997
3101
  name: 'BAT_DATA_OA_CHARGING',
2998
3102
  unit: 'W',
@@ -3537,6 +3641,14 @@ const state_attr = {
3537
3641
  iptype: false,
3538
3642
  multiply: 1
3539
3643
  },
3644
+ 'ENERGY.SUPP_BATT_DIAG': {
3645
+ name: 'SUPP_BATT_DIAG',
3646
+ unit: '',
3647
+ booltype: true,
3648
+ datetype: false,
3649
+ iptype: false,
3650
+ multiply: 1
3651
+ },
3540
3652
  'ENERGY.TEST_CHARGE_CHRG_START': {
3541
3653
  name: 'TEST_CHARGE_CHRG_START',
3542
3654
  unit: '',
@@ -91,7 +91,13 @@ const state_trans = {
91
91
  88: 'NETZBETREIBER: ENTLADEN GESPERRT (88)',
92
92
  89: 'RESERVEKAPAZITÄT (89)',
93
93
  90: 'SELBSTTEST FEHLER (90)',
94
- 91: 'ISOLATIONSFEHLER (91)'
94
+ 91: 'ISOLATIONSFEHLER (91)',
95
+ 92: 'PV-MODUS (92)',
96
+ 93: 'FERNABSCHALTUNG NETZBETREIBER (93)',
97
+ 94: 'FEHLER DRM0 (94)',
98
+ 95: 'BATTERIEDIAGNOSE (95)',
99
+ 96: 'BATTERIE BALANCIERUNG (96)',
100
+ 97: 'SICHERHEITSENTLADUNG (97)'
95
101
  },
96
102
  'ENERGY_STAT_STATE.1': {
97
103
  0: 'INITIALSTATE',
@@ -185,7 +191,13 @@ const state_trans = {
185
191
  88: 'GRID OPERATOR: DISCHARGE PROHIBITED',
186
192
  89: 'SPARE CAPACITY',
187
193
  90: 'SELFTEST ERROR',
188
- 91: 'EARTH FAULT'
194
+ 91: 'EARTH FAULT',
195
+ 92: 'PV-MODE',
196
+ 93: 'REMOTE SHUTDOWN GRID OPERATOR',
197
+ 94: 'ERROR DRM0 (94)',
198
+ 95: 'BATTERY DIAGNOSIS (95)',
199
+ 96: 'BATTERY BALANCING (96)',
200
+ 97: 'SAFETY DISCHARGE (97)'
189
201
  },
190
202
  'ENERGY_STAT_STATE.2': {
191
203
  0: 'STATO INIZIALE',
@@ -279,7 +291,13 @@ const state_trans = {
279
291
  88: 'OPERATORE DI RETE: SCARICA BLOCCATA',
280
292
  89: 'CAPACITA INUTILIZZATA',
281
293
  90: 'ERRORE DI AUTOTEST',
282
- 91: 'FAGLIA TERRESTRE'
294
+ 91: 'FAGLIA TERRESTRE',
295
+ 92: 'MODALITÀ FOTOVOLTAICA',
296
+ 93: 'SPEGNIMENTO A DISTANZA OPERATORE DI RETE',
297
+ 94: 'ERRORE DRM0',
298
+ 95: 'DIAGNOSI DELLA BATTERIA (95)',
299
+ 96: 'BILANCIAMENTO DELLA BATTERIA (96)',
300
+ 97: 'SCARICO DI SICUREZZA (97)'
283
301
  },
284
302
  'FACTORY.BAT_TYPE.0' : {
285
303
  0: 'Studer Xtender (0)',
@@ -478,7 +496,13 @@ const state_trans = {
478
496
  88: 'NETZBETREIBER: ENTLADEN GESPERRT (88)',
479
497
  89: 'RESERVEKAPAZITÄT (89)',
480
498
  90: 'SELBSTTEST FEHLER (90)',
481
- 91: 'ISOLATIONSFEHLER (91)'
499
+ 91: 'ISOLATIONSFEHLER (91)',
500
+ 92: 'PV-MODUS (92)',
501
+ 93: 'FERNABSCHALTUNG NETZBETREIBER (93)',
502
+ 94: 'FEHLER DRM0 (94)',
503
+ 95: 'BATTERIEDIAGNOSE (95)',
504
+ 96: 'BATTERIE BALANCIERUNG (96)',
505
+ 97: 'SICHERHEITSENTLADUNG (97)'
482
506
  },
483
507
  'STATISTIC.CURRENT_STATE.1': {
484
508
  0: 'INITIALSTATE',
@@ -572,7 +596,13 @@ const state_trans = {
572
596
  88: 'GRID OPERATOR: DISCHARGE PROHIBITED',
573
597
  89: 'SPARE CAPACITY',
574
598
  90: 'SELFTEST ERROR',
575
- 91: 'EARTH FAULT'
599
+ 91: 'EARTH FAULT',
600
+ 92: 'PV-MODE',
601
+ 93: 'REMOTE SHUTDOWN GRID OPERATOR',
602
+ 94: 'ERROR DRM0',
603
+ 95: 'BATTERY DIAGNOSIS',
604
+ 96: 'BATTERY BALANCING',
605
+ 97: 'SAFETY DISCHARGE'
576
606
  },
577
607
  'STATISTIC.CURRENT_STATE.2': {
578
608
  0: 'STATO INIZIALE',
@@ -666,7 +696,13 @@ const state_trans = {
666
696
  88: 'OPERATORE DI RETE: SCARICA BLOCCATA',
667
697
  89: 'CAPACITA INUTILIZZATA',
668
698
  90: 'ERRORE DI AUTOTEST',
669
- 91: 'FAGLIA TERRESTRE'
699
+ 91: 'FAGLIA TERRESTRE',
700
+ 92: 'MODALITÀ FOTOVOLTAICA',
701
+ 93: 'SPEGNIMENTO A DISTANZA OPERATORE DI RETE',
702
+ 94: 'ERRORE DRM0',
703
+ 95: 'DIAGNOSI DELLA BATTERIA',
704
+ 96: 'BILANCIAMENTO DELLA BATTERIA',
705
+ 97: 'SCARICO DI SICUREZZA'
670
706
  },
671
707
  'WALLBOX.STATE.0' : {
672
708
  161: 'Warte auf E-Fahrzeug (161)',
package/main.js CHANGED
@@ -165,7 +165,8 @@ class Senec extends utils.Adapter {
165
165
 
166
166
  const url = 'http://' + this.config.senecip + '/lala.cgi';
167
167
  var form = '{';
168
- form += '"ENERGY":{"STAT_STATE":"","GUI_BAT_DATA_POWER":"","GUI_INVERTER_POWER":"","GUI_HOUSE_POW":"","GUI_GRID_POW":"","GUI_BAT_DATA_FUEL_CHARGE":"","GUI_CHARGING_INFO":"","GUI_BOOSTING_INFO":"","GUI_BAT_DATA_POWER":"","GUI_BAT_DATA_VOLTAGE":"","GUI_BAT_DATA_CURRENT":"","GUI_BAT_DATA_FUEL_CHARGE":"","GUI_BAT_DATA_OA_CHARGING":"","STAT_LIMITED_NET_SKEW":""}';
168
+ form += '"BMS":{"CELL_TEMPERATURES_MODULE_A":"","CELL_TEMPERATURES_MODULE_B":"","CELL_TEMPERATURES_MODULE_C":"","CELL_TEMPERATURES_MODULE_D":"","CELL_VOLTAGES_MODULE_A":"","CELL_VOLTAGES_MODULE_B":"","CELL_VOLTAGES_MODULE_C":"","CELL_VOLTAGES_MODULE_D":"","CURRENT":"","SOC":"","SYSTEM_SOC":"","TEMP_MAX":"","TEMP_MIN":"","VOLTAGE":""}';
169
+ form += ',"ENERGY":{"STAT_STATE":"","GUI_BAT_DATA_POWER":"","GUI_INVERTER_POWER":"","GUI_HOUSE_POW":"","GUI_GRID_POW":"","GUI_BAT_DATA_FUEL_CHARGE":"","GUI_CHARGING_INFO":"","GUI_BOOSTING_INFO":"","GUI_BAT_DATA_POWER":"","GUI_BAT_DATA_VOLTAGE":"","GUI_BAT_DATA_CURRENT":"","GUI_BAT_DATA_FUEL_CHARGE":"","GUI_BAT_DATA_OA_CHARGING":"","STAT_LIMITED_NET_SKEW":""}';
169
170
  form += ',"PV1":{"POWER_RATIO":"","MPP_POWER":""}';
170
171
  form += ',"PWR_UNIT":{"POWER_L1":"","POWER_L2":"","POWER_L3":""}';
171
172
  form += ',"PM1OBJ1":{"FREQ":"","U_AC":"","I_AC":"","P_AC":"","P_TOTAL":""}';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.senec",
3
- "version": "1.3.6",
3
+ "version": "1.3.7",
4
4
  "description": "Senec Home",
5
5
  "author": {
6
6
  "name": "NoBl",
@@ -24,29 +24,29 @@
24
24
  "url": "https://github.com/nobl/ioBroker.senec.git"
25
25
  },
26
26
  "dependencies": {
27
- "axios": "^0.25.0",
28
- "@iobroker/adapter-core": "^2.5.1"
27
+ "axios": "^0.27.2",
28
+ "@iobroker/adapter-core": "^2.6.0"
29
29
  },
30
30
  "devDependencies": {
31
- "@alcalzone/release-script": "^3.5.2",
32
- "@iobroker/testing": "^2.5.2",
33
- "@types/chai": "^4.3.0",
31
+ "@alcalzone/release-script": "^3.5.9",
32
+ "@iobroker/testing": "^3.0.2",
33
+ "@types/chai": "^4.3.1",
34
34
  "@types/chai-as-promised": "^7.1.4",
35
35
  "@types/gulp": "^4.0.9",
36
- "@types/mocha": "^9.0.0",
37
- "@types/node": "^17.0.21",
36
+ "@types/mocha": "^9.1.1",
37
+ "@types/node": "^17.0.38",
38
38
  "@types/proxyquire": "^1.3.28",
39
39
  "@types/sinon": "^10.0.6",
40
40
  "@types/sinon-chai": "^3.2.8",
41
41
  "chai": "^4.3.6",
42
42
  "chai-as-promised": "^7.1.1",
43
- "eslint": "^8.10.0",
43
+ "eslint": "^8.16.0",
44
44
  "gulp": "^4.0.2",
45
- "mocha": "^9.2.1",
45
+ "mocha": "^10.0.0",
46
46
  "proxyquire": "^2.1.3",
47
- "sinon": "^12.0.1",
47
+ "sinon": "^14.0.0",
48
48
  "sinon-chai": "^3.7.0",
49
- "typescript": "~4.6.2"
49
+ "typescript": "~4.7.2"
50
50
  },
51
51
  "main": "main.js",
52
52
  "files": [