diff --git a/README.md b/README.md index ae920d9..17d69d9 100644 --- a/README.md +++ b/README.md @@ -337,6 +337,18 @@ The RSCP protocol groups *Tags* (i.e. states or values) into *Namespaces* (i.e. number End minute of idle period (2). + + EP + PARAM_EP_RESERVE + number + Target reserve for emergency power; percentage of the battery capacity. Correlates to PARAM_EP_RESERVE_ENERGY. + + + EP + PARAM_EP_RESERVE_ENERGY + number + Target reserve for emergency power; energy in [Wh]. Correlates to PARAM_EP_RESERVE. + DB (3) TIME_START @@ -450,10 +462,14 @@ Here is a sample script for charge limit control - it is not meant for as-is usa ## Changelog -### 1.2.5 - UNDER DEVELOPMENT - +### 1.2.5-dev - UNDER DEVELOPMENT + (git-kick) -* Removed "dangerous" setter tags, instead of just switching them off - [Issue #196](https://github.com/git-kick/ioBroker.e3dc-rscp/issues/196) +* Added setter function for PARAM_EP_RESERVE and PARAM_EP_RESERVE_ENERGY in EP namespace - [Issue #199](https://github.com/git-kick/ioBroker.e3dc-rscp/issues/199) + * Renamed PARAM_EP_RESERVE_W to PARAM_EP_RESERVE_ENERGY because it is a [Wh] energy variable. + * Renamed PARAM_EP_RESERVE_MAX_W to PARAM_EP_RESERVE_MAX_ENERGY for the same reason. + +* Removed "dangerous" setter tags introduced with v1.2.4 , instead of just switching them off - [Issue #196](https://github.com/git-kick/ioBroker.e3dc-rscp/issues/196) ### 1.2.4 diff --git a/admin/i18n/de/translations.json b/admin/i18n/de/translations.json index 9ce54f3..2fb29af 100644 --- a/admin/i18n/de/translations.json +++ b/admin/i18n/de/translations.json @@ -199,9 +199,9 @@ "OVERRIDE_AVAILABLE_POWER": "Übersteuern der verfügbaren Leistung", "PARAM_1": "Parameter 1", "PARAM_2": "Parameter 2", - "PARAM_EP_RESERVE": "Notstrom-Reserve", - "PARAM_EP_RESERVE_MAX_W": "Notstrom-Leistung maximal", - "PARAM_EP_RESERVE_W": "Notstrom-Leistung", + "PARAM_EP_RESERVE": "Notstromreserve, Soll prozentual", + "PARAM_EP_RESERVE_ENERGY": "Notstromreserve, Soll-Energie", + "PARAM_EP_RESERVE_MAX_ENERGY": "Notstromreserve, maximale Energie", "PARAM_LAST_SOC": "Letzter SOC", "PARAM_NO_REMAINING_RETRY": "Keine verbleibende Wiederholung", "PARAM_TIME_LAST_EMPTY": "Batterie zuletzt leer", diff --git a/admin/i18n/en/translations.json b/admin/i18n/en/translations.json index 77c592e..12ec184 100644 --- a/admin/i18n/en/translations.json +++ b/admin/i18n/en/translations.json @@ -199,9 +199,9 @@ "OVERRIDE_AVAILABLE_POWER": "Override available power", "PARAM_1": "Parameter 1", "PARAM_2": "Parameter 2", - "PARAM_EP_RESERVE": "Emergency power reserve", - "PARAM_EP_RESERVE_MAX_W": "Emergency power maximum", - "PARAM_EP_RESERVE_W": "Emergency power", + "PARAM_EP_RESERVE": "Emergency energy reserve, target percentage", + "PARAM_EP_RESERVE_ENERGY": "Emergency energy reserve, target energy", + "PARAM_EP_RESERVE_MAX_ENERGY": "Emergency energy reserve, maximum energy", "PARAM_LAST_SOC": "Last SOC", "PARAM_NO_REMAINING_RETRY": "No remaining retry", "PARAM_TIME_LAST_EMPTY": "Latest battery empty timestamp", diff --git a/admin/i18n/es/translations.json b/admin/i18n/es/translations.json index 9ca9d3f..e3238df 100644 --- a/admin/i18n/es/translations.json +++ b/admin/i18n/es/translations.json @@ -200,8 +200,8 @@ "PARAM_1": "Parámetro 1", "PARAM_2": "Parámetro 2", "PARAM_EP_RESERVE": "Reserva de marcha de emergencia [Wh]", - "PARAM_EP_RESERVE_MAX_W": "Potencia máxima de emergencia [W]", - "PARAM_EP_RESERVE_W": "Energía de emergencia [W]", + "PARAM_EP_RESERVE_ENERGY": "Reserva de energía de emergencia, energía objetivo", + "PARAM_EP_RESERVE_MAX_ENERGY": "Reserva de energía de emergencia, energía máxima.", "PARAM_LAST_SOC": "Último SOC", "PARAM_NO_REMAINING_RETRY": "No queda ningún reintento", "PARAM_TIME_LAST_EMPTY": "Última marca de tiempo vacía de la batería", diff --git a/admin/i18n/fr/translations.json b/admin/i18n/fr/translations.json index 41263da..c3ec720 100644 --- a/admin/i18n/fr/translations.json +++ b/admin/i18n/fr/translations.json @@ -200,8 +200,8 @@ "PARAM_1": "Paramètre 1", "PARAM_2": "Paramètre 2", "PARAM_EP_RESERVE": "Réserve de marche de secours [Wh]", - "PARAM_EP_RESERVE_MAX_W": "Puissance de secours maximale [W]", - "PARAM_EP_RESERVE_W": "Alimentation de secours [W]", + "PARAM_EP_RESERVE_ENERGY": "Réserve d'énergie de secours, énergie cible", + "PARAM_EP_RESERVE_MAX_ENERGY": "Réserve d'énergie de secours, énergie maximale", "PARAM_LAST_SOC": "Dernier SOC", "PARAM_NO_REMAINING_RETRY": "Aucune nouvelle tentative restante", "PARAM_TIME_LAST_EMPTY": "Dernier horodatage vide de la batterie", diff --git a/admin/i18n/it/translations.json b/admin/i18n/it/translations.json index 726c038..c5287bc 100644 --- a/admin/i18n/it/translations.json +++ b/admin/i18n/it/translations.json @@ -200,8 +200,8 @@ "PARAM_1": "Parametro 1", "PARAM_2": "Parametro 2", "PARAM_EP_RESERVE": "Riserva di carica di emergenza [Wh]", - "PARAM_EP_RESERVE_MAX_W": "Potenza di emergenza massima [W]", - "PARAM_EP_RESERVE_W": "Potenza di emergenza [W]", + "PARAM_EP_RESERVE_ENERGY": "Riserva energetica di emergenza, energia target", + "PARAM_EP_RESERVE_MAX_ENERGY": "Riserva energetica di emergenza, massima energia", "PARAM_LAST_SOC": "Ultimo SOC", "PARAM_NO_REMAINING_RETRY": "Nessun tentativo rimanente", "PARAM_TIME_LAST_EMPTY": "Ultima batteria vuota timestamp", diff --git a/admin/i18n/nl/translations.json b/admin/i18n/nl/translations.json index ce35400..6c6d893 100644 --- a/admin/i18n/nl/translations.json +++ b/admin/i18n/nl/translations.json @@ -200,8 +200,8 @@ "PARAM_1": "Parameter 1", "PARAM_2": "Parameter 2", "PARAM_EP_RESERVE": "Nood gangreserve [Wh]", - "PARAM_EP_RESERVE_MAX_W": "Maximaal noodvermogen [W]", - "PARAM_EP_RESERVE_W": "Noodvermogen [W]", + "PARAM_EP_RESERVE_ENERGY": "Noodenergiereserve, doelenergie", + "PARAM_EP_RESERVE_MAX_ENERGY": "Noodenergiereserve, maximale energie", "PARAM_LAST_SOC": "Laatste SOC", "PARAM_NO_REMAINING_RETRY": "Geen resterende nieuwe poging", "PARAM_TIME_LAST_EMPTY": "Laatste batterij lege tijdstempel", diff --git a/admin/i18n/pl/translations.json b/admin/i18n/pl/translations.json index a6871d7..7bd8ced 100644 --- a/admin/i18n/pl/translations.json +++ b/admin/i18n/pl/translations.json @@ -200,8 +200,8 @@ "PARAM_1": "Parametr 1", "PARAM_2": "Parametr 2", "PARAM_EP_RESERVE": "Rezerwa mocy awaryjnej [Wh]", - "PARAM_EP_RESERVE_MAX_W": "Moc maksymalna awaryjna [W]", - "PARAM_EP_RESERVE_W": "Moc awaryjna [W]", + "PARAM_EP_RESERVE_ENERGY": "Rezerwa energii awaryjnej, energia docelowa", + "PARAM_EP_RESERVE_MAX_ENERGY": "Awaryjna rezerwa energii, maksymalna energia", "PARAM_LAST_SOC": "Ostatni SOC", "PARAM_NO_REMAINING_RETRY": "Brak pozostałych prób", "PARAM_TIME_LAST_EMPTY": "Najnowszy znacznik czasu opróżnienia baterii", diff --git a/admin/i18n/pt/translations.json b/admin/i18n/pt/translations.json index c9a0909..d1334a1 100644 --- a/admin/i18n/pt/translations.json +++ b/admin/i18n/pt/translations.json @@ -200,8 +200,8 @@ "PARAM_1": "Parâmetro 1", "PARAM_2": "Parâmetro 2", "PARAM_EP_RESERVE": "Reserva de energia de emergência [Wh]", - "PARAM_EP_RESERVE_MAX_W": "Potência máxima de emergência [W]", - "PARAM_EP_RESERVE_W": "Energia de emergência [W]", + "PARAM_EP_RESERVE_ENERGY": "Reserva de energia de emergência, energia alvo", + "PARAM_EP_RESERVE_MAX_ENERGY": "Reserva de energia de emergência, energia máxima", "PARAM_LAST_SOC": "Último SOC", "PARAM_NO_REMAINING_RETRY": "Nenhuma nova tentativa restante", "PARAM_TIME_LAST_EMPTY": "Carimbo de data / hora vazio da bateria mais recente", diff --git a/admin/i18n/ru/translations.json b/admin/i18n/ru/translations.json index 7906b9f..20e6b11 100644 --- a/admin/i18n/ru/translations.json +++ b/admin/i18n/ru/translations.json @@ -200,8 +200,8 @@ "PARAM_1": "Параметр 1", "PARAM_2": "Параметр 2", "PARAM_EP_RESERVE": "Аварийный запас мощности [Втч]", - "PARAM_EP_RESERVE_MAX_W": "Максимальная аварийная мощность [Вт]", - "PARAM_EP_RESERVE_W": "Аварийная мощность [Вт]", + "PARAM_EP_RESERVE_ENERGY": "Аварийный запас энергии, целевая энергия", + "PARAM_EP_RESERVE_MAX_ENERGY": "Аварийный запас энергии, максимальная энергия", "PARAM_LAST_SOC": "Последний СОК", "PARAM_NO_REMAINING_RETRY": "Нет оставшихся повторов", "PARAM_TIME_LAST_EMPTY": "Последняя временная метка разряда батареи", diff --git a/admin/i18n/uk/translations.json b/admin/i18n/uk/translations.json index aaf9557..1f6a84d 100644 --- a/admin/i18n/uk/translations.json +++ b/admin/i18n/uk/translations.json @@ -200,8 +200,8 @@ "PARAM_1": "Параметр 1", "PARAM_2": "Параметр 2", "PARAM_EP_RESERVE": "Аварійний резерв живлення", - "PARAM_EP_RESERVE_MAX_W": "Максимальна аварійна потужність", - "PARAM_EP_RESERVE_W": "Аварійне живлення", + "PARAM_EP_RESERVE_ENERGY": "Аварійний запас енергії, цільова енергія", + "PARAM_EP_RESERVE_MAX_ENERGY": "Аварійний запас енергії, максимальна енергія", "PARAM_LAST_SOC": "Останній SOC", "PARAM_NO_REMAINING_RETRY": "Немає повторних спроб", "PARAM_TIME_LAST_EMPTY": "Позначка часу останнього розрядження батареї", diff --git a/admin/i18n/zh-cn/translations.json b/admin/i18n/zh-cn/translations.json index 81a8efd..f5953b8 100644 --- a/admin/i18n/zh-cn/translations.json +++ b/admin/i18n/zh-cn/translations.json @@ -200,8 +200,8 @@ "PARAM_1": "参数1", "PARAM_2": "参数2", "PARAM_EP_RESERVE": "紧急电源储备[Wh]", - "PARAM_EP_RESERVE_MAX_W": "紧急功率最大[W]", - "PARAM_EP_RESERVE_W": "应急电源[W]", + "PARAM_EP_RESERVE_ENERGY": "应急能量储备、目标能量", + "PARAM_EP_RESERVE_MAX_ENERGY": "应急能量储备,最大能量", "PARAM_LAST_SOC": "最后一个SOC", "PARAM_NO_REMAINING_RETRY": "没有剩余重试次数", "PARAM_TIME_LAST_EMPTY": "最新电池空时间戳", diff --git a/admin/words.js b/admin/words.js index ccbd84d..7bc837a 100644 --- a/admin/words.js +++ b/admin/words.js @@ -208,9 +208,9 @@ systemDictionary = { "OVERRIDE_AVAILABLE_POWER": { "en": "Override available power", "de": "Übersteuern der verfügbaren Leistung", "ru": "Переопределить доступную мощность", "pt": "Substituir a energia disponível", "nl": "Overschrijf het beschikbare vermogen", "fr": "Remplacer la puissance disponible", "it": "Ignora la potenza disponibile", "es": "Anular la energía disponible", "pl": "Zastąp dostępną moc", "uk": "Перевизначити доступну потужність", "zh-cn": "覆盖可用电源"}, "PARAM_1": { "en": "Parameter 1", "de": "Parameter 1", "ru": "Параметр 1", "pt": "Parâmetro 1", "nl": "Parameter 1", "fr": "Paramètre 1", "it": "Parametro 1", "es": "Parámetro 1", "pl": "Parametr 1", "uk": "Параметр 1", "zh-cn": "参数1"}, "PARAM_2": { "en": "Parameter 2", "de": "Parameter 2", "ru": "Параметр 2", "pt": "Parâmetro 2", "nl": "Parameter 2", "fr": "Paramètre 2", "it": "Parametro 2", "es": "Parámetro 2", "pl": "Parametr 2", "uk": "Параметр 2", "zh-cn": "参数2"}, - "PARAM_EP_RESERVE": { "en": "Emergency power reserve", "de": "Notstrom-Reserve", "ru": "Аварийный запас мощности [Втч]", "pt": "Reserva de energia de emergência [Wh]", "nl": "Nood gangreserve [Wh]", "fr": "Réserve de marche de secours [Wh]", "it": "Riserva di carica di emergenza [Wh]", "es": "Reserva de marcha de emergencia [Wh]", "pl": "Rezerwa mocy awaryjnej [Wh]", "uk": "Аварійний резерв живлення", "zh-cn": "紧急电源储备[Wh]"}, - "PARAM_EP_RESERVE_MAX_W": { "en": "Emergency power maximum", "de": "Notstrom-Leistung maximal", "ru": "Максимальная аварийная мощность [Вт]", "pt": "Potência máxima de emergência [W]", "nl": "Maximaal noodvermogen [W]", "fr": "Puissance de secours maximale [W]", "it": "Potenza di emergenza massima [W]", "es": "Potencia máxima de emergencia [W]", "pl": "Moc maksymalna awaryjna [W]", "uk": "Максимальна аварійна потужність", "zh-cn": "紧急功率最大[W]"}, - "PARAM_EP_RESERVE_W": { "en": "Emergency power", "de": "Notstrom-Leistung", "ru": "Аварийная мощность [Вт]", "pt": "Energia de emergência [W]", "nl": "Noodvermogen [W]", "fr": "Alimentation de secours [W]", "it": "Potenza di emergenza [W]", "es": "Energía de emergencia [W]", "pl": "Moc awaryjna [W]", "uk": "Аварійне живлення", "zh-cn": "应急电源[W]"}, + "PARAM_EP_RESERVE": { "en": "Emergency energy reserve, target percentage", "de": "Notstromreserve, Soll prozentual", "ru": "Аварийный запас мощности [Втч]", "pt": "Reserva de energia de emergência [Wh]", "nl": "Nood gangreserve [Wh]", "fr": "Réserve de marche de secours [Wh]", "it": "Riserva di carica di emergenza [Wh]", "es": "Reserva de marcha de emergencia [Wh]", "pl": "Rezerwa mocy awaryjnej [Wh]", "uk": "Аварійний резерв живлення", "zh-cn": "紧急电源储备[Wh]"}, + "PARAM_EP_RESERVE_ENERGY": { "en": "Emergency energy reserve, target energy", "de": "Notstromreserve, Soll-Energie", "ru": "Аварийный запас энергии, целевая энергия", "pt": "Reserva de energia de emergência, energia alvo", "nl": "Noodenergiereserve, doelenergie", "fr": "Réserve d'énergie de secours, énergie cible", "it": "Riserva energetica di emergenza, energia target", "es": "Reserva de energía de emergencia, energía objetivo", "pl": "Rezerwa energii awaryjnej, energia docelowa", "uk": "Аварійний запас енергії, цільова енергія", "zh-cn": "应急能量储备、目标能量"}, + "PARAM_EP_RESERVE_MAX_ENERGY": { "en": "Emergency energy reserve, maximum energy", "de": "Notstromreserve, maximale Energie", "ru": "Аварийный запас энергии, максимальная энергия", "pt": "Reserva de energia de emergência, energia máxima", "nl": "Noodenergiereserve, maximale energie", "fr": "Réserve d'énergie de secours, énergie maximale", "it": "Riserva energetica di emergenza, massima energia", "es": "Reserva de energía de emergencia, energía máxima.", "pl": "Awaryjna rezerwa energii, maksymalna energia", "uk": "Аварійний запас енергії, максимальна енергія", "zh-cn": "应急能量储备,最大能量"}, "PARAM_LAST_SOC": { "en": "Last SOC", "de": "Letzter SOC", "ru": "Последний СОК", "pt": "Último SOC", "nl": "Laatste SOC", "fr": "Dernier SOC", "it": "Ultimo SOC", "es": "Último SOC", "pl": "Ostatni SOC", "uk": "Останній SOC", "zh-cn": "最后一个SOC"}, "PARAM_NO_REMAINING_RETRY": { "en": "No remaining retry", "de": "Keine verbleibende Wiederholung", "ru": "Нет оставшихся повторов", "pt": "Nenhuma nova tentativa restante", "nl": "Geen resterende nieuwe poging", "fr": "Aucune nouvelle tentative restante", "it": "Nessun tentativo rimanente", "es": "No queda ningún reintento", "pl": "Brak pozostałych prób", "uk": "Немає повторних спроб", "zh-cn": "没有剩余重试次数"}, "PARAM_TIME_LAST_EMPTY": { "en": "Latest battery empty timestamp", "de": "Batterie zuletzt leer", "ru": "Последняя временная метка разряда батареи", "pt": "Carimbo de data / hora vazio da bateria mais recente", "nl": "Laatste batterij lege tijdstempel", "fr": "Dernier horodatage vide de la batterie", "it": "Ultima batteria vuota timestamp", "es": "Última marca de tiempo vacía de la batería", "pl": "Najnowszy znacznik czasu opróżnienia baterii", "uk": "Позначка часу останнього розрядження батареї", "zh-cn": "最新电池空时间戳"}, diff --git a/io-package.json b/io-package.json index 804b4a7..2cebe8b 100644 --- a/io-package.json +++ b/io-package.json @@ -1,9 +1,9 @@ { "common": { "name": "e3dc-rscp", - "version": "1.2.5", + "version": "1.2.5-dev", "news": { - "1.2.5": { + "1.2.5-dev": { "en": "Under development", "de": "In Entwicklung", "ru": "В разработке", diff --git a/lib/RscpTags.json b/lib/RscpTags.json index 58ffdfb..53b0de1 100644 --- a/lib/RscpTags.json +++ b/lib/RscpTags.json @@ -4738,11 +4738,11 @@ "DataTagHex": "0x000010", "NameSpace": "EP", "NameSpaceHex": "0x0B", - "DataType": "Float32", - "DataTypeHex": "0x0A", + "DataType": "Container", + "DataTypeHex": "0x0E", "UserLevel": "NO_AUTH", "Unit": "", - "Description": "imported from nischram/E3dcGui" + "Description": "Container for setting PARAM_ values; imported from nischram/E3dcGui" }, "453246976": { "TagHex": "0x1B040000", @@ -4781,7 +4781,7 @@ "DataTypeHex": "0x0A", "UserLevel": "NO_AUTH", "Unit": "%", - "Description": "imported from nischram/E3dcGui" + "Description": "target battery SOC kept as EP reserve (correlates with PARAM_EP_RESERVE_ENERGY); imported from nischram/E3dcGui" }, "453247012": { "TagHex": "0x1B040024", @@ -4824,29 +4824,29 @@ }, "453247027": { "TagHex": "0x1B040033", - "TagName": "PARAM_EP_RESERVE_W", - "TagNameGlobal": "TAG_EP_PARAM_EP_RESERVE_W", + "TagName": "PARAM_EP_RESERVE_ENERGY", + "TagNameGlobal": "TAG_EP_PARAM_EP_RESERVE_ENERGY", "DataTagHex": "0x040033", "NameSpace": "EP", "NameSpaceHex": "0x0B", "DataType": "Float32", "DataTypeHex": "0x0A", "UserLevel": "NO_AUTH", - "Unit": "W", - "Description": "imported from nischram/E3dcGui" + "Unit": "Wh", + "Description": "target energy to be kept as EP reserve (correlates with PARAM_EP_RESERVE) (renamed from PARAM_EP_RESERVE_W); imported from nischram/E3dcGui" }, "453247028": { "TagHex": "0x1B040034", - "TagName": "PARAM_EP_RESERVE_MAX_W", - "TagNameGlobal": "TAG_EP_PARAM_EP_RESERVE_MAX_W", + "TagName": "PARAM_EP_RESERVE_MAX_ENERGY", + "TagNameGlobal": "TAG_EP_PARAM_EP_RESERVE_MAX_ENERGY", "DataTagHex": "0x040034", "NameSpace": "EP", "NameSpaceHex": "0x0B", "DataType": "Float32", "DataTypeHex": "0x0A", "UserLevel": "NO_AUTH", - "Unit": "W", - "Description": "imported from nischram/E3dcGui" + "Unit": "Wh", + "Description": "max. energy kept as EP reserve (renamed from PARAM_EP_RESERVE_MAX_W); imported from nischram/E3dcGui" }, "461373449": { "TagHex": "0x1B800009", @@ -4855,11 +4855,11 @@ "DataTagHex": "0x800009", "NameSpace": "EP", "NameSpaceHex": "0x0B", - "DataType": "None", - "DataTypeHex": "0x00", + "DataType": "Container", + "DataTypeHex": "0x0E", "UserLevel": "NO_AUTH", "Unit": "", - "Description": "Container with index and values: EP_RESERVE, EP_RESERVE_W, EP_RESERVE_MAX_W, TIME_LAST_EMPTY, TIME_LAST_FULL, LAST_SOC - imported from nischram/E3dcGui" + "Description": "Container with index and values: EP_RESERVE, EP_RESERVE_ENERGY, EP_RESERVE_MAX_ENERGY, TIME_LAST_EMPTY, TIME_LAST_FULL, LAST_SOC - imported from nischram/E3dcGui" }, "201326593": { "TagHex": "0x0C000001", diff --git a/main.js b/main.js index 755b720..a824380 100644 --- a/main.js +++ b/main.js @@ -303,6 +303,8 @@ const mapChangedIdToSetTags = { "EMS.*.*.START_MINUTE": [], "EMS.*.*.END_HOUR": [], "EMS.*.*.END_MINUTE": [], + "EP.*.PARAM_EP_RESERVE": [], + "EP.*.PARAM_EP_RESERVE_ENERGY": [], "DB.HISTORY_DATA_DAY.*": [], "DB.HISTORY_DATA_WEEK.*": [], "DB.HISTORY_DATA_MONTH.*": [], @@ -310,7 +312,6 @@ const mapChangedIdToSetTags = { "SYS.SYSTEM_REBOOT": ["", "TAG_SYS_REQ_SYSTEM_REBOOT"], "SYS.RESTART_APPLICATION": ["", "TAG_SYS_REQ_RESTART_APPLICATION"], "WB.*.Control.*": [], - //"EP.*.PARAM_EP_RESERVE": ["", "TAG_EP_REQ_SET_EP_RESERVE"], -- does not work properly as setter tag, perhaps a container is needed? }; // RSCP is sloppy concerning Bool - some Char8 and UChar8 values must be converted: const castToBooleanIds = [ @@ -1064,6 +1065,17 @@ class E3dcRscp extends utils.Adapter { } } + queueSetEpReserve( globalId, value ) { + this.log.info( `queueEpReserve( ${globalId} )` ); + const tagname = globalId.match( "^[^.]+[.][^.]+[.][^.]+[.][^.]+[.](.*)" )[1]; + this.clearFrame(); + const pos = this.startContainer( "TAG_EP_REQ_SET_EP_RESERVE" ); + const index = 0; // are there cases where index > 0 ? + this.addTagtoFrame( "TAG_EP_PARAM_INDEX", "", index ); + this.addTagtoFrame( `TAG_EP_${tagname}`, "", value ); + this.pushFrame( pos ); + } + queueSetIdlePeriod( globalId ) { this.log.info( `queueSetIdlePeriod( ${globalId} )` ); const el = globalId.split( "." ); @@ -2103,12 +2115,13 @@ class E3dcRscp extends utils.Adapter { this.queueSysRestartApplication( restart ? restart.val : false ); } ); } else if ( id.includes( ".WB." ) ) { - this.log.debug( "WB changed" ); wb.queueWbSetData( id ); } else if ( id.includes( "IDLE_PERIOD" ) ) { this.queueSetIdlePeriod( id ); } else if ( id.includes( "HISTORY_DATA" ) ) { this.queueGetHistoryData( id ); + } else if ( id.endsWith( "PARAM_EP_RESERVE" ) || id.endsWith( "PARAM_EP_RESERVE_ENERGY" ) ) { + this.queueSetEpReserve( id, state.val ); } else { this.queueSetValue( id, state.val ); } diff --git a/package-lock.json b/package-lock.json index 17f6600..9ef7705 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "iobroker.e3dc-rscp", - "version": "1.2.5", + "version": "1.2.5-dev", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "iobroker.e3dc-rscp", - "version": "1.2.5", + "version": "1.2.5-dev", "license": "GPL-3.0-only", "dependencies": { "@iobroker/adapter-core": "^2.5.1", diff --git a/package.json b/package.json index 91332a5..afffa65 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "iobroker.e3dc-rscp", - "version": "1.2.5", + "version": "1.2.5-dev", "description": "Control E3/DC power station via RSCP", "author": { "name": "Ulrich Kick",