iobroker.senec 1.6.8 → 1.6.10

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
@@ -16,8 +16,11 @@
16
16
  [Dokumentation DE](docs/de/README.md)<br>
17
17
  [Documentation EN](docs/en/README.md)
18
18
 
19
- Targeted at the Senec Home V2.1 System.
20
- Other systems should work, as long as they use lala.cgi. Although datapoints may differ (missing, additional, changed).
19
+ Initially targeted at the Senec Home V2.1 System.
20
+ In the Senec.Home system, only selected values can be changed by the adapter. Use of this functionality is at your own risk and must be activated manually in the configuration beforehand.
21
+ Senec currently also no longer provides a reliable way to influence peak shaving via the web interface. For this purpose, mein-senec.de must be used.
22
+ Whether other systems (e.g. V3) also work with it depends on whether they are also based on lala.cgi and provide the same JSON information.
23
+ Even with integration into the Senec.Clound it is not guaranteed that the data can still be retrieved via the web interface (for this please report your experiences).
21
24
 
22
25
  Systems that might work:
23
26
  * Senec Home 4.0 / Blei
@@ -40,6 +43,8 @@ Systems that might work:
40
43
  * OEM LG
41
44
  * Solarinvert Storage 10.0 / Blei
42
45
 
46
+ SENEC Systems that don't provide a local webinterface might be monitored by using the API functionality only. Please contact the developer if you have any input on this.
47
+
43
48
  ## Disclaimer
44
49
  **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.**
45
50
 
@@ -293,6 +298,14 @@ This channel contains values polled from SENEC App-API.
293
298
 
294
299
 
295
300
  ## Changelog
301
+ ### 1.6.10 (NoBl)
302
+ * Bugfix for AllTimeHistory (should work again)
303
+
304
+ ### 1.6.9 (NoBl)
305
+ * Added switch in config to enable active control of appliance (you will need activate this, if you want to control the appliance via the adapter)
306
+ * Improved handling of forced loading (please report if we need more appliance-states covered by this)
307
+ * Minor improvements and bugfixes
308
+
296
309
  ### 1.6.8 (NoBl)
297
310
  * Added switch control.ForceLoadBattery to start/stop charging battery. Use this to start/stop forced charging (like with dynamic power prices, ...).
298
311
 
@@ -335,24 +348,6 @@ This channel contains values polled from SENEC App-API.
335
348
  * ALL Wallbox datapoints have been removed from high priority polling. Only some users even have a SENEC wallbox. Please reconfigure via the new config dialogue.
336
349
  * Possible Candidate for stable. Please report any findings!
337
350
 
338
- ### 1.4.3 (NoBl)
339
- * Working on https connection. Please test and report!
340
-
341
- ### 1.4.2 (NoBl)
342
- * Added option to use https for connecting to SENEC (only activate if your appliance supports / requires this!)
343
-
344
- ### 1.4.1 (NoBl)
345
- * Fix: Autarky calculations are working again.
346
-
347
- ### 1.4.0 (NoBl)
348
- * Added object caching along with some minor code updates. Due to the amount of objects we deal with caching is about mandatory.
349
-
350
- ### 1.3.10 (NoBl)
351
- * Fixed wrong Unit for STATISTIC.LIVE_WB_ENERGY
352
- * Updated to json Admin UI
353
- * Technical Updates
354
- * Added more state_attr definitions
355
-
356
351
  ### [Former Updates](CHANGELOG_old.md)
357
352
 
358
353
  ## License
@@ -52,6 +52,40 @@
52
52
  "default": true,
53
53
  "newLine": true
54
54
  },
55
+ "control_active": {
56
+ "type": "checkbox",
57
+ "sm": 12,
58
+ "md": 6,
59
+ "lg": 6,
60
+ "label": {
61
+ "en": "Activate active appliance control",
62
+ "de": "Aktive Gerätesteuerung aktivieren",
63
+ "ru": "Активировать активный контроль качества",
64
+ "pt": "Ativar o controle ativo do aparelho",
65
+ "nl": "Activeer actieve controle",
66
+ "fr": "Activer le contrôle des appareils actifs",
67
+ "it": "Attivare il controllo degli apparecchi attivi",
68
+ "es": "Activar el control activo del dispositivo",
69
+ "pl": "Aktywnie działające urządzenia kontrolne",
70
+ "uk": "Активувати активний контроль додатків",
71
+ "zh-cn": "积极控制"
72
+ },
73
+ "help": {
74
+ "en": "lala.cgi connection reuquired! When activated it is possible to control SENEC appliance via 'control' datapoints. You accept any potential risks incurred by activating this option possibly including loss of warranty.",
75
+ "de": "lala.cgi Verbindung erforderlich! Mit Aktivierung ist es möglich, das SENEC Gerät über die 'control' Datenpunkte zu steuern. Sie akzeptieren potenzielle Risiken, die durch die Aktivierung dieser Option entstehen, einschließlich eines möglichen Garantieverlusts.",
76
+ "ru": "lala.cgi соединение reuquired! При активации можно контролировать приборы SENEC с помощью контрольных точек данных. Вы принимаете любые потенциальные риски, понесенные в действие этот вариант, возможно, включая потерю гарантии.",
77
+ "pt": "lala.cgi conexão reuquired! Quando ativado é possível controlar o aparelho SENEC através de datapoints de controle. Você aceita quaisquer riscos potenciais incorridos ativando esta opção possivelmente incluindo perda de garantia.",
78
+ "nl": "lala.cgi connectie vernieuwd! Als het geactiveerd is, is het mogelijk om SENEC toepassing te controleren via controlegegevens. Je accepteert potentiële risico's door deze optie te activeren inclusief het verlies van huiszoekingsbevel.",
79
+ "fr": "lala.cgi connexion reuquired! Lorsqu'il est activé, il est possible de contrôler l'appareil SENEC via des points de données de contrôle. Vous acceptez tout risque potentiel en activant cette option, y compris la perte de garantie.",
80
+ "it": "collegamento lala.cgi richiesto! Quando è attivato è possibile controllare l'apparecchio SENEC tramite i datapoint di controllo. Accetti eventuali rischi potenziali sostenuti attivando questa opzione eventualmente inclusa la perdita di garanzia.",
81
+ "es": "lala.cgi conexión reuquired! Cuando se activa es posible controlar el dispositivo SENEC a través de puntos de datos de control. Usted acepta cualquier riesgo potencial incurrido activando esta opción posiblemente incluyendo la pérdida de garantía.",
82
+ "pl": "lala.cgi connection reuquired (ang.). Po uruchomieniu może kontrolować urządzenia SENEC poprzez punkty kontroli danych. Przyjmujesz jakiekolwiek potencjalne ryzyko zanieczyszczeń poprzez aktywację tej możliwości, w tym utratę gwarancji.",
83
+ "uk": "lala.cgi підключення reuquired! При активації можна керувати за допомогою контрольних точок даних. Ви приймаєте будь-які потенційні ризики, що виникли внаслідок активації цього варіанту, можливо, включаючи втрату гарантії.",
84
+ "zh-cn": "lala.cgi的联系 询问! 在启动时,可通过控制数据点控制SENECliance。 你接受采取这种选择可能带来的任何潜在风险,包括丧失逮捕证。."
85
+ },
86
+ "default": false,
87
+ "newLine": false
88
+ },
55
89
  "senecip": {
56
90
  "type": "text",
57
91
  "sm": 12,
@@ -368,17 +402,17 @@
368
402
  "zh-cn": "高级Prio Polling BMS-Datapoint"
369
403
  },
370
404
  "help": {
371
- "en": "Auto-Added: 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",
372
- "de": "Auto-Added: 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",
373
- "ru": "Auto-Added: 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",
374
- "pt": "Auto-Adicionado: 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",
375
- "nl": "Auto-Added: 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",
376
- "fr": "Auto-Added: 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",
377
- "it": "Auto-Added: 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",
378
- "es": "Auto-Added: 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",
379
- "pl": "Auto-Added: 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",
380
- "uk": "Автододаток: 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",
381
- "zh-cn": "自动: 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"
405
+ "en": "Auto-Added: 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",
406
+ "de": "Auto-Added: 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",
407
+ "ru": "Auto-Added: 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",
408
+ "pt": "Auto-Adicionado: 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",
409
+ "nl": "Auto-Added: 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",
410
+ "fr": "Auto-Added: 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",
411
+ "it": "Auto-Added: 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",
412
+ "es": "Auto-Added: 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",
413
+ "pl": "Auto-Added: 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",
414
+ "uk": "Автододаток: 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",
415
+ "zh-cn": "自动: 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"
382
416
  },
383
417
  "default": "",
384
418
  "newLine": true
@@ -423,17 +457,17 @@
423
457
  "zh-cn": "高级Prio Polling ENERGY-Datapoint"
424
458
  },
425
459
  "help": {
426
- "en": "Auto-Added: 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",
427
- "de": "Auto-Added: 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",
428
- "ru": "Auto-Added: 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",
429
- "pt": "Auto-Adicionado: 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",
430
- "nl": "Auto-Added: 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",
431
- "fr": "Auto-Added: 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",
432
- "it": "Auto-Added: 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",
433
- "es": "Auto-Added: 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",
434
- "pl": "Auto-Added: 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",
435
- "uk": "Автододаток: 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",
436
- "zh-cn": "自动: 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"
460
+ "en": "Auto-Added: 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, SAFE_CHARGE_FORCE, SAFE_CHARGE_PROHIBIT, SAFE_CHARGE_RUNNING",
461
+ "de": "Auto-Added: 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, SAFE_CHARGE_FORCE, SAFE_CHARGE_PROHIBIT, SAFE_CHARGE_RUNNING",
462
+ "ru": "Auto-Added: 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, SAFE_CHARGE_FORCE, SAFE_CHARGE_PROHIBIT, SAFE_CHARGE_RUNNING",
463
+ "pt": "Auto-Adicionado: 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, SAFE_CHARGE_FORCE, SAFE_CHARGE_PROHIBIT, SAFE_CHARGE_RUNNING",
464
+ "nl": "Auto-Added: 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, SAFE_CHARGE_FORCE, SAFE_CHARGE_PROHIBIT, SAFE_CHARGE_RUNNING",
465
+ "fr": "Auto-Added: 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, SAFE_CHARGE_FORCE, SAFE_CHARGE_PROHIBIT, SAFE_CHARGE_RUNNING",
466
+ "it": "Auto-Added: 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, SAFE_CHARGE_FORCE, SAFE_CHARGE_PROHIBIT, SAFE_CHARGE_RUNNING",
467
+ "es": "Auto-Added: 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, SAFE_CHARGE_FORCE, SAFE_CHARGE_PROHIBIT, SAFE_CHARGE_RUNNING",
468
+ "pl": "Auto-Added: 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, SAFE_CHARGE_FORCE, SAFE_CHARGE_PROHIBIT, SAFE_CHARGE_RUNNING",
469
+ "uk": "Автододаток: 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, SAFE_CHARGE_FORCE, SAFE_CHARGE_PROHIBIT, SAFE_CHARGE_RUNNING",
470
+ "zh-cn": "自动: 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, SAFE_CHARGE_FORCE, SAFE_CHARGE_PROHIBIT, SAFE_CHARGE_RUNNING"
437
471
  },
438
472
  "default": "",
439
473
  "newLine": true
@@ -478,17 +512,17 @@
478
512
  "zh-cn": "高级Prio Polling PV1-Datapoint"
479
513
  },
480
514
  "help": {
481
- "en": "Auto-Added: POWER_RATIO,MPP_POWER",
482
- "de": "Auto-Added: POWER_RATIO,MPP_POWER",
483
- "ru": "Auto-Added: POWER_RATIO,MPP_POWER",
484
- "pt": "Auto-Adicionado: POWER_RATIO,MPP_POWER",
485
- "nl": "Auto-Added: POWER_RATIO,MPP_POWER",
486
- "fr": "Auto-Added: POWER_RATIO,MPP_POWER",
487
- "it": "Auto-Added: POWER_RATIO,MPP_POWER",
488
- "es": "Auto-Added: POWER_RATIO,MPP_POWER",
489
- "pl": "Auto-Added: POWER_RATIO,MPP_POWER",
490
- "uk": "Автододаток: POWER_RATIO,MPP_POWER",
491
- "zh-cn": "自动: POWER_RATIO,MPP_POWER"
515
+ "en": "Auto-Added: POWER_RATIO, MPP_POWER",
516
+ "de": "Auto-Added: POWER_RATIO, MPP_POWER",
517
+ "ru": "Auto-Added: POWER_RATIO, MPP_POWER",
518
+ "pt": "Auto-Adicionado: POWER_RATIO, MPP_POWER",
519
+ "nl": "Auto-Added: POWER_RATIO, MPP_POWER",
520
+ "fr": "Auto-Added: POWER_RATIO, MPP_POWER",
521
+ "it": "Auto-Added: POWER_RATIO, MPP_POWER",
522
+ "es": "Auto-Added: POWER_RATIO, MPP_POWER",
523
+ "pl": "Auto-Added: POWER_RATIO, MPP_POWER",
524
+ "uk": "Автододаток: POWER_RATIO, MPP_POWER",
525
+ "zh-cn": "自动: POWER_RATIO, MPP_POWER"
492
526
  },
493
527
  "default": "",
494
528
  "newLine": true
@@ -533,17 +567,17 @@
533
567
  "zh-cn": "高级Prio Polling PWR_UNIT-Datapoint"
534
568
  },
535
569
  "help": {
536
- "en": "Auto-Added: POWER_L1,POWER_L2,POWER_L3",
537
- "de": "Auto-Added: POWER_L1,POWER_L2,POWER_L3",
538
- "ru": "Auto-Added: POWER_L1,POWER_L2,POWER_L3",
539
- "pt": "Auto-Adicionado: POWER_L1,POWER_L2,POWER_L3",
540
- "nl": "Auto-Added: POWER_L1,POWER_L2,POWER_L3",
541
- "fr": "Auto-Added: POWER_L1,POWER_L2,POWER_L3",
542
- "it": "Auto-Added: POWER_L1,POWER_L2,POWER_L3",
543
- "es": "Auto-Added: POWER_L1,POWER_L2,POWER_L3",
544
- "pl": "Auto-Added: POWER_L1,POWER_L2,POWER_L3",
545
- "uk": "Автододаток: POWER_L1,POWER_L2,POWER_L3",
546
- "zh-cn": "自动: POWER_L1,POWER_L2,POWER_L3"
570
+ "en": "Auto-Added: POWER_L1, POWER_L2, POWER_L3",
571
+ "de": "Auto-Added: POWER_L1, POWER_L2, POWER_L3",
572
+ "ru": "Auto-Added: POWER_L1, POWER_L2, POWER_L3",
573
+ "pt": "Auto-Adicionado: POWER_L1, POWER_L2, POWER_L3",
574
+ "nl": "Auto-Added: POWER_L1, POWER_L2, POWER_L3",
575
+ "fr": "Auto-Added: POWER_L1, POWER_L2, POWER_L3",
576
+ "it": "Auto-Added: POWER_L1, POWER_L2, POWER_L3",
577
+ "es": "Auto-Added: POWER_L1, POWER_L2, POWER_L3",
578
+ "pl": "Auto-Added: POWER_L1, POWER_L2, POWER_L3",
579
+ "uk": "Автододаток: POWER_L1, POWER_L2, POWER_L3",
580
+ "zh-cn": "自动: POWER_L1, POWER_L2, POWER_L3"
547
581
  },
548
582
  "default": "",
549
583
  "newLine": true
@@ -588,17 +622,17 @@
588
622
  "zh-cn": "高级Prio Polling PM1OBJ1-Datapoint"
589
623
  },
590
624
  "help": {
591
- "en": "Auto-Added: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
592
- "de": "Auto-Added: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
593
- "ru": "Auto-Added: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
594
- "pt": "Auto-Adicionado: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
595
- "nl": "Auto-Added: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
596
- "fr": "Auto-Added: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
597
- "it": "Auto-Added: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
598
- "es": "Auto-Added: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
599
- "pl": "Auto-Added: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
600
- "uk": "Автододаток: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
601
- "zh-cn": "自动: FREQ,U_A,I_AC,P_AC,P_TOTALC"
625
+ "en": "Auto-Added: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
626
+ "de": "Auto-Added: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
627
+ "ru": "Auto-Added: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
628
+ "pt": "Auto-Adicionado: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
629
+ "nl": "Auto-Added: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
630
+ "fr": "Auto-Added: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
631
+ "it": "Auto-Added: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
632
+ "es": "Auto-Added: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
633
+ "pl": "Auto-Added: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
634
+ "uk": "Автододаток: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
635
+ "zh-cn": "自动: FREQ, U_AC, I_AC, P_AC, P_TOTAL"
602
636
  },
603
637
  "default": "",
604
638
  "newLine": true
@@ -643,17 +677,17 @@
643
677
  "zh-cn": "高级Prio Polling PM1OBJ2-Datapoint"
644
678
  },
645
679
  "help": {
646
- "en": "Auto-Added: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
647
- "de": "Auto-Added: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
648
- "ru": "Auto-Added: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
649
- "pt": "Auto-Adicionado: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
650
- "nl": "Auto-Added: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
651
- "fr": "Auto-Added: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
652
- "it": "Auto-Added: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
653
- "es": "Auto-Added: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
654
- "pl": "Auto-Added: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
655
- "uk": "Автододаток: FREQ,U_AC,I_AC,P_AC,P_TOTAL",
656
- "zh-cn": "自动: FREQ,U_A,I_AC,P_AC,P_TOTALC"
680
+ "en": "Auto-Added: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
681
+ "de": "Auto-Added: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
682
+ "ru": "Auto-Added: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
683
+ "pt": "Auto-Adicionado: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
684
+ "nl": "Auto-Added: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
685
+ "fr": "Auto-Added: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
686
+ "it": "Auto-Added: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
687
+ "es": "Auto-Added: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
688
+ "pl": "Auto-Added: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
689
+ "uk": "Автододаток: FREQ, U_AC, I_AC, P_AC, P_TOTAL",
690
+ "zh-cn": "自动: FREQ, U_AC, I_AC, P_AC, P_TOTAL"
657
691
  },
658
692
  "default": "",
659
693
  "newLine": true
package/io-package.json CHANGED
@@ -1,8 +1,34 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "senec",
4
- "version": "1.6.8",
4
+ "version": "1.6.10",
5
5
  "news": {
6
+ "1.6.10": {
7
+ "en": "Bugfix for AllTimeHistory",
8
+ "de": "Bugfix für AllTimeHistory",
9
+ "ru": "Bugfix для AllTimeИстория",
10
+ "pt": "Bugfix para AllTimeHistory",
11
+ "nl": "Bugfix voor AllTimeHistory",
12
+ "fr": "Bugfix pour AllTimeHistory",
13
+ "it": "Bugfix per AllTimeHistory",
14
+ "es": "Bugfix para AllTimeHistory",
15
+ "pl": "Bugfix for AllTimeHistory (ang.)",
16
+ "uk": "Виправлення помилок для AllTimeHistory",
17
+ "zh-cn": "九. 一切制度"
18
+ },
19
+ "1.6.9": {
20
+ "en": "Improved battery forced loading, added switch in config to allow active control of appliance.",
21
+ "de": "Manuelles Laden verbessert, zusätzlicher Schalter in Config, um aktive Steuerung des Gerätes zu erlauben.",
22
+ "ru": "Улучшенная батарея принудительная загрузка, добавил переключатель в config, чтобы позволить активный контроль прибора.",
23
+ "pt": "Carga forçada da bateria melhorada, interruptor adicionado em config para permitir o controle ativo do aparelho.",
24
+ "nl": "Geïmproviseerde batterij geforceerde lading, toegevoegd schakelaar in config om actieve controle over goedkeuring toe te staan.",
25
+ "fr": "Amélioration du chargement forcé de la batterie, commutateur ajouté dans la configuration pour permettre le contrôle actif de l'appareil.",
26
+ "it": "Caricamento forzato della batteria migliorato, interruttore aggiunto in configurazione per consentire il controllo attivo dell'apparecchio.",
27
+ "es": "Carga forzada de batería mejorada, interruptor añadido en configuración para permitir el control activo del aparato.",
28
+ "pl": "Poprawione baterie wymusiły obciążenie, dodano przełącznik w celu umożliwienia aktywnej kontroli urządzenia.",
29
+ "uk": "Покращений акумулятор примусового навантаження, доданий перемикач в настройку, щоб забезпечити активний контроль за приладом.",
30
+ "zh-cn": "改善强迫装载的电池,加起来,允许积极控制输电。."
31
+ },
6
32
  "1.6.8": {
7
33
  "en": "Added switch control.ForceLoadBattery to start/stop charging battery. Use this to start/stop forced charging (like with dynamic power prices, ...).",
8
34
  "de": "Schalter control.ForceLoadBattery hinzugefügt, um ein Laden des Speichers zu forcieren (analog zur Funktion im lokalen Interface). Nützlich in Verbindung mit dynamischen Stromtarifen, etc.",
@@ -119,45 +145,6 @@
119
145
  "pl": "Możesz teraz skonfigurować żądanie SENEC App API.",
120
146
  "uk": "Ви можете налаштувати запит на SENEC App API.",
121
147
  "zh-cn": "如今,你可以准备要求SENECSP。."
122
- },
123
- "1.5.2": {
124
- "en": "Added more datapoints. If you experience messages in log - feel free to add them yourself to state_attr on github (pull request)",
125
- "de": "Weitere Datenpunkte hinzugefügt. Du kennst weitere? Bitte PullRequest auf Github für state_attr.",
126
- "ru": "Добавили больше точек данных. Если вы испытываете сообщения в логе - не стесняйтесь добавлять их самостоятельно в state_attr на github (по запросу)",
127
- "pt": "Adicionado mais datapoints. Se você tiver mensagens no log - sinta-se livre para adicioná-las ao state_attr no github (requisito de envio)",
128
- "nl": "Voegde meer datapoints toe. Als je berichten in het logboek ervaart, voel je vrij om ze zelf toe te voegen aan github (pull verzoek)",
129
- "fr": "Ajout d'autres points de données. Si vous éprouvez des messages dans log - n'hésitez pas à les ajouter à state_attr sur github (demande de puissance)",
130
- "it": "Aggiunti altri datapoint. Se si verificano messaggi in log - sentitevi liberi di aggiungerli a state_attr su github (domanda di voto)",
131
- "es": "Se agregaron más puntos de datos. Si experimentas mensajes en el registro - no dudes en añadirlos a state_attr en github (pregunta completa)",
132
- "pl": "Dodać więcej danych. Jeśli znajdziesz wiadomości w dzienniku – czuje się wolny, aby dodać ich do stanu_attr na github (pułki)",
133
- "uk": "Додано більше точок даних. Якщо ви відчуваєте повідомлення в журналі - не соромтеся додати їх до стану_attr на github",
134
- "zh-cn": "增加数据点。 如果你在逻辑上有信息,就认为可以自由地补充你自己的国家:对Tithub(要求)表示怀疑。"
135
- },
136
- "1.5.1": {
137
- "en": "Added more datapoints. If you experience messages in log - feel free to add them yourself to state_attr on github (pull request)",
138
- "de": "Weitere Datenpunkte hinzugefügt. Du kennst weitere? Bitte PullRequest auf Github für state_attr.",
139
- "ru": "Добавили больше точек данных. Если вы испытываете сообщения в логе - не стесняйтесь добавлять их самостоятельно в state_attr на github (по запросу)",
140
- "pt": "Adicionado mais datapoints. Se você tiver mensagens no log - sinta-se livre para adicioná-las ao state_attr no github (requisito de envio)",
141
- "nl": "Voegde meer datapoints toe. Als je berichten in het logboek ervaart, voel je vrij om ze zelf toe te voegen aan github (pull verzoek)",
142
- "fr": "Ajout d'autres points de données. Si vous éprouvez des messages dans log - n'hésitez pas à les ajouter à state_attr sur github (demande de puissance)",
143
- "it": "Aggiunti altri datapoint. Se si verificano messaggi in log - sentitevi liberi di aggiungerli a state_attr su github (domanda di voto)",
144
- "es": "Se agregaron más puntos de datos. Si experimentas mensajes en el registro - no dudes en añadirlos a state_attr en github (pregunta completa)",
145
- "pl": "Dodać więcej danych. Jeśli znajdziesz wiadomości w dzienniku – czuje się wolny, aby dodać ich do stanu_attr na github (pułki)",
146
- "uk": "Додано більше точок даних. Якщо ви відчуваєте повідомлення в журналі - не соромтеся додати їх до стану_attr на github",
147
- "zh-cn": "增加数据点。 如果你在逻辑上有信息,就认为可以自由地补充你自己的国家:对Tithub(要求)表示怀疑。"
148
- },
149
- "1.5.0": {
150
- "en": "Added configuration section to add datapoints to high priority polling. Please be aware of the possible issues this could cause (if too many datapoints added) and use at your own risk. ALL Wallbox datapoints have been removed from high priority polling. Only some users even have a SENEC wallbox. Please reconfigure via the new config dialogue. Possible Candidate for stable. Please report any findings!",
151
- "de": "Konfigurationsabschnitt hinzugefügt, um zusätzliche Datenpunkte mit hoher Priorität abzufragen. Bitte beachten Sie die möglichen Probleme, die dies verursachen könnte (wenn zu viele Datenpunkte hinzugefügt wurden). Nutzung auf eigenes Risiko. Standardgemäß werden nun keine Wallbox-Datenpunkte mehr mit hoher Priorität abgefragt (zu wenige User haben eine SENEC Wallbox). Diese nun bitte über den neuen Configdialog konfigurieren. Möglicher Kandidat für stable - bitte alle Probleme reporten.",
152
- "ru": "Добавлен раздел конфигурации, чтобы добавить данные точки к высокому приоритетному опросу. Пожалуйста, имейте в виду возможные проблемы, которые могут вызвать (если слишком много добавленных данных) и использовать на вашем собственном риске. Все точки данных Wallbox были удалены из высококачественного опроса. Только некоторые пользователи даже имеют SENEC wallbox. Пожалуйста, обратите внимание на новый диалог.",
153
- "pt": "Seção de configuração adicionada para adicionar datapoints a votação de alta prioridade. Por favor, esteja ciente dos possíveis problemas que isso poderia causar (se muitos datapoints adicionados) e usar em seu próprio risco. TODOS os datapoints da Wallbox foram removidos da votação de alta prioridade. Apenas alguns usuários têm uma caixa de parede SENEC. Por favor, reconfigure através do novo diálogo de configuração.",
154
- "nl": "Toegevoegd configuration sectie om gegevens toe te voegen aan hoge prioriteitsvervuiling. Wees alsjeblieft op de hoogte van de mogelijke kwesties die dit kan veroorzaken... als te veel datapoints toegevoegd zijn en gebruik maken van je eigen risico. Alle Wallbox datapoints zijn verwijderd van hoge prioriteitsvervuiling. Alleen sommige gebruikers hebben zelfs een SENEC muurdoos. Herconfiguur via de nieuwe dialoog.",
155
- "fr": "Ajout de la section de configuration pour ajouter des points de données à un sondage prioritaire. S'il vous plaît être conscient des problèmes possibles qui pourraient causer (si trop de points de données ajoutés) et utiliser à vos propres risques. Tous les points de données de Wallbox ont été retirés du vote prioritaire. Seuls certains utilisateurs ont même une boîte murale SENEC. Veuillez reconfigurer via le nouveau dialogue de configuration.",
156
- "it": "Aggiunta sezione di configurazione per aggiungere datapoints ad inquinamento ad alta priorità. Si prega di essere consapevoli dei possibili problemi che questo potrebbe causare (se troppi punti di dati aggiunti) e utilizzare a proprio rischio. Tutti i datapoint di Wallbox sono stati rimossi dall'inquinamento ad alta priorità. Solo alcuni utenti hanno anche una parete SENEC. Si prega di riconfigurare tramite il nuovo dialogo di configurazione.",
157
- "es": "Se agregó la sección de configuración para añadir puntos de datos a encuestas de alta prioridad. Tenga en cuenta los posibles problemas que esto podría causar (si se añaden demasiados datos) y utilizar a su propio riesgo. Todos los puntos de datos de Wallbox han sido eliminados de encuestas de alta prioridad. Sólo algunos usuarios tienen una caja de pared SENEC. Por favor reconfigure a través del nuevo diálogo de configuración.",
158
- "pl": "Wtedy sekcja konfiguracji dodania punktów danych do wysokiego priorytetu. Poświadczenie o możliwych zagadnieniach może powodować (jeśli są zbyt wiele punktów danych) i wykorzystać swój własny ryzyko. ALL Wallbox datapoints zostały usunięte z wysokiego priorytetu. Tylko niektórzy użytkownicy mają nawet SENEC. Powraca się poprzez nowe dialogi.",
159
- "uk": "Додано розділ конфігурації, щоб додати точки даних до високого пріоритетного опитування. Будь ласка, будь ласка, будь ласка, будь ласка, зв'яжіться з нами та користуйтеся власним ризиком. Усі точки даних Wallbox видаляються з високого пріоритетного опитування. Тільки деякі користувачі навіть мають скриньку SENEC. Будь ласка, переадресація через новий діалог налаштування.",
160
- "zh-cn": "增加数据点以进行高度优先投票。 请了解可能出现的问题(如果数据点增加),并利用你自己的风险。 已从高优先投票中删除了所有Wil箱数据点。 只有一些用户甚至有SENEC墙箱。 请通过新的混凝土对话进行改组。."
161
148
  }
162
149
  },
163
150
  "docs": {
@@ -226,6 +213,7 @@
226
213
  },
227
214
  "native": {
228
215
  "lala_use": true,
216
+ "control_active": false,
229
217
  "senecip": "0.0.0.0",
230
218
  "interval": 10,
231
219
  "intervalLow": 60,
package/main.js CHANGED
@@ -22,8 +22,8 @@ const apiLoginUrl = apiUrl + "/login";
22
22
  const apiSystemsUrl = apiUrl + "/anlagen";
23
23
  const apiKnownSystems = []
24
24
 
25
- const batteryOn = '{"ENERGY":{"SAFE_CHARGE_FORCE":"u8_01"}}';
26
- const batteryOff = '{"ENERGY":{"SAFE_CHARGE_PROHIBIT":"u8_01"}}';
25
+ const batteryOn = '{"ENERGY":{"SAFE_CHARGE_FORCE":"u8_01","SAFE_CHARGE_PROHIBIT":"","SAFE_CHARGE_RUNNING":"","LI_STORAGE_MODE_START":"","LI_STORAGE_MODE_STOP":"","LI_STORAGE_MODE_RUNNING":"","STAT_STATE":""}}';
26
+ const batteryOff = '{"ENERGY":{"SAFE_CHARGE_FORCE":"","SAFE_CHARGE_PROHIBIT":"u8_01","SAFE_CHARGE_RUNNING":"","LI_STORAGE_MODE_START":"","LI_STORAGE_MODE_STOP":"","LI_STORAGE_MODE_RUNNING":"","STAT_STATE":""}}';
27
27
 
28
28
  let apiConnected = false;
29
29
  let lalaConnected = false;
@@ -94,7 +94,11 @@ class Senec extends utils.Adapter {
94
94
  } else {
95
95
  this.log.error("Neither local connection nor API connection configured. Please check config!");
96
96
  }
97
- await this.subscribeStatesAsync("control.*"); // subscribe on all state changes in control.
97
+ if (this.config.control_active) {
98
+ this.log.info("Active appliance control activated!");
99
+ await this.subscribeStatesAsync("control.*"); // subscribe on all state changes in control.
100
+ await this.subscribeStatesAsync("ENERGY.STAT_STATE");
101
+ }
98
102
  } catch (error) {
99
103
  this.log.error(error);
100
104
  this.setState('info.connection', false, true);
@@ -105,30 +109,47 @@ class Senec extends utils.Adapter {
105
109
  * @param {string} id
106
110
  * @param {ioBroker.State | null | undefined} state
107
111
  */
108
- onStateChange(id, state) {
112
+ async onStateChange(id, state) {
109
113
  if (state && !state.ack) {
110
114
  this.log.debug("State changed: " + id + " ( " + JSON.stringify(state) + " )");
111
115
 
112
- if (id === this.namespace + '.control.ForceLoadBattery' && lalaConnected) {
113
- const url = connectVia + this.config.senecip + '/lala.cgi';
114
- try {
115
- if (state.val) {
116
- this.log.info('Enable force battery charging ...');
117
- this.doGet(url, batteryOn, this, this.config.pollingTimeout, true);
118
- } else {
119
- this.log.info('Disable force battery charging ...');
120
- this.doGet(url, batteryOff, this, this.config.pollingTimeout, true);
116
+ if (this.config.control_active) { // All state-changes for .control.* need active config value
117
+ if (id === this.namespace + ".control.ForceLoadBattery" && lalaConnected) {
118
+ const url = connectVia + this.config.senecip + "/lala.cgi";
119
+ try {
120
+ if (state.val) {
121
+ this.log.info("Enable force battery charging ...");
122
+ this.evalPoll(JSON.parse(await this.doGet(url, batteryOn, this, this.config.pollingTimeout, true), reviverNumParse));
123
+ } else {
124
+ this.log.info("Disable force battery charging ...");
125
+ this.evalPoll(JSON.parse(await this.doGet(url, batteryOff, this, this.config.pollingTimeout, true), reviverNumParse));
126
+ }
127
+ } catch (error) {
128
+ this.log.error(error);
129
+ this.log.error("Failed to control: setting force battery charging mode to " + state.val);
130
+ return;
121
131
  }
122
- } catch (error) {
123
- this.log.error(error);
124
- this.log.error("Failed to control: setting force battery charging mode to " + state.val);
125
- return;
126
132
  }
127
133
  }
128
134
 
129
- // Verarbeitung bestätigen
130
- this.setStateAsync(id, { val: state.val, ack: true });
131
- }
135
+ this.setStateAsync(id, { val: state.val, ack: true }); // Verarbeitung bestätigen
136
+
137
+ } else if (state && id === this.namespace + ".ENERGY.STAT_STATE") { // states that do have state.ack already
138
+ this.log.debug("State changed: " + id + " ( " + JSON.stringify(state) + " )");
139
+ const forceLoad = await this.getStateAsync(this.namespace + ".control.ForceLoadBattery");
140
+ if (state.val == 8 || state.val == 9) {
141
+ if (state.val == 9) this.log.info("Battery forced loading completed (battery full).");
142
+ if (!forceLoad.val) {
143
+ this.log.info("Battery forced loading activated (from outside or just lag). Syncing control-state.");
144
+ this.setStateChangedAsync(this.namespace + ".control.ForceLoadBattery", { val: true, ack: true });
145
+ }
146
+ } else {
147
+ if (forceLoad.val) {
148
+ this.log.info("Battery forced loading deactivated (from outside or just lag). Syncing control-state.");
149
+ this.setStateChangedAsync(this.namespace + ".control.ForceLoadBattery", { val: false, ack: true });
150
+ }
151
+ }
152
+ }
132
153
  }
133
154
 
134
155
  /**
@@ -165,7 +186,7 @@ class Senec extends utils.Adapter {
165
186
  if (this.config.disclaimer && this.config.highPrio_BMS_active) this.addUserDps(value, objectsSet, this.config.highPrio_BMS);
166
187
  break;
167
188
  case "ENERGY":
168
- ["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"].forEach(item => objectsSet.add(item));
189
+ ["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","SAFE_CHARGE_FORCE","SAFE_CHARGE_PROHIBIT","SAFE_CHARGE_RUNNING"].forEach(item => objectsSet.add(item));
169
190
  if (this.config.disclaimer && this.config.highPrio_ENERGY_active) this.addUserDps(value, objectsSet, this.config.highPrio_ENERGY);
170
191
  break;
171
192
  case "PV1":
@@ -526,8 +547,10 @@ class Senec extends utils.Adapter {
526
547
  if (period == api_trans["THIS_YEAR"].dp) await this.insertAllTimeHistory(system, key, new Date(obj.aggregation.startzeitpunkt).getFullYear(), Number((value.wert).toFixed(0)), value.einheit);
527
548
  }
528
549
  }
529
- const autarky = Number((((obj.aggregation.stromerzeugung.wert - obj.aggregation.netzeinspeisung.wert - obj.aggregation.speicherbeladung.wert + obj.aggregation.speicherentnahme.wert) / obj.aggregation.stromverbrauch.wert) * 100).toFixed(2));
530
- await this.doState(pfx + "Autarkie", autarky, "", "%", false);
550
+ if (obj.aggregation.stromverbrauch.wert != 0) {
551
+ const autarky = Number((((obj.aggregation.stromerzeugung.wert - obj.aggregation.netzeinspeisung.wert - obj.aggregation.speicherbeladung.wert + obj.aggregation.speicherentnahme.wert) / obj.aggregation.stromverbrauch.wert) * 100).toFixed(2));
552
+ await this.doState(pfx + "Autarkie", autarky, "", "%", false);
553
+ }
531
554
  await this.updateAllTimeHistory(system);
532
555
  }
533
556
 
@@ -535,6 +558,8 @@ class Senec extends utils.Adapter {
535
558
  * inserts a value for a given key and year into AllTimeValueStore
536
559
  */
537
560
  async insertAllTimeHistory(system, key, year, value, einheit) {
561
+ if (key === '__proto__' || key === 'constructor' || key === 'prototype') return; // Security fix
562
+ if (isNaN(year) || isNaN(value)) return; // Security fix
538
563
  const pfx = "_api.Anlagen." + system + ".Statistik.AllTime.";
539
564
  const valueStore = pfx + "valueStore";
540
565
  const statsObj = await this.getStateAsync(valueStore);
@@ -572,8 +597,10 @@ class Senec extends utils.Adapter {
572
597
  await this.doState(pfx + key, Number(sum.toFixed(0)), "", einheit, false);
573
598
  }
574
599
  }
575
- const autarky = Number((((sums.stromerzeugung - sums.netzeinspeisung - sums.speicherbeladung + sums.speicherentnahme) / sums.stromverbrauch) * 100).toFixed(0));
576
- await this.doState(pfx + "Autarkie", autarky, "", "%", false);
600
+ if (sums.stromverbrauch != 0) {
601
+ const autarky = Number((((sums.stromerzeugung - sums.netzeinspeisung - sums.speicherbeladung + sums.speicherentnahme) / sums.stromverbrauch) * 100).toFixed(0));
602
+ await this.doState(pfx + "Autarkie", autarky, "", "%", false);
603
+ }
577
604
  }
578
605
 
579
606
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.senec",
3
- "version": "1.6.8",
3
+ "version": "1.6.10",
4
4
  "description": "Senec Home",
5
5
  "author": {
6
6
  "name": "NoBl",