From 4932be865f0715a2c59f5c87a1ac6bfd4185ca2e Mon Sep 17 00:00:00 2001 From: theknut Date: Thu, 11 Apr 2024 17:29:46 +0200 Subject: [PATCH] Resolve "Add to latest" tasks (#21) * feat: add axios timeout * refactor: use timeout in seconds and rename to updateIntervall * refactor: switch to i18n translations * refactor: limit configurable timeout --- README.md | 6 +- admin/i18n/de/translations.json | 14 ++- admin/i18n/en/translations.json | 14 ++- admin/i18n/es/translations.json | 14 ++- admin/i18n/fr/translations.json | 14 ++- admin/i18n/it/translations.json | 14 ++- admin/i18n/nl/translations.json | 14 ++- admin/i18n/pl/translations.json | 14 ++- admin/i18n/pt/translations.json | 14 ++- admin/i18n/ru/translations.json | 14 ++- admin/i18n/uk/translations.json | 14 ++- admin/i18n/zh-cn/translations.json | 14 ++- admin/jsonConfig.json | 138 ++++------------------------- admin/words.js | 64 +++++-------- build/dictionary.js | 2 + build/dictionary.js.map | 2 +- build/main.js | 25 ++++-- build/main.js.map | 4 +- build/states.js.map | 2 +- build/types.js.map | 2 +- build/waterkottecgi.js | 39 +++++++- build/waterkottecgi.js.map | 4 +- build/waterkotteheatpump.js.map | 2 +- io-package.json | 22 +++-- src/lib/adapter-config.d.ts | 2 +- src/main.ts | 22 ++--- src/waterkottecgi.ts | 2 + 27 files changed, 266 insertions(+), 226 deletions(-) diff --git a/README.md b/README.md index 8b27df5..1006bc5 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ Check your router to find out the IP address of the heat pump and enable static | IP address | IP address of the heat pump (see [Connection to heat pump](#Connection-to-heat-pump)) | | Username | Default `waterkotte` | | Password | Default `waterkotte` | -| Update interval | Frequency of updating the values in milliseconds (Default: 300000 ms = 5 m) | +| Update interval | Frequency of updating the values in milliseconds (Default: 300 seconds = 5 minutes) | | Remove whitespace from state ID | If `State format` is `Path + Description` all whitespaces will be replaced by `_` | #### State format @@ -66,7 +66,11 @@ Check your router to find out the IP address of the heat pump and enable static + ### 0.0.2 (2024-03-11) - (theknut) prepare for release diff --git a/admin/i18n/de/translations.json b/admin/i18n/de/translations.json index 333e775..2a31aa7 100644 --- a/admin/i18n/de/translations.json +++ b/admin/i18n/de/translations.json @@ -1,5 +1,15 @@ { - "waterkotte-easycon adapter settings": "Adaptereinstellungen für waterkotte-easycon", + "credentialsHelp": "Verwenden Sie „Waterkotte“, falls unbekannt", + "ipAddress": "IP Adresse", "option1": "Option 1", - "option2": "Option 2" + "option2": "Option 2", + "password": "Passwort", + "pathFlavor": "Statusformat", + "pathFlavorHelp": "Wählen Sie aus, wie die Status-IDs formatiert werden sollen", + "removeWhitespace": "Entfernen Sie Leerzeichen aus den Status-IDs", + "updateInterval": "Updateintervall", + "updateIntervalHelp": "In Sekunden (Standard = 300 Sekunden = 5 Minuten)", + "updateIntervalValidator": "Muss > 20 und < 86400 sein", + "username": "Nutzername", + "waterkotte-easycon adapter settings": "Adaptereinstellungen für Waterkotte-Easycon" } diff --git a/admin/i18n/en/translations.json b/admin/i18n/en/translations.json index 60dc62a..003e1c7 100644 --- a/admin/i18n/en/translations.json +++ b/admin/i18n/en/translations.json @@ -1,5 +1,15 @@ { - "waterkotte-easycon adapter settings": "Adapter settings for waterkotte-easycon", + "credentialsHelp": "Use 'waterkotte' if unknown", + "ipAddress": "IP address", "option1": "option1", - "option2": "option2" + "option2": "option2", + "password": "Password", + "pathFlavor": "State format", + "pathFlavorHelp": "Select how the state id's should be formatted", + "removeWhitespace": "Remove space from state id's", + "updateInterval": "Update interval", + "updateIntervalHelp": "In seconds (default = 300 seconds = 5 minutes)", + "updateIntervalValidator": "Must be > 20 and < 86400", + "username": "Username", + "waterkotte-easycon adapter settings": "Adapter settings for waterkotte-easycon" } diff --git a/admin/i18n/es/translations.json b/admin/i18n/es/translations.json index b3c6a9a..ff82686 100644 --- a/admin/i18n/es/translations.json +++ b/admin/i18n/es/translations.json @@ -1,5 +1,15 @@ { - "waterkotte-easycon adapter settings": "Ajustes del adaptador para waterkotte-easycon", + "credentialsHelp": "Utilice 'waterkotte' si se desconoce", + "ipAddress": "dirección IP", "option1": "Opción 1", - "option2": "opcion 2" + "option2": "opcion 2", + "password": "Contraseña", + "pathFlavor": "Formato de estado", + "pathFlavorHelp": "Seleccione cómo se deben formatear las identificaciones estatales", + "removeWhitespace": "Eliminar espacio de las identificaciones estatales", + "updateInterval": "Intervalo de actualización", + "updateIntervalHelp": "En segundos (predeterminado = 300 segundos = 5 minutos)", + "updateIntervalValidator": "Debe ser > 20 y < 86400", + "username": "Nombre de usuario", + "waterkotte-easycon adapter settings": "Configuración del adaptador para waterkotte-easycon" } diff --git a/admin/i18n/fr/translations.json b/admin/i18n/fr/translations.json index 675b3b5..ee67048 100644 --- a/admin/i18n/fr/translations.json +++ b/admin/i18n/fr/translations.json @@ -1,5 +1,15 @@ { - "waterkotte-easycon adapter settings": "Paramètres d'adaptateur pour waterkotte-easycon", + "credentialsHelp": "Utilisez 'waterkotte' si inconnu", + "ipAddress": "adresse IP", "option1": "Option 1", - "option2": "Option 2" + "option2": "Option 2", + "password": "Mot de passe", + "pathFlavor": "Format d'état", + "pathFlavorHelp": "Sélectionnez comment les identifiants d'état doivent être formatés", + "removeWhitespace": "Supprimer l'espace des identifiants d'état", + "updateInterval": "Intervalle de mise à jour", + "updateIntervalHelp": "En secondes (par défaut = 300 secondes = 5 minutes)", + "updateIntervalValidator": "Doit être > 20 et < 86 400", + "username": "Nom d'utilisateur", + "waterkotte-easycon adapter settings": "Paramètres de l'adaptateur pour waterkotte-easycon" } diff --git a/admin/i18n/it/translations.json b/admin/i18n/it/translations.json index 1899273..1cd69c0 100644 --- a/admin/i18n/it/translations.json +++ b/admin/i18n/it/translations.json @@ -1,5 +1,15 @@ { - "waterkotte-easycon adapter settings": "Impostazioni dell'adattatore per waterkotte-easycon", + "credentialsHelp": "Usa 'waterkotte' se sconosciuto", + "ipAddress": "indirizzo IP", "option1": "opzione 1", - "option2": "opzione 2" + "option2": "opzione 2", + "password": "Parola d'ordine", + "pathFlavor": "Formato stato", + "pathFlavorHelp": "Seleziona la modalità di formattazione degli ID di stato", + "removeWhitespace": "Rimuovi lo spazio dagli ID di stato", + "updateInterval": "Intervallo di aggiornamento", + "updateIntervalHelp": "In secondi (predefinito = 300 secondi = 5 minuti)", + "updateIntervalValidator": "Deve essere > 20 e < 86400", + "username": "Nome utente", + "waterkotte-easycon adapter settings": "Impostazioni dell'adattatore per waterkotte-easycon" } diff --git a/admin/i18n/nl/translations.json b/admin/i18n/nl/translations.json index cfe6c04..dbe1b77 100644 --- a/admin/i18n/nl/translations.json +++ b/admin/i18n/nl/translations.json @@ -1,5 +1,15 @@ { - "waterkotte-easycon adapter settings": "Adapterinstellingen voor waterkotte-easycon", + "credentialsHelp": "Gebruik 'waterkotte' indien onbekend", + "ipAddress": "IP adres", "option1": "Optie 1", - "option2": "Optie 2" + "option2": "Optie 2", + "password": "Wachtwoord", + "pathFlavor": "Staat formaat", + "pathFlavorHelp": "Selecteer hoe de status-ID's moeten worden opgemaakt", + "removeWhitespace": "Verwijder spatie uit status-ID's", + "updateInterval": "Bijwerkingsonderbreking", + "updateIntervalHelp": "In seconden (standaard = 300 seconden = 5 minuten)", + "updateIntervalValidator": "Moet > 20 en < 86400 zijn", + "username": "Gebruikersnaam", + "waterkotte-easycon adapter settings": "Adapterinstellingen voor waterkotte-easycon" } diff --git a/admin/i18n/pl/translations.json b/admin/i18n/pl/translations.json index fb1ae32..621de34 100644 --- a/admin/i18n/pl/translations.json +++ b/admin/i18n/pl/translations.json @@ -1,5 +1,15 @@ { - "waterkotte-easycon adapter settings": "Ustawienia adaptera dla waterkotte-easycon", + "credentialsHelp": "Jeśli nie jest znane, użyj słowa „waterkotte”.", + "ipAddress": "adres IP", "option1": "opcja 1", - "option2": "Opcja 2" + "option2": "Opcja 2", + "password": "Hasło", + "pathFlavor": "Format stanu", + "pathFlavorHelp": "Wybierz sposób formatowania identyfikatora stanu", + "removeWhitespace": "Usuń spację z identyfikatorów stanu", + "updateInterval": "Interwał aktualizacji", + "updateIntervalHelp": "W sekundach (domyślnie = 300 sekund = 5 minut)", + "updateIntervalValidator": "Musi wynosić > 20 i < 86400", + "username": "Nazwa użytkownika", + "waterkotte-easycon adapter settings": "Ustawienia adaptera dla waterkotte-easycon" } diff --git a/admin/i18n/pt/translations.json b/admin/i18n/pt/translations.json index 7f41c02..9ad8013 100644 --- a/admin/i18n/pt/translations.json +++ b/admin/i18n/pt/translations.json @@ -1,5 +1,15 @@ { - "waterkotte-easycon adapter settings": "Configurações do adaptador para waterkotte-easycon", + "credentialsHelp": "Use 'waterkotte' se desconhecido", + "ipAddress": "endereço de IP", "option1": "Opção 1", - "option2": "opção 2" + "option2": "opção 2", + "password": "Senha", + "pathFlavor": "Formato de estado", + "pathFlavorHelp": "Selecione como os IDs de estado devem ser formatados", + "removeWhitespace": "Remover espaço dos IDs de estado", + "updateInterval": "Intervalo de atualização", + "updateIntervalHelp": "Em segundos (padrão = 300 segundos = 5 minutos)", + "updateIntervalValidator": "Deve ser > 20 e < 86400", + "username": "Nome de usuário", + "waterkotte-easycon adapter settings": "Configurações do adaptador para waterkotte-easycon" } diff --git a/admin/i18n/ru/translations.json b/admin/i18n/ru/translations.json index ac1f4c1..d3ec9e4 100644 --- a/admin/i18n/ru/translations.json +++ b/admin/i18n/ru/translations.json @@ -1,5 +1,15 @@ { - "waterkotte-easycon adapter settings": "Настройки адаптера для waterkotte-easycon", + "credentialsHelp": "Если неизвестно, используйте слово «waterkotte».", + "ipAddress": "айпи адрес", "option1": "Опция 1", - "option2": "вариант 2" + "option2": "вариант 2", + "password": "Пароль", + "pathFlavor": "Государственный формат", + "pathFlavorHelp": "Выберите способ форматирования идентификаторов штата.", + "removeWhitespace": "Удалить пробел из идентификатора состояния", + "updateInterval": "Интервал обновления", + "updateIntervalHelp": "В секундах (по умолчанию = 300 секунд = 5 минут)", + "updateIntervalValidator": "Должно быть > 20 и < 86400", + "username": "Имя пользователя", + "waterkotte-easycon adapter settings": "Настройки адаптера для Waterkotte-easycon" } diff --git a/admin/i18n/uk/translations.json b/admin/i18n/uk/translations.json index 0693a5c..50dacc1 100644 --- a/admin/i18n/uk/translations.json +++ b/admin/i18n/uk/translations.json @@ -1,5 +1,15 @@ { - "waterkotte-easycon adapter settings": "Налаштування адаптера для waterkotte-easycon", + "credentialsHelp": "Використовуйте \"waterkotte\", якщо невідомо", + "ipAddress": "IP-адреса", "option1": "варіант1", - "option2": "варіант2" + "option2": "варіант2", + "password": "Пароль", + "pathFlavor": "Державний формат", + "pathFlavorHelp": "Виберіть, як має бути відформатований ідентифікатор стану", + "removeWhitespace": "Видалити пробіл із ідентифікаторів станів", + "updateInterval": "Інтервал оновлення", + "updateIntervalHelp": "У секундах (за замовчуванням = 300 секунд = 5 хвилин)", + "updateIntervalValidator": "Має бути > 20 і < 86400", + "username": "Ім'я користувача", + "waterkotte-easycon adapter settings": "Налаштування адаптера для waterkotte-easycon" } diff --git a/admin/i18n/zh-cn/translations.json b/admin/i18n/zh-cn/translations.json index d8d67a3..8be7aa1 100644 --- a/admin/i18n/zh-cn/translations.json +++ b/admin/i18n/zh-cn/translations.json @@ -1,5 +1,15 @@ { - "waterkotte-easycon adapter settings": "waterkotte-easycon的适配器设置", + "credentialsHelp": "如果未知,请使用“waterkotte”", + "ipAddress": "IP地址", "option1": "选项1", - "option2": "选项2" + "option2": "选项2", + "password": "密码", + "pathFlavor": "状态格式", + "pathFlavorHelp": "选择州 ID 的格式", + "removeWhitespace": "删除状态 ID 中的空格", + "updateInterval": "更新间隔", + "updateIntervalHelp": "以秒为单位(默认 = 300 秒 = 5 分钟)", + "updateIntervalValidator": "必须 > 20 且 < 86400", + "username": "用户名", + "waterkotte-easycon adapter settings": "Waterkotte-easycon 的适配器设置" } diff --git a/admin/jsonConfig.json b/admin/jsonConfig.json index f0cde3e..ff76767 100644 --- a/admin/jsonConfig.json +++ b/admin/jsonConfig.json @@ -11,111 +11,30 @@ }, "ipAddress": { "type": "text", - "label": { - "en": "Ip address", - "de": "IP-Adresse", - "ru": "Ip адрес", - "pt": "Endereço Ip", - "nl": "Ip adres", - "fr": "Adresse IP", - "it": "Indirizzo Ip", - "es": "Dirección de identificación", - "pl": "Adres IP", - "uk": "Ip адреса", - "zh-cn": "叶子地址" - }, + "label": "ipAddress", "sm": 3, "newLine": true }, "username": { "type": "text", - "label": { - "en": "Username", - "de": "Benutzername", - "ru": "Имя пользователя", - "pt": "Nome de utilizador", - "nl": "Gebruikersnaam", - "fr": "Nom d'utilisateur", - "it": "Nome utente", - "es": "Nombre de usuario", - "pl": "Nazwa użytkownika", - "uk": "Ім'я користувача", - "zh-cn": "用户名" - }, - "help": { - "en": "Use 'waterkotte' if unknown", - "de": "Verwenden Sie 'waterkotte', wenn unbekannt", - "ru": "Используйте 'waterkotte', если неизвестно", - "pt": "Use 'waterkotte' se desconhecido", - "nl": "Gebruik 'waterkotte' indien onbekend", - "fr": "Utiliser 'waterkotte' si inconnu", - "it": "Utilizzare 'waterkotte' se sconosciuto", - "es": "Use 'waterkotte' si se desconoce", - "pl": "Użyj 'waterkotte', jeśli jest nieznany", - "uk": "Використовуйте 'waterkotte' якщо невідомо", - "zh-cn": "如果未知, 请使用“ waterkotte ”" - }, + "label": "username", + "help": "usernameHelp", "sm": 3 }, "password": { "type": "password", - "help": { - "en": "Use 'waterkotte' if unknown", - "de": "Verwenden Sie 'waterkotte', wenn unbekannt", - "ru": "Используйте 'waterkotte', если неизвестно", - "pt": "Use 'waterkotte' se desconhecido", - "nl": "Gebruik 'waterkotte' indien onbekend", - "fr": "Utiliser 'waterkotte' si inconnu", - "it": "Utilizzare 'waterkotte' se sconosciuto", - "es": "Use 'waterkotte' si se desconoce", - "pl": "Użyj 'waterkotte', jeśli jest nieznany", - "uk": "Використовуйте 'waterkotte' якщо невідомо", - "zh-cn": "如果未知, 请使用“ waterkotte ”" - }, - "label": { - "en": "Password", - "de": "Passwort", - "ru": "Пароль", - "pt": "Senha", - "nl": "Wachtwoord", - "fr": "Mot de passe", - "it": "Password", - "es": "Contraseña", - "pl": "Hasło", - "uk": "Логін", - "zh-cn": "密码" - }, + "help": "credentialsHelp", + "label": "password", "sm": 3 }, - "pollingInterval": { + "updateInterval": { "type": "number", - "default": 300000, - "label": { - "en": "Update interval", - "de": "Update-Intervall", - "ru": "Интервал обновления", - "pt": "Intervalo de atualização", - "nl": "Bijwerken interval", - "fr": "Intervalle de mise à jour", - "it": "Intervallo di aggiornamento", - "es": "Intervalo de actualización", - "pl": "Przedział aktualizacji", - "uk": "Період оновлення", - "zh-cn": "更新间隔" - }, - "help": { - "en": "In milliseconds (default = 300000 ms = 5 m)", - "de": "In Millisekunden (Standard = 300000 ms = 5 m)", - "ru": "В миллисекундах (по умолчанию = 30000 мс = 5 м)", - "pt": "Em milissegundos (padrão = 300000 ms = 5 m)", - "nl": "In milliseconden (standaard = 300000 ms = 5 m)", - "fr": "En millisecondes (par défaut = 300 000 ms = 5 m)", - "it": "In millisecondi (default = 300000 ms = 5 m)", - "es": "En milisegundos (por defecto = 300000 ms = 5 m)", - "pl": "W milisekundach (domyślnie = 300000 ms = 5 m)", - "uk": "У мілісекундах (default = 300000 мс = 5 м)", - "zh-cn": "毫秒( 默认 = 300 000 ms = 5 m)" - }, + "default": 300, + "label": "updateInterval", + "help": "updateIntervalHelp", + "validator": "data.updateInterval > 20 && data.updateInterval < 86400", + "validatorErrorText": "updateIntervalValidator", + "validatorNoSaveOnError": true, "sm": 3 }, "pathFlavor": { @@ -125,42 +44,15 @@ { "label": "Path + Name (e.g. 'Heating.Target value')", "value": 1 } ], "default": 1, - "label": { - "en": "State format", - "de": "State Format" - }, - "help": { - "en": "Select how the id should be formatted", - "de": "Wählen Sie aus, wie die Id formatiert werden soll", - "ru": "Выберите, как следует отформатировать id", - "pt": "Selecione como o id deve ser formatado", - "nl": "Selecteer hoe de id geformatteerd moet worden", - "fr": "Sélectionnez comment l'identifiant doit être formaté", - "it": "Selezionare come l'id dovrebbe essere formattato", - "es": "Seleccione cómo debe formatear el id", - "pl": "Wybierz sposób formatowania identyfikatora", - "uk": "Виберіть, як id слід відформатувати", - "zh-cn": "选择编号的格式" - }, + "label": "pathFlavor", + "help": "pathFlavorHelp", "sm": 6, "newLine": true }, "removeWhitespace": { "type": "checkbox", "default": true, - "label": { - "en": "Remove space from id", - "de": "Leerzeichen in der Id entfernen", - "ru": "Удалить пространство от id", - "pt": "Remover espaço de id", - "nl": "Spatie verwijderen uit id", - "fr": "Supprimer l'espace de l'id", - "it": "Rimuovere lo spazio da id", - "es": "Quitar espacio de id", - "pl": "Usuń miejsce z id", - "uk": "Видалити місце з id", - "zh-cn": "从 id 中删除空格" - }, + "label": "removeWhitespace", "sm": 6 } } diff --git a/admin/words.js b/admin/words.js index 3fb7946..57aeaca 100644 --- a/admin/words.js +++ b/admin/words.js @@ -1,46 +1,24 @@ -/* eslint no-unused-vars: off */ -/* eslint no-global-assign: off */ -/* global systemDictionary */ +/*global systemDictionary:true */ +/* ++===================== DO NOT MODIFY ======================+ +| This file was generated by translate-adapter, please use | +| `translate-adapter adminLanguages2words` to update it. | ++===================== DO NOT MODIFY ======================+ +*/ 'use strict'; systemDictionary = { - 'waterkotte-easycon adapter settings': { - en: 'Adapter settings for waterkotte-easycon', - de: 'Adaptereinstellungen für waterkotte-easycon', - ru: 'Настройки адаптера для waterkotte-easycon', - pt: 'Configurações do adaptador para waterkotte-easycon', - nl: 'Adapterinstellingen voor waterkotte-easycon', - fr: "Paramètres d'adaptateur pour waterkotte-easycon", - it: "Impostazioni dell'adattatore per waterkotte-easycon", - es: 'Ajustes del adaptador para waterkotte-easycon', - pl: 'Ustawienia adaptera dla waterkotte-easycon', - uk: 'Налаштування адаптера для waterkotte-easycon', - 'zh-cn': 'waterkotte-easycon的适配器设置', - }, - option1: { - en: 'option1', - de: 'Option 1', - ru: 'Опция 1', - pt: 'Opção 1', - nl: 'Optie 1', - fr: 'Option 1', - it: 'opzione 1', - es: 'Opción 1', - pl: 'opcja 1', - uk: 'варіант1', - 'zh-cn': '选项1', - }, - option2: { - en: 'option2', - de: 'Option 2', - ru: 'вариант 2', - pt: 'opção 2', - nl: 'Optie 2', - fr: 'Option 2', - it: 'opzione 2', - es: 'opcion 2', - pl: 'Opcja 2', - uk: 'варіант2', - 'zh-cn': '选项2', - }, -}; + "credentialsHelp": { "en": "Use 'waterkotte' if unknown", "de": "Verwenden Sie „Waterkotte“, falls unbekannt", "ru": "Если неизвестно, используйте слово «waterkotte».", "pt": "Use 'waterkotte' se desconhecido", "nl": "Gebruik 'waterkotte' indien onbekend", "fr": "Utilisez 'waterkotte' si inconnu", "it": "Usa 'waterkotte' se sconosciuto", "es": "Utilice 'waterkotte' si se desconoce", "pl": "Jeśli nie jest znane, użyj słowa „waterkotte”.", "uk": "Використовуйте \"waterkotte\", якщо невідомо", "zh-cn": "如果未知,请使用“waterkotte”"}, + "ipAddress": { "en": "IP address", "de": "IP Adresse", "ru": "айпи адрес", "pt": "endereço de IP", "nl": "IP adres", "fr": "adresse IP", "it": "indirizzo IP", "es": "dirección IP", "pl": "adres IP", "uk": "IP-адреса", "zh-cn": "IP地址"}, + "option1": { "en": "option1", "de": "Option 1", "ru": "Опция 1", "pt": "Opção 1", "nl": "Optie 1", "fr": "Option 1", "it": "opzione 1", "es": "Opción 1", "pl": "opcja 1", "uk": "варіант1", "zh-cn": "选项1"}, + "option2": { "en": "option2", "de": "Option 2", "ru": "вариант 2", "pt": "opção 2", "nl": "Optie 2", "fr": "Option 2", "it": "opzione 2", "es": "opcion 2", "pl": "Opcja 2", "uk": "варіант2", "zh-cn": "选项2"}, + "password": { "en": "Password", "de": "Passwort", "ru": "Пароль", "pt": "Senha", "nl": "Wachtwoord", "fr": "Mot de passe", "it": "Parola d'ordine", "es": "Contraseña", "pl": "Hasło", "uk": "Пароль", "zh-cn": "密码"}, + "pathFlavor": { "en": "State format", "de": "Statusformat", "ru": "Государственный формат", "pt": "Formato de estado", "nl": "Staat formaat", "fr": "Format d'état", "it": "Formato stato", "es": "Formato de estado", "pl": "Format stanu", "uk": "Державний формат", "zh-cn": "状态格式"}, + "pathFlavorHelp": { "en": "Select how the state id's should be formatted", "de": "Wählen Sie aus, wie die Status-IDs formatiert werden sollen", "ru": "Выберите способ форматирования идентификаторов штата.", "pt": "Selecione como os IDs de estado devem ser formatados", "nl": "Selecteer hoe de status-ID's moeten worden opgemaakt", "fr": "Sélectionnez comment les identifiants d'état doivent être formatés", "it": "Seleziona la modalità di formattazione degli ID di stato", "es": "Seleccione cómo se deben formatear las identificaciones estatales", "pl": "Wybierz sposób formatowania identyfikatora stanu", "uk": "Виберіть, як має бути відформатований ідентифікатор стану", "zh-cn": "选择州 ID 的格式"}, + "removeWhitespace": { "en": "Remove space from state id's", "de": "Entfernen Sie Leerzeichen aus den Status-IDs", "ru": "Удалить пробел из идентификатора состояния", "pt": "Remover espaço dos IDs de estado", "nl": "Verwijder spatie uit status-ID's", "fr": "Supprimer l'espace des identifiants d'état", "it": "Rimuovi lo spazio dagli ID di stato", "es": "Eliminar espacio de las identificaciones estatales", "pl": "Usuń spację z identyfikatorów stanu", "uk": "Видалити пробіл із ідентифікаторів станів", "zh-cn": "删除状态 ID 中的空格"}, + "updateInterval": { "en": "Update interval", "de": "Updateintervall", "ru": "Интервал обновления", "pt": "Intervalo de atualização", "nl": "Bijwerkingsonderbreking", "fr": "Intervalle de mise à jour", "it": "Intervallo di aggiornamento", "es": "Intervalo de actualización", "pl": "Interwał aktualizacji", "uk": "Інтервал оновлення", "zh-cn": "更新间隔"}, + "updateIntervalHelp": { "en": "In seconds (default = 300 seconds = 5 minutes)", "de": "In Sekunden (Standard = 300 Sekunden = 5 Minuten)", "ru": "В секундах (по умолчанию = 300 секунд = 5 минут)", "pt": "Em segundos (padrão = 300 segundos = 5 minutos)", "nl": "In seconden (standaard = 300 seconden = 5 minuten)", "fr": "En secondes (par défaut = 300 secondes = 5 minutes)", "it": "In secondi (predefinito = 300 secondi = 5 minuti)", "es": "En segundos (predeterminado = 300 segundos = 5 minutos)", "pl": "W sekundach (domyślnie = 300 sekund = 5 minut)", "uk": "У секундах (за замовчуванням = 300 секунд = 5 хвилин)", "zh-cn": "以秒为单位(默认 = 300 秒 = 5 分钟)"}, + "username": { "en": "Username", "de": "Nutzername", "ru": "Имя пользователя", "pt": "Nome de usuário", "nl": "Gebruikersnaam", "fr": "Nom d'utilisateur", "it": "Nome utente", "es": "Nombre de usuario", "pl": "Nazwa użytkownika", "uk": "Ім'я користувача", "zh-cn": "用户名"}, + "waterkotte-easycon adapter settings": { "en": "Adapter settings for waterkotte-easycon", "de": "Adaptereinstellungen für Waterkotte-Easycon", "ru": "Настройки адаптера для Waterkotte-easycon", "pt": "Configurações do adaptador para waterkotte-easycon", "nl": "Adapterinstellingen voor waterkotte-easycon", "fr": "Paramètres de l'adaptateur pour waterkotte-easycon", "it": "Impostazioni dell'adattatore per waterkotte-easycon", "es": "Configuración del adaptador para waterkotte-easycon", "pl": "Ustawienia adaptera dla waterkotte-easycon", "uk": "Налаштування адаптера для waterkotte-easycon", "zh-cn": "Waterkotte-easycon 的适配器设置"}, + "updateIntervalValidator": { "en": "Must be > 20 and < 86400", "de": "Muss > 20 und < 86400 sein", "ru": "Должно быть > 20 и < 86400", "pt": "Deve ser > 20 e < 86400", "nl": "Moet > 20 en < 86400 zijn", "fr": "Doit être > 20 et < 86 400", "it": "Deve essere > 20 e < 86400", "es": "Debe ser > 20 y < 86400", "pl": "Musi wynosić > 20 i < 86400", "uk": "Має бути > 20 і < 86400", "zh-cn": "必须 > 20 且 < 86400"}, +}; \ No newline at end of file diff --git a/build/dictionary.js b/build/dictionary.js index 34ce95b..2f54f88 100644 --- a/build/dictionary.js +++ b/build/dictionary.js @@ -49,9 +49,11 @@ class WaterkotteDictionary { return { de: dicts.map((dict) => this.normalize(dict[0], separator)).join(separator), en: dicts.map((dict) => this.normalize(dict.length > 1 ? dict[1] : dict[0], separator)).join(separator), + // fall back to German fr: dicts.map( (dict) => this.normalize(dict.length > 2 ? dict[2] : dict.length > 1 ? dict[1] : dict[0], separator) ).join(separator) + // fall back to English or German }; } normalize(str, separator) { diff --git a/build/dictionary.js.map b/build/dictionary.js.map index 382d9f0..56c05ee 100644 --- a/build/dictionary.js.map +++ b/build/dictionary.js.map @@ -2,6 +2,6 @@ "version": 3, "sources": ["../src/dictionary.ts"], "sourcesContent": ["// , '([\\w\\d]+)',\\s'([\\w\\d\\s\\-\u00DF\u00D8\u00F6\u00D6\u00E4\u00C4\u00FC\u00DC\\.\\(\\)]+)'(,|)\r\n\r\nimport { AdapterError } from './types';\r\n\r\nexport class WaterkotteDictionary {\r\n [name: string]: any;\r\n\r\n getTranslations(identifiers: string | string[], language: ioBroker.Languages, separator: string = '.'): string {\r\n if (!language) {\r\n throw new AdapterError(`Could not get '${language}' translation for ${identifiers}`);\r\n }\r\n\r\n const translated = this.getTranslation(identifiers, separator);\r\n const translatedLanguage = translated[language] ?? translated['en'];\r\n if (!translatedLanguage) {\r\n throw new AdapterError(`Could neither get '${language}' nor 'en' translation for ${identifiers}`);\r\n }\r\n return translatedLanguage;\r\n }\r\n\r\n getTranslation(identifiers: string | string[], separator: string = '.'): ioBroker.Translated {\r\n const translated = this.toStringOrTranslated(\r\n (typeof identifiers === 'string' ? [identifiers] : identifiers).map((identifier) => {\r\n const dict = this['lng' + identifier] as string[];\r\n return Array.isArray(dict) ? dict : [identifier];\r\n }),\r\n separator,\r\n );\r\n\r\n return translated;\r\n }\r\n\r\n private toStringOrTranslated(dicts: string[][], separator: string = '.'): ioBroker.Translated {\r\n return {\r\n de: dicts.map((dict) => this.normalize(dict[0], separator)).join(separator),\r\n en: dicts.map((dict) => this.normalize(dict.length > 1 ? dict[1] : dict[0], separator)).join(separator), // fall back to German\r\n fr: dicts\r\n .map((dict) =>\r\n this.normalize(dict.length > 2 ? dict[2] : dict.length > 1 ? dict[1] : dict[0], separator),\r\n )\r\n .join(separator), // fall back to English or German\r\n };\r\n }\r\n\r\n private normalize(str: string, separator: string): string {\r\n return str.replaceAll(separator, '');\r\n }\r\n\r\n aLNG = ['de', 'en', 'fr'];\r\n iLng = this.aLNG.indexOf('de');\r\n\r\n lngDE = ['Deutsch', 'Deutsch', 'Deutsch'];\r\n lngGB = ['English', 'English', 'English'];\r\n lngFR = ['Fran\\xe7ais', 'Fran\\xe7ais', 'Fran\\xe7ais'];\r\n lngNL = ['Nederlands', 'Nederlands', 'Nederlands'];\r\n lngFI = ['Suomi', 'Suomi', 'Suomi'];\r\n lngCZ = ['Ceska', 'Ceska', 'Ceska'];\r\n lngES = ['Espa\\xf1ol', 'Espa\\xf1ol', 'Espa\\xf1ol'];\r\n lngPT = ['Portugu\\xeas', 'Portugu\\xeas', 'Portugu\\xeas'];\r\n lngPL = ['Polski', 'Polski', 'Polski'];\r\n lngSE = ['Svenska', 'Svenska', 'Svenska'];\r\n lngRU = ['Russisch', 'Russe'];\r\n lngIT = ['Italiano'];\r\n lngHU = ['Magyar', 'Magyar', 'Magyar'];\r\n lngMonday = ['Montag', 'Monday', 'Lundi'];\r\n lngTuesday = ['Dienstag', 'Tuesday', 'Mardi'];\r\n lngWednesday = ['Mittwoch', 'Wednesday', 'Mercredi'];\r\n lngThursday = ['Donnerstag', 'Thursday', 'Jeudi'];\r\n lngFriday = ['Freitag', 'Friday', 'Vendredi'];\r\n lngSaturday = ['Samstag', 'Saturday', 'Samedi'];\r\n lngSunday = ['Sonntag', 'Sunday', 'Dimache'];\r\n lngMo = ['Mo', 'Mo', 'Lu'];\r\n lngTu = ['Di', 'Tu', 'Ma'];\r\n lngWe = ['Mi', 'We', 'Me'];\r\n lngTh = ['Do', 'Th', 'Je'];\r\n lngFr = ['Fr', 'Fr', 'Ve'];\r\n lngSa = ['Sa', 'Sa', 'Sa'];\r\n lngSu = ['So', 'Su', 'Di'];\r\n lngJanuary = ['Januar'];\r\n lngFebruary = ['Februar'];\r\n lngMarch = ['M\\xe4rz'];\r\n lngApril = ['April'];\r\n lngMay = ['Mai'];\r\n lngJune = ['Juni'];\r\n lngJuly = ['Juli'];\r\n lngAugust = ['August'];\r\n lngSeptember = ['September'];\r\n lngOctober = ['Oktober'];\r\n lngNovember = ['November'];\r\n lngDecember = ['Dezember'];\r\n lngMonth_0 = ['Jan'];\r\n lngMonth_1 = ['Feb'];\r\n lngMonth_2 = ['Mrz'];\r\n lngMonth_3 = ['Apr'];\r\n lngMonth_4 = ['Mai'];\r\n lngMonth_5 = ['Jun'];\r\n lngMonth_6 = ['Jul'];\r\n lngMonth_7 = ['Aug'];\r\n lngMonth_8 = ['Sep'];\r\n lngMonth_9 = ['Okt'];\r\n lngMonth_10 = ['Nov'];\r\n lngMonth_11 = ['Dez'];\r\n lngStart = ['Beginn', 'Start', 'Start'];\r\n lngStop = ['Ende', 'Stop', 'Stop'];\r\n lngWD = ['ganzt\\xe4gig'];\r\n lngEnabled = ['Aktiv', 'Enabled', 'Actif'];\r\n lngDisabled = ['Inaktiv', 'Disabled'];\r\n lngIncrease = ['Anhebung', 'Increase', 'Augmentation'];\r\n lngClock = ['Uhr', 'Clock', 'Heure'];\r\n lngUnknown = ['unbekannt', 'undefined'];\r\n lngTTEdit = ['Zeiten editieren', 'Edit', \"Modifier l'heure\"];\r\n lngTTEditT = ['Temperatur editieren', 'Edit temperature', 'Modifier la temp\\xe9rature'];\r\n lngHome = ['\\xdcbersicht', 'Overview', 'Aper\\xe7u'];\r\n lngHeat = ['Heizen', 'Heating', 'Chauffage'];\r\n lngCool = ['K\\xfchlen', 'Cooling', 'Rafraichissement'];\r\n lngHh2o = ['Warmwasser', 'Hot water', 'ECS'];\r\n lngCPD = ['Energiebilanz', 'Energy balance', 'Bilan \\xe9nerg\\xe9tique'];\r\n lngPool = ['Pool', 'Pool', 'Piscine'];\r\n lngSolar = ['Solarregelung', 'Solar', 'Solaire'];\r\n lngHDay = ['Urlaubsfunktion', 'Holiday', 'Fonction vacances'];\r\n lngD701 = this.lngHDay;\r\n lngOpH = ['Betriebsstunden', 'Operating hours', \"Heures d'activit\\xe9\"];\r\n lngDLog = ['Datenlogger', 'Data logger', 'Enregistreur de donn\\xe9es'];\r\n lngMail = ['Netzwerk', 'Network', 'R\\xe9seau'];\r\n lngAlarm = ['Alarm', 'Alarm', 'Alarme'];\r\n lngIPAdress = ['IP Adresse', 'IP address', 'Adresse IP'];\r\n lngMacAdress = ['Mac Adresse', 'Mac address', 'Adresse Mac'];\r\n lngpCOWeb = ['pCOWeb Firmware', 'pCOWeb Firmware', 'pCOWeb Firmware'];\r\n lngFirmware = ['Firmware Version', 'Firmware version', 'Firmware Version'];\r\n lngBIOS = ['BIOS', 'BIOS', 'BIOS'];\r\n lngBuild = ['Build', 'Build', 'Build'];\r\n lngDateTime = ['Datum/Zeit', 'Date/Time', 'Date/Heure'];\r\n lngDate = ['Datum', 'Date', 'Date'];\r\n lngTime = ['Zeit', 'Time'];\r\n lngHPSeries = ['W\\xe4rmepumpen-Baureihe', 'Series', 'Serie'];\r\n lngHPType = ['W\\xe4rmepumpen-Typ', 'Type', 'Type PAC'];\r\n lngHPSerialNr = ['W\\xe4rmepumpen-Seriennummer', 'Serial number', 'Num\\xe9ro de s\\xe9rie'];\r\n lngMValues = ['Messwerte', 'Measured values', 'Valeurs mesur\\xe9es'];\r\n lngOpState = ['Betriebszustand', 'Operating state', 'condition de fonctionnement'];\r\n lngInformation = ['Informationen', 'Information', 'Information'];\r\n lngSysInfo = ['Systeminformationen'];\r\n lngSettings = ['Einstellungen', 'Settings', 'R\\xe9glage'];\r\n lngTimeTable = ['Zeitprogramm', 'Schedule', 'Programme horaire'];\r\n lngCurve = ['Kennlinie', 'Heating curve', 'Courbe caract\\xe9ristique'];\r\n lngInfluence = ['Raumeinfluss', 'Room', 'Influence de la pi\\xe8ce'];\r\n lngExtended = ['Erweitert', 'Extended'];\r\n lngThermalDis = ['Therm. Desinfektion', 'Therm. sterilisation', 'D\\xe9sinfection thermique'];\r\n lngSolarSupp = ['Solarunterst\\xfctzung', 'Solar support', 'Appoint solaire'];\r\n lngCPDPower = ['Leistungsbilanz', 'Energy balance', 'Bilan de puissance'];\r\n lngMonthlyBalance = ['Monatsbilanz', 'Monthly balance', 'Bilan mensuel'];\r\n lngBalanceSheet = ['Jahresbilanz', 'Balance sheet', 'Bilan annuel'];\r\n lngBalanceTotal = ['Gesamtbilanz'];\r\n lngAddOptions = ['Zusatzfunktionen', 'Additional features', 'Fonctions annexes'];\r\n lngOpHFull = ['Vollbetriebsstunden', 'Operating hours', \"Heures d'activit\\xe9 totales\"];\r\n lngOpHDefrost = ['Betriebsstunden Abtauvorgang', 'Operating hours defrost', \"Heures d'activit\\xe9 d\\xe9givrage\"];\r\n lngOpHBivalent = ['Betriebsstunden Bivalent', 'Operating hours bivalent', \"Heures d'activit\\xe9 bivalent\"];\r\n lngOpHOpM = ['Betriebsstunden Betriebsmodus', 'Operating hours', \"Heures d'activit\\xe9 mode de fonctionnement\"];\r\n lngOpHPV = ['Betriebsstunden Photovoltaik', 'Operating hours PV', \"Heures d'activit\\xe9 photovolta\\xefque\"];\r\n lngXYAxis = ['X-Y-Achse', 'X-Y-Axis', 'Axe X-Y'];\r\n lngNetwork = ['Netzwerk', 'Home network', 'R\\xe9seau local'];\r\n lngNWSettings = ['Netzwerkeinstellungen', 'Network settings', 'R\\xe9glage du r\\xe9seau'];\r\n lngEMailAccount = ['E-Mail Kontodaten', 'E-mail account data', 'Donn\\xe9es du compte E-mail'];\r\n lngWarnings = ['Warnungen', 'Warning', 'Avertissements'];\r\n lngInterruptions = ['Unterbrechungen', 'Interruptions', 'Interruptions'];\r\n lngFailure = ['Fehler', 'Failure', 'Pannes'];\r\n lngFailure_modification = ['Grenzwerte', 'Limits', 'Pannes'];\r\n lngPowerLimiting = ['Leistungsbegrenzung'];\r\n lngType = ['Typ'];\r\n lngDesc = ['Beschreibung'];\r\n lngMisc = ['Sonstige Einrichtungen'];\r\n lngFileError = ['Ung\\xfcltiges Dateiformat'];\r\n lngCfrmCopy = ['M\\xf6chten Sie die angegebenen Zeiten \\xfcbernehmen?'];\r\n lngAvailable = ['Verf\\xfcgbar'];\r\n lngCPDYear = ['Jahresarbeitszahl'];\r\n lngHeatpump = ['W\\xe4rmepumpe', 'Heatpump'];\r\n lngHeatSrc = ['W\\xe4rmequelle'];\r\n lngHeating = ['Heizung'];\r\n lngCluster = ['Cluster'];\r\n lngCycle = ['K\\xe4ltekreis', 'Cooling circuit', 'Circuit frigorifique'];\r\n lngInfo1 = [\r\n '\\xdcbersicht \\xfcber die W\\xe4rmepumpe/K\\xe4ltekreis',\r\n 'Overview of heat pump/cooling circuit',\r\n \"Vue d'ensemble de la PAC/Circuit frigorifique\",\r\n ];\r\n lngInfo2 = ['zum K\\xe4ltekreis', 'To cooling circuit', 'Circuit frigorifique'];\r\n lngServices = ['Dienste', 'Services'];\r\n lngChoose = ['Bitte ausw\\xe4hlen', 'Please select'];\r\n lngService = ['Servicedaten'];\r\n lngEvaporator = ['Verdampfereintritts-Regelung'];\r\n lngPIDEvaporator = [];\r\n lngCondenser = ['Kondensatoreintritts-Regelung'];\r\n lngPIDCondenser = [];\r\n lngEnergyDock = ['Leistungsbegrenzung f\\xfcr EnergyDock'];\r\n lngMessages = ['Meldungen'];\r\n lngSolarRegen = ['Sonden Regenerierung'];\r\n lngExtH = ['Externer W\\xe4rmeerzeuger'];\r\n lngSysData = ['Anlagendaten'];\r\n lngConfirmation = ['Quittieren'];\r\n lngPump = ['Pumpen'];\r\n lngMix = ['Mischerkreis'];\r\n lngTabMix = ['Mischerkreis'];\r\n lngStor = ['Speicherentladepumpe'];\r\n lngPV = ['Photovoltaik', 'PV', 'Photovolta\\xefque'];\r\n lngPVChange = ['\\xe4nderung', 'Change', 'Changement'];\r\n lngPVDesc = ['Temperatur\\xe4nderung ... w\\xe4hrend PV-Ertrag'];\r\n lngComm = ['Kommunikation'];\r\n lngIO = ['Ein- und Ausg\\xe4nge'];\r\n lngInput = ['Eing\\xe4nge'];\r\n lngDI = ['Digitaleing\\xe4nge'];\r\n lngOutput = ['Ausg\\xe4nge'];\r\n lngValve = ['Ventile'];\r\n lngEEV = ['EEV'];\r\n lngRMH = ['RMH'];\r\n lngComp = ['Verdichter'];\r\n lngUser = ['Benutzer'];\r\n lngActivated = ['Aktiviert'];\r\n lngIntern = ['Intern'];\r\n lngBMS = ['BMS Karte'];\r\n lngSensor = ['Sensoren'];\r\n lngPressure = ['Drucktransmitter'];\r\n lngConfig = ['Konfiguration'];\r\n lngDefault = ['Standard', 'Default'];\r\n lngDefaults = ['Werksdaten'];\r\n lngBasics = ['Grundeinstellungen'];\r\n lngOpPoint = ['Betriebspunkt'];\r\n lngMode = ['Betriebsmodus', 'Operation Mode'];\r\n lngOpMode = this.lngMode;\r\n lngStatus = ['Status'];\r\n lngDefrost = ['Abtauung'];\r\n lngVent = ['Ventilator'];\r\n lngOilReturn = ['Verdichter - \\xd6lr\\xfcckf\\xfchrung'];\r\n lngFREMAR = ['Verdichter - FREMAR (Frequenz Management zur Vermeidung von Resonanzen)'];\r\n lngReset = ['Reset'];\r\n lngExV = ['ExV/EVI'];\r\n lngScreed = ['Estrichprogramm'];\r\n lngStage2 = ['Stufe 2'];\r\n lngEInstall = ['Elektroinstallation'];\r\n lngProof = ['Druckprobe/ Evakuierung/ F\\xfcllmenge'];\r\n lngCModul = ['K\\xe4ltemodul'];\r\n lngFax = ['Fax'];\r\n lngExport = ['Backup/Restore', 'Backup/Restore'];\r\n lngBackup = ['Backup/Restore', 'Backup/Restore'];\r\n lngConnect = ['Verbindungsdaten'];\r\n lngPlay = ['Verbindung wird hergestellt'];\r\n lngDisconnect = ['Verbindung wird beendet'];\r\n lngServer = ['Servereinstellungen'];\r\n lngSelectFile = ['Bitte w\\xe4hlen Sie eine Datei aus'];\r\n lngCompOut = ['Verdichter Ausgang'];\r\n lngCompMan = ['Manuelle Ansteuerung'];\r\n lngT24h = ['Temperaturverlauf'];\r\n lngT24hsub = ['der letzten 24 Stunden'];\r\n lngNominal = ['Soll'];\r\n lngActual = ['Ist'];\r\n lngGSI = ['GSI: Geo-Solar-Ice'];\r\n lngSolarAbsorber = ['Solar-Absorber'];\r\n lngGSIAbsorber = ['Geo-Ice-Absorber'];\r\n lngCounter = ['Z\\xe4hlerst\\xe4nde'];\r\n lngView = ['Ansicht', 'View'];\r\n lngPID = ['PID-Regler'];\r\n lngAuto = ['Auto', 'Auto', 'Auto'];\r\n lngManual = ['Manuell', 'Manual', 'Manuel'];\r\n lngHand = ['Hand'];\r\n lngOn = ['An', 'On'];\r\n lngOff = ['Aus', 'Off', 'OFF'];\r\n lngAll = ['Alle', 'All', 'Tous'];\r\n lngDay = ['Tag', 'Day', 'Jour'];\r\n lngNone = ['Kein', 'None', 'Aucun'];\r\n lngOpen = ['Auf'];\r\n lngClosed = ['Zu'];\r\n lngMin = ['Min'];\r\n lngMax = ['Max'];\r\n lngTotal = ['Gesamt', 'Total', 'Total'];\r\n lngPower = ['Leistung', 'Power', 'Puissance'];\r\n lngMinPower = ['Min. Leistung', 'Min. power', 'Puissance min.'];\r\n lngMaxPower = ['Max. Leistung', 'Max. Power', 'Puissance max.'];\r\n lngAutoExt = ['Automatisch + Ext.', 'Automatique + ext.'];\r\n lngTVBMS = ['Sollwert BMS', 'Consigne BMS', 'Tavoite-arvo BMS'];\r\n lngTargetValue = ['Sollwert', 'Target value', 'Consigne'];\r\n lngWeather = ['Witterungsgef\\xfchrt', 'Temp\\xe9rature ext\\xe9rieure'];\r\n lngConfirm = ['Best\\xe4tigen', 'OK', 'Confirmer'];\r\n lngLogin = ['PIN', 'PIN'];\r\n lngNewValues = ['Neue Werte', 'New Values'];\r\n lngTOutdoor = ['T Au\\xdfen'];\r\n lngStandby = ['Standby'];\r\n lngESCLock = ['EVU Sperre'];\r\n lngWait = ['Warten'];\r\n lngModal_Change = ['\\xc4nderungen wurden gespeichert!'];\r\n lngModal_AddClient = ['Kundendaten wurden hinzugef\\xfcgt!'];\r\n lngModal_User = ['Bitte tragen Sie zuerst einen neuen Kunden ein!'];\r\n lngModal_Run = ['Testlauf'];\r\n lngModal_Save = ['gespeichert'];\r\n lngModal_Empty = ['Keine gespeicherten Daten'];\r\n lngSave = ['Daten werden gespeichert'];\r\n lngLevel0 = ['Betreiberebene'];\r\n lngLevel1 = ['Serviceebene'];\r\n lngLevel2 = ['Werksberechtigung'];\r\n lngLevel3 = ['Entwicklerebene'];\r\n lngh318B = ['K\\xfchlen EXV - Abtauvorgang'];\r\n lngPINErr = ['PIN ist leider ung\\xfcltig'];\r\n lngDLog01 = [''];\r\n lngDLog02 = [\r\n '(*)Um die Datenaufzeichnung anzuhalten muss das WEBInterface neu gestartet werden.',\r\n '(*)To stop data recording, the WEB interface must be restarted.',\r\n \"(*)Afin d'arr\\xeater l'enregistrement des donn\\xe9es l'interface WEB devra \\xeatre redemarr\\xe9e.\",\r\n ];\r\n lngDLog03 = [\r\n 'Intervall f\\xfcr Datenaufzeichnung',\r\n 'Interval for data recording',\r\n \"Intervalle d'enregistrement des donn\\xe9es\",\r\n ];\r\n lngDLog04 = ['Datenkompression', 'Data compression', 'Compression des donn\\xe9es'];\r\n lngDLog05 = ['Werte \\xfcber E-Mail versenden', 'Send values via e-mail', 'Envoyer les valeurs par E-Mail'];\r\n lngDLog06 = ['Betreff', 'Reference', 'Objet'];\r\n lngDLog07 = [\r\n 'Datenaufzeichnung jetzt aktualisieren',\r\n 'Update data recording now',\r\n \"Actualiser l'enregistrement des donn\\xe9es\",\r\n ];\r\n lngDLog08 = [\r\n 'Gruppe 1 - Linke Achsenbezeichnung',\r\n 'Group 1 - left axis designation',\r\n \"Groupe 1 - Description de l'axe de gauche\",\r\n ];\r\n lngDLog09 = ['Y-Achse Skalierung', 'Y-axis scaling', \"Graduation de l'axe Y\"];\r\n lngDLog10 = ['Low range limit', 'Low range limit', 'Low range limit'];\r\n lngDLog11 = ['High range limit', 'High range limit', 'High range limit'];\r\n lngDLog12 = [\r\n 'Gruppe 2 - Rechte Achsenbezeichnung',\r\n 'Group 2 - right axis designation',\r\n \"Groupe 2 - Description de l'axe de droite\",\r\n ];\r\n lngDLog13 = ['Y-Achse Skalierung', 'Y-axis scaling', \"Graduation de l'axe Y\"];\r\n lngDLog14 = ['Low range limit', 'Low range limit', 'Low range limit'];\r\n lngDLog15 = ['High range limit', 'High range limit', 'High range limit'];\r\n lngDLog16 = ['Gruppe 3 - Digitale Variablen', 'Group 3 - digital variable', 'Groupe 3 - Variables num\\xe9riques'];\r\n lngDLog17 = ['\\xe4nderungen \\xfcbernehmen', 'Accept changes', 'Accepter les changement'];\r\n lngThDLog02 = ['Name', 'Name', 'Nom'];\r\n lngThDLog03 = ['Datentyp', 'Data type', 'Type de donn\\xe9es'];\r\n lngThDLog04 = ['Index', 'Index', 'Index'];\r\n lngThDLog05 = ['Bezeichnung', 'Description', 'Description'];\r\n lngThDLog06 = ['Gruppe', 'Group', 'Groupe'];\r\n lngThDLog07 = ['Farbe', 'Colour', 'Couleur'];\r\n lngNetwork01 = ['IP-Adresse', 'IP address', 'Adresse IP'];\r\n lngNetwork02 = [\r\n 'Geben Sie die IP-Adresse an, unter der das WATERKOTTE!Web im lokalen Netzwerk erreichbar ist.',\r\n 'Enter IP address under which the WATERKOTTE!Web can be accessed in the local network.',\r\n \"Donnez l'adresse IP sous laquelle le WATERKOTTE!Web est joignable dans le r\\xe9seau local.\",\r\n ];\r\n lngNetwork03 = [\r\n 'IP-Adresse automatisch beziehen: DHCP',\r\n 'Obtain IP address automatically: DHCP',\r\n \"Prendre l'adresse IP automatiquement: DHCP\",\r\n ];\r\n lngNetwork04 = ['Achtung!', 'Caution!', 'Attention!'];\r\n lngNetwork05 = [\r\n '\\xe4nderungen auf dieser Seite k\\xf6nnen dazu f\\xfchren, dass die WATERKOTTE!Web nicht mehr erreichbar ist.',\r\n 'Changes on this page may cause the WATERKOTTE!Web to become inaccessible.',\r\n 'Des changements sur cette page, peuvent provoquer que le WATERKOTTE!Web ne soit plus joignable.',\r\n ];\r\n lngNetwork06 = ['Subnetzmaske', 'Subnet mask', 'Masque de r\\xe9seau'];\r\n lngNetwork07 = ['Standardgateway', 'Standard gateway', 'Passerelle standard'];\r\n lngNetwork08 = ['Bevorzugter DNS-Server', 'Preferred DNS server', 'Server DNS primaire'];\r\n lngNetwork09 = ['Alternativer DNS-Server', 'Alternative DNS server', 'Server DNS secondaire'];\r\n lngNetwork10 = ['\\xe4nderungen \\xfcbernehmen', 'Accept changes', 'Accepter les changements'];\r\n lngNetwork11 = ['E-Mail-Adresse', 'E-mail address', 'Adresse E-Mail'];\r\n lngNetwork12 = [\r\n 'Bitte tragen Sie hier Ihre E-Mail-Adresse und Ihr dazugeh\\xf6riges E-Mail-Kennwort ein.',\r\n 'Please enter your e-mail address and corresponding e-mail password here.',\r\n 'Veuillez donner votre adresse E-Mail et son mot de passe.',\r\n ];\r\n lngNetwork13 = ['Kennwort', 'Password', 'Mot de passe'];\r\n lngNetwork14 = [\r\n 'Bitte erg\\xe4nzen Sie die Zugangsdaten Ihres E-Mail-Kontos:',\r\n 'Please complete access data of your e-mail account:',\r\n \"Veuillez completer les donn\\xe9es d'acc\\xe9s de votre compte E-Mail:\",\r\n ];\r\n lngNetwork15 = ['E-Mail-Benutzername', 'E-mail user name', \"Nom d'utilisateur E-Mail\"];\r\n lngNetwork16 = [\r\n 'Postausgang-Server (SMTP)',\r\n 'Outgoing mail server (SMTP)',\r\n 'Serveur pour transfert de courrier (SMTP)',\r\n ];\r\n lngNetwork17 = ['Absendername', 'Sender name', \"Nom de l'exp\\xe9diteur\"];\r\n lngNetwork18 = [\r\n 'Die E-Mail wird mit dem Absendernamen WATERKOTTE!Web versendet. Wenn Sie einen anderen Absendernamen festlegen m\\xf6chten, geben Sie ihn hier ein.',\r\n 'The e-mail is sent under the sender name WATERKOTTE!Web. If you would like to specify another sender name, please enter it here.',\r\n \"Le mail est envoy\\xe9 sous le nom de l'exp\\xe9diteur WATERKOTTE!Web. Si vous souhaitez sp\\xe9cifier un autre nom d'exp\\xe9diteur, veuillez le l'indiquer ici.\",\r\n ];\r\n lngNetwork19 = ['Antwort an', 'Answer to', 'R\\xe9pondre \\xe0'];\r\n lngNetwork20 = [\r\n 'An diese E-Mail-Adresse senden:',\r\n 'Send to this e-mail address:',\r\n 'Envoyer \\xe0 cette adresse E-Mail',\r\n ];\r\n lngNetwork21 = ['Weitere E-Mail-Adressen:', 'Additional e-mail addresses:', 'Autres adresses E-Mail:'];\r\n lngNetwork22 = ['\\xe4nderungen \\xfcbernehmen', 'Accept changes', 'Accepter les changements'];\r\n lngReport = ['Servicebericht'];\r\n lngReport_Data = ['Gespeicherte Berichte'];\r\n lngReport_Clients = ['Kundendaten'];\r\n lngReport_IQE = ['Inspektionsbericht (QE)'];\r\n lngReport_SQE = ['Servicebericht (QE)'];\r\n lngReport_WQE = ['Wartungsprotokoll (QE)'];\r\n lngReport_PQE = ['Pr\\xfcfinspektion (W\\xe4rmequelle Geothermie)'];\r\n lngReport_SQL = ['Servicebericht (QL)'];\r\n lngReport_SRMH = ['Servicebericht (RMH)'];\r\n lngReport_FS = ['Checkliste Fachservice'];\r\n lngReport_IB = ['Inspektionsbericht'];\r\n lngReport_AQE = [\r\n 'Inbetriebnahmeprotokoll (QE)',\r\n 'Acceptance and Installation Data',\r\n 'Donn\\xe9es de la mise en service',\r\n ];\r\n lngReport_AQL = ['Inbetriebnahmeprotokoll (QL)'];\r\n lngReport_ARMH = ['Inbetriebnahmeprotokoll (RMH)'];\r\n lngReport_ABL = ['Inbetriebnahmeprotokoll (BasicLineGeo)'];\r\n lngAcceptance = ['Abnahme', 'Acceptance'];\r\n lngInstData = ['Anlagendaten Reglereinstellungen'];\r\n lngServicesA = ['verf\\xfcgbare Dienste', 'Available Services'];\r\n lngR1 = ['Anlagenerrichter'];\r\n lngR2 = ['Auftraggeber'];\r\n lngR3 = ['Kunde'];\r\n lngR4 = ['Name'];\r\n lngR5 = ['Stra\\xdfe'];\r\n lngR6 = ['PLZ'];\r\n lngR7 = ['Ort'];\r\n lngR8 = ['Tel-Nr.'];\r\n lngR9 = ['N\\xe4here Angaben (Ausfallmeldungen)'];\r\n lngR10 = ['Anlagedaten W\\xe4rmequelle'];\r\n lngR11 = ['Grundwasser'];\r\n lngR12 = ['Str\\xf6mungs\\xfcberwachung'];\r\n lngR13 = ['m3/h'];\r\n lngR14 = ['Erdreich/Glykol'];\r\n lngR15 = ['Sonde vertikal'];\r\n lngR16 = ['Erdabsorber horizontal'];\r\n lngR17 = ['Reprosol'];\r\n lngR18 = ['Glykolbezeichnung'];\r\n lngR19 = ['Stockpunkt'];\r\n lngR20 = ['Sonstige W\\xe4rmequelle'];\r\n lngR21 = ['Anlagedaten W\\xe4rmenutzung'];\r\n lngR22 = ['Fu\\xdfbodenheizung'];\r\n lngR23 = ['System Waterkotte'];\r\n lngR24 = ['Fremdsystem'];\r\n lngR25 = ['Radiatoren'];\r\n lngR26 = ['NTV-Konvektoren'];\r\n lngR27 = ['Sonstiges'];\r\n lngR28 = ['Brauchwassererw\\xe4rmung'];\r\n lngR29 = ['Ladespeicher'];\r\n lngR30 = ['Liter'];\r\n lngR31 = ['W\\xe4rmetauscher extern'];\r\n lngR32 = ['W\\xe4rmetauscher intern'];\r\n lngR33 = ['Durchlaufwassererw\\xe4rmer'];\r\n lngR34 = ['Bemerkungen'];\r\n lngR35 = ['Fahrtkilometer anteilig (km)'];\r\n lngR36 = ['Fahrzeit anteilig (h)'];\r\n lngR37 = ['Ankunft'];\r\n lngR38 = ['Abreise'];\r\n lngR39 = ['Monteurstunden'];\r\n lngR40 = ['Bericht'];\r\n lngR140 = ['Materialeinsatz'];\r\n lngR41 = ['Monteur'];\r\n lngR42 = ['Unterschrift'];\r\n lngR43 = ['Anlagenbetreiber', 'Installation Operator'];\r\n lngR44 = ['E-Mail', 'E-Mail', 'E-Mail'];\r\n lngR45 = ['Vertr\\xe4ge'];\r\n lngR46 = ['LongLife Wartung (j\\xe4hrl. Vor-Ort-Wartung)'];\r\n lngR47 = ['Servicevertragsnummer'];\r\n lngR48 = ['RemoteCare Service (Fernwartung)'];\r\n lngR49 = ['Fernwartungsvertragsnummer'];\r\n lngR51 = ['Die Anlage ist in Benutzung seit'];\r\n lngR52 = ['Die Anlage wurde m\\xe4ngelfrei abgenommen'];\r\n lngR53 = ['Die Anlage wurde abgenommen mit dem Vorbehalt der Beseitigung nebenstehender M\\xe4ngel:'];\r\n lngR54 = [\r\n 'Die Anlage wurde wegen nebenstehender M\\xe4ngel nicht in Betrieb gesetzt und abgenommen.',\r\n ];\r\n lngR54_1 = [\r\n 'Hinweis: Hat der Betreiber die Leistung in Benutzung genommen, so gilt die Abnahme nach Ablauf von 6 Werktagen nach Beginn der Benutzung als erfolgt. (\\xa712, Abs.5, VOB, Teil B)',\r\n ];\r\n lngR55 = ['Die Anlage wurde durch den nebenstehenden autorisierten Kundendienst in Betrieb genommen'];\r\n lngR56 = ['\\xdcbergabe der Bedienungsanleitung ist erfolgt'];\r\n lngR57 = ['Einweisung in die Bedienung des Reglers ist erfolgt'];\r\n lngR58 = [\r\n 'Die Anlage wurde gem\\xe4\\xdf der Planungs-/ Installationsanleitung von WATERKOTTE in Benutzung genommen',\r\n ];\r\n lngR59 = [\r\n 'Der Betreiber wurde in die Anlage eingeweisen. Es lag eine entsprechende Bedien-/Montage-/Installationsanleitung vor',\r\n ];\r\n lngR62 = ['Zwischen Anlagenerrichter und Anlagenbetreiber besteht ein Werksvertrag nach: '];\r\n lngR63 = ['VOB, Teil B'];\r\n lngR64 = ['BGB'];\r\n lngR66 = ['Wasser-Frostschutz-Gemisch'];\r\n lngR67 = ['Trennw\\xe4rmetauscher'];\r\n lngR68 = ['Sondenl\\xe4nge ges.'];\r\n lngR69 = ['Absorberfl\\xe4che'];\r\n lngR70 = ['Artikel-Nr.'];\r\n lngR75 = ['K\\xe4ltemittelf\\xfcllung optimiert'];\r\n lngR76 = ['nachgef\\xfcllt'];\r\n lngR77 = ['abgelassen'];\r\n lngR78 = [];\r\n lngR79 = ['Kompressor'];\r\n lngR80 = ['\\xdcberpru\\u0308fung der W\\xe4rmequellenanlage'];\r\n lngR81 = ['Visuelle Pru\\u0308fung auf mechanische Besch\\xe4digung an zug\\xe4nglichen Anlagenbauteilen'];\r\n lngR82 = ['Kontrolle der l\\xf6sbaren Verbindungen auf Festigkeit und Dichtigkeit'];\r\n lngR83 = ['Temperatur- und Druckmessungen gem\\xe4\\xdf Messprotokoll'];\r\n lngR84 = ['Bei Wasser-/Glykolgemisch Stockpunkt messen'];\r\n lngR85 = ['\\xdcberpru\\u0308fung der W\\xe4rmenutzung'];\r\n lngR86 = ['Kontrolle der l\\xf6sbaren Verbindungen'];\r\n lngR87 = ['F\\xfclldruck pr\\xfcfen'];\r\n lngR88 = ['Temperatur- und Druckmessungen gem\\xe4\\xdf Messprotokoll'];\r\n lngR89 = ['\\xdcberpru\\u0308fung W\\xe4rmepumpenkreislauf'];\r\n lngR90 = ['Visuelle Pru\\u0308fung K\\xe4ltemittelmenge (Schauglas)'];\r\n lngR91 = ['Sicherheitssystem pru\\u0308fen'];\r\n lngR92 = ['Kontrolle aller l\\xf6sbaren Verbindungen auf Festigkeit und Dichtigkeit'];\r\n lngR93 = ['Flexible Anschlu\\u0308sse und Befestigungen pru\\u0308fen'];\r\n lngR94 = ['Stromaufnahme des Kompressors messen und protokollieren'];\r\n lngR95 = ['Temperatur- und Druckmessungen Messprotokoll'];\r\n lngR96 = ['Reglereinstellung pru\\u0308fen'];\r\n lngR97 = ['Bericht und Auswertung'];\r\n lngR98 = ['Erstellen eines Messprotokolls fu\\u0308r die W\\xe4rmepumpe'];\r\n lngR99 = [\r\n 'Bewertung der Anlage aufgrund der aufgenommenen Messungen, Plausibilit\\xe4tspru\\u0308fung der Messwerte',\r\n ];\r\n lngR100 = ['Aufstellung des Au\\xdfenger\\xe4tes (zutreffendes ausw\\xe4hlen)'];\r\n lngR101 = ['Verbindungsl\\xe4nge: Innen- / Au\\xdfenger\\xe4t'];\r\n lngR102 = ['H\\xf6hendifferenz: Innen- / Au\\xdfenger\\xe4t'];\r\n lngR103 = ['Voreinstellung der DIP-Schalter am Innenger\\xe4t gepr\\xfcft (siehe Installationsanleitung)'];\r\n lngR104 = ['Anschluß des Neutralleiters vor Inbetriebnahme messtechnisch gepr\\xfcft'];\r\n lngR105 = ['Druckprobe durchgef\\xfchrt bei'];\r\n lngR106 = ['bei'];\r\n lngR107 = ['Dauer'];\r\n lngR108 = ['Dauer der Evakuierung'];\r\n lngR109 = ['Anlage ist nach dem Stand der Technik elektrisch sicher angeschlossen'];\r\n lngR110 = ['Model (Außenger\\xe4t)'];\r\n lngR111 = ['Service Ref. Nr. (Außenger\\xe4t)'];\r\n lngR112 = ['Serien-Nr. (Außenger\\xe4t)'];\r\n lngR113 = ['Art der K\\xe4ltemittelleitungsverbindung'];\r\n lngR114 = ['gel\\xf6tet'];\r\n lngR115 = ['gepresst'];\r\n lngR116 = ['EVU-Sperre vorhanden'];\r\n lngR117 = ['Evakuierung durchgef\\xfchrt bei'];\r\n lngR118 = ['Elektroanschl\\xfcsse auf richtigen Sitz und Festigkeit gepr\\xfcft'];\r\n lngR127 = ['F\\xfcllmenge Wasser-Glykol'];\r\n lngR120 = ['Evakuierung der Verbindungsleitungen (Au\\xdfenger\\xe4t zur W\\xe4rmeverteilstation)'];\r\n lngR121 = ['Au\\xdfentemperatur'];\r\n lngR122 = ['Dampfdruck (Wasser/Eis)'];\r\n lngR123 = ['Vakuumdauer'];\r\n lngR124 = ['separater Heizungsspeicher'];\r\n lngR125 = ['separater Warmwasserspeicher'];\r\n lngR126 = ['Informationen zum K\\xe4ltekreis'];\r\n lngR130 = ['Innenteil'];\r\n lngR131 = [];\r\n lngR132 = ['Pufferspeicher Heizung'];\r\n lngR141 = ['Druck'];\r\n lngR142 = ['Durchfluss'];\r\n lngR143 = ['Druck'];\r\n lngR144 = ['Durchfluss'];\r\n lngR145 = [];\r\n lngR151 = ['EcoPack', 'EcoPack', 'EcoPack'];\r\n lngR152 = ['EcoWell', 'EcoWell', 'EcoWell'];\r\n lngR153 = ['kW', 'kW', 'kW'];\r\n lngR154 = ['Liter'];\r\n lngR155 = ['Brauchwasserspeicher'];\r\n lngR160 = ['Datum der Abnahme'];\r\n lngR190 = ['Analyse Heizungswasser'];\r\n lngR191 = ['Elektrischer Leitwert IST/SOLL'];\r\n lngR192 = ['pH-Wert IST/SOLL'];\r\n lngR200 = ['Druck und Dichtheitskontrolle im HZG- und Solekreislauf kontrolliert und ggf. aufgefu\\u0308llt'];\r\n lngR201 = ['Frostschutzkonzentration gemessen'];\r\n lngR202 = ['Sole Temperaturen/Spreizung u\\u0308berpru\\u0308ft'];\r\n lngR203 = ['Heizungstemperaturen/Spreizung u\\u0308berpru\\u0308ft'];\r\n lngR204 = ['Fu\\u0308hlerwerte und Einstellungen der Regelung u\\u0308berpru\\u0308ft und ggf. nachgeregelt'];\r\n lngR205 = ['Fehlerspeicher ausgelesen'];\r\n lngR206 = ['ND / HD Abschaltung und Sicherheitssystem gepru\\u0308ft'];\r\n lngR207 = ['K\\xe4ltemittelverlust mit Lecksuchger\\xe4t kontrolliert'];\r\n lngR208 = ['K\\xe4ltemittelmenge u\\u0308ber Schauglas kontrolliert'];\r\n lngR209 = ['\\xd6lmenge im Kompressorschauglas gepru\\u0308ft'];\r\n lngR210 = ['Kompressortemperaturen gepru\\u0308ft'];\r\n lngR211 = ['Dru\\u0308cke im Verdampfer und Kondensator gepru\\u0308ft und mit Regelung verglichen'];\r\n lngR212 = ['Verschraubungen im K\\xe4ltekreis gepru\\u0308ft'];\r\n lngR213 = ['Elektroanschlu\\u0308sse auf festen Sitz kontrolliert (auch FU)'];\r\n lngR214 = ['Sicherheitsventil Warmwasser'];\r\n lngR215 = ['Sicherheitsventil Heizung'];\r\n lngR216 = ['Druck Kaltwasser'];\r\n lngR217 = ['Ausdehnungsgef\\xe4\\xdf Warmwasser'];\r\n lngR218 = ['Ausdehnungsgef\\xe4\\xdf Heizung'];\r\n lngR219 = ['Ausdehnungsgef\\xe4\\xdf Quelle'];\r\n lngR220 = ['Long Life Servicevertrag'];\r\n lngR221 = ['Wartungsvertragskennziffer'];\r\n lngR222 = ['Artikelnummer'];\r\n lngR223 = ['Die Voraussetzungen der Herstellergarantie wurden erf\\xfcllt'];\r\n lngR224 = ['Garantielaufzeit bis (Datum)'];\r\n lngR225 = ['F\\xe4lligkeit der n\\xe4chsten Wartung (Datum)'];\r\n lngR226 = ['Rohrleitungdimensionen'];\r\n lngR227 = ['W\\xe4rmepumpe von WQ-System absperrbar'];\r\n lngR228 = ['Neutralleiteranschluss auf korrekte Verdrahtung gepr\\xfcft'];\r\n lngR229 = ['Rohrleitungdimensionen'];\r\n lngR230 = ['Druckminderer Warmwasser'];\r\n lngR231 = ['W\\xe4rmepumpe von Heiz-System absperrbar'];\r\n lngR232 = ['Warmwasserspeicher verschraubt und absperrbar'];\r\n lngR233 = ['Elektrischer Arbeitsz\\xe4hler NT'];\r\n lngR234 = ['Elektrischer Arbeitsz\\xe4hler HT'];\r\n lngR235 = ['W\\xe4rmemengenz\\xe4hler'];\r\n lngR236 = ['Pr\\xfcfung: K\\xe4ltekreis nach Chemikalien-Klimaschutzverordnung'];\r\n lngR237 = ['Fotos wurden erstellt'];\r\n lngR238 = [''];\r\n lngR239 = [''];\r\n lngR240 = [''];\r\n lngR250 = ['Protokoll-Nummer'];\r\n lngR251 = ['Datum IBN'];\r\n lngR252 = ['Datum Lieferung'];\r\n lngR253 = ['Wartungsvertrag-Kennnummer'];\r\n lngR254 = ['Datum Wartung'];\r\n lngR255 = ['Wartung'];\r\n lngR256_1 = ['Sole/Wasser'];\r\n lngR256_2 = ['Wasser/Wasser'];\r\n lngR257 = ['Zubeh\\xf6rkomponenten'];\r\n lngR258 = ['EcoStock'];\r\n lngR259 = ['EcoPack'];\r\n lngR260 = [''];\r\n lngR261 = [''];\r\n lngR300 = ['1. Sichtpru\\u0308fung der Ger\\xe4te- und Zubeh\\xf6rkomponenten'];\r\n lngR301 = ['Besch\\xe4digung'];\r\n lngR302 = ['Korrosion'];\r\n lngR303 = ['Verschmutzung'];\r\n lngR304 = ['Befestigung'];\r\n lngR305 = ['Leckagen'];\r\n lngR306 = ['\\xd6laustritt und \\xd6lspuren'];\r\n lngR307 = ['2. Pru\\u0308fung W\\xe4rmequellenkreislauf'];\r\n lngR308 = ['Pru\\u0308fung Systemdruck der W\\xe4rmequelle'];\r\n lngR309 = ['Pru\\u0308fung Ausdehnungsgef\\xe4\\xdf im W\\xe4rmequellenkreislauf (Vordruck/Fu\\u0308llstand)'];\r\n lngR310 = ['Pru\\u0308fung und Reinigung Schmutzfilter (Filtersieb) im W\\xe4rmequelleneintritt'];\r\n lngR311 = ['Pru\\u0308fung Frostschutzkonzentration im W\\xe4rmequellenkreislauf'];\r\n lngR312 = ['Sichtpru\\u0308fung des Sicherheitsventils im W\\xe4rmequellensystem'];\r\n lngR313 = ['Funktionspru\\u0308fung Hydraulikkomponenten im W\\xe4rmequellensystem (Pumpen, Mischer, Ventile)'];\r\n lngR314 = ['Sichtpru\\u0308fung des W\\xe4rmequellensystems auf Dichtheit, Besch\\xe4digung und Kondensatbildung'];\r\n lngR315 = ['Messung des pH-Wertes des W\\xe4rmequellenmediums'];\r\n lngR316 = ['Messung der Leitf\\xe4higkeit des W\\xe4rmequellenmediums'];\r\n lngR317 = ['2a. Zusatzpru\\u0308fung W\\xe4rmequellenkreislauf bei Wasser-/Wasser-W\\xe4rmepumpe'];\r\n lngR318 = ['Pru\\u0308fung und Reinigung Schmutzfilter (Filtersieb) in der Brunnenleitung'];\r\n lngR319 = ['Temperaturcheck des Trennw\\xe4rmetauscher (\\u0394T Quelle: 3 bis 4 K)'];\r\n lngR320 = ['Ablesen des Durchflusses an der Durchfl ussmengenu\\u0308berwachung'];\r\n lngR321 = ['Sichtpru\\u0308fung der W\\xe4rmed\\xe4mmung auf Besch\\xe4digungen und Kondensatbildung'];\r\n lngR322 = ['3. Pru\\u0308fung Heizungskreis'];\r\n lngR323 = ['Pru\\u0308fung Systemdruck des Heizungskreislaufs'];\r\n lngR324 = ['Pru\\u0308fung Ausdehnungsgef\\xe4\\xdf im Heizungskreislauf (Vordruck/Fu\\u0308llstand)'];\r\n lngR325 = ['Pru\\u0308fung und Reinigung Schmutzfilter (Filtersieb) im Heizungskreislauf'];\r\n lngR326 = ['Sichtpru\\u0308fung des Sicherheitsventils im Heizungssystem'];\r\n lngR327 = ['Funktionspru\\u0308fung Hydraulikkomponenten im Heizungssystem (Pumpen, Mischer, Ventile)'];\r\n lngR328 = ['Pru\\u0308fung E-Heizstab (Kundeninformation: Betriebsstunden)'];\r\n lngR329 = ['Sichtpru\\u0308fung des Heizungssystems auf Dichtheit und Besch\\xe4digung der W\\xe4rmed\\xe4mmung'];\r\n lngR330 = ['Messung des pH-Wertes des Heizungswassers (nach VDI-Richtlinie 2035)'];\r\n lngR331 = ['Messung der Leitf\\xe4higkeit des Heizungswassers (nach VDI-Richtlinie 2035)'];\r\n lngR332 = ['4. Pru\\u0308fung Warmwasserbereitung'];\r\n lngR333 = ['Sichtpru\\u0308fung bei Warmwasserbereiter und wasserfu\\u0308hrenden Verbindungen auf Dichtheit'];\r\n lngR334 = ['Sichtkontrolle des Druckminderers'];\r\n lngR335 = ['Pru\\u0308fung Montage und Absicherung des Sicherheitsventils Warmwasser'];\r\n lngR336 = ['Pru\\u0308fung Membranausdehnungsgef\\xe4\\xdf Warmwasser (Vordruck)'];\r\n lngR337 = ['Pru\\u0308fung Funktion Umschaltung und Umschaltventil'];\r\n lngR338 = ['Pru\\u0308fung Funktion und ggf. Einstellung der Pumpen'];\r\n lngR339 = ['5. Pru\\u0308fung K\\xe4ltekreis'];\r\n lngR340 = ['Sichtpru\\u0308fung K\\xe4ltekreislauf auf Besch\\xe4digungen, \\xd6laustritt, Korrosion'];\r\n lngR341 = ['\\xdcberpru\\u0308fung l\\xf6sbarer Verbindungen auf festen Sitz'];\r\n lngR342 = ['Dichtheitspru\\u0308fung gem\\xe4\\xdf Verordnung (EU) Nr. 517/2014'];\r\n lngR343 = ['Probelauf mit \\xdcberpru\\u0308fung aller Messwerte'];\r\n lngR344 = ['\\xdcberpru\\u0308fung der Betriebstemperaturen (siehe hierzu 10. Dokumentation)'];\r\n lngR345 = ['\\xdcberpru\\u0308fung der Ger\\xe4teeffizienz'];\r\n lngR346 = ['Sichtpru\\u0308fung K\\xe4ltemittelschauglas und \\xd6lschauglas'];\r\n lngR347 = ['Pru\\u0308fung Funktion der Sicherheitseinrichtungen inkl. HD und ND Abschaltung'];\r\n lngR348 = ['6. Pru\\u0308fung Elektrik'];\r\n lngR349 = ['Sichtkontrolle der elektrischen Komponenten'];\r\n lngR350 = ['Kontrolle Elektroanschlu\\u0308sse auf festen Sitz'];\r\n lngR351 = ['Nachziehen Anschlussklemmen'];\r\n lngR352 = ['Messung Stromaufnahme und Netzspannung pro Phase'];\r\n lngR353 = ['7. Pru\\u0308fung Regler und Steuerung'];\r\n lngR354 = ['Sichtkontrolle der Reglerkomponenten'];\r\n lngR355 = ['Pru\\u0308fung Einstell- und Fu\\u0308hlerwerte des Reglers'];\r\n lngR356 = ['Kontrolllauf mit Wartungssoftware EasyCon'];\r\n lngR357 = ['Durchfu\\u0308hrung Funktionskontrolle'];\r\n lngR358 = ['8. Pru\\u0308fung Software (nur bei EcoTouch LongLife Wartung)'];\r\n lngR359 = ['Bewertung aktueller Stand Software'];\r\n lngR360 = ['Ggf. Durchfu\\u0308hrung Software-Update'];\r\n lngR361 = ['9. Energetische Optimierung (nur bei ECoTouch LongLife Wartung)'];\r\n lngR362 = ['Ergebnisse aus COP-Counter dokumentieren und mit Vorjahreswerten vergleichen'];\r\n lngR363 = ['COP aktuell'];\r\n lngR364 = ['COP Vorjahr'];\r\n lngR365 = ['JAZ HZG aktuell'];\r\n lngR366 = ['JAZ HZG Vorjahr'];\r\n lngR367 = ['JAZ WW aktuell'];\r\n lngR368 = ['JAZ WW Vorjahr'];\r\n lngR369 = ['Fehlerspeicher auslesen und analysieren'];\r\n lngR370 = ['vermerkte Fehler (Code)'];\r\n lngR371 = ['Einstellung der Heizkennlinie pr\\xfcfen und plausibilisieren'];\r\n lngR372 = ['Start Au\\xdfentemperatur'];\r\n lngR373 = ['Einstellung der Warmwasserbereitung pr\\xfcfen und ggf. optimieren'];\r\n lngR374 = ['10. Dokumentation'];\r\n lngR375 = [''];\r\n lngR376 = [''];\r\n lngR377 = [''];\r\n lngR378 = [''];\r\n lngR379 = [''];\r\n lngR380 = [''];\r\n lngRQL1 = ['T Druckgasleitung'];\r\n lngRQL2 = ['Stromaufnahme Verdichter'];\r\n lngThRep1 = ['TQE'];\r\n lngThRep2 = ['TQA'];\r\n lngThRep3 = ['TE'];\r\n lngThRep4 = ['TSL1'];\r\n lngThRep5 = ['TSL2'];\r\n lngThRep6 = ['p0'];\r\n lngThRep7 = ['T0, unten'];\r\n lngThRep8 = ['T0, oben'];\r\n lngThRep9 = ['IK'];\r\n lngThRep10 = ['pC'];\r\n lngThRep11 = ['TC, unten'];\r\n lngThRep12 = ['TC, oben'];\r\n lngThRep13 = ['TDL'];\r\n lngThRep14 = ['TFL'];\r\n lngThRep15 = ['TRL'];\r\n lngThRep16 = ['TVL'];\r\n lngA1 = ['Au\\xdfentemperatur', 'Ext. temperature', 'Temp\\xe9rature ext\\xe9rieure'];\r\n lngA2 = ['Au\\xdfentemperatur 1h', 'Ext.temperature 1h', 'Temp\\xe9rature ext\\xe9rieure 1h'];\r\n lngA3 = ['Au\\xdfentemperatur 24h', 'Ext.temperature 24h', 'Temp\\xe9rature ext\\xe9rieure 24h'];\r\n lngA4 = ['T Quelle Ein', 'T Source In', 'T entr\\xe9e captage'];\r\n lngA5 = ['T Quelle Aus', 'T Source Out', 'T sortie captage'];\r\n lngA6 = ['T Verdampfer', 'T Evaporation', 'T \\xe9vaporation'];\r\n lngA7 = ['T Saugleitung', 'T Suction line', 'T gaz aspir\\xe9'];\r\n lngA8 = ['p Verdampfer', 'p Evaporation', 'p \\xe9vaporation'];\r\n lngA9 = [];\r\n lngA10 = ['T Sollwert'];\r\n lngA11 = ['T R\\xfccklauf', 'T return', 'T retour'];\r\n lngA699 = [this.lngA11[0] + ' 1', this.lngA11[1] + ' 1', this.lngA11[2] + ' 1'];\r\n lngA700 = [this.lngA11[0] + ' 2', this.lngA11[1] + ' 2', this.lngA11[2] + ' 2'];\r\n lngA701 = [this.lngA11[0] + ' 3', this.lngA11[1] + ' 3', this.lngA11[2] + ' 3'];\r\n lngA702 = [this.lngA11[0] + ' 4', this.lngA11[1] + ' 4', this.lngA11[2] + ' 4'];\r\n lngA12 = ['T Vorlauf', 'T flow', 'T d\\xe9part'];\r\n lngA13 = ['T Kondensation', 'T Condensation', 'T condensation'];\r\n lngA14 = ['Tc Bubble-Point', 'T Bubble Point'];\r\n lngA15 = ['p Kondensator', 'p Condensation', 'p condensation'];\r\n lngA16 = ['Temperatur Pufferspeicher'];\r\n lngA17 = ['Temperatur Raum', 'Room temperature', 'Temp\\xe9rature pi\\xe8ce pilote'];\r\n lngA18 = ['Temperatur Raum 1h'];\r\n lngA19 = ['Temperatur Warmwasser', 'Actual temperature', 'Temp\\xe9rature actuelle'];\r\n lngA20 = ['Temperatur Pool', 'Current temperature', 'Temp\\xe9rature actuelle'];\r\n lngA21 = ['Temperatur Solar'];\r\n lngA22 = ['Austrittstemperatur Solarkollektor'];\r\n lngA23 = ['EEV Ventil\\xf6ffnung', 'Expansion valve', 'Ouverture d\\xe9tendeur'];\r\n lngA24 = [];\r\n lngA25 = ['Elektrische Leistung', 'Electrical energy', 'Puissance \\xe9lectrique'];\r\n lngA26 = ['Thermische Leistung', 'Thermal energy', 'Puissance thermique'];\r\n lngA27 = ['K\\xe4lteleistung', 'Cooling energy', 'Puissance frigorifique'];\r\n lngA28 = ['COP', 'COP', 'COP'];\r\n lngA29 = ['COP K\\xe4lteleistung', 'COP cooling output', 'EER'];\r\n lngA30 = ['aktuelle Temperatur', 'Current temperature', 'Temp\\xe9rature actuelle'];\r\n lngA31 = ['geforderte Temperatur', 'Required temperature', 'Temp\\xe9rature de consigne'];\r\n lngA32 = ['Heiztemperatur', 'Heating temperature'];\r\n lngA33 = ['aktuelle Temperatur', 'Current temperature', 'Temp\\xe9rature actuelle'];\r\n lngA34 = ['geforderte Temperatur', 'Required temperature', 'Temp\\xe9rature de consigne'];\r\n lngA35 = [];\r\n lngA36 = [];\r\n lngA37 = ['geforderte Temperatur', 'Required temperature', 'Temp\\xe9rature de consigne'];\r\n lngA38 = ['Sollwert', 'Target value', 'Consigne'];\r\n lngA39 = [];\r\n lngA40 = [\r\n 'geforderte Temperatur (incl. Anhebung/Absenkung)',\r\n 'Required temperature (incl. rise/drop)',\r\n 'Temp\\xe9rature de consigne (avec augmentation/baisse)',\r\n ];\r\n lngA41 = ['geforderte Temperatur', 'Required temperature', 'Temp\\xe9rature de consigne'];\r\n lngA42 = ['aktuelle Temperatur Kollektor', 'Current temperature collector', 'Temp\\xe9rature actuelle collecteur'];\r\n lngA43 = ['aktuelle Temperatur Vorlauf', 'Current temperature flow', 'Temp\\xe9rature actuelle d\\xe9part'];\r\n lngA44 = ['aktuelle Temperatur'];\r\n lngA45 = ['geforderte Temperatur'];\r\n lngA46 = [];\r\n lngA47 = [];\r\n lngA48 = [];\r\n lngA49 = [];\r\n lngA50 = [];\r\n lngA51 = ['Drehzahl Heizungsp.', 'Speed flow pump', 'Vitesse pompe chauffage'];\r\n lngA52 = ['Drehzahl Quellenp.', 'Speed surce pump', 'Vitesse pompe captage'];\r\n lngA53 = [];\r\n lngA54 = [];\r\n lngA55 = [];\r\n lngA56 = [];\r\n lngA57 = [];\r\n lngA58 = ['Leistung Verdichter', 'Power compressor', 'Puissance compresseur'];\r\n lngA59 = [];\r\n lngA60 = [];\r\n lngA61 = ['Schaltdifferenz Sollwert', 'Target value switching difference', 'Hyst\\xe9r\\xe9sis consigne'];\r\n lngA90 = ['T Au\\xdfen \\xd81h', 'T External \\xd81h', 'T ext\\xe9rieure \\xd81h'];\r\n lngA91 = ['T Norm-Au\\xdfen', 'T outdoor norm', 'T base-ext.'];\r\n lngA92 = ['T Heizkreis Norm', 'T heat norm', 'T base-chauf.fage'];\r\n lngA93 = ['T Heizgrenze', 'T out begin', 'T encl. ext.'];\r\n lngA94 = ['T Heizgrenze Soll', 'T base setpoint', 'T encl. chauffage'];\r\n lngA95 = ['Grenze f\\xfcr Sollwert (Max.)'];\r\n lngA96 = ['Temperatur Soll', 'Temp. calc.', 'Temp. consigne'];\r\n lngA97 = [];\r\n lngA98 = ['Raumtemperatur 1h', 'T room 1h', 'T-pi\\xe8ce 1h'];\r\n lngA99 = ['Aktueller Wert', 'Current value'];\r\n lngA100 = ['Raumtemperatur Soll', 'T room setpoint', 'T-pi\\xe8ce consigne'];\r\n lngA101 = ['Raumeinfluss', 'Room influence', 'Influence pi\\xe8ce'];\r\n lngA102 = ['Kleinster Wert', 'Lowest value'];\r\n lngA103 = ['Gr\\xf6sster Wert', 'Biggest value'];\r\n lngA104 = ['Grenze f\\xfcr Sollwert (Min.)'];\r\n lngA105 = [];\r\n lngA106 = [];\r\n lngA107 = ['Schaltdifferenz Sollwert', 'Hysteresis', 'Hyst\\xe9r\\xe9sis Consigne'];\r\n lngA108 = ['T Außen Einsatzgrenze', 'T out begin', \"T ext\\xe9rieure limite d'application\"];\r\n lngA109 = ['K\\xfchltemperatur', 'T Cooling', 'T Rafraichissement'];\r\n lngA110 = ['Vorlauftemperatur-begrenzung'];\r\n lngA111 = [];\r\n lngA112 = [];\r\n lngA139 = ['Schaltdifferenz Sollwert', 'Target value switching difference', 'Hyst\\xe9r\\xe9sis consigne'];\r\n lngA168 = ['geforderte Temperatur', 'Required temperature', 'Temp\\xe9rature de consigne'];\r\n lngA169 = [\r\n 'Sollwert bei Solarbetrieb',\r\n 'Hotwater setpoint for solar support, outside heating period',\r\n 'Consigne ECS en mode solaire hors de la p\\xe9riode de chauffage',\r\n ];\r\n lngA170 = ['R\\xfccklauftemperatur Anhebung/Absenkung bei Optimierung'];\r\n lngA171 = ['Leistungsbegrenzung Max. Ausgang'];\r\n lngA172 = ['Leistungsbegrenzung Min. Ausgang'];\r\n lngA173 = [];\r\n lngA174 = ['Schaltdifferenz Sollwert', 'Target value switching difference', 'Hyst\\xe9r\\xe9sis consigne'];\r\n lngA175 = [];\r\n lngA200 = [];\r\n lngA201 = [];\r\n lngA202 = [];\r\n lngA203 = ['Leistungsbegrenzung Max. Ausgang'];\r\n lngA204 = ['Leistungsbegrenzung Min. Ausgang'];\r\n lngA205 = [\r\n 'Einschalttemperaturdifferenz',\r\n 'Switch on temperature difference',\r\n \"Diff\\xe9rence de temp\\xe9rature d'enclenchement\",\r\n ];\r\n lngA206 = [\r\n 'Ausschalttemperaturdifferenz',\r\n 'Switch off temperature difference',\r\n \"Diff\\xe9rence de temp\\xe9rature d'arr\\xeat\",\r\n ];\r\n lngA207 = [\r\n 'Maximale Kollektortemperatur',\r\n 'Maximum collector temperature',\r\n 'Temp\\xe9rature maximale du collecteur',\r\n ];\r\n lngA208 = ['Schaltdifferenz Solar-Vorlauf', 'Switching difference flow', 'Hyst\\xe9r\\xe9sis d\\xe9part'];\r\n lngA209 = ['geforderte Temperatur Vorlauf', 'Required temperature flow', 'Consigne d\\xe9part'];\r\n lngA210 = [];\r\n lngA235 = [];\r\n lngA236 = [];\r\n lngA237 = [];\r\n lngA238 = [\r\n 'Einschalttemperatur ext. W\\xe4rmeerzeuger bei Unterschreitung der Quelleneintritts-T oder Außen-T von',\r\n ];\r\n lngA239 = [\r\n 'Umschalttemperatur ext. W\\xe4rmeerzeuger bei Unterschreitung der Quelleneintritts-T oder Außen-T von',\r\n ];\r\n lngA240 = ['Schaltdifferenz Bivalenzpunkt'];\r\n lngA241 = [];\r\n lngA242 = [];\r\n lngA243 = [];\r\n lngA244 = ['Schaltdifferenz'];\r\n lngA245 = [];\r\n lngA270 = [];\r\n lngA271 = [];\r\n lngA272 = [];\r\n lngA273 = [];\r\n lngA274 = ['T Norm-Außen'];\r\n lngA275 = ['T Heizkreis Norm'];\r\n lngA276 = ['T Heizgrenze'];\r\n lngA277 = ['T Heizgrenze Soll'];\r\n lngA278 = ['Maximale Temperatur im Mischerkreis'];\r\n lngA279 = [];\r\n lngA280 = [];\r\n lngA281 = [];\r\n lngA282 = [];\r\n lngA283 = [];\r\n lngA284 = [];\r\n lngA285 = [];\r\n lngA286 = ['T Außen Einsatzgrenze'];\r\n lngA287 = ['K\\xfchltemperatur'];\r\n lngA288 = ['Minimale Temperatur im Mischerkreis'];\r\n lngA289 = [];\r\n lngA290 = ['Verst\\xe4rkung Kp'];\r\n lngA291 = ['Handstellwert'];\r\n lngA400 = [];\r\n lngA401 = [];\r\n lngA412 = ['aktuelle Temperatur'];\r\n lngA413 = ['Raumthermostat'];\r\n lngA414 = ['Schaltdifferenz Sollwert'];\r\n lngA415 = ['geforderte Temperatur'];\r\n lngA416 = [\r\n 'Raumtemperatur Sollwert w\\xe4hrend Abwesenheit',\r\n 'Target value room temperature during absence',\r\n \"Temp\\xe9rature de pi\\xe8ce pendant l'absence\",\r\n ];\r\n lngA417 = [\r\n 'Sollwertabsenkung Heizkreis w\\xe4hrend Abwesenheit',\r\n 'Target value drop cooling circuit during absence',\r\n \"Baisse de temp\\xe9rature circuit chauffage pendant l'absence\",\r\n ];\r\n lngA418 = [];\r\n lngA419 = [];\r\n lngA420 = [];\r\n lngA421 = [];\r\n lngA422 = [];\r\n lngA423 = [];\r\n lngA424 = ['Elektrische Arbeit', 'Electrical performance', 'Travail \\xe9lectrique'];\r\n lngA425 = [];\r\n lngA426 = [];\r\n lngA427 = [];\r\n lngA428 = [];\r\n lngA429 = [];\r\n lngA430 = [];\r\n lngA431 = [];\r\n lngA432 = ['Thermische Arbeit', 'Thermal performance', 'Travail thermique'];\r\n lngA433 = [];\r\n lngA434 = ['Arbeitszahl W%E4rmepumpe', 'Performance factor heat pump', 'COP PAC'];\r\n lngA435 = ['Arbeitszahl Gesamtsystem', 'Performance factor total system', 'COP syst\\xe8me complet'];\r\n lngA436 = ['K\\xe4ltearbeit', 'Cooling performance', 'Travail frigorifique'];\r\n lngA437 = [];\r\n lngA438 = ['Verdichter', 'Compressor', 'Compresseur'];\r\n lngA439 = ['W\\xe4rmequellenpumpe', 'Source pump', 'Pompe de captage'];\r\n lngA440 = ['Heizstab', 'Electrical heater', 'R\\xe9sistance \\xe9lectrique'];\r\n lngA441 = ['Heizbetrieb', 'Heating', 'Chauffage'];\r\n lngA442 = ['Warmwasserbetrieb', 'Hot water', 'ECS'];\r\n lngA443 = ['Pool-Heizbetrieb', 'Pool', 'Piscine'];\r\n lngA444 = [];\r\n lngA445 = [];\r\n lngA446 = [];\r\n lngA447 = [];\r\n lngA448 = [];\r\n lngA449 = [];\r\n lngA450 = ['Elektrische Arbeit', 'Electrical performance', 'Travail \\xe9lectrique'];\r\n lngA451 = [];\r\n lngA452 = [];\r\n lngA453 = [];\r\n lngA454 = [];\r\n lngA455 = [];\r\n lngA456 = [];\r\n lngA457 = [];\r\n lngA458 = ['Thermische Arbeit', 'Thermal performance', 'Travail thermique'];\r\n lngA459 = [];\r\n lngA460 = ['Arbeitszahl W\\xe4rmepumpe', 'Performance factor heat pump', 'COP PAC'];\r\n lngA461 = ['Arbeitszahl Gesamtsystem', 'Performance total system', 'COP syst\\xe8me complet'];\r\n lngA462 = ['K\\xe4ltearbeit', 'Cooling performance', 'Travail frigorifique'];\r\n lngA463 = [];\r\n lngA464 = ['Verdichter', 'Compressor', 'Compresseur'];\r\n lngA465 = ['W\\xe4rmequellenpumpe', 'Heat source pump', 'Pompe de captage'];\r\n lngA466 = ['Heizstab', 'Heating rod', 'R\\xe9sistance \\xe9lectrique'];\r\n lngA467 = ['Heizbetrieb', 'Heating mode', 'Mode chauffage'];\r\n lngA468 = ['Warmwasserbetrieb', 'Domestic hot water mode', 'Mode ECS'];\r\n lngA469 = ['Pool-Heizbetrieb', 'Pool heating mode', 'Mode piscine'];\r\n lngA470 = ['Regelung'];\r\n lngA470_1 = ['Temperatur Regelung'];\r\n lngA471 = ['Verst\\xe4rkung Kp'];\r\n lngA472 = ['Ist'];\r\n lngA473 = ['Soll'];\r\n lngA474 = ['Handstellwert'];\r\n lngA475 = ['Min. Drehzahl'];\r\n lngA476 = ['Max. Drehzahl'];\r\n lngA477 = ['Y Stellausgang'];\r\n lngA478 = ['ΔY'];\r\n lngA479 = ['T W\\xe4rmequelle'];\r\n lngA480 = [];\r\n lngA481 = ['Verst\\xe4rkung Kp'];\r\n lngA482 = ['Ist'];\r\n lngA483 = ['Soll'];\r\n lngA484 = ['Handstellwert'];\r\n lngA485 = ['Min. Drehzahl'];\r\n lngA486 = ['Max. Drehzahl'];\r\n lngA487 = ['Y'];\r\n lngA488 = ['ΔY'];\r\n lngA489 = ['Verst\\xe4rkung Kp'];\r\n lngA490 = ['Max. Ausgang'];\r\n lngA491 = ['Min. Ausgang'];\r\n lngA492 = ['Soll'];\r\n lngA493 = ['Ist'];\r\n lngA494 = ['Y', 'Y', 'Y'];\r\n lngA495 = ['ΔY', 'ΔY', 'ΔY'];\r\n lngA496 = ['Verst\\xe4rkung Kp'];\r\n lngA497 = ['Max. Ausgang'];\r\n lngA498 = ['Min. Ausgang'];\r\n lngA499 = ['Soll'];\r\n lngA500 = ['Ist'];\r\n lngA501 = ['Y'];\r\n lngA502 = ['ΔY'];\r\n lngA503 = ['Verst\\xe4rkung Kp'];\r\n lngA504 = ['Max. Ausgang'];\r\n lngA505 = ['Min. Ausgang'];\r\n lngA506 = ['Soll'];\r\n lngA507 = ['Ist'];\r\n lngA508 = ['Y'];\r\n lngA509 = ['ΔY'];\r\n lngA510 = ['Y'];\r\n lngA511 = ['ΔY'];\r\n lngA512 = [];\r\n lngA513 = [];\r\n lngA514 = [];\r\n lngA515 = [];\r\n lngA516 = ['Verdichter', 'Compressor', 'Compresseur'];\r\n lngA517 = [];\r\n lngA518 = ['Außeneinheit', 'Outdoor unit', 'Unit\\xe9 ext\\xe9rieure'];\r\n lngA519 = [];\r\n lngA520 = ['Vollbetriebsstunden', 'Operating hours', \"Heures d'activit\\xe9\"];\r\n lngA521 = [];\r\n lngA522 = ['Heizungspumpe', 'Heat. pump', 'Pompe chauffage'];\r\n lngA523 = [];\r\n lngA524 = ['Quellenpumpe', 'Source pump', 'Pompe captage'];\r\n lngA525 = [];\r\n lngA526 = ['Solarkreispumpe', 'Solar pump', 'Solaire'];\r\n lngA527 = [];\r\n lngA528 = ['ext. W\\xe4rmeerzeuger', 'Ext. Heating', 'Chauffage externe'];\r\n lngA529 = [];\r\n lngA530 = ['Heizbetrieb', 'Heating', 'Chauffage'];\r\n lngA531 = [];\r\n lngA532 = ['K\\xfchlbetrieb', 'Cooling', 'Rafraichissement'];\r\n lngA533 = [];\r\n lngA534 = ['Warmwasserbetrieb', 'Hot water', 'ECS'];\r\n lngA535 = [];\r\n lngA536 = ['Pool-Heizbetrieb', 'Pool ', 'Piscine'];\r\n lngA537 = [];\r\n lngA538 = ['Solarbetrieb', 'Solar', 'Solaire'];\r\n lngA539 = [];\r\n lngA540 = ['Funktionsheizbetrieb', 'F.heating', 'Chauffage chape'];\r\n lngA541 = [];\r\n lngA542 = ['Abtauvorgang', 'Defrost', 'D\\xe9givrage'];\r\n lngA543 = [];\r\n lngA544 = ['Bivalent parallel', 'Bivalent parallel', 'Bivalent Parall\\xe8le'];\r\n lngA545 = [];\r\n lngA546 = ['Bivalent alternativ', 'Bivalent alternative', 'Bivalent Alternatif'];\r\n lngA547 = [];\r\n lngA548 = ['Photovoltaik', 'Photovolta\\xefque'];\r\n lngA576 = ['PV-Ertrag', 'PV operation', 'Production PV'];\r\n lngA577 = this.lngA1;\r\n lngA578 = this.lngA2;\r\n lngA579 = this.lngA3;\r\n lngA580 = this.lngA4;\r\n lngA581 = this.lngA5;\r\n lngA582 = this.lngA6;\r\n lngA583 = this.lngA7;\r\n lngA584 = this.lngA8;\r\n lngA585 = this.lngA10;\r\n lngA586 = this.lngA11;\r\n lngA587 = this.lngA12;\r\n lngA588 = this.lngA13;\r\n lngA589 = this.lngA14;\r\n lngA590 = this.lngA15;\r\n lngA591 = ['Speichertemperatur'];\r\n lngA592 = ['T Raum'];\r\n lngA593 = ['T Raum 1h'];\r\n lngA594 = ['T Warmwasser'];\r\n lngA595 = ['T Pool'];\r\n lngA596 = ['T Solar'];\r\n lngA682 = ['im Heizkreis'];\r\n lngA683 = ['im K\\xfchlkreis'];\r\n lngA684 = ['im Warmwasserspeicher'];\r\n lngA685 = ['im Pool'];\r\n lngA689 = ['Leistungsbegrenzung Max. Ausgang'];\r\n lngA690 = ['Leistungsbegrenzung Min. Ausgang'];\r\n lngA695 = this.lngHeating;\r\n lngA686 = ['Sondentemperatur'];\r\n lngA687 = ['Max. Sonden Temperatur'];\r\n lngA688 = ['Schaltdifferenz max. Temperatur'];\r\n lngA703 = ['Leistung Au\\xdfeneinheit', 'Puissance unit\\xe9 ext\\xe9rieure'];\r\n lngA746 = ['T Außen ∅1h'];\r\n lngA747 = ['T Norm-Außen'];\r\n lngA748 = ['T Heizkreis Norm.'];\r\n lngA749 = ['T Heizgrenze'];\r\n lngA750 = ['T Heizgrenze Soll'];\r\n lngA751 = ['Grenzwert f\\xfcr Sollwert'];\r\n lngA752 = ['Temperatur Soll'];\r\n lngA890 = ['I012 Abschaltdruck f\\xfcr Kondensation'];\r\n lngA891 = ['I012 Temperatur entsprechend Abschaltdruck'];\r\n lngA892 = ['Min. Drehzahl'];\r\n lngA893 = ['Max. Drehzahl'];\r\n lngA894 = ['Regelbeginn ab . . T Warmwasser'];\r\n lngA894_1 = ['Regelung dT'];\r\n lngA897 = ['Max. Wert'];\r\n lngA898 = ['Min. Wert'];\r\n lngA900 = ['Max. Alarm'];\r\n lngA901 = ['Min. Alarm'];\r\n lngA940 = ['Au\\xdfentemperatur'];\r\n lngA943 = ['Drehzahl Prim\\xe4rseite'];\r\n lngA944 = ['Leistung'];\r\n lngA945 = ['EEV'];\r\n lngA946 = ['Drehzahl Sekund\\xe4r'];\r\n lngA965 = ['Messumformer 4mA'];\r\n lngA966 = ['Messumformer 20mA'];\r\n lngA967 = ['SG Ready Betriebszustand 4'];\r\n lngA1014 = ['ΔT'];\r\n lngA1015 = ['Messumformer 0V'];\r\n lngA1016 = ['Messumformer 10V'];\r\n lngA1019 = ['Umschalttemperatur ext. W\\xe4rmeerzeuger bei \\xdcberschreitung der T Warmwasser'];\r\n lngA1020 = ['0V'];\r\n lngA1021 = ['10V'];\r\n lngA1022 = ['Durchfluss (Vortex Sensor)'];\r\n lngA1023 = ['Temperatur (Vortex Sensor)'];\r\n lngA1027 = ['Aktuell'];\r\n lngA1028 = ['Min. Drehzahl'];\r\n lngA1029 = ['Max. Drehzahl'];\r\n lngA1030 = ['T Vorlauf'];\r\n lngA1031 = ['Drehzahl'];\r\n lngA1032 = ['Min. Drehzahl'];\r\n lngA1033 = ['Max. Drehzahl'];\r\n lngA1034 = ['T W\\xe4rmequelle'];\r\n lngA1034_2 = ['T Sekund\\xe4r'];\r\n lngA1035 = ['ΔT'];\r\n lngA1094 = ['im Mischerkreis'];\r\n lngA1097 = ['Offset'];\r\n lngA1099 = ['Offset'];\r\n lngA1101 = ['Eintrittstemperatur Solarkollektor'];\r\n lngA1102 = ['Leistungsbegrenzung'];\r\n lngA1184 = ['Einsatzbereich Min. Temperatur'];\r\n lngA1186 = ['Schaltdifferenz'];\r\n lngA1187 = ['Einschalttemperaturdifferenz gegenu\\u0308ber Geo-Ice Absorber'];\r\n lngA1192 = ['Ausschalttemperatur der W\\xe4rmequelle im Winter >'];\r\n lngA1195 = ['Ausschalttemperatur der W\\xe4rmequelle im Sommer >'];\r\n lngA1196 = ['PV-Modul-Ku\\u0308hlung Einschalttemperatur fu\\u0308r Ku\\u0308hlung'];\r\n lngA1198 = ['PV-Modul-Ku\\u0308hlung Ausschalttemperatur bei W\\xe4rmequelleneintritt'];\r\n lngA1194 = ['15 Min.-Mittelwert der Netzeinspeisung'];\r\n lngA1220 = ['Grenzwert W\\xe4rmequellenaustritt'];\r\n lngA1223 = ['Photovoltaik \\xdcberschuss'];\r\n lngA1224 = ['Einschaltgrenzwert fu\\u0308r PV'];\r\n lngA1231 = ['Frostschutz'];\r\n lngA1249 = ['Umschalttemperatur ext. W\\xe4rmeerzeuger bei \\xdcberschreitung der T Vorlauf'];\r\n lngA3000 = [];\r\n lngA3001 = [];\r\n lngA3002 = [];\r\n lngA3003 = [];\r\n lngA3004 = [];\r\n lngA3005 = [];\r\n lngD1 = ['F100: Motorschutzschalter 1', 'Motor protection 1', 'Protection moteur 1'];\r\n lngD2 = ['F101: Motorschutzschalter 2', 'Motor protection 2', 'Protection moteur 2'];\r\n lngD3 = ['F102: Phasenfolge\\xfcberwachung', 'Phase/Rot. field', 'Erreur de phases'];\r\n lngD4 = ['F103: St\\xf6rung Durchfluss', 'No Flow', 'Panne d\\xe9bit'];\r\n lngD5 = ['F110: HD-Pressostat', 'high pressure', 'Pressostat HP'];\r\n lngD6 = [\r\n 'F111: Verfl\\xfcssigungstemperatur zu niedrig',\r\n 'Condensing temperature too low',\r\n 'Temp\\xe9rature de condensation trop basse',\r\n ];\r\n lngD7 = ['F120: ND-Pressostat', 'low pressure', 'Pressostat BP'];\r\n lngD8 = [\r\n 'F121: Druck\\xfcberwachung Verdampfer',\r\n 'Pressure monitoring evaporator',\r\n 'Contr\\xf4le de pression \\xe9vaporateur',\r\n ];\r\n lngD9 = [\r\n 'F122: Temperatur\\xfcberwachung Verdampfer',\r\n 'Temperate monitoring evaporator',\r\n \"Contr\\xf4le de la temp\\xe9rature d'\\xe9vaporation\",\r\n ];\r\n lngD10 = ['F123: Nasslauf', 'Bad evaporating', 'Gaz liquide'];\r\n lngD11 = ['F130: Ausfall 4-Wege Ventil', 'Failure 4-way valve', 'Panne vanne 4-voies'];\r\n lngD12 = [\r\n 'F200: Steuerger\\xe4t Kommunikations\\xfcberwachung Ausfall',\r\n 'Failure control unit communication monitoring',\r\n \"Panne contr\\xf4le de communication de l'unit\\xe9 de contr\\xf4le\",\r\n ];\r\n lngD13 = [\r\n 'F201: Das Ger\\xe4t pCOe oder EVD ist nicht vorhanden, funktioniert nicht richtig',\r\n 'Device pCOe or EVD is not available, does not function properly',\r\n 'Le pCOe ou le EVD est absent ou ne fonctionne pas',\r\n ];\r\n lngD14 = ['F301: Ventilmotorfehler', 'Valve motor error', 'Erreur moteur de vanne'];\r\n lngD15 = ['F600: St\\xf6rung Außeneinheit', 'Malfunction outdoor unit', 'Panne unit\\xe9 ext\\xe9rieure'];\r\n lngD16 = this.lngTotal;\r\n lngD17 = [];\r\n lngD18 = [];\r\n lngD19 = [];\r\n lngD20 = [];\r\n lngD21 = [];\r\n lngD22 = ['speichern', 'save'];\r\n lngD23 = ['Heizbetrieb', 'Heating', 'Chauffage'];\r\n lngD24 = this.lngTimeTable;\r\n lngD25 = ['Heizbetrieb', 'Heating', 'Chauffage'];\r\n lngD26 = [];\r\n lngD27 = ['Uhr automatisch auf Sommer-/Winterzeit umstellen'];\r\n lngD28 = [];\r\n lngD29 = [];\r\n lngD30 = [];\r\n lngD31 = [];\r\n lngD32 = ['Anforderung'];\r\n lngD33 = ['Freigabe gesamt'];\r\n lngD34 = [];\r\n lngD35 = [];\r\n lngD72 = [];\r\n lngD74 = ['K\\xfchlbetrieb'];\r\n lngD84 = ['Betriebsweise'];\r\n lngD84_0 = ['Naturk\\xfchlung'];\r\n lngD84_1 = ['Umkehrk\\xfchlung'];\r\n lngD117 = ['Warmwasserbetrieb'];\r\n lngD118 = this.lngD24;\r\n lngD75 = this.lngD24;\r\n lngD160 = ['Pool-Heizbetrieb'];\r\n lngD161 = this.lngTimeTable;\r\n lngD162 = ['Betriebspunkt'];\r\n lngD163 = ['Anforderung'];\r\n lngD164 = ['Freigabe gesamt'];\r\n lngD196 = ['Solarbetrieb'];\r\n lngD232 = ['Ext. W\\xe4rmeerzeuger'];\r\n lngD239 = ['EVU Sperrzeit'];\r\n lngD240 = ['Verf\\xfcgbar'];\r\n lngD241 = this.lngTimeTable;\r\n lngD242 = ['Betriebspunkt'];\r\n lngD243 = ['Anforderung'];\r\n lngD244 = ['Freigabe gesamt'];\r\n lngD248 = ['Mischerkreis'];\r\n lngD249 = this.lngTimeTable;\r\n lngD250 = ['Betriebspunkt'];\r\n lngD251 = ['Heizbetrieb'];\r\n lngD252 = this.lngD74;\r\n lngD253 = ['Anforderung'];\r\n lngD254 = ['Freigabe Gesamt'];\r\n lngD289 = ['Heizbetrieb'];\r\n lngD290 = this.lngD74;\r\n lngD291 = ['Mischerkreis 2'];\r\n lngD334 = ['Mischerkreis 3'];\r\n lngD377 = ['Speicherpumpe'];\r\n lngD378 = this.lngTimeTable;\r\n lngD379 = ['Betriebspunkt'];\r\n lngD382 = ['Anforderung'];\r\n lngD383 = ['Freigabe Gesamt'];\r\n lngD421 = ['K\\xfchlbetrieb blockieren', 'Block cooling mode', 'Bloquer le rafraichissement'];\r\n lngD422 = ['Warmwasserbereitung blockieren', 'Block domestic hot water production', \"Bloquer la production d'ECS\"];\r\n lngD423 = ['Pool-Heizbetrieb blockieren', 'Block pool heating mode', 'Bloquer le chauffage piscine'];\r\n lngD428 = this.lngTotal;\r\n lngD430 = ['Quellenpumpe'];\r\n lngD437 = ['Fl\\xfcstermodus'];\r\n lngD438 = ['Alarmausgang'];\r\n lngD439 = this.lngD437;\r\n lngD440 = ['K\\xfchlsignal'];\r\n lngD441 = ['HD-Pressostat'];\r\n lngD442 = ['ND-Pressostat'];\r\n lngD445 = ['Außeneinheit'];\r\n lngD446 = ['Externe Abschaltung'];\r\n lngD446QL = ['AEH Abtauvorgang'];\r\n lngD454 = ['SM Kompressor 1'];\r\n lngD455 = ['SM Kompressor 2'];\r\n lngD456 = ['SM Phase'];\r\n lngD457 = ['SM Volumenstrom'];\r\n lngD549 = ['Pool-Umw\\xe4zpumpe'];\r\n lngD550 = ['Stufenbegrenzung'];\r\n lngD576 = ['0-10V Eingang Temp. Außen'];\r\n lngD577 = ['Heizbetrieb'];\r\n lngD578 = ['K\\xfchlbetrieb'];\r\n lngD579 = ['T Quelle Aus < OK', 'T source out <OK', 'T sortie captage<OK'];\r\n lngD580 = ['p Kondensator > OK', 'p condensation>OK', 'p condensation>OK'];\r\n lngD581 = ['Externe Abschaltung (EVU)', 'Ext. off (EVU)', 'Coupure externe (EVU)'];\r\n lngD582 = ['Schalth\\xe4ufigkeit', 'Switching interval', 'Arr\\xeat fr\\xe9quence d\\xe9marrage'];\r\n lngD583 = ['T Quelle Aus ERR', 'T Source Out ERR', 'T sortie de captage ERR'];\r\n lngD584 = [\r\n 'Umschalttemperatur auf Ext. W\\xe4rmeerzeuger erreicht.',\r\n 'Change-over temperature reached on ext. heat generator.',\r\n \"Temp\\xe9rature de bivalence atteinte pour l'enclenchement du chauffage externe.\",\r\n ];\r\n lngD585 = [\r\n 'Außentemperatur zu niedrig. Unterbrechung durch Abschaltung der W\\xe4rmepumpe\t',\r\n 'External temperature too low. Interruption by disconnecting heat pump\t',\r\n 'Temp\\xe9rature ext\\xe9rieure trop basse. Arr\\xeat de la PAC.',\r\n ];\r\n lngD586 = [\r\n 'Vorlauftemperaturbegrenzung im K\\xfchlkreis unterschritten',\r\n 'Falling below flow temperature limit in cooling circuit',\r\n 'La temp\\xe9rature de d\\xe9part en mode rafraichissement est en dessous de la temp\\xe9rature limite',\r\n ];\r\n lngD587 = [\r\n 'R\\xfccklauftemperaturbegrenzung im K\\xfchlkreis unterschritten',\r\n 'Falling below return temperature limit in cooling circuit',\r\n 'La temp\\xe9rature de retour en mode rafraichissement est en dessous de la temp\\xe9rature limite',\r\n ];\r\n lngD588 = [\r\n 'R\\xfccklauftemperaturgrenzwert bei Abtauvorgang unterschritten',\r\n 'Falling below return temperature limit during defrost cycle',\r\n 'On est en dessous de la temp\\xe9rature limite retour en mode d\\xe9givrage',\r\n ];\r\n lngD589 = ['T Verdampfer < OK', 'T evaporation <OK', 'T \\xe9vaporation <OK'];\r\n lngD590 = ['T Quelle Aus < OK', 'T source out <OK', 'T sortie captage<OK'];\r\n lngD591 = [\r\n 'Temperaturdifferenz ΔT W\\xe4rmequelleneintritt - W\\xe4rmequellenaustritt > OK',\r\n 'Temperature difference ΔT heat source input - heat source output > OK',\r\n 'T entr\\xe9e captage - T sortie captage > OK',\r\n ];\r\n lngD592 = [\r\n 'Temperaturdifferenz ΔT W\\xe4rmequellenaustritt - Verdampfungstemperatur > 6,0K',\r\n 'T source in - T source out > 6K',\r\n 'T sortie captage - T \\xe9vaporation > 6K',\r\n ];\r\n lngD593 = [\r\n 'Temperaturdifferenz ΔT Heizungsvorlauf - Heizungsr\\xfccklauf < OK',\r\n 'Temperature difference ΔT heating flow - heating return < OK',\r\n 'T d\\xe9part chauffage - T retour chauffage < OK',\r\n ];\r\n lngD594 = [\r\n 'Temperaturdifferenz ΔT Heizungsvorlauf - Heizungsr\\xfccklauf > OK',\r\n 'Temperature difference ΔT heating flow - heating return > OK',\r\n 'T d\\xe9part chauffage - T retour chauffage > OK',\r\n ];\r\n lngD595 = [\r\n 'Temperaturdifferenz ΔT Kondensation - Heizungsvorlauf > 10,0K',\r\n 'Temperature difference ΔT condensation - heating flow > 10.0K',\r\n 'T condensation - T d\\xe9part chauffage > 10,0K',\r\n ];\r\n lngD596 = ['F\\xfchler ERR: p Verdampfer', 'Sensor Error: p Evaporation', 'Erreur de sonde: p \\xc9vaporation'];\r\n lngD597 = ['F\\xfchler ERR: p Kondensator', 'Sensor Error: p Condensation', 'Erreur de sonde: p Condensation'];\r\n lngD598 = ['F\\xfchler ERR: T Quelle Ein', 'Sensor ERR: T Source In', 'Erreur de sonde: T sortie captage'];\r\n lngD599 = ['F\\xfchler ERR: T Quelle Aus', 'Sensor ERR: T Source Out', 'Erreur de sonde: T entr\\xe9e captage'];\r\n lngD600 = ['F\\xfchler ERR: T Hzg R\\xfccklauf', 'Sensor ERR: T Htg return', 'Erreur de sonde: T retour chauffage'];\r\n lngD601 = ['F\\xfchler ERR: T Hzg Vorlauf', 'Sensor ERR: T Htg flow', 'Erreur de sonde: T d\\xe9part chauffage'];\r\n lngD602 = [\r\n 'F\\xfchler ERR: T Außenf\\xfchler',\r\n 'Sensor ERR: T external sensor',\r\n 'Erreur de sonde: T ext\\xe9rieure',\r\n ];\r\n lngD603 = ['F\\xfchler ERR: T Warmwasser', 'Sensor ERR: T Dom.hot water', 'Erreur de sonde: T ECS'];\r\n lngD604 = ['F\\xfchler ERR: T Raumf\\xfchler', 'Sensor ERR: T Room sensor', 'Erreur de sonde: T pi\\xe8ce pilote'];\r\n lngD605 = ['F\\xfchler ERR: T Pool', 'Sensor ERR: T Pool', 'Erreur de sonde: T piscine'];\r\n lngD606 = ['F\\xfchler ERR: T Saugleitung', 'Sensor ERR: T Suction line', 'Erreur de sonde: T gaz aspir\\xe9'];\r\n lngD607 = [\r\n 'F\\xfchler ERR: T Solarkollektor Vorlauf',\r\n 'Sensor ERR: T Solar collector flow',\r\n 'Erreur de sonde: T d\\xe9part collecteur solaire',\r\n ];\r\n lngD608 = [\r\n 'F\\xfchler ERR: T Solarkollektor',\r\n 'Sensor ERR: T Solar collector',\r\n 'Erreur de sonde: T collecteur solaire',\r\n ];\r\n lngD609 = ['F\\xfchler ERR: T Speicher', 'Sensor ERR: T Storage tank', 'Erreur de sonde: T ballon tampon'];\r\n lngD610 = [\r\n 'Speicherf\\xfchlerfehler Umschaltung auf R\\xfccklaufregelung',\r\n 'Storage tank sensor error change-over to return control',\r\n 'Sonde de temp\\xe9rature ballon, commutation en r\\xe9gulation sur retour',\r\n ];\r\n lngD611 = [\r\n 'Vorlauftemperaturbegrenzung im K\\xfchlkreis unterschritten',\r\n 'Falling below flow temperature limit in cooling circuit',\r\n 'T d\\xe9part en mode rafraichissement en dessous de la temp\\xe9rature limite',\r\n ];\r\n lngD612 = [\r\n 'Handbetrieb aktiviert: Heizbetrieb',\r\n 'Manual mode activated: Heating mode',\r\n 'Mode manuel activ\\xe9: Chauffage',\r\n ];\r\n lngD613 = [\r\n 'Handbetrieb aktiviert: K\\xfchlbetrieb',\r\n 'Manual mode activated: Cooling mode',\r\n 'Mode manuel activ\\xe9: Rafraichissement',\r\n ];\r\n lngD614 = [\r\n 'Handbetrieb aktiviert: Warmwasserbetrieb',\r\n 'Manual mode activated: Domestic hot water mode',\r\n 'Mode manuel activ\\xe9: ECS',\r\n ];\r\n lngD615 = [\r\n 'Handbetrieb aktiviert: Pool-Heizbetrieb',\r\n 'Manual mode activated: Pool heating mode',\r\n 'Mode manuel activ\\xe9: Piscine',\r\n ];\r\n lngD616 = [\r\n 'Handbetrieb aktiviert: Solar-Heizbetrieb',\r\n 'Manual mode activated: Solar heating mode',\r\n 'Mode manuel activ\\xe9: Solaire',\r\n ];\r\n lngD617 = [\r\n 'Handbetrieb aktiviert: Ext. W\\xe4rmeerzeuger',\r\n 'Manual mode activated: Ext. heat generator',\r\n 'Mode manuel activ\\xe9: Chauffage externe',\r\n ];\r\n lngD618 = [\r\n 'Handbetrieb aktiviert: Speicherpumpe',\r\n 'Manual mode activated: Storage pump',\r\n 'Mode manuel activ\\xe9: Pompe de ballon',\r\n ];\r\n lngD619 = [\r\n 'Handbetrieb aktiviert: Schaltausgänge',\r\n 'Manual mode activated: Valves/pump',\r\n 'Mode manuel activ\\xe9: Vannes/Pompes',\r\n ];\r\n lngD620 = [];\r\n lngD621 = [];\r\n lngD622 = [];\r\n lngD623 = [];\r\n lngD624 = [];\r\n lngD625 = [];\r\n lngD626 = ['Stillstandszeit'];\r\n lngD627 = [];\r\n lngD628 = [];\r\n lngD629 = [];\r\n lngD631 = [];\r\n lngD632 = [];\r\n lngD633 = [];\r\n lngD634 = this.lngTotal;\r\n lngD635 = ['Photovoltaik'];\r\n lngD636 = ['Zeitprogramm'];\r\n lngD637 = ['Betriebspunkt'];\r\n lngD638 = ['Anforderung'];\r\n lngD639 = ['Freigabe gesamt'];\r\n lngD640 = [];\r\n lngD641 = [];\r\n lngD642 = [];\r\n lngD643 = [];\r\n lngD644 = [];\r\n lngD645 = [];\r\n lngD646 = [];\r\n lngD647 = [];\r\n lngD648 = [];\r\n lngD649 = [];\r\n lngD650 = [];\r\n lngD670 = ['Expertenansicht aktivieren'];\r\n lngD679 = ['Drucktransmitter'];\r\n lngD706 = ['Raumf\\xfchler'];\r\n lngD707 = ['Speicherf\\xfchler'];\r\n lngD708 = ['Bivalenz alternativ'];\r\n lngD715 = ['F601: St\\xf6rung Au\\xdfeneinheit 2', 'Malfunction outdoor unit 2', 'Panne unit\\xe9 ext\\xe9rieure 2'];\r\n lngD716 = ['F602: St\\xf6rung Au\\xdfeneinheit 3', 'Malfunction outdoor unit 3', 'Panne unit\\xe9 ext\\xe9rieure 3'];\r\n lngD717 = ['F603: St\\xf6rung Au\\xdfeneinheit 4', 'Malfunction outdoor unit 4', 'Panne unit\\xe9 ext\\xe9rieure 4'];\r\n lngD777 = ['Warmwasser'];\r\n lngD780 = ['K\\xe4ltemitteldruck zu hoch', 'Pression circuit frigorifique trop \\xe9lev\\xe9e'];\r\n lngD789 = ['Regelverhalten'];\r\n lngD790 = ['Regelverhalten'];\r\n lngD791 = ['Ext. Messwert Warmwasser'];\r\n lngD792 = ['Regelverhalten'];\r\n lngD794 = ['Alarm Reset'];\r\n h5D795 = ['SG Ready'];\r\n lngD795 = ['SG Ready Unterst\\xfctzung'];\r\n lngD796 = ['SG1: EVU-Sperre'];\r\n lngD797 = ['SG2: Normalbetrieb'];\r\n lngD798 = ['SG3: Sollwerterh.'];\r\n lngD799 = ['SG4: Zwangslauf'];\r\n lngD801 = ['Werte \\xfcbernehmen?'];\r\n lngD810 = ['Alarm'];\r\n lngD815 = ['SM Quellenseite'];\r\n lngD816 = ['SM Heizungsseite'];\r\n lngD817 = ['SG Ready-A/ EVU'];\r\n lngD818 = ['SG Ready-B/ Sollw.'];\r\n lngD821 = ['HD-Pressostat'];\r\n lngD822 = ['ND-Pressostat'];\r\n lngD823 = ['Motorschutz 1'];\r\n lngD824 = ['Motorschutz 2'];\r\n lngD830 = ['T Verdampfer < OK'];\r\n lngD831 = ['T Quelle Aus < OK'];\r\n lngD832 = ['Temperatur: \\u0394T QE - QA>OK'];\r\n lngD833 = ['Temperatur: \\u0394T QA - Verd.>OK'];\r\n lngD834 = ['Temperatur: \\u0394T HA - HE OK'];\r\n lngD836 = ['Temperatur: \\u0394T Kond.- HA >OK'];\r\n lngD837 = ['p Kondensator > OK'];\r\n lngD878 = ['Schaltzustand Motorventil bei zykl. Messung'];\r\n lngD880 = ['Kabelbruch\\xfcberwachung'];\r\n lngD881 = ['Kabelbruch\\xfcberwachung'];\r\n lngD890 = ['F701: Bit 0 : Low pressure\t\t\t\t '];\r\n lngD891 = ['F702: Bit 1 : Low superheat\t\t\t '];\r\n lngD892 = ['F703: Bit 2 : High superheat\t\t\t '];\r\n lngD893 = ['F704: Bit 3 : n/a\t\t\t\t\t\t '];\r\n lngD894 = ['F705: Bit 4 : EVI high superheat (warnin'];\r\n lngD895 = ['F706: Bit 5 : Refrigerant loss (warning)'];\r\n lngD896 = ['F707: Bit 6 : High cond. pressure\t\t '];\r\n lngD897 = ['F708: Bit 7 : Envelope Tc low (warning) '];\r\n lngD898 = ['F709: Bit 8 : Envelope Tc high (warning)'];\r\n lngD899 = ['F710: Bit 9 : Envelope Te low (warning) '];\r\n lngD900 = ['F711: Bit 10 : Envelope Te high (warning'];\r\n lngD901 = ['F712: Bit 11 : Freeze alarm (future use)'];\r\n lngD902 = ['F713: Bit 12 : Envelope alarm\t\t\t '];\r\n lngD903 = ['F714: Bit 13 : Defrost term. by time\t '];\r\n lngD904 = ['F715: Bit 14 : n/a\t\t\t\t\t\t '];\r\n lngD905 = ['F716: Bit 15 : n/a\t\t\t\t\t\t '];\r\n lngD906 = ['F733: Bit 0 : Cooling valve\t\t\t '];\r\n lngD907 = ['F734: Bit 1 : EVI valve (Heating valve, '];\r\n lngD908 = ['F735: Bit 2 : n/a\t\t\t\t\t\t '];\r\n lngD909 = ['F736: Bit 3 : P1 sensor\t\t\t\t '];\r\n lngD910 = ['F737: Bit 4 : P2 sensor\t\t\t\t '];\r\n lngD911 = ['F738: Bit 5 : P3 sensor\t\t\t\t '];\r\n lngD912 = ['F739: Bit 6 : n/a\t\t\t\t\t\t '];\r\n lngD913 = ['F740: Bit 7 : n/a\t\t\t\t\t\t '];\r\n lngD914 = ['F741: Bit 8 : n/a\t\t\t\t\t\t '];\r\n lngD915 = ['F742: Bit 9 : T4 sensor\t\t\t\t '];\r\n lngD916 = ['F743: Bit 10 : T7 sensor (timeout 60 sec'];\r\n lngD917 = ['F744: Bit 11 : n/a\t\t\t\t\t\t '];\r\n lngD918 = ['F745: Bit 12 : T6 sensor\t\t\t\t '];\r\n lngD919 = ['F746: Bit 13 : T5 sensor\t\t\t\t '];\r\n lngD920 = ['F747: Bit 14 : VSS communication\t\t '];\r\n lngD921 = ['F748: Bit 15 : n/a\t\t\t\t\t\t '];\r\n lngD922 = ['F749: Bit 0 : High pressure switch\t\t '];\r\n lngD923 = ['F750: Bit 1 : VSS locked (needs 2 minute'];\r\n lngD924 = ['F751: Bit 2 : EEPROM failure\t\t\t '];\r\n lngD925 = ['F752: Bit 3 : Communication timeout to s'];\r\n lngD926 = ['F753: Bit 4 : Compressor alarm\t\t\t '];\r\n lngD927 = ['F765: Bit 0: Inverter Over Current\t\t '];\r\n lngD928 = ['F766: Bit 1: PFC Over Current\t\t\t '];\r\n lngD929 = ['F767: Bit 2: DC Over Voltage\t\t\t '];\r\n lngD930 = ['F768: Bit 3: DC Under Voltage\t\t\t '];\r\n lngD931 = ['F769: Bit 4: AC Over Voltage\t\t\t '];\r\n lngD932 = ['F770: Bit 5: AC Under Voltage\t\t\t '];\r\n lngD933 = ['F771: Bit 6: AC Voltage Imbalance\t\t '];\r\n lngD934 = ['F772: Bit 7: Inverter Desaturation\t\t '];\r\n lngD935 = ['F773: \t\t\t\t\t\t\t\t\t '];\r\n lngD936 = ['F774: \t\t\t\t\t\t\t\t\t '];\r\n lngD937 = ['F775: \t\t\t\t\t\t\t\t\t '];\r\n lngD938 = ['F776: Bit 11: Inverter Over Temp\t\t '];\r\n lngD939 = ['F777: Bit 12: PFC Over Temp\t\t\t '];\r\n lngD940 = ['F778: Bit 13: Lost Rotor\t\t\t\t '];\r\n lngD941 = ['F779: Bit 14: Arithmetic Error\t\t\t '];\r\n lngD942 = ['F780: Bit 15: Precharge Relay Open\t\t '];\r\n lngD943 = ['F781: Bit 0: DC Voltage Low\t\t\t '];\r\n lngD944 = ['F782: \t\t\t\t\t\t\t\t\t '];\r\n lngD945 = ['F783: Bit 2: Torque Limit Timeout\t\t '];\r\n lngD946 = ['F784: \t\t\t\t\t\t\t\t\t '];\r\n lngD947 = ['F785: \t\t\t\t\t\t\t\t\t '];\r\n lngD948 = ['F786: \t\t\t\t\t\t\t\t\t '];\r\n lngD949 = ['F787: \t\t\t\t\t\t\t\t\t '];\r\n lngD950 = ['F788: Bit 7: Modbus Comms Lost\t\t\t '];\r\n lngD951 = ['F789: Bit 8: Scroll Temp High\t\t\t '];\r\n lngD952 = ['F790: Bit 9: Motor Temp High\t\t\t '];\r\n lngD953 = ['F791: Bit 10: Board Temp High\t\t\t '];\r\n lngD954 = ['F792: Bit 11: Inverter Temp High\t\t '];\r\n lngD955 = ['F793: Bit 12: PFC Temp High\t\t\t '];\r\n lngD956 = ['F794: Bit 13: DSP to Comms Lost\t\t '];\r\n lngD957 = ['F795: Bit 14: Comms to DSP Lost\t\t '];\r\n lngD958 = ['F796: \t\t\t\t\t\t\t\t\t '];\r\n lngD959 = ['F797: Bit 0: Inverter Current Imbalance '];\r\n lngD960 = ['F798: Bit 1: PFC Current Imbalance\t\t '];\r\n lngD961 = ['F799: Bit 2: Logic supply Out of Range\t '];\r\n lngD962 = ['F800: Bit 3: Motor Overspeed\t\t\t '];\r\n lngD963 = ['F801: \t\t\t\t\t\t\t\t\t '];\r\n lngD964 = ['F802: \t\t\t\t\t\t\t\t\t '];\r\n lngD965 = ['F803: \t\t\t\t\t\t\t\t\t '];\r\n lngD966 = ['F804: \t\t\t\t\t\t\t\t\t '];\r\n lngD967 = ['F805: \t\t\t\t\t\t\t\t\t '];\r\n lngD968 = ['F806: \t\t\t\t\t\t\t\t\t '];\r\n lngD969 = ['F807: \t\t\t\t\t\t\t\t\t '];\r\n lngD970 = ['F808: \t\t\t\t\t\t\t\t\t '];\r\n lngD971 = ['F809: \t\t\t\t\t\t\t\t\t '];\r\n lngD972 = ['F810: \t\t\t\t\t\t\t\t\t '];\r\n lngD973 = ['F811: \t\t\t\t\t\t\t\t\t '];\r\n lngD974 = ['F812: \t\t\t\t\t\t\t\t\t '];\r\n lngD975 = ['F813: Bit 0: Inverter Temp Imbalance\t '];\r\n lngD976 = ['F814: Bit 1: PFC Temp Imbalance\t\t '];\r\n lngD977 = ['F815: Bit 2: Scroll Temp Low\t\t\t '];\r\n lngD978 = ['F816: Bit 3: Motor Temp Low\t\t\t '];\r\n lngD979 = ['F817: Bit 4: Board Temp Low\t\t\t '];\r\n lngD980 = ['F818: Bit 5: Inverter Temp Low\t\t\t '];\r\n lngD981 = ['F819: Bit 6: PFC Temp Low\t\t\t\t '];\r\n lngD982 = ['F820: Bit 7: Comms ADC Failure\t\t\t '];\r\n lngD983 = ['F821: \t\t\t\t\t\t\t\t\t '];\r\n lngD984 = ['F822: \t\t\t\t\t\t\t\t\t '];\r\n lngD985 = ['F823: \t\t\t\t\t\t\t\t\t '];\r\n lngD986 = ['F824: \t\t\t\t\t\t\t\t\t '];\r\n lngD987 = ['F825: \t\t\t\t\t\t\t\t\t '];\r\n lngD988 = ['F826: \t\t\t\t\t\t\t\t\t '];\r\n lngD989 = ['F827: \t\t\t\t\t\t\t\t\t '];\r\n lngD990 = ['F828: Bit 15: Fault limit Lockout\t\t '];\r\n lngD994 = ['Regelverhalten'];\r\n lngD995 = ['Regelverhalten'];\r\n lngD996 = ['Aktiviert'];\r\n lngD997 = ['Aktiviert'];\r\n lngD998 = ['Beginn der Regelung mit'];\r\n lngD998_1 = ['Min. Drehzahl'];\r\n lngD998_2 = ['Max. Drehzahl'];\r\n lngD999 = ['Beginn der Regelung mit'];\r\n lngD999_1 = ['Min. Drehzahl'];\r\n lngD999_2 = ['Max. Drehzahl'];\r\n lngD1000 = ['Beginn der Regelung mit'];\r\n lngD1000_1 = ['Min. Drehzahl'];\r\n lngD1000_2 = ['Max. Drehzahl'];\r\n lngD1001 = ['Funktionsheizen'];\r\n lngD1002 = ['Belegreifheizen'];\r\n lngD1007 = ['Dienst verf\\xfcgbar: Alarm'];\r\n lngD1008 = ['Dienst verf\\xfcgbar: Thermische Desinfektion'];\r\n lngD1009 = ['Dauerbetrieb'];\r\n lngD1010 = ['SM Phase/Drehf.'];\r\n lngD1011 = ['Abtaufunktion der PV-Anlage'];\r\n lngD1012 = ['W\\xe4rmepumpe auf Werkseinstellungen zur\\xfccksetzen'];\r\n lngD1013 = ['Kalibrierung ND-Pressostat'];\r\n lngD1014 = ['Kalibriert?'];\r\n lngD1015 = ['Kalibrierung HD-Pressostat'];\r\n lngD1016 = ['Kalibriert?'];\r\n lngD1028 = ['\\xd6lsumpftemperatur'];\r\n lngD1103 = ['Dauerbetrieb Heizungsumw\\xe4lzpumpe w\\xe4hrend Heizperiode'];\r\n lngD1104 = ['Dauerbetrieb Heizungsumw\\xe4lzpumpe w\\xe4hrend K\\xfchlperiode'];\r\n lngD1105 = ['Dauerbetrieb W\\xe4rmequellenpumpe w\\xe4hrend Ku\\u0308hlperiode'];\r\n lngD1117 = ['Unterbrechung'];\r\n lngD1118 = ['Durchflussschalter'];\r\n lngD1124 = ['Durchflussschalter Vereisungssensor'];\r\n lngD1167 = ['Warmwasserbetrieb'];\r\n lngD1181 = ['Sommer', 'Summer'];\r\n lngD1182 = ['\\xfcbergangszeit'];\r\n lngD1183 = ['Winter', 'Winter'];\r\n lngD1261 = ['Jahr', 'Year', 'Ann\\xe9e'];\r\n lngI1 = ['Firmware'];\r\n lngI2 = ['Build'];\r\n lngI3 = ['BIOS'];\r\n lngI4 = [];\r\n lngI5 = ['BIOS Datum'];\r\n lngI8 = this.lngTime;\r\n lngI30 = this.lngOpMode;\r\n lngI31 = this.lngOpMode;\r\n lngI32 = this.lngOpMode;\r\n lngI33 = this.lngOpMode;\r\n lngI34 = this.lngOpMode;\r\n lngI35 = ['Ext. W\\xe4rmeerzeuger'];\r\n lngI36 = this.lngOpMode;\r\n lngI37 = this.lngOpMode;\r\n lngI38 = [];\r\n lngI39 = [];\r\n lngI40 = this.lngOpMode;\r\n lngI41 = this.lngOpMode;\r\n lngI42 = this.lngOpMode;\r\n lngI43 = [];\r\n lngI44 = [];\r\n lngI45 = [];\r\n lngI46 = [];\r\n lngI47 = [];\r\n lngI48 = [];\r\n lngI49 = [];\r\n lngI50 = [];\r\n lngI91 = ['PIN-Nummer', 'PIN'];\r\n lngI96 = ['IP-Adresse (WebInterface)'];\r\n lngI100 = ['Regler nach Neustart zur\\xfccksetzen'];\r\n lngI101 = ['Alarm Reset', 'Alarm Reset'];\r\n lngI105 = ['W\\xe4rmepumpen-Baureihe'];\r\n lngI107 = ['Betriebsweise der W\\xe4rmepumpe'];\r\n lngI107_0 = ['Monovalent'];\r\n lngI107_1 = ['Bivalent-parallel'];\r\n lngI107_2 = ['Bivalent-teilparallel'];\r\n lngI107_3 = ['Bivalent-alternativ'];\r\n lngI108 = ['Steuermodus'];\r\n lngI109 = ['Au\\xdfeneinheit'];\r\n lngI110 = ['W\\xe4rmepumpen-Typ', 'Type', 'Type PAC'];\r\n lngI111 = ['K\\xe4ltemittel'];\r\n lngI112 = ['Ausstattung'];\r\n lngI113 = ['Leistungsregelung'];\r\n lngI114 = ['Seriennummer'];\r\n lngI116 = ['W\\xe4rmequelle'];\r\n lngI116_0 = ['Wasser (Grundwasser)'];\r\n lngI116_1 = ['Wasser indirekt'];\r\n lngI116_2 = ['Erdreich (Sonden -3\\xb0C)'];\r\n lngI116_3 = ['Erdreich (Sonden -9\\xb0C)'];\r\n lngI116_4 = ['Eisspeicher'];\r\n lngI116_5 = ['Direktverdampfung'];\r\n lngI136 = this.lngOpMode;\r\n lngI137 = ['Heizbetrieb', 'Heating', 'Chauffage'];\r\n lngI138 = ['K\\xfchlung', 'Cooling', 'Rafraichissement'];\r\n lngI139 = ['Warmwasser', 'Hot water', 'ECS'];\r\n lngI140 = ['Pool-Heizbetrieb', 'Pool', 'Piscine'];\r\n lngI143 = ['Solarbetrieb', 'Solar', 'Solaire'];\r\n lngI148 = ['Leistungssteuerung'];\r\n lngI263 = ['Temperaturanpassung', 'Temperature adjustment', 'Adaptation de temp\\xe9rature'];\r\n lngI265 = ['Heizungsregelung'];\r\n lngI265_0 = ['Witterungsgef\\xfchrt'];\r\n lngI265_1 = ['Sollwertvorgabe'];\r\n lngI265_2 = ['Sollwertvorgabe BMS'];\r\n lngI265_3 = ['Sollwertvorgabe EXT'];\r\n lngI265_4 = ['Sollwertvorgabe 0-10V'];\r\n lngI266 = ['Temperaturregelung im Heizbetrieb'];\r\n lngI266_0 = ['R\\xfccklauftemperatur'];\r\n lngI266_1 = this.lngA591;\r\n lngI266_2 = ['Kondensatoreintritt'];\r\n lngI267 = ['Max. Intervall zykl. Messung (Min.)'];\r\n lngI268 = [];\r\n lngI269 = ['Dauer der zykl. Messung'];\r\n lngI270 = [];\r\n lngI274 = ['K\\xfchlregelung'];\r\n lngI274_0 = ['Witterungsgef\\xfchrt'];\r\n lngI274_1 = ['Sollwertvorgabe'];\r\n lngI274_2 = ['Sollwertvorgabe BMS'];\r\n lngI274_3 = ['Sollwertvorgabe EXT'];\r\n lngI274_4 = ['Sollwertvorgabe 0-10V'];\r\n lngI275 = ['Temperaturregelung im K\\xfchlbetrieb'];\r\n lngI275_0 = ['R\\xfccklauftemperatur'];\r\n lngI275_1 = this.lngA591;\r\n lngI275_2 = ['Verdampfereintritt'];\r\n lngI390 = ['Betriebsart der Verdichteranlage im Warmwasserbetrieb'];\r\n lngI392 = ['Warmwasserregelung'];\r\n lngI392_0 = ['Witterungsgef\\xfchrt'];\r\n lngI392_1 = ['Sollwertvorgabe'];\r\n lngI392_2 = ['Sollwertvorgabe BMS'];\r\n lngI392_3 = ['Sollwertvorgabe EXT'];\r\n lngI392_4 = ['Sollwertvorgabe 0-10V'];\r\n lngI501 = [];\r\n lngI502 = [];\r\n lngI503 = [];\r\n lngI504 = [];\r\n lngI505 = ['Startzeit', 'Start time', 'D\\xe9but'];\r\n lngI506 = [];\r\n lngI507 = ['max.Laufzeit', 'Max. runtime for', \"Temps d'ex\\xe9c. maxi.\"];\r\n lngI508 = ['Wochenprogramm', 'Schedule', 'Programme hebdomadaire'];\r\n lngI509 = [];\r\n lngI510 = [];\r\n lngI511 = [];\r\n lngI512 = [];\r\n lngI513 = [];\r\n lngI514 = [];\r\n lngI515 = [];\r\n lngI516 = [];\r\n lngI517 = [\r\n 'Verz\\xf6gerung Kompressorstart',\r\n 'Delay for compressor during solar heating',\r\n 'Temps de retard pour Start compresseur',\r\n ];\r\n lngI518 = ['Zeit bis Kompressorstart', 'Compressor starting in...', 'Le compresseur d\\xe9marre dans'];\r\n lngI521 = ['Art der Warmwassererw\\xe4rmung zur opt. Speicherausnutzung'];\r\n lngI525 = ['Leistungssteuerung des W\\xe4rmeerzeugers im Pool-Heizbetrieb'];\r\n lngI527 = ['Poolregelung'];\r\n lngI640 = ['Maximale Laufzeit Pool-Heizbetrieb'];\r\n lngI641 = ['Verz\\xf6gerung Einsatz Verdichter bei Solarbetrieb'];\r\n lngI642 = ['Motorventil f\\xfcr Pool-Heizbetrieb befindet sich im'];\r\n lngI647_0 = ['geforderte min. Solarkollektortemperatur'];\r\n lngI647_1 = ['geforderte min. Solarkollektor Austrittstemperatur'];\r\n lngI764 = ['Bivalenzpunkt'];\r\n lngI771 = ['Restlaufzeit'];\r\n lngI776 = ['Temperaturanpassung'];\r\n lngI889 = ['Nachstellzeit Tn'];\r\n lngI890 = ['Vorhaltezeit Tv'];\r\n lngI891 = ['Ventillaufzeit'];\r\n lngI1260 = ['Monat', 'Month', 'Mois'];\r\n lngI1261 = ['Jahr', 'Year', 'Ann\\xe9e'];\r\n lngI1263 = ['W\\xe4rmequellenpumpe'];\r\n lngI1264 = ['Heizstab'];\r\n lngI1267 = ['Vorlaufzeit'];\r\n lngI1268 = ['Nachlaufzeit'];\r\n lngI1269 = ['Festsitzschutz'];\r\n lngI1270 = ['Heizungsumw\\xe4lzpumpe'];\r\n lngI1271 = ['Betriebsart'];\r\n lngI1272 = ['Nachstellzeit Tn'];\r\n lngI1273 = ['Vorhaltezeit Tv'];\r\n lngI1278 = ['Vorlaufzeit'];\r\n lngI1279 = ['Nachlaufzeit'];\r\n lngI1280 = ['Festsitzschutz'];\r\n lngI1281 = ['Quellenpumpe'];\r\n lngI1283 = ['Nachstellzeit Tn'];\r\n lngI1284 = ['Vorhaltezeit Tv'];\r\n lngI1286 = ['Festsitzschutz'];\r\n lngI1287 = ['Solarumw\\xe4lzpumpe'];\r\n lngI1287_1 = ['sonst. Pumpen'];\r\n lngI1290 = ['Festsitzschutz'];\r\n lngI1291 = ['Speicherpumpe'];\r\n lngI1292 = ['Umschaltzeit'];\r\n lngI1293 = ['Motorventil Warmwasser'];\r\n lngI1294 = this.lngI1292;\r\n lngI1295 = ['Motorventil Pool-Heizbetrieb'];\r\n lngI1296 = this.lngI1292;\r\n lngI1297 = ['Motorventil K\\xfchlbetrieb'];\r\n lngI1298 = this.lngI1292;\r\n lngI1299 = ['Motorventil 4-Wege-Ventil'];\r\n lngI1304 = ['el. Expansionsventil Magnetventil'];\r\n lngI1305 = ['Nachstellzeit Tn'];\r\n lngI1306 = ['Vorhaltezeit Tv'];\r\n lngI1307 = ['Betriebsmodus Verdichter'];\r\n lngI1308 = ['Nachstellzeit Tn'];\r\n lngI1309 = ['Vorhaltezeit Tv'];\r\n lngI1311 = ['Leistungsregelung'];\r\n lngI1312 = ['Nachstellzeit Tn'];\r\n lngI1313 = ['Vorhaltezeit Tv'];\r\n lngI1314 = ['Betriebsmodus Verdichter'];\r\n lngI1315 = this.lngStart;\r\n lngI1317 = this.lngStop;\r\n lngI1319 = ['Ext. W\\xe4rmeerzeuger'];\r\n h5I1320 = ['Multifunktionsausgang'];\r\n lngI1320 = ['Multifunktion'];\r\n lngI1321 = ['Not Aus'];\r\n lngI1323 = ['Silent-Modus', 'Silent mode', 'Mode silencieux'];\r\n lngI1458 = ['Verdichter'];\r\n lngI1473 = ['Jahr', 'Year', 'Ann\\xe9e'];\r\n lngI1474 = ['Protokoll'];\r\n lngI1475 = ['Protokoll'];\r\n lngI1476 = ['Ger\\xe4teadresse'];\r\n lngI1477 = ['Stillstand-Intervall Kollektorkreispumpe'];\r\n lngI1478 = ['Pumpenlaufzeit Kollektorkreispumpe'];\r\n lngI1479 = ['I014 Schalth\\xe4ufigkeit'];\r\n lngI1718 = ['Hardware'];\r\n lngI1719 = ['F100 / F101 Verz\\xf6gerung Motorschutz'];\r\n lngI1740 = ['Temperaturanpassung'];\r\n lngI1752 = ['Regelung nach...'];\r\n lngI1753 = ['Heizbetrieb', 'Heating', 'Chauffage'];\r\n lngI1753_1 = this.lngI1752;\r\n lngI1754 = ['Warmwasserbetrieb'];\r\n lngI1754_1 = this.lngI1752;\r\n lngI1763 = ['Pumpentyp'];\r\n lngI1764 = ['Modus'];\r\n lngI1770 = this.lngI1292;\r\n lngI1771 = ['Sondenregeneration'];\r\n lngI1923 = ['Elektrische Arbeit'];\r\n lngI1924 = ['Thermische Arbeit'];\r\n lngI1925 = ['K\\xe4ltearbeit (RC)'];\r\n lngI1926 = ['Verdichter'];\r\n lngI1927 = ['W\\xe4rmequellenpumpe'];\r\n lngI1928 = ['Heizstab'];\r\n lngI1929 = ['Heizung'];\r\n lngI1930 = ['Warmwasser'];\r\n lngI1931 = ['Pool-Heizbetrieb'];\r\n lngI1932 = ['\\xe4nderungen \\xfcbernehmen?'];\r\n lngI1943 = ['Ventil'];\r\n lngI1944 = ['Hauptregelung'];\r\n lngI1944_0 = ['Custom'];\r\n lngI1944_1 = ['Verbundku\\u0308hlm\\xf6bel/-raum'];\r\n lngI1944_2 = ['Ku\\u0308hlm\\xf6bel/-raum mit eingebautem Verdichter'];\r\n lngI1944_3 = ['Gest\\xf6rte Ku\\u0308hlm\\xf6bel/-r\\xe4ume'];\r\n lngI1944_4 = ['Ku\\u0308hlm\\xf6bel/-raum mit subkritischem CO2'];\r\n lngI1944_5 = ['R404A-Verflu\\u0308ssiger fu\\u0308r subkritisches CO2'];\r\n lngI1944_6 = ['Klimager\\xe4t/Kaltwassersatz mit Plattenw\\xe4rmetauscher'];\r\n lngI1944_7 = ['Klimager\\xe4t/Kaltwassersatz mit Rohrbu\\u0308ndelw\\xe4rmetauscher'];\r\n lngI1944_8 = ['Klimager\\xe4t/Kaltwassersatz mit Rippenstrahlw\\xe4rmetauscher'];\r\n lngI1944_9 = ['Klimager\\xe4t/Kaltwassersatz mit variabler Ku\\u0308hlkapazit\\xe4t'];\r\n lngI1944_10 = ['Gest\\xf6rte Klimager\\xe4te/Kaltwassers\\xe4tze'];\r\n lngI1944_11 = ['EPR-Stauungsdruck'];\r\n lngI1944_12 = ['Hei\\xdfgas-Bypass in Druck'];\r\n lngI1944_13 = ['Hei\\xdfgas-Bypass in Temperatur'];\r\n lngI1944_14 = ['Transkritischer CO2-Gasku\\u0308hler'];\r\n lngI1944_15 = ['Analoger Positionsregler (4\\u202620 mA)'];\r\n lngI1944_16 = ['Analoger Positionsregler (0\\u202610 V)'];\r\n lngI1944_17 = ['Klimager\\xe4t/Kaltwassersatz oder Ku\\u0308hlm\\xf6bel/-raum mit adaptiver Regelung'];\r\n lngI1944_18 = ['Klimager\\xe4t/Kaltwassersatz mit digitalem Scroll-Verdichter'];\r\n lngI1944_19 = ['Klimager\\xe4t/Kaltwassersatz mit BLDC-Verdichter'];\r\n lngI1944_20 = ['\\xfcberhitzungsregelung mit 2 Temperaturfu\\u0308hlern'];\r\n lngI1944_21 = ['E/A-Erweiterung fu\\u0308r pCO'];\r\n lngI1945 = ['Hilfsregelung'];\r\n lngI1945_0 = ['Nutzer Spezifisch'];\r\n lngI1945_1 = ['Deaktiviert'];\r\n lngI1945_2 = ['Hohe Verflu\\u0308ssiger Temp. Schutz auf S3'];\r\n lngI1945_3 = ['Modulierendes Thermostat an S4 Fu\\u0308hler'];\r\n lngI1945_4 = ['Backup Fu\\u0308hler an S3 und S4'];\r\n lngI1948 = ['Typ'];\r\n lngI1948_0 = ['Ratiom. 0-5V'];\r\n lngI1948_1 = ['4-20mA'];\r\n lngI1948_2 = ['4-20mA FERN'];\r\n lngI1948_3 = ['4-20mA EXTERN'];\r\n lngI1955 = ['Nacherw\\xe4rmung'];\r\n lngI1991 = ['Ausgang Verdichter 1'];\r\n lngI1992 = ['Ausgang Verdichter 2'];\r\n lngI1993 = ['Neuer Wert'];\r\n lngI1994 = ['Startdrehzahl Verdichter Heizen'];\r\n lngI1995 = ['K\\xfchlen Startphase Verdichterdrehzahl'];\r\n lngI1996 = ['Abtauintervall'];\r\n lngI1997 = ['Abtauvorgang Dauer'];\r\n lngI1998 = ['Abtauvorgang Endtemperatur'];\r\n lngI1999 = ['\\xf6lr\\xfcckf\\xfchrung Verdichterdrehzahl'];\r\n lngI2000 = ['\\xf6lr\\xfcckf\\xfchrung bei Unterschreitung der Verdichterdrehzahl'];\r\n lngI2001 = ['\\xf6lr\\xfcckf\\xfchrung Dauer'];\r\n lngI2002 = ['\\xf6lr\\xfcckf\\xfchrung bei Unterschreitung der Drehzahlschwelle f\\xfcr'];\r\n lngI2003 = ['Ventilator min. Drehzahl'];\r\n lngI2004 = ['Abtauschwellwert Temperaturdifferenz'];\r\n lngI2005 = ['Max. Drehzahl bei Unterschreitung der Umgebungstemperatur'];\r\n lngI2006 = ['Min. Drehzahl bei \\xfcberschreitung der Umgebungstemperatur'];\r\n lngI2007 = ['Frequenzband'];\r\n lngI2008 = ['Frequenz 1'];\r\n lngI2009 = ['Frequenz 2'];\r\n lngI2010 = ['Frequenz 3'];\r\n lngI2011 = ['Modus'];\r\n lngI2012 = ['Maximale Verdichterdrehzahl Abtauvorgang'];\r\n lngI2013 = ['Maximale Verdichterdrehzahl Heizbetrieb'];\r\n lngI2014 = ['Ventilator max Drehzahl'];\r\n lngI2015 = ['Minimale Verdichterdrehzahl Abtauvorgang'];\r\n lngI2016 = ['Betriebsmodus Kapazit\\xe4tenanforderung'];\r\n lngI2017 = ['p1 Sauggas'];\r\n lngI2018 = ['p2 Austritt'];\r\n lngI2019 = ['p3 Zwischeneinspritzung'];\r\n lngI2020 = ['T2 Umgebung'];\r\n lngI2021 = ['T3 Sauggas'];\r\n lngI2022 = ['T4 Verdichter'];\r\n lngI2023 = ['T7 \\xd6lsumpf'];\r\n lngI2024 = ['T6 Fl\\xfcssig'];\r\n lngI2025 = ['T5 EVI'];\r\n lngI2026 = ['Ventil\\xf6ffnung Au\\xdfeneinheit'];\r\n lngI2027 = ['\\xfcberhitzung'];\r\n lngI2028 = ['Sollwert'];\r\n lngI2029 = ['Ventil\\xf6ffnung Inneneinheit'];\r\n lngI2030 = ['Sollwert'];\r\n lngI2031 = ['Drehzahl'];\r\n lngI2032 = ['T Verdampfer'];\r\n lngI2033 = ['\\xdcberhitzung'];\r\n lngI2034 = ['T Kondensation'];\r\n lngI2038 = ['Status'];\r\n lngI2039 = ['T Druckgas'];\r\n lngI2042 = ['Vortex Sensor'];\r\n lngI2044 = ['Anmeldeprotokoll'];\r\n lngI2079 = ['Geschwindigkeit'];\r\n lngI2080 = ['Grund Abtauvorgang'];\r\n lngI2081 = ['Abtauung Start'];\r\n lngI2082 = ['Abtauung Stop'];\r\n lngI2083 = ['Abtauz\\xe4hler'];\r\n lngI2085 = ['Motorphase'];\r\n lngI2086 = ['AC Linie (Spannung)'];\r\n lngI2087 = ['AC Linie (Strom)'];\r\n lngI2088 = ['AC Linie (Leistung)'];\r\n lngI2090 = ['Manuell'];\r\n lngI2091 = ['Drehzahl'];\r\n lngI2092 = ['Ventilator min. Drehzahl'];\r\n lngI2093 = ['Ventilator max. Drehzahl'];\r\n lngI2094 = ['Dauer'];\r\n lngI2095 = ['Konfiguration'];\r\n lngI2096 = ['RMH Hauptplatine'];\r\n lngI2097 = ['RMH Aktuator'];\r\n lngI2098 = ['Indoor Revision'];\r\n lngI2099 = ['Outdoor Revision'];\r\n lngI2100 = ['Betriebsart'];\r\n lngI2101 = ['K\\xfchlbetrieb'];\r\n lngI2101_1 = ['Regelung nach'];\r\n lngI2102 = this.lngComp;\r\n lngI2103 = this.lngPower;\r\n lngI2195 = ['Verdichter 1'];\r\n lngI2196 = ['Verdichter 2'];\r\n lngI2197 = ['Verdichter 3'];\r\n lngI2198 = ['Verdichter 4'];\r\n lngI2201 = ['Verdichter (nur WP QL-K)'];\r\n lngI2202 = ['Verdichter'];\r\n lngI2203 = ['Einschalttemperatur'];\r\n lngI2204 = ['Dauer'];\r\n lngI2205 = ['Software'];\r\n lngI2206 = ['Status Code'];\r\n lngI2208 = ['EXV Kp'];\r\n lngI2209 = ['Modus'];\r\n lngI2210 = ['Modus'];\r\n lngI2211 = ['Abtauschwellwert abs. Temperaturdifferenz'];\r\n lngI2212 = ['Startdauer'];\r\n lngI2213 = ['Start\\xf6ffnung'];\r\n lngI2214 = ['Startdauer'];\r\n lngI2215 = ['Start\\xf6ffnung'];\r\n lngI2216 = ['Startdauer'];\r\n lngI2217 = ['Start\\xf6ffnung'];\r\n lngI2253 = ['Motorventil Warmwasser bei Sonden Regenerierung'];\r\n lngI2254 = ['Auschalttemperatur Differenz nach F\\xfchler'];\r\n lngI2256 = ['I019 Stillstandszeit'];\r\n lngI2255 = ['Auschalttemperatur Differenz Verz\\xf6gerungszeit'];\r\n lngI2257 = ['Leistung'];\r\n lngI2258 = ['Verdichter Typ'];\r\n lngI2259 = ['Drucksensor p1'];\r\n lngI2260 = ['Drucksensor p2'];\r\n lngI2261 = ['Drucksensor p3'];\r\n lngI2262 = ['Neuer Wert'];\r\n lngI2263 = this.lngI2262;\r\n lngI2264 = ['Startdauer Heizbetrieb'];\r\n lngI2265 = ['\\xfcberhitzung'];\r\n lngI2266 = ['Sollwert'];\r\n lngI2267 = ['Reduzierte Leistung Kondensationstemperatur'];\r\n lngI2268 = ['Reduzierte Leistung Drehzahl'];\r\n lngI2269 = ['Ventilator Pause nach Abtauvorgang'];\r\n lngI2270 = ['Normalisierte Temperaturdifferenz'];\r\n lngI2271 = ['Ventil\\xf6ffnung Zwischeneinspritzung'];\r\n lngI2272 = ['Digital Eingang 1'];\r\n lngI2273 = ['Digital Ausgang 2'];\r\n lngI2274 = ['Digital Ausgang 3'];\r\n lngI2275 = ['\\xd6lsumpfheizung'];\r\n lngI2276 = ['aktuelle Leistung'];\r\n lngI2277 = ['Hilfsleistung Initialisierungswert'];\r\n lngI2278 = ['Startdauer K\\xfchlbetrieb'];\r\n lngI2279 = ['Startdauer Abtauvorgang'];\r\n lngI2280 = ['Startdrehzahl Verdichter K\\xfchlen'];\r\n lngI2281 = ['Verdichter \\xfcberstromschutz'];\r\n lngI2282 = ['Startvorg\\xe4nge innerhalb 1h'];\r\n lngI2283 = ['Startvorg\\xe4nge Gesamt'];\r\n lngI2284 = ['Betriebsstunden'];\r\n lngI2286 = ['Start\\xf6ffnung'];\r\n lngI2287 = ['EXV Kp'];\r\n lngI2288 = ['EXV Ki'];\r\n lngI2289 = ['EXV Kd'];\r\n lngI2290 = this.lngI2287;\r\n lngI2291 = this.lngI2288;\r\n lngI2292 = ['Drehzahl'];\r\n lngI2293 = ['Energiebilanz'];\r\n lngI2294 = ['Startdauer'];\r\n lngI2296 = this.lngI2288;\r\n lngI2297 = this.lngI2289;\r\n lngI2301 = ['Steuermodus'];\r\n lngI2311 = this.lngI2289;\r\n lngI2312 = ['Handbetrieb'];\r\n lngI2313 = ['\\xd6ffnung'];\r\n lngI2314 = ['Handbetrieb'];\r\n lngI2315 = ['\\xd6ffnung'];\r\n lngI2316 = ['Handbetrieb'];\r\n lngI2317 = ['\\xd6ffnung'];\r\n lngI2318 = ['Handbetrieb'];\r\n lngI2319 = ['Drehzahl'];\r\n lngI2320 = this.lngMode;\r\n lngI2321 = this.lngI2006;\r\n lngI2322 = this.lngI2005;\r\n lngI2323 = ['Verz\\xf6gerung Verdichter vor Abtauvorgang'];\r\n lngI2324 = ['Umschalt-Verdichterdrehzahl 4-Wege-Ventil'];\r\n lngI2325 = ['Umschalt-Druckdifferenz 4-Wege-Ventil'];\r\n lngI2326 = this.lngPower;\r\n lngI2327 = this.lngPower;\r\n lngI2329 = this.lngMode;\r\n lngI2330 = ['Umschaltzeit'];\r\n lngI2471 = ['Mittelwert'];\r\n lngI9999 = ['zyklische Messung'];\r\n aI2209 = ['Auto Anpassung PID-Parameter', 'manueller PID-Parametersatz'];\r\n aI2320 = [\r\n this.lngOff[this.iLng],\r\n this.lngCool[this.iLng],\r\n this.lngHeat[this.iLng],\r\n 'Standby',\r\n this.lngManual[this.iLng],\r\n this.lngAuto[this.iLng],\r\n ];\r\n aI2080 = [\r\n 'kein Grund',\r\n 'ext. Befehl',\r\n 'Abtauintervall',\r\n 'Digitaleingang',\r\n 'Abtauschwelle',\r\n 'Abtaudifferenz',\r\n 'LOP',\r\n ];\r\n aI2195 = [this.lngOff[this.iLng], this.lngAuto[this.iLng], this.lngOn[this.iLng]];\r\n aI2100 = [\r\n this.lngOff[this.iLng],\r\n this.lngCool[this.iLng],\r\n this.lngHeat[this.iLng],\r\n this.lngStandby[this.iLng],\r\n this.lngManual[this.iLng],\r\n ];\r\n aI2038 = [\r\n this.lngOff[this.iLng],\r\n this.lngCool[this.iLng],\r\n this.lngHeat[this.iLng],\r\n this.lngAlarm[this.iLng],\r\n 'Umschaltung K\\xfchlen',\r\n this.lngDefrost[this.iLng],\r\n this.lngESCLock[this.iLng],\r\n this.lngStandby[this.iLng],\r\n 'Umschaltung Heizen',\r\n 'Stoppen',\r\n this.lngManual[this.iLng],\r\n 'Verdichter Start',\r\n this.lngESCLock[this.iLng],\r\n ];\r\n aI2258 = ['ZHW16', 'ZHW08 K1', 'ZHW08 K1.1'];\r\n aI2259 = ['PT5_07', 'PT5_18', 'PT5_30', 'PT5_50'];\r\n aI2260 = ['PT5_07', 'PT5_18', 'PT5_30', 'PT5_50'];\r\n aI2261 = ['PT5_07', 'PT5_18', 'PT5_30', 'PT5_50'];\r\n aI2272 = [this.lngESCLock[this.iLng], 'Anforderung Abtauvorgang', 'Keine Funktion'];\r\n aI2273 = [this.lngComp[this.iLng], 'Schnittstelle (W21)', 'Digital Eingang 1'];\r\n aI2274 = [\r\n this.lngAlarm[this.iLng],\r\n 'Schnittstelle (W22)',\r\n 'Digital Eingang 1',\r\n 'Digital Eingang 2',\r\n 'Alarm invertiert',\r\n ];\r\n aI2301 = ['Effizienz', this.lngDefault[this.iLng], 'Schalloptimierung', 'Benutzer'];\r\n aI2016 = ['Analog 0-10V', 'Modbus'];\r\n aI1307 = [this.lngAuto[this.iLng], this.lngHand[this.iLng]];\r\n aI1314 = [this.lngAuto[this.iLng], this.lngHand[this.iLng]];\r\n aI2011 = ['Auto Anpassung PID-Parameter', 'manueller PID-Parametersatz'];\r\n month = [\r\n this.lngJanuary[this.iLng],\r\n this.lngFebruary[this.iLng],\r\n this.lngMarch[this.iLng],\r\n this.lngApril[this.iLng],\r\n this.lngMay[this.iLng],\r\n this.lngJune[this.iLng],\r\n this.lngJuly[this.iLng],\r\n this.lngAugust[this.iLng],\r\n this.lngSeptember[this.iLng],\r\n this.lngOctober[this.iLng],\r\n this.lngNovember[this.iLng],\r\n this.lngDecember[this.iLng],\r\n ];\r\n month_short = [\r\n this.lngMonth_0[this.iLng],\r\n this.lngMonth_1[this.iLng],\r\n this.lngMonth_2[this.iLng],\r\n this.lngMonth_3[this.iLng],\r\n this.lngMonth_4[this.iLng],\r\n this.lngMonth_5[this.iLng],\r\n this.lngMonth_6[this.iLng],\r\n this.lngMonth_7[this.iLng],\r\n this.lngMonth_8[this.iLng],\r\n this.lngMonth_9[this.iLng],\r\n this.lngMonth_10[this.iLng],\r\n this.lngMonth_11[this.iLng],\r\n ];\r\n day_short = [\r\n this.lngSu[this.iLng],\r\n this.lngMo[this.iLng],\r\n this.lngTu[this.iLng],\r\n this.lngWe[this.iLng],\r\n this.lngTh[this.iLng],\r\n this.lngFr[this.iLng],\r\n this.lngSa[this.iLng],\r\n ];\r\n aI105 = [\r\n 'Custom',\r\n 'Ai1',\r\n 'Ai1+',\r\n 'AiQE',\r\n 'DS 5023',\r\n 'DS 5027Ai',\r\n 'DS 5051',\r\n 'DS 5050T',\r\n 'DS 5110T',\r\n 'DS 5240',\r\n 'DS 6500',\r\n 'DS 502xAi',\r\n 'DS 505x',\r\n 'DS 505xT',\r\n 'DS 51xxT',\r\n 'DS 509x',\r\n 'DS 51xx',\r\n 'EcoTouch Ai1 Geo',\r\n 'EcoTouch DS 5027 Ai',\r\n 'EnergyDock',\r\n 'Basic Line Ai1 Geo',\r\n 'EcoTouch DS 5018 Ai',\r\n 'EcoTouch DS 5050T',\r\n 'EcoTouch DS 5112.5 DT',\r\n 'EcoTouch 5029 Ai',\r\n 'Ai QL / WP QL',\r\n 'WPQL-K',\r\n 'EcoTouch Ai1 Air',\r\n 'EcoTouch Ai1 Air',\r\n 'EcoTouch MB 7010',\r\n 'EcoTouch DA 5018 Ai',\r\n 'EcoTouch Air LCI',\r\n 'EcoTouch Ai1 Air K1.1',\r\n 'EcoTouch DA 5018 Ai K1.1',\r\n ];\r\n aI107 = [\r\n this.lngI107_0[this.iLng],\r\n this.lngI107_1[this.iLng],\r\n this.lngI107_2[this.iLng],\r\n this.lngI107_3[this.iLng],\r\n ];\r\n aI108 = [this.lngAuto[this.iLng], this.lngManual[this.iLng], 'Extern'];\r\n aI109 = ['Power Inverter', 'Zubadan'];\r\n aI110 = [\r\n 'Ai1 5005.4',\r\n 'Ai1 5006.4',\r\n 'Ai1 5007.4',\r\n 'Ai1 5008.4',\r\n 'Ai1+ 5006.3',\r\n 'Ai1+ 5007.3',\r\n 'Ai1+ 5009.3',\r\n 'Ai1+ 5011.3',\r\n 'Ai1+ 5006.3 (230V)',\r\n 'Ai1+ 5007.3 (230V)',\r\n 'Ai1+ 5009.3 (230V)',\r\n 'Ai1+ 5011.3 (230V)',\r\n 'DS 5006.3',\r\n 'DS 5008.3',\r\n 'DS 5009.3',\r\n 'DS 5011.3',\r\n 'DS 5014.3',\r\n 'DS 5017.3',\r\n 'DS 5020.3',\r\n 'DS 5023.3',\r\n 'DS 5006.3 (230V)',\r\n 'DS 5008.3 (230V)',\r\n 'DS 5009.3 (230V)',\r\n 'DS 5011.3 (230V)',\r\n 'DS 5014.3 (230V)',\r\n 'DS 5017.3 (230V)',\r\n 'DS 5006.4',\r\n 'DS 5008.4',\r\n 'DS 5009.4',\r\n 'DS 5011.4',\r\n 'DS 5014.4',\r\n 'DS 5017.4',\r\n 'DS 5020.4',\r\n 'DS 5023.4',\r\n 'DS 5007.3 Ai',\r\n 'DS 5009.3 Ai',\r\n 'DS 5010.3 Ai',\r\n 'DS 5012.3 Ai',\r\n 'DS 5015.3 Ai',\r\n 'DS 5019.3 Ai',\r\n 'DS 5022.3 Ai',\r\n 'DS 5025.3 Ai',\r\n 'DS 5007.3 Ai (230V)',\r\n 'DS 5009.3 Ai (230V)',\r\n 'DS 5010.3 Ai (230V)',\r\n 'DS 5012.3 Ai (230V)',\r\n 'DS 5015.3 Ai (230V)',\r\n 'DS 5019.3 Ai (230V)',\r\n 'DS 5007.4 Ai',\r\n 'DS 5009.4 Ai',\r\n 'DS 5010.4 Ai',\r\n 'DS 5012.4 Ai',\r\n 'DS 5015.4 Ai',\r\n 'DS 5019.4 Ai',\r\n 'DS 5022.4 Ai',\r\n 'DS 5025.4 Ai',\r\n 'DS 5007.4 Ai (230V)',\r\n 'DS 5009.4 Ai (230V)',\r\n 'DS 5010.4 Ai (230V)',\r\n 'DS 5012.4 Ai (230V)',\r\n 'DS 5015.4 Ai (230V)',\r\n 'DS 5030.3',\r\n 'DS 5034.3',\r\n 'DS 5043.3',\r\n 'DS 5051.3',\r\n 'DS 5030.4',\r\n 'DS 5034.4',\r\n 'DS 5043.4',\r\n 'DS 5051.4',\r\n 'DS 5030.3 T',\r\n 'DS 5037.3 T',\r\n 'DS 5044.3 T',\r\n 'DS 5050.3 T',\r\n 'DS 5030.4 T',\r\n 'DS 5037.4 T',\r\n 'DS 5044.4 T',\r\n 'DS 5050.4 T',\r\n 'DS 5062.3 T',\r\n 'DS 5072.3 T',\r\n 'DS 5089.3 T',\r\n 'DS 5109.3 T',\r\n 'DS 5062.4 T',\r\n 'DS 5072.4 T',\r\n 'DS 5089.4 T',\r\n 'DS 5109.4 T',\r\n 'DS 5118.3',\r\n 'DS 5136.3',\r\n 'DS 5161.3',\r\n 'DS 5162.3',\r\n 'DS 5193.3',\r\n 'DS 5194.3',\r\n 'DS 5231.3',\r\n 'DS 5118.4',\r\n 'DS 5136.4',\r\n 'DS 5161.4',\r\n 'DS 5162.4',\r\n 'DS 5194.4',\r\n 'DS 6237.3',\r\n 'DS 6271.3',\r\n 'DS 6299.3',\r\n 'DS 6388.3',\r\n 'DS 6438.3',\r\n 'DS 6485.3',\r\n 'DS 6237.4',\r\n 'DS 6271.4',\r\n 'DS 6299.4',\r\n 'DS 6388.4',\r\n 'DS 6438.4',\r\n 'DS 6485.4',\r\n 'Ai1QE 5006.5',\r\n 'Ai1QE 5007.5',\r\n 'Ai1QE 5009.5',\r\n 'Ai1QE 5010.5',\r\n 'Ai1QE 5006.5 (230V)',\r\n 'Ai1QE 5007.5 (230V)',\r\n 'Ai1QE 5009.5 (230V)',\r\n 'Ai1QE 5010.5 (230V)',\r\n 'DS 5008.5Ai',\r\n 'DS 5010.5Ai',\r\n 'DS 5012.5Ai',\r\n 'DS 5014.5Ai',\r\n 'DS 5017.5Ai',\r\n 'DS 5020.5Ai',\r\n 'DS 5023.5Ai',\r\n 'DS 5027.5Ai',\r\n 'DS 5008.5Ai (230V)',\r\n 'DS 5010.5Ai (230V)',\r\n 'DS 5012.5Ai (230V)',\r\n 'DS 5014.5Ai (230V)',\r\n 'DS 5017.5Ai (230V)',\r\n 'DS 5029.5',\r\n 'DS 5033.5',\r\n 'DS 5040.5',\r\n 'DS 5045.5',\r\n 'DS 5050.5',\r\n 'DS 5059.5',\r\n 'DS 5028.5 T',\r\n 'DS 5034.5 T',\r\n 'DS 5040.5 T',\r\n 'DS 5046.5 T',\r\n 'DS 5052.5 T',\r\n 'DS 5058.5 T',\r\n 'DS 5063.5 T',\r\n 'DS 5075.5',\r\n 'DS 5085.5 T',\r\n 'DS 5095.5 T',\r\n 'DS 5112.5 T',\r\n 'DS 5076.5',\r\n 'DS 5095.5',\r\n 'DS 5123.5',\r\n 'DS 5158.5',\r\n 'Ai QL/ WP QL',\r\n 'WP QL (K)',\r\n 'Ai1QE 5013.5',\r\n 'Ai1QE 5013.5 (230V)',\r\n 'DS 5036.4T',\r\n 'DS 5049.4T',\r\n 'DS 5063.4T',\r\n 'DS 5077.4T',\r\n 'DS 5007.5Ai HT',\r\n 'DS 5008.5Ai HT',\r\n 'DS 5010.5Ai HT',\r\n 'DS 5014.5Ai HT',\r\n 'DS 5017.5Ai HT',\r\n 'DS 5023.5Ai HT',\r\n 'DS 5007.5Ai HT (230V)',\r\n 'DS 5008.5Ai HT (230V)',\r\n 'DS 5010.5Ai HT (230V)',\r\n 'DS 5014.5Ai HT (230V)',\r\n 'DS 5017.5Ai HT (230V)',\r\n 'DS 5005.4Ai HT',\r\n 'DS 5007.4Ai HT',\r\n 'DS 5009.4Ai HT',\r\n 'DS 5010.4Ai HT',\r\n 'DS 5012.4Ai HT',\r\n 'DS 5015.4Ai HT',\r\n 'DS 5005.4Ai HT (230V)',\r\n 'DS 5007.4Ai HT (230V)',\r\n 'DS 5009.4Ai HT (230V)',\r\n 'DS 5010.4Ai HT (230V)',\r\n '5006.5',\r\n '5008.5',\r\n '5010.5',\r\n '5013.5',\r\n '5006.5 (230V)',\r\n '5008.5 (230V)',\r\n '5010.5 (230V)',\r\n '5013.5 (230V)',\r\n 'PI/Zubadan',\r\n '5018.5',\r\n '5010.5',\r\n '5010.5',\r\n 'DS 5008.5Ai',\r\n 'DS 5010.5Ai',\r\n 'DS 5012.5Ai',\r\n 'DS 5014.5Ai',\r\n 'DS 5017.5Ai',\r\n 'DS 5020.5Ai',\r\n 'DS 5023.5Ai',\r\n 'DS 5027.5Ai',\r\n 'DS 5008.5Ai (230V)',\r\n 'DS 5010.5Ai (230V)',\r\n 'DS 5012.5Ai (230V)',\r\n 'DS 5014.5Ai (230V)',\r\n 'DS 5017.5Ai (230V)',\r\n 'Power+',\r\n 'DS 5145.5 Tandem',\r\n 'DS 5150.5',\r\n 'DS 5182.5 Tandem',\r\n 'DS 5226.5',\r\n 'DS 5235.5 Tandem',\r\n 'DS 6272.5 Trio',\r\n 'DS 6300.5 Tandem',\r\n 'DS 6352.5 Trio',\r\n 'DS 6450.5 Trio',\r\n '5005.5',\r\n '5006.5',\r\n '5007.5',\r\n '5008.5',\r\n '5010.5',\r\n '5005.5 (230V)',\r\n '5006.5 (230V)',\r\n '5008.5 (230V)',\r\n '5010.5 (230V)',\r\n 'DS 5006.5Ai Split',\r\n 'DS 5007.5Ai Split',\r\n 'DS 5009.5Ai Split',\r\n 'DS 5012.5Ai Split',\r\n 'DS 5015.5Ai Split',\r\n 'DS 5020.5Ai Split',\r\n 'DS 5025.5Ai Split',\r\n 'DS 5006.3Ai Split',\r\n 'DS 5007.3Ai Split',\r\n 'DS 5008.3Ai Split',\r\n 'DS 5010.3Ai Split',\r\n 'DS 5012.3Ai Split',\r\n 'DS 5015.3Ai Split',\r\n 'DS 5018.3Ai Split',\r\n 'DS 5020.3Ai Split',\r\n '5008.5',\r\n '5011.5',\r\n '5014.5',\r\n '5018.5',\r\n '5008.5 (230V)',\r\n '5011.5 (230V)',\r\n '5014.5 (230V)',\r\n '5018.5 (230V)',\r\n '5018.5',\r\n '5010.5',\r\n '5034.5T',\r\n '5045.5T',\r\n '5056.5T',\r\n '5009.3',\r\n '5068.5 DT',\r\n '5090.5 DT',\r\n '5112.5 DT',\r\n '5007.3',\r\n '5011.3',\r\n 'EcoTouch 5007.5Ai',\r\n 'EcoTouch 5008.5Ai',\r\n 'EcoTouch 5010.5Ai',\r\n 'EcoTouch 5014.5Ai',\r\n 'EcoTouch 5018.5Ai',\r\n 'EcoTouch 5023.5Ai',\r\n 'EcoTouch 5029.5Ai',\r\n 'EcoTouch 5007.5Ai',\r\n 'EcoTouch 5008.5Ai',\r\n 'EcoTouch 5010.5Ai',\r\n 'EcoTouch 5014.5Ai',\r\n 'EcoTouch 5018.5Ai',\r\n 'DS 5028.4T HT',\r\n 'EcoTouch compact 5004.5',\r\n '5010.5',\r\n '5010.5',\r\n ];\r\n aI111 = [\r\n 'R22',\r\n 'R134A',\r\n 'R404A',\r\n 'R407C',\r\n 'R410A',\r\n 'R507',\r\n 'R290',\r\n 'R600',\r\n 'R600a',\r\n 'R717',\r\n 'R744',\r\n 'R728',\r\n 'R1270',\r\n 'R417A',\r\n 'R422d',\r\n ];\r\n aI112_QE = [this.lngDefault[this.iLng], 'Naturk\\xfchlung NC', 'Umkehrbetrieb (RC)', 'Kombibetrieb'];\r\n aI112_QL = [this.lngDefault[this.iLng], 'NC - Naturk\\xfchlung', 'RC - Umkehrk\\xfchlung'];\r\n aI113 = ['100%', '50%/100%', '66%/100%', '75%/100%'];\r\n aI116 = [\r\n this.lngI116_0[this.iLng],\r\n this.lngI116_1[this.iLng],\r\n this.lngI116_2[this.iLng],\r\n this.lngI116_3[this.iLng],\r\n this.lngI116_4[this.iLng],\r\n this.lngI116_5[this.iLng],\r\n ];\r\n aI265 = [\r\n this.lngI265_0[this.iLng],\r\n this.lngI265_1[this.iLng],\r\n this.lngI265_2[this.iLng],\r\n this.lngI265_3[this.iLng],\r\n this.lngI265_4[this.iLng],\r\n ];\r\n aI266 = [this.lngI266_0[this.iLng], this.lngI266_1[this.iLng], this.lngI266_2[this.iLng]];\r\n aI274 = [\r\n this.lngI265_0[this.iLng],\r\n this.lngI265_1[this.iLng],\r\n this.lngI265_2[this.iLng],\r\n this.lngI265_3[this.iLng],\r\n this.lngI265_4[this.iLng],\r\n ];\r\n aI275 = [this.lngI266_0[this.iLng], this.lngI266_1[this.iLng], this.lngI266_2[this.iLng]];\r\n aI392 = [this.lngI392_0[this.iLng], this.lngI392_1[this.iLng], this.lngI392_2[this.iLng]];\r\n aI1475 = ['LonWorks', 'pCOWeb', 'Modbus Slave', 'KNX'];\r\n aI2205 = ['pre-Alpha', 'Alpha', 'Beta', 'Release Candidate', 'Release', 'Stable', 'Final', 'GA'];\r\n aI2329 = [\r\n this.lngAuto[this.iLng],\r\n this.lngGSI[this.iLng],\r\n this.lngSolarAbsorber[this.iLng],\r\n this.lngGSIAbsorber[this.iLng],\r\n this.lngSolarAbsorber[this.iLng] + ' (Z4)',\r\n 'Notheizbetrieb',\r\n ];\r\n aOOA = [this.lngOff[this.iLng], this.lngOn[this.iLng], this.lngAuto[this.iLng]];\r\n aI2196 = this.aI2195;\r\n aI2197 = this.aI2195;\r\n aI2198 = this.aI2195;\r\n}\r\n"], - "mappings": "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ACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EACA,QAAQ;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EACA,WAAW,CAAC,KAAK,WAAW,KAAK,OAAO,sBAAsB,sBAAsB,cAAc;AAAA,EAClG,WAAW,CAAC,KAAK,WAAW,KAAK,OAAO,wBAAwB,uBAAuB;AAAA,EACvF,QAAQ,CAAC,QAAQ,YAAY,YAAY,UAAU;AAAA,EACnD,QAAQ;AAAA,IACJ,KAAK,UAAU,KAAK;AAAA,IACpB,KAAK,UAAU,KAAK;AAAA,IACpB,KAAK,UAAU,KAAK;AAAA,IACpB,KAAK,UAAU,KAAK;AAAA,IACpB,KAAK,UAAU,KAAK;AAAA,IACpB,KAAK,UAAU,KAAK;AAAA,EACxB;AAAA,EACA,QAAQ;AAAA,IACJ,KAAK,UAAU,KAAK;AAAA,IACpB,KAAK,UAAU,KAAK;AAAA,IACpB,KAAK,UAAU,KAAK;AAAA,IACpB,KAAK,UAAU,KAAK;AAAA,IACpB,KAAK,UAAU,KAAK;AAAA,EACxB;AAAA,EACA,QAAQ,CAAC,KAAK,UAAU,KAAK,OAAO,KAAK,UAAU,KAAK,OAAO,KAAK,UAAU,KAAK,KAAK;AAAA,EACxF,QAAQ;AAAA,IACJ,KAAK,UAAU,KAAK;AAAA,IACpB,KAAK,UAAU,KAAK;AAAA,IACpB,KAAK,UAAU,KAAK;AAAA,IACpB,KAAK,UAAU,KAAK;AAAA,IACpB,KAAK,UAAU,KAAK;AAAA,EACxB;AAAA,EACA,QAAQ,CAAC,KAAK,UAAU,KAAK,OAAO,KAAK,UAAU,KAAK,OAAO,KAAK,UAAU,KAAK,KAAK;AAAA,EACxF,QAAQ,CAAC,KAAK,UAAU,KAAK,OAAO,KAAK,UAAU,KAAK,OAAO,KAAK,UAAU,KAAK,KAAK;AAAA,EACxF,SAAS,CAAC,YAAY,UAAU,gBAAgB,KAAK;AAAA,EACrD,SAAS,CAAC,aAAa,SAAS,QAAQ,qBAAqB,WAAW,UAAU,SAAS,IAAI;AAAA,EAC/F,SAAS;AAAA,IACL,KAAK,QAAQ,KAAK;AAAA,IAClB,KAAK,OAAO,KAAK;AAAA,IACjB,KAAK,iBAAiB,KAAK;AAAA,IAC3B,KAAK,eAAe,KAAK;AAAA,IACzB,KAAK,iBAAiB,KAAK,QAAQ;AAAA,IACnC;AAAA,EACJ;AAAA,EACA,OAAO,CAAC,KAAK,OAAO,KAAK,OAAO,KAAK,MAAM,KAAK,OAAO,KAAK,QAAQ,KAAK,KAAK;AAAA,EAC9E,SAAS,KAAK;AAAA,EACd,SAAS,KAAK;AAAA,EACd,SAAS,KAAK;AAClB;", + "mappings": "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IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EACA,QAAQ;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EACA,WAAW,CAAC,KAAK,WAAW,KAAK,IAAI,GAAG,sBAAsB,sBAAsB,cAAc;AAAA,EAClG,WAAW,CAAC,KAAK,WAAW,KAAK,IAAI,GAAG,wBAAwB,uBAAuB;AAAA,EACvF,QAAQ,CAAC,QAAQ,YAAY,YAAY,UAAU;AAAA,EACnD,QAAQ;AAAA,IACJ,KAAK,UAAU,KAAK,IAAI;AAAA,IACxB,KAAK,UAAU,KAAK,IAAI;AAAA,IACxB,KAAK,UAAU,KAAK,IAAI;AAAA,IACxB,KAAK,UAAU,KAAK,IAAI;AAAA,IACxB,KAAK,UAAU,KAAK,IAAI;AAAA,IACxB,KAAK,UAAU,KAAK,IAAI;AAAA,EAC5B;AAAA,EACA,QAAQ;AAAA,IACJ,KAAK,UAAU,KAAK,IAAI;AAAA,IACxB,KAAK,UAAU,KAAK,IAAI;AAAA,IACxB,KAAK,UAAU,KAAK,IAAI;AAAA,IACxB,KAAK,UAAU,KAAK,IAAI;AAAA,IACxB,KAAK,UAAU,KAAK,IAAI;AAAA,EAC5B;AAAA,EACA,QAAQ,CAAC,KAAK,UAAU,KAAK,IAAI,GAAG,KAAK,UAAU,KAAK,IAAI,GAAG,KAAK,UAAU,KAAK,IAAI,CAAC;AAAA,EACxF,QAAQ;AAAA,IACJ,KAAK,UAAU,KAAK,IAAI;AAAA,IACxB,KAAK,UAAU,KAAK,IAAI;AAAA,IACxB,KAAK,UAAU,KAAK,IAAI;AAAA,IACxB,KAAK,UAAU,KAAK,IAAI;AAAA,IACxB,KAAK,UAAU,KAAK,IAAI;AAAA,EAC5B;AAAA,EACA,QAAQ,CAAC,KAAK,UAAU,KAAK,IAAI,GAAG,KAAK,UAAU,KAAK,IAAI,GAAG,KAAK,UAAU,KAAK,IAAI,CAAC;AAAA,EACxF,QAAQ,CAAC,KAAK,UAAU,KAAK,IAAI,GAAG,KAAK,UAAU,KAAK,IAAI,GAAG,KAAK,UAAU,KAAK,IAAI,CAAC;AAAA,EACxF,SAAS,CAAC,YAAY,UAAU,gBAAgB,KAAK;AAAA,EACrD,SAAS,CAAC,aAAa,SAAS,QAAQ,qBAAqB,WAAW,UAAU,SAAS,IAAI;AAAA,EAC/F,SAAS;AAAA,IACL,KAAK,QAAQ,KAAK,IAAI;AAAA,IACtB,KAAK,OAAO,KAAK,IAAI;AAAA,IACrB,KAAK,iBAAiB,KAAK,IAAI;AAAA,IAC/B,KAAK,eAAe,KAAK,IAAI;AAAA,IAC7B,KAAK,iBAAiB,KAAK,IAAI,IAAI;AAAA,IACnC;AAAA,EACJ;AAAA,EACA,OAAO,CAAC,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,QAAQ,KAAK,IAAI,CAAC;AAAA,EAC9E,SAAS,KAAK;AAAA,EACd,SAAS,KAAK;AAAA,EACd,SAAS,KAAK;AAClB;", "names": [] } diff --git a/build/main.js b/build/main.js index 0693894..991088c 100644 --- a/build/main.js +++ b/build/main.js @@ -14,6 +14,10 @@ var __copyProps = (to, from, except, desc) => { return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); @@ -31,6 +35,9 @@ class WaterkotteEasycon extends utils.Adapter { }); this.on("ready", this.onReady.bind(this)); } + /** + * Is called when databases are connected and adapter received configuration. + */ async onReady() { this.setStateAsync("info.connection", false, true); this.knownObjects = {}; @@ -56,13 +63,19 @@ class WaterkotteEasycon extends utils.Adapter { this.log.info("Successfully logged in"); await this.setStateAsync("info.connection", true, true); await this.setMessageStateAsync(""); + const limitedUpdateInterval = Math.min(86400, Math.max(20, this.config.updateInterval)); const interval = this.setInterval( async () => await this.updateParametersAsync(), - this.config.pollingInterval + limitedUpdateInterval * 1e3 ); if (interval) { this.updateParametersInterval = interval; } + if (this.config.updateInterval != limitedUpdateInterval) { + this.log.warn(`Limited update interval to ${limitedUpdateInterval} seconds`); + } else { + this.log.info("Interval " + limitedUpdateInterval); + } } catch (e) { this.log.error(`Unhandled error on adapter startup: ${e}`); if (e instanceof Error) { @@ -215,6 +228,9 @@ class WaterkotteEasycon extends utils.Adapter { return cachedItemPath; } } + /** + * Is called when adapter shuts down - callback has to be called under any circumstances! + */ onUnload(callback) { var _a; try { @@ -230,13 +246,6 @@ class WaterkotteEasycon extends utils.Adapter { callback(); } } - onStateChange(id, state) { - if (state) { - this.log.info(`state ${id} changed: ${state.val} (ack = ${state.ack})`); - } else { - this.log.info(`state ${id} deleted`); - } - } } if (require.main !== module) { module.exports = (options) => new WaterkotteEasycon(options); diff --git a/build/main.js.map b/build/main.js.map index 427bca3..ad7442e 100644 --- a/build/main.js.map +++ b/build/main.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../src/main.ts"], - "sourcesContent": ["/*\r\n * Created with @iobroker/create-adapter v2.6.1\r\n */\r\n\r\n// The adapter-core module gives you access to the core ioBroker functions\r\n// you need to create an adapter\r\nimport * as utils from '@iobroker/adapter-core';\r\nimport { AdapterError, RethrowError, TagResponse, WaterkotteError } from './types';\r\nimport { WaterkotteHeatPump } from './waterkotteheatpump';\r\n\r\nclass WaterkotteEasycon extends utils.Adapter {\r\n api: WaterkotteHeatPump | undefined;\r\n updateParametersInterval: ioBroker.Interval | undefined;\r\n knownObjects: Record = {};\r\n public constructor(options: Partial = {}) {\r\n super({\r\n ...options,\r\n name: 'waterkotte-easycon',\r\n });\r\n this.on('ready', this.onReady.bind(this));\r\n }\r\n\r\n /**\r\n * Is called when databases are connected and adapter received configuration.\r\n */\r\n private async onReady(): Promise {\r\n this.setStateAsync('info.connection', false, true);\r\n\r\n this.knownObjects = {};\r\n if (this.updateParametersInterval) {\r\n this.clearInterval(this.updateParametersInterval);\r\n }\r\n\r\n if (!(await this.updateAndHandleConfigAsync())) {\r\n return;\r\n }\r\n\r\n this.api = new WaterkotteHeatPump(this.config.ipAddress, this.config.username, this.config.password, this.log);\r\n\r\n try {\r\n const response = await this.updateParametersAsync();\r\n if (response instanceof Error) {\r\n let message: string | undefined = undefined;\r\n if (response instanceof WaterkotteError) {\r\n message = `${response.code} - ${response.message}`;\r\n }\r\n\r\n this.log.error(`Unhandled error on adapter startup: ${(message ??= String(response))}`);\r\n this.log.error(`Callstack: ${response.stack}`);\r\n await this.setMessageStateAsync(message);\r\n return;\r\n }\r\n\r\n this.log.info('Successfully logged in');\r\n await this.setStateAsync('info.connection', true, true);\r\n await this.setMessageStateAsync('');\r\n\r\n const interval = this.setInterval(\r\n async () => await this.updateParametersAsync(),\r\n this.config.pollingInterval,\r\n );\r\n\r\n if (interval) {\r\n this.updateParametersInterval = interval;\r\n }\r\n } catch (e: unknown) {\r\n this.log.error(`Unhandled error on adapter startup: ${e}`);\r\n if (e instanceof Error) {\r\n this.log.error(`Callstack: ${e.stack}`);\r\n }\r\n await this.setMessageStateAsync(`Unhandled error on adapter startup: ${String(e)}`);\r\n return;\r\n }\r\n }\r\n\r\n private async checkConfig(): Promise {\r\n let configName: string = '';\r\n\r\n if (!this.config.ipAddress) {\r\n configName = 'ip address';\r\n } else if (!this.config.username) {\r\n configName = 'username';\r\n } else if (!this.config.password) {\r\n configName = 'password';\r\n }\r\n\r\n if (!configName) {\r\n return true;\r\n }\r\n\r\n const message = `Unable to connect to heat pump: missing ${configName}`;\r\n this.log.warn(message);\r\n await this.setMessageStateAsync(message);\r\n\r\n return false;\r\n }\r\n\r\n private async updateAndHandleConfigAsync(): Promise {\r\n if (!(await this.checkConfig())) {\r\n return false;\r\n }\r\n\r\n const info = await this.getObjectAsync('info');\r\n const lastConfig: ioBroker.AdapterConfig = info?.native;\r\n\r\n if (lastConfig) {\r\n if (\r\n lastConfig.pathFlavor != this.config.pathFlavor ||\r\n lastConfig.removeWhitespace != this.config.removeWhitespace\r\n ) {\r\n this.log.debug('Config changed, delete all states');\r\n await this.deleteAllObjectsAsync();\r\n }\r\n }\r\n\r\n await this.extendObjectAsync('info', {\r\n native: {\r\n pathFlavor: this.config.pathFlavor,\r\n removeWhitespace: this.config.removeWhitespace,\r\n },\r\n });\r\n return true;\r\n }\r\n\r\n private async deleteAllObjectsAsync(): Promise {\r\n const objects = await this.getObjectListAsync({\r\n startkey: this.namespace,\r\n });\r\n\r\n if (objects.rows) {\r\n const idRoot = this.namespace + '.';\r\n const rootObjects = Array.from(\r\n new Set(\r\n objects.rows\r\n .filter((x) => x.id.includes(idRoot))\r\n .map((x) => x.id.replace(idRoot, '').split('.')[0]),\r\n ),\r\n ).filter((x) => !x.startsWith('info'));\r\n\r\n for (const obj of rootObjects) {\r\n this.log.debug('delete ' + obj);\r\n await this.delObjectAsync(obj, { recursive: true });\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n private async updateParametersAsync(): Promise {\r\n if (!this.api) {\r\n throw new AdapterError('Unable to update parameters because api has not been initialized');\r\n }\r\n\r\n try {\r\n const tagResponses = await this.api.requestTagsAsync();\r\n\r\n for (const tagResponse of tagResponses) {\r\n if (tagResponse.response.status != TagResponse.STATUS_OK) {\r\n this.log.warn(\r\n `Unable to get parameter '${tagResponse.response.name}'. Received '${tagResponse.response.status}' instead.`,\r\n );\r\n continue;\r\n }\r\n\r\n if (!tagResponse.state) {\r\n continue;\r\n }\r\n\r\n const path = await this.createObjectIfNotExists(\r\n tagResponse.state.Id,\r\n () => {\r\n let path = tagResponse.state.getPath(\r\n this.config.pathFlavor,\r\n this.FORBIDDEN_CHARS,\r\n this.language ?? 'en',\r\n );\r\n if (this.config.removeWhitespace) {\r\n path = path.replaceAll(/\\s/g, '_');\r\n }\r\n return path;\r\n },\r\n () =>\r\n {\r\n type: 'state',\r\n common: tagResponse.state.getCommonObject(),\r\n native: {\r\n id: tagResponse.state.Id,\r\n },\r\n },\r\n tagResponse.state,\r\n );\r\n\r\n await this.setStateAsync(path, tagResponse.state.normalizeValue(tagResponse.response.value), true);\r\n }\r\n\r\n await this.setMessageStateAsync('');\r\n } catch (e: unknown) {\r\n let returnError: Error;\r\n\r\n if (e instanceof Error) {\r\n if (e instanceof WaterkotteError) {\r\n returnError = e;\r\n } else {\r\n returnError = new RethrowError(e);\r\n }\r\n } else {\r\n returnError = new AdapterError(`Error during update: '${e}'`);\r\n }\r\n\r\n this.log.warn(returnError.message);\r\n await this.setMessageStateAsync(returnError.message);\r\n return returnError;\r\n }\r\n }\r\n\r\n private async setMessageStateAsync(message: string): Promise {\r\n await this.createObjectIfNotExists(\r\n 'info.message',\r\n () => 'info.message',\r\n () =>\r\n {\r\n type: 'state',\r\n common: {\r\n write: false,\r\n type: 'string',\r\n },\r\n native: {},\r\n },\r\n message,\r\n );\r\n await this.setStateAsync('info.message', message, true);\r\n }\r\n\r\n private async createObjectIfNotExists(\r\n id: string,\r\n getPath: () => string,\r\n getObjPart: () => ioBroker.PartialObject,\r\n item: any,\r\n ): Promise {\r\n const cachedItem = this.knownObjects[id];\r\n const cachedItemPath = cachedItem?.['path'];\r\n if (!cachedItemPath) {\r\n const path = getPath();\r\n await this.extendObjectAsync(path, getObjPart());\r\n this.knownObjects[id] = { path: path, item: item };\r\n this.log.silly(`${path} added to cache`);\r\n return path;\r\n } else {\r\n this.log.silly(`${cachedItemPath} found in cache`);\r\n return cachedItemPath;\r\n }\r\n }\r\n\r\n /**\r\n * Is called when adapter shuts down - callback has to be called under any circumstances!\r\n */\r\n private onUnload(callback: () => void): void {\r\n try {\r\n this.clearInterval(this.updateParametersInterval);\r\n try {\r\n this.api\r\n ?.disconnectAsync()\r\n .then(() => {\r\n this.log.info('Successfully logged out');\r\n })\r\n .finally();\r\n } catch {} // fire and forget\r\n\r\n callback();\r\n } catch (e) {\r\n callback();\r\n }\r\n }\r\n\r\n /**\r\n * Is called if a subscribed state changes\r\n */\r\n private onStateChange(id: string, state: ioBroker.State | null | undefined): void {\r\n if (state) {\r\n // The state was changed\r\n this.log.info(`state ${id} changed: ${state.val} (ack = ${state.ack})`);\r\n } else {\r\n // The state was deleted\r\n this.log.info(`state ${id} deleted`);\r\n }\r\n }\r\n}\r\n\r\nif (require.main !== module) {\r\n // Export the constructor in compact mode\r\n module.exports = (options: Partial | undefined) => new WaterkotteEasycon(options);\r\n} else {\r\n // otherwise start the instance directly\r\n (() => new WaterkotteEasycon())();\r\n}\r\n\r\ntype CacheItem = {\r\n path: string;\r\n item: any;\r\n};\r\n"], - "mappings": "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", + "sourcesContent": ["/*\r\n * Created with @iobroker/create-adapter v2.6.1\r\n */\r\n\r\n// The adapter-core module gives you access to the core ioBroker functions\r\n// you need to create an adapter\r\nimport * as utils from '@iobroker/adapter-core';\r\nimport { AdapterError, RethrowError, TagResponse, WaterkotteError } from './types';\r\nimport { WaterkotteHeatPump } from './waterkotteheatpump';\r\n\r\nclass WaterkotteEasycon extends utils.Adapter {\r\n api: WaterkotteHeatPump | undefined;\r\n updateParametersInterval: ioBroker.Interval | undefined;\r\n knownObjects: Record = {};\r\n public constructor(options: Partial = {}) {\r\n super({\r\n ...options,\r\n name: 'waterkotte-easycon',\r\n });\r\n this.on('ready', this.onReady.bind(this));\r\n }\r\n\r\n /**\r\n * Is called when databases are connected and adapter received configuration.\r\n */\r\n private async onReady(): Promise {\r\n this.setStateAsync('info.connection', false, true);\r\n\r\n this.knownObjects = {};\r\n if (this.updateParametersInterval) {\r\n this.clearInterval(this.updateParametersInterval);\r\n }\r\n\r\n if (!(await this.updateAndHandleConfigAsync())) {\r\n return;\r\n }\r\n\r\n this.api = new WaterkotteHeatPump(this.config.ipAddress, this.config.username, this.config.password, this.log);\r\n\r\n try {\r\n const response = await this.updateParametersAsync();\r\n if (response instanceof Error) {\r\n let message: string | undefined = undefined;\r\n if (response instanceof WaterkotteError) {\r\n message = `${response.code} - ${response.message}`;\r\n }\r\n\r\n this.log.error(`Unhandled error on adapter startup: ${(message ??= String(response))}`);\r\n this.log.error(`Callstack: ${response.stack}`);\r\n await this.setMessageStateAsync(message);\r\n return;\r\n }\r\n\r\n this.log.info('Successfully logged in');\r\n await this.setStateAsync('info.connection', true, true);\r\n await this.setMessageStateAsync('');\r\n\r\n const limitedUpdateInterval = Math.min(86400, Math.max(20, this.config.updateInterval));\r\n const interval = this.setInterval(\r\n async () => await this.updateParametersAsync(),\r\n limitedUpdateInterval * 1000,\r\n );\r\n\r\n if (interval) {\r\n this.updateParametersInterval = interval;\r\n }\r\n\r\n if (this.config.updateInterval != limitedUpdateInterval) {\r\n this.log.warn(`Limited update interval to ${limitedUpdateInterval} seconds`);\r\n } else {\r\n this.log.info('Interval ' + limitedUpdateInterval);\r\n }\r\n } catch (e: unknown) {\r\n this.log.error(`Unhandled error on adapter startup: ${e}`);\r\n if (e instanceof Error) {\r\n this.log.error(`Callstack: ${e.stack}`);\r\n }\r\n await this.setMessageStateAsync(`Unhandled error on adapter startup: ${String(e)}`);\r\n return;\r\n }\r\n }\r\n\r\n private async checkConfig(): Promise {\r\n let configName: string = '';\r\n\r\n if (!this.config.ipAddress) {\r\n configName = 'ip address';\r\n } else if (!this.config.username) {\r\n configName = 'username';\r\n } else if (!this.config.password) {\r\n configName = 'password';\r\n }\r\n\r\n if (!configName) {\r\n return true;\r\n }\r\n\r\n const message = `Unable to connect to heat pump: missing ${configName}`;\r\n this.log.warn(message);\r\n await this.setMessageStateAsync(message);\r\n\r\n return false;\r\n }\r\n\r\n private async updateAndHandleConfigAsync(): Promise {\r\n if (!(await this.checkConfig())) {\r\n return false;\r\n }\r\n\r\n const info = await this.getObjectAsync('info');\r\n const lastConfig: ioBroker.AdapterConfig = info?.native;\r\n\r\n if (lastConfig) {\r\n if (\r\n lastConfig.pathFlavor != this.config.pathFlavor ||\r\n lastConfig.removeWhitespace != this.config.removeWhitespace\r\n ) {\r\n this.log.debug('Config changed, delete all states');\r\n await this.deleteAllObjectsAsync();\r\n }\r\n }\r\n\r\n await this.extendObjectAsync('info', {\r\n native: {\r\n pathFlavor: this.config.pathFlavor,\r\n removeWhitespace: this.config.removeWhitespace,\r\n },\r\n });\r\n return true;\r\n }\r\n\r\n private async deleteAllObjectsAsync(): Promise {\r\n const objects = await this.getObjectListAsync({\r\n startkey: this.namespace,\r\n });\r\n\r\n if (objects.rows) {\r\n const idRoot = this.namespace + '.';\r\n const rootObjects = Array.from(\r\n new Set(\r\n objects.rows\r\n .filter((x) => x.id.includes(idRoot))\r\n .map((x) => x.id.replace(idRoot, '').split('.')[0]),\r\n ),\r\n ).filter((x) => !x.startsWith('info'));\r\n\r\n for (const obj of rootObjects) {\r\n this.log.debug('delete ' + obj);\r\n await this.delObjectAsync(obj, { recursive: true });\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n private async updateParametersAsync(): Promise {\r\n if (!this.api) {\r\n throw new AdapterError('Unable to update parameters because api has not been initialized');\r\n }\r\n\r\n try {\r\n const tagResponses = await this.api.requestTagsAsync();\r\n\r\n for (const tagResponse of tagResponses) {\r\n if (tagResponse.response.status != TagResponse.STATUS_OK) {\r\n this.log.warn(\r\n `Unable to get parameter '${tagResponse.response.name}'. Received '${tagResponse.response.status}' instead.`,\r\n );\r\n continue;\r\n }\r\n\r\n if (!tagResponse.state) {\r\n continue;\r\n }\r\n\r\n const path = await this.createObjectIfNotExists(\r\n tagResponse.state.Id,\r\n () => {\r\n let path = tagResponse.state.getPath(\r\n this.config.pathFlavor,\r\n this.FORBIDDEN_CHARS,\r\n this.language ?? 'en',\r\n );\r\n if (this.config.removeWhitespace) {\r\n path = path.replaceAll(/\\s/g, '_');\r\n }\r\n return path;\r\n },\r\n () =>\r\n {\r\n type: 'state',\r\n common: tagResponse.state.getCommonObject(),\r\n native: {\r\n id: tagResponse.state.Id,\r\n },\r\n },\r\n tagResponse.state,\r\n );\r\n\r\n await this.setStateAsync(path, tagResponse.state.normalizeValue(tagResponse.response.value), true);\r\n }\r\n\r\n await this.setMessageStateAsync('');\r\n } catch (e: unknown) {\r\n let returnError: Error;\r\n\r\n if (e instanceof Error) {\r\n if (e instanceof WaterkotteError) {\r\n returnError = e;\r\n } else {\r\n returnError = new RethrowError(e);\r\n }\r\n } else {\r\n returnError = new AdapterError(`Error during update: '${e}'`);\r\n }\r\n\r\n this.log.warn(returnError.message);\r\n await this.setMessageStateAsync(returnError.message);\r\n return returnError;\r\n }\r\n }\r\n\r\n private async setMessageStateAsync(message: string): Promise {\r\n await this.createObjectIfNotExists(\r\n 'info.message',\r\n () => 'info.message',\r\n () =>\r\n {\r\n type: 'state',\r\n common: {\r\n write: false,\r\n type: 'string',\r\n },\r\n native: {},\r\n },\r\n message,\r\n );\r\n await this.setStateAsync('info.message', message, true);\r\n }\r\n\r\n private async createObjectIfNotExists(\r\n id: string,\r\n getPath: () => string,\r\n getObjPart: () => ioBroker.PartialObject,\r\n item: any,\r\n ): Promise {\r\n const cachedItem = this.knownObjects[id];\r\n const cachedItemPath = cachedItem?.['path'];\r\n if (!cachedItemPath) {\r\n const path = getPath();\r\n await this.extendObjectAsync(path, getObjPart());\r\n this.knownObjects[id] = { path: path, item: item };\r\n this.log.silly(`${path} added to cache`);\r\n return path;\r\n } else {\r\n this.log.silly(`${cachedItemPath} found in cache`);\r\n return cachedItemPath;\r\n }\r\n }\r\n\r\n /**\r\n * Is called when adapter shuts down - callback has to be called under any circumstances!\r\n */\r\n private onUnload(callback: () => void): void {\r\n try {\r\n this.clearInterval(this.updateParametersInterval);\r\n try {\r\n this.api\r\n ?.disconnectAsync()\r\n .then(() => {\r\n this.log.info('Successfully logged out');\r\n })\r\n .finally();\r\n } catch {} // fire and forget\r\n\r\n callback();\r\n } catch (e) {\r\n callback();\r\n }\r\n }\r\n}\r\n\r\nif (require.main !== module) {\r\n // Export the constructor in compact mode\r\n module.exports = (options: Partial | undefined) => new WaterkotteEasycon(options);\r\n} else {\r\n // otherwise start the instance directly\r\n (() => new WaterkotteEasycon())();\r\n}\r\n\r\ntype CacheItem = {\r\n path: string;\r\n item: any;\r\n};\r\n"], + "mappings": "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", "names": ["path"] } diff --git a/build/states.js.map b/build/states.js.map index 96240c9..3ff5c0b 100644 --- a/build/states.js.map +++ b/build/states.js.map @@ -2,6 +2,6 @@ "version": 3, "sources": ["../src/states.ts"], "sourcesContent": ["import { WaterkotteDictionary } from './dictionary';\r\nimport { CommonState, EnumState, IndicatorState, ReadOnlyState, State } from './types';\r\n\r\nconst dict = new WaterkotteDictionary();\r\n\r\nconst heatingIndicatorState = getServiceIndicator('D23');\r\nconst coolingIndicatorState = getServiceIndicator('D74');\r\nconst waterIndicatorState = getServiceIndicator('D117');\r\nconst poolIndicatorState = getServiceIndicator('D160');\r\nconst solarIndicatorState = getServiceIndicator('D196');\r\nconst mischer1IndicatorState = getServiceIndicator('D248');\r\nconst mischer2IndicatorState = getServiceIndicator('D291');\r\nconst mischer3IndicatorState = getServiceIndicator('D334');\r\nconst extHeaterIndicatorState = getServiceIndicator('D232');\r\nconst pumpIndicatorState = getServiceIndicator('D377');\r\nconst pvIndicatorState = getServiceIndicator('D635');\r\n\r\nexport function getServicesStates(): CommonState[] {\r\n return [\r\n heatingIndicatorState,\r\n coolingIndicatorState,\r\n waterIndicatorState,\r\n poolIndicatorState,\r\n solarIndicatorState,\r\n mischer1IndicatorState,\r\n mischer2IndicatorState,\r\n mischer3IndicatorState,\r\n extHeaterIndicatorState,\r\n pumpIndicatorState,\r\n pvIndicatorState,\r\n ];\r\n}\r\n\r\nfunction getServiceIndicator(id: string): IndicatorState {\r\n return new IndicatorState('', id, dict.getTranslation(id));\r\n}\r\n\r\nfunction getIndicator(path: string, id: string): IndicatorState {\r\n return new IndicatorState(path, id, dict.getTranslation(id));\r\n}\r\n\r\nfunction getState(path: string, id: string, unit: string): State {\r\n return new State(path, id, dict.getTranslation(id), unit);\r\n}\r\n\r\nfunction getReadOnlyState(path: string, id: string, unit?: string, text?: ioBroker.StringOrTranslated): State {\r\n return new ReadOnlyState(path, id, text ?? dict.getTranslation(id), unit);\r\n}\r\n\r\nfunction getEnumState(\r\n path: string,\r\n id: string,\r\n valueMap: Record,\r\n unit?: string,\r\n): State {\r\n return new EnumState(path, id, dict.getTranslation(id), valueMap, unit);\r\n}\r\n\r\nexport function getStates(pollStatesOf: string[], language: ioBroker.Languages = 'en'): CommonState[] {\r\n const states: CommonState[] = [];\r\n\r\n const offAutoManuell = {\r\n 0: dict.getTranslations(['Off'], language),\r\n 1: dict.getTranslations(['Auto'], language),\r\n 2: dict.getTranslations(['Manual'], language),\r\n };\r\n const noneDayAll = {\r\n 0: dict.getTranslations(['None'], language),\r\n 1: dict.getTranslations(['Day'], language),\r\n 2: dict.getTranslations(['All'], language),\r\n };\r\n const openClosed = {\r\n 0: dict.getTranslations(['Open'], language),\r\n 1: dict.getTranslations(['Closed'], language),\r\n };\r\n\r\n if (pollStatesOf.includes(heatingIndicatorState.Id)) {\r\n const heatingSettings = dict.getTranslations(['Heat', 'Settings'], language);\r\n states.push(\r\n getEnumState(\r\n heatingSettings,\r\n 'I263',\r\n { 0: '-2.0', 1: '-1.5', 2: '-1.0', 3: '-0.5', 4: '0.0', 5: '0.5', 6: '1.0', 7: '1.5', 8: '2.0' },\r\n '\u00B0C',\r\n ),\r\n );\r\n\r\n states.push(getState(heatingSettings, 'A32', '\u00B0C'));\r\n states.push(getEnumState(heatingSettings, 'I30', offAutoManuell));\r\n states.push(getReadOnlyState(heatingSettings, 'A31', '\u00B0C'));\r\n states.push(getState(heatingSettings, 'A61', 'K'));\r\n\r\n const heatingCurve = dict.getTranslations(['Heat', 'Curve'], language);\r\n states.push(getReadOnlyState(heatingCurve, 'A90', '\u00B0C'));\r\n states.push(getState(heatingCurve, 'A93', '\u00B0C'));\r\n states.push(getState(heatingCurve, 'A94', '\u00B0C'));\r\n states.push(getState(heatingCurve, 'A91', '\u00B0C'));\r\n states.push(getState(heatingCurve, 'A92', '\u00B0C'));\r\n states.push(getReadOnlyState(heatingCurve, 'A96', '\u00B0C'));\r\n\r\n const heatingInfluence = dict.getTranslations(['Heat', 'Influence'], language);\r\n states.push(getReadOnlyState(heatingInfluence, 'A98', '\u00B0C'));\r\n states.push(getState(heatingInfluence, 'A100', '\u00B0C'));\r\n states.push(getEnumState(heatingInfluence, 'A101', { 0: '0', 1: '50', 2: '100', 3: '150', 4: '200' }, '%'));\r\n states.push(getState(heatingInfluence, 'A102', 'K'));\r\n states.push(getState(heatingInfluence, 'A103', 'K'));\r\n states.push(getReadOnlyState(heatingInfluence, 'A99', 'K'));\r\n\r\n const heatingStatus = dict.getTranslations(['Heat', 'Status'], language);\r\n states.push(getReadOnlyState(heatingStatus, 'A30', '\u00B0C'));\r\n states.push(getIndicator(heatingStatus, 'I137'));\r\n states.push(getIndicator(heatingStatus, 'D24'));\r\n }\r\n\r\n if (pollStatesOf.includes(coolingIndicatorState.Id)) {\r\n const coolingSettings = dict.getTranslations(['Cool', 'Settings'], language);\r\n states.push(getState(coolingSettings, 'A109', '\u00B0C'));\r\n states.push(getEnumState(coolingSettings, 'I31', offAutoManuell));\r\n states.push(getReadOnlyState(coolingSettings, 'A34', '\u00B0C'));\r\n states.push(getState(coolingSettings, 'A108', '\u00B0C'));\r\n states.push(getState(coolingSettings, 'A107', 'K'));\r\n const coolingStatus = dict.getTranslations(['Cool', 'Status'], language);\r\n states.push(getReadOnlyState(coolingStatus, 'A33', '\u00B0C'));\r\n states.push(getIndicator(coolingStatus, 'I138'));\r\n states.push(getIndicator(coolingStatus, 'D75'));\r\n }\r\n\r\n if (pollStatesOf.includes(waterIndicatorState.Id)) {\r\n const waterSettings = dict.getTranslations(['Hh2o', 'Settings'], language);\r\n states.push(getState(waterSettings, 'A38', '\u00B0C'));\r\n states.push(getEnumState(waterSettings, 'I32', offAutoManuell));\r\n states.push(getReadOnlyState(waterSettings, 'A37', '\u00B0C'));\r\n states.push(getState(waterSettings, 'A139', 'K'));\r\n\r\n const waterThermalDis = dict.getTranslations(['Hh2o', 'ThermalDis'], language);\r\n states.push(getState(waterThermalDis, 'A168', '\u00B0C'));\r\n states.push(getReadOnlyState(waterThermalDis, 'I505', 'Uhr'));\r\n states.push(getState(waterThermalDis, 'I507', 'h'));\r\n states.push(getEnumState(waterThermalDis, 'I508', noneDayAll));\r\n\r\n const waterSolarSupp = dict.getTranslations(['Hh2o', 'SolarSupp'], language);\r\n states.push(getState(waterSolarSupp, 'A169', '\u00B0C'));\r\n states.push(getState(waterSolarSupp, 'I517', ''));\r\n states.push(getReadOnlyState(waterSolarSupp, 'I518'));\r\n\r\n const waterStatus = dict.getTranslations(['Hh2o', 'Status'], language);\r\n states.push(getReadOnlyState(waterStatus, 'A19', '\u00B0C'));\r\n states.push(getIndicator(waterStatus, 'I139'));\r\n states.push(getIndicator(waterStatus, 'D118'));\r\n }\r\n\r\n if (pollStatesOf.includes(poolIndicatorState.Id)) {\r\n const poolSettings = dict.getTranslations(['Pool', 'Settings'], language);\r\n states.push(getState(poolSettings, 'A41', '\u00B0C'));\r\n states.push(\r\n getEnumState(\r\n poolSettings,\r\n 'I1740',\r\n { 0: '-2.0', 1: '-1.5', 2: '-1.0', 3: '-0.5', 4: '0.0', 5: '0.5', 6: '1.0', 7: '1.5', 8: '2.0' },\r\n '\u00B0C',\r\n ),\r\n );\r\n states.push(getEnumState(poolSettings, 'I33', offAutoManuell));\r\n states.push(getReadOnlyState(poolSettings, 'A20', '\u00B0C'));\r\n states.push(getReadOnlyState(poolSettings, 'A40', '\u00B0C'));\r\n states.push(getState(poolSettings, 'A174', 'K'));\r\n\r\n const poolCurve = dict.getTranslations(['Pool', 'Curve'], language);\r\n states.push(getReadOnlyState(poolCurve, 'A746', '\u00B0C'));\r\n states.push(getState(poolCurve, 'A749', '\u00B0C'));\r\n states.push(getState(poolCurve, 'A749', '\u00B0C'));\r\n states.push(getState(poolCurve, 'A750', '\u00B0C'));\r\n states.push(getState(poolCurve, 'A747', '\u00B0C'));\r\n states.push(getState(poolCurve, 'A748', '\u00B0C'));\r\n states.push(getState(poolCurve, 'A752', '\u00B0C'));\r\n }\r\n\r\n if (pollStatesOf.includes(solarIndicatorState.Id)) {\r\n const solarSettings = dict.getTranslations(['Solar', 'Settings'], language);\r\n states.push(getState(solarSettings, 'A205', 'K'));\r\n states.push(getState(solarSettings, 'A206', 'K'));\r\n states.push(getState(solarSettings, 'A207', 'K'));\r\n states.push(getEnumState(solarSettings, 'I34', offAutoManuell));\r\n states.push(getReadOnlyState(solarSettings, 'A21', '\u00B0C'));\r\n states.push(getReadOnlyState(solarSettings, 'A1101', '\u00B0C'));\r\n states.push(getReadOnlyState(solarSettings, 'A22', '\u00B0C'));\r\n states.push(getReadOnlyState(solarSettings, 'A209', '\u00B0C'));\r\n\r\n const solarRegen = dict.getTranslations(['Solar', 'SolarRegen'], language);\r\n states.push(getEnumState(solarSettings, 'I42', offAutoManuell));\r\n states.push(getReadOnlyState(solarRegen, 'A686', '\u00B0C'));\r\n states.push(getState(solarRegen, 'A687', '\u00B0C'));\r\n states.push(getState(solarRegen, 'A688', 'K'));\r\n states.push(getEnumState(solarRegen, 'I2253', openClosed));\r\n }\r\n\r\n if (pollStatesOf.includes(pvIndicatorState.Id)) {\r\n const pvSettings = dict.getTranslations(['PV', 'Settings'], language);\r\n states.push(getEnumState(pvSettings, 'I41', offAutoManuell));\r\n states.push(getReadOnlyState(pvSettings, 'A1223', 'kW'));\r\n states.push(getReadOnlyState(pvSettings, 'A1194', 'kW'));\r\n states.push(getReadOnlyState(pvSettings, 'A1224', 'kW'));\r\n\r\n const pvChange = dict.getTranslations(['PV', 'PVChange'], language);\r\n states.push(getState(pvChange, 'A682', 'K'));\r\n states.push(getState(pvChange, 'A683', 'K'));\r\n states.push(getState(pvChange, 'A684', 'K'));\r\n states.push(getState(pvChange, 'A685', 'K'));\r\n\r\n if (pollStatesOf.includes(mischer1IndicatorState.Id)) {\r\n states.push(getState(pvChange, 'A1094', 'K'));\r\n }\r\n if (pollStatesOf.includes(mischer2IndicatorState.Id)) {\r\n states.push(getState(pvChange, 'AI1095', 'K'));\r\n }\r\n if (pollStatesOf.includes(mischer3IndicatorState.Id)) {\r\n states.push(getState(pvChange, 'AI1096', 'K'));\r\n }\r\n }\r\n\r\n const energySettings = dict.getTranslations(['CPD', 'Status'], language);\r\n states.push(getReadOnlyState(energySettings, 'A25', 'kW'));\r\n states.push(getReadOnlyState(energySettings, 'A26', 'kW'));\r\n states.push(getReadOnlyState(energySettings, 'A28'));\r\n states.push(getReadOnlyState(energySettings, 'A27', 'kW'));\r\n states.push(getReadOnlyState(energySettings, 'A29'));\r\n\r\n const measurements = dict.getTranslations(['MValues'], language);\r\n states.push(getReadOnlyState(measurements, 'A1', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A2', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A3', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A4', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A5', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A6', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A7', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A8', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A10', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A699', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A700', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A701', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A702', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A12', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'I2017', 'bar'));\r\n states.push(getReadOnlyState(measurements, 'I2018', 'bar'));\r\n states.push(getReadOnlyState(measurements, 'I2019', 'bar'));\r\n states.push(getReadOnlyState(measurements, 'I2020', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'I2021', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'I2022', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'I2025', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'I2024', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'I2023', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'I2032', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'I2033', 'K'));\r\n states.push(getReadOnlyState(measurements, 'I2034', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'I2039', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A13', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A14', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A15', 'bar'));\r\n states.push(getReadOnlyState(measurements, 'A17', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A18', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A19', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A20', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A21', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A16', '\u00B0C'));\r\n states.push(getReadOnlyState(measurements, 'A1022', 'l/s'));\r\n states.push(getReadOnlyState(measurements, 'A1023', '\u00B0C'));\r\n\r\n const status = 'Status';\r\n states.push(getIndicator(status, 'D581'));\r\n states.push(getIndicator(status, 'D701'));\r\n //states.push(getIndicator(status, 'D71'));\r\n states.push(getReadOnlyState(status, 'I5', 'dd', dict.getTranslation(['I5', 'I1260'], ' ')));\r\n states.push(getReadOnlyState(status, 'I6', 'mm', dict.getTranslation(['I5', 'Day'], ' ')));\r\n states.push(getReadOnlyState(status, 'I7', 'yy', dict.getTranslation(['I5', 'I1261'], ' ')));\r\n states.push(getReadOnlyState(status, 'I8', 'h', dict.getTranslations(['I8'], language) + ' Hour'));\r\n states.push(getReadOnlyState(status, 'I9', 'min', dict.getTranslations(['I8'], language) + ' Minute'));\r\n\r\n const statusDI = `${status}.DigitalInputs`;\r\n states.push(getIndicator(statusDI, 'D1010'));\r\n states.push(getIndicator(statusDI, 'D815'));\r\n states.push(getIndicator(statusDI, 'D816'));\r\n states.push(getIndicator(statusDI, 'D817'));\r\n states.push(getIndicator(statusDI, 'D818'));\r\n states.push(getIndicator(statusDI, 'D821'));\r\n states.push(getIndicator(statusDI, 'D822'));\r\n states.push(getIndicator(statusDI, 'D823'));\r\n states.push(getIndicator(statusDI, 'D824'));\r\n\r\n return states;\r\n}\r\n"], - "mappings": "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", + "mappings": "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", "names": [] } diff --git a/build/types.js.map b/build/types.js.map index 9f5b864..1ba9602 100644 --- a/build/types.js.map +++ b/build/types.js.map @@ -2,6 +2,6 @@ "version": 3, "sources": ["../src/types.ts"], "sourcesContent": ["interface Path {\r\n Id: string;\r\n}\r\n\r\nexport enum PathFlavor {\r\n Id,\r\n Description,\r\n}\r\n\r\nexport class CommonState implements Path {\r\n private static readonly ID_PARTS_REGEXP = /(?[a-z])(?\\d+)/gim;\r\n readonly type: string = 'CommonState';\r\n\r\n private idParts: { Qualifier: string; Number: number } | undefined = undefined;\r\n\r\n constructor(\r\n public readonly Path: string,\r\n public readonly Id: string,\r\n public readonly Text: ioBroker.StringOrTranslated,\r\n public readonly Unit?: string,\r\n public readonly Readonly: boolean = true,\r\n public readonly ValueMap: Record = [],\r\n public readonly Type: ioBroker.CommonType = 'number',\r\n ) {}\r\n\r\n getIdParts(): { Qualifier: string; Number: number } {\r\n if (!this.idParts) {\r\n this.idParts = this.doGetIdParts(this.Id);\r\n }\r\n return this.idParts;\r\n }\r\n\r\n protected doGetIdParts(id: string): { Qualifier: string; Number: number } {\r\n const groups = id.matchAll(CommonState.ID_PARTS_REGEXP)?.next()?.value?.groups;\r\n if (!groups) {\r\n throw new AdapterError(`Tag id ${id} format not supported`);\r\n }\r\n return { Qualifier: groups.qualifier, Number: Number(groups.number) };\r\n }\r\n\r\n getPath(flavor: PathFlavor = PathFlavor.Id, replaceRegExp?: RegExp, language: ioBroker.Languages = 'en'): string {\r\n let segments: string[] = [this.Path];\r\n\r\n switch (flavor) {\r\n case PathFlavor.Id:\r\n segments.push(this.Id);\r\n break;\r\n case PathFlavor.Description:\r\n const segment = typeof this.Text === 'string' ? this.Text : this.Text[language] ?? this.Text['en'];\r\n segments.push(segment);\r\n break;\r\n default:\r\n throw new AdapterError(`Unknown path flavor '${flavor}'`);\r\n }\r\n\r\n if (replaceRegExp) {\r\n segments = segments.map((segment) => segment.replace(replaceRegExp, '_'));\r\n }\r\n\r\n const path = segments.join('.');\r\n return path;\r\n }\r\n\r\n getRole(): string {\r\n if (this.Unit === '\u00B0C') {\r\n return 'value.temperature';\r\n } else if (this.Type === 'boolean') {\r\n return 'indicator';\r\n } else {\r\n return 'value';\r\n }\r\n }\r\n\r\n getCommonObject(): ioBroker.StateCommon {\r\n const common = {\r\n name: this.Text,\r\n unit: this.Unit,\r\n type: this.Type,\r\n read: true,\r\n role: this.getRole(),\r\n write: !this.Readonly,\r\n states: this.ValueMap,\r\n };\r\n return common;\r\n }\r\n\r\n normalizeValue(value: number): any {\r\n switch (this.getIdParts().Qualifier) {\r\n case 'D':\r\n return this.toBoolean(value);\r\n case 'A':\r\n if (this.Unit === 'kWh' || this instanceof HexAnalogState) {\r\n throw new AdapterError(\r\n 'Cannot normalize hex value based on a single value. Use this.normalizeHexValue(any, any) instead.',\r\n );\r\n }\r\n return Number(value) / 10;\r\n case 'I':\r\n if (this.Type === 'boolean') {\r\n return this.toBoolean(value);\r\n } else {\r\n return Number(value);\r\n }\r\n default:\r\n throw new AdapterError(`Type ${this.Type} not implemented`);\r\n }\r\n }\r\n\r\n private toBoolean(value: any): boolean {\r\n let numbericValue: number;\r\n if (typeof value === 'string') {\r\n numbericValue = Number(value);\r\n } else if (typeof value === 'number') {\r\n numbericValue = value;\r\n } else if (typeof value === 'boolean') {\r\n return value;\r\n } else {\r\n throw new AdapterError(`Received invalid value type '${value}' for id '${this.Id}'`);\r\n }\r\n\r\n if (numbericValue > 1) {\r\n throw new AdapterError(`Received invalid value '${value}' for id '${this.Id}'`);\r\n }\r\n\r\n return numbericValue === 1;\r\n }\r\n}\r\n\r\nexport class HexAnalogState extends CommonState {\r\n readonly type: string = 'HexAnalogState';\r\n constructor(\r\n path: string,\r\n public idPrimary: string,\r\n public idSecondary: string,\r\n text: ioBroker.StringOrTranslated,\r\n ) {\r\n super(path, idPrimary, text, 'kWh', true, [], 'number');\r\n\r\n if (!this.hasValidIds(idPrimary, idSecondary)) {\r\n throw new AdapterError(`Only analog values can be hex (${idPrimary}, ${idSecondary})`);\r\n }\r\n }\r\n\r\n private hasValidIds(primaryId: string, secondaryId: string): boolean {\r\n return this.doGetIdParts(primaryId).Qualifier === 'A' && this.doGetIdParts(secondaryId).Qualifier == 'A';\r\n }\r\n\r\n normalizeHexValue(firstValue: number, secondaryValue: number): any {\r\n if (!firstValue || !secondaryValue) {\r\n throw new AdapterError(\r\n `None or only one value was provided, but two are needed to normalize hex value (firstValue: ${firstValue}, secondaryValue: ${secondaryValue})`,\r\n );\r\n }\r\n\r\n const value = ((firstValue << 16) >>> 0) | ((secondaryValue >>> 0) & 65535);\r\n return Number(this.IEEE754_Hex32ToDez(value, 1));\r\n }\r\n\r\n private IEEE754_Hex32ToDez(param1: any, t: any): string {\r\n const a = param1.toString(16);\r\n let e, i, n, l, o, r, s, d, g;\r\n const x = '00000000';\r\n return (\r\n (i = x + parseInt(a.substr(0, 2), 16).toString(2)),\r\n (n = x + parseInt(a.substr(2, 2), 16).toString(2)),\r\n (l = x + parseInt(a.substr(4, 2), 16).toString(2)),\r\n (o = x + parseInt(a.substr(6, 2), 16).toString(2)),\r\n (i = i.substr(i.length - 8, 8)),\r\n (n = n.substr(n.length - 8, 8)),\r\n (l = l.substr(l.length - 8, 8)),\r\n (o = o.substr(o.length - 8, 8)),\r\n (r = i + n + l + o),\r\n (s = parseInt(r.charAt(0), 2)),\r\n (d = parseInt(r.substr(1, 8), 2)),\r\n (g = parseInt(r.substr(9, 23), 2)),\r\n (e = (1 - 2 * s) * Math.pow(2, d - 127) * (1 + g / Math.pow(2, 23))),\r\n e.toFixed(t)\r\n );\r\n }\r\n}\r\n\r\nexport class ReadOnlyState extends CommonState {\r\n readonly type: string = 'ReadOnlyState';\r\n constructor(\r\n path: string,\r\n id: string,\r\n text: ioBroker.StringOrTranslated,\r\n unit?: string,\r\n type: ioBroker.CommonType = 'number',\r\n ) {\r\n super(path, id, text, unit, true, [], type);\r\n }\r\n}\r\n\r\nexport class State extends CommonState {\r\n readonly type: string = 'State';\r\n constructor(\r\n path: string,\r\n id: string,\r\n text: ioBroker.StringOrTranslated,\r\n unit?: string,\r\n type: ioBroker.CommonType = 'number',\r\n ) {\r\n super(path, id, text, unit, false, [], type);\r\n }\r\n}\r\n\r\nexport class EnumState extends CommonState {\r\n readonly type: string = 'EnumState';\r\n constructor(\r\n path: string,\r\n id: string,\r\n text: ioBroker.StringOrTranslated,\r\n valueMap: Record,\r\n unit?: string,\r\n ) {\r\n super(path, id, text, unit, false, valueMap, 'number');\r\n }\r\n}\r\n\r\nexport class ReadOnlyEnumState extends CommonState {\r\n readonly type: string = 'ReadOnlyEnumState';\r\n constructor(\r\n path: string,\r\n id: string,\r\n text: ioBroker.StringOrTranslated,\r\n valueMap: Record,\r\n unit?: string,\r\n ) {\r\n super(path, id, text, unit, true, valueMap, 'number');\r\n }\r\n}\r\n\r\nexport class IndicatorState extends ReadOnlyState {\r\n readonly type: string = 'Indicator';\r\n constructor(path: string, id: string, text: ioBroker.StringOrTranslated) {\r\n super(path, id, text, undefined, 'boolean');\r\n }\r\n}\r\n\r\nexport type Login = {\r\n readonly token: string;\r\n};\r\n\r\nexport type TagResponseRecord = {\r\n readonly name: string;\r\n readonly status: string;\r\n readonly value: any;\r\n readonly unkown: string;\r\n};\r\n\r\nexport class TagResponse {\r\n static STATUS_OK = 'S_OK';\r\n constructor(\r\n public readonly response: TagResponseRecord,\r\n public readonly state: CommonState,\r\n ) {}\r\n}\r\n\r\nexport class UnknownTagResponse extends TagResponse {\r\n constructor(response: TagResponseRecord, state: CommonState) {\r\n super(response, state);\r\n }\r\n}\r\n\r\nexport interface ILogProvider {\r\n debug(message: string | unknown): void;\r\n warn(message: string | unknown): void;\r\n error(message: string | unknown): void;\r\n}\r\n\r\nexport class WaterkotteError extends Error {\r\n static TOO_MANY_USERS = -37;\r\n static USER_DOES_NOT_EXIST = -49;\r\n static PASS_DONT_MATCH = -45;\r\n static LOGIN_REQUIRED = -88;\r\n static NEED_LOGIN_MSG = '#E_NEED_LOGIN';\r\n static RELOGIN_ATTEMPT_MSG = '#E_RE-LOGIN_ATTEMPT';\r\n static ERROR_INDICATOR = '#E_';\r\n\r\n constructor(\r\n message: string,\r\n public code?: number,\r\n ) {\r\n super(message);\r\n\r\n if (code === undefined) {\r\n switch (message) {\r\n case WaterkotteError.NEED_LOGIN_MSG:\r\n this.code = WaterkotteError.LOGIN_REQUIRED;\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport class AdapterError extends Error {\r\n constructor(message: string) {\r\n super(message);\r\n }\r\n}\r\n\r\nexport class RethrowError extends AdapterError {\r\n constructor(\r\n public innerError: Error,\r\n message: string = innerError.message,\r\n ) {\r\n super(message);\r\n }\r\n}\r\n"], - "mappings": "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", + "mappings": "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", "names": ["PathFlavor"] } diff --git a/build/waterkottecgi.js b/build/waterkottecgi.js index 8c21d62..2a3f4fe 100644 --- a/build/waterkottecgi.js +++ b/build/waterkottecgi.js @@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => { return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); @@ -42,6 +46,7 @@ class WaterkotteCgi { baseUrl; cgiUrl; maximumTagsPerRequest = 75; + axiosTimeout = 3e4; async loginAsync(username = "waterkotte", password = "waterkotte") { const loginUrl = `${this.cgiUrl}login?username=${username}&password=${password}`; const cookie = await this.requestAsync(loginUrl, (response) => { @@ -138,7 +143,8 @@ class WaterkotteCgi { async requestAsync(url, processResponse, login) { try { const response = await import_axios.default.get(url, { - headers: { Cookie: login ? `${this.cookieName}=${login.token}` : "" } + headers: { Cookie: login ? `${this.cookieName}=${login.token}` : "" }, + timeout: this.axiosTimeout }); return processResponse(response); } catch (e) { @@ -153,6 +159,37 @@ class WaterkotteCgi { } } } + /* async writeTags(tags: CommonState[], login: Login): Promise { + if (tags.length > 75) { + throw new Error(`Maximum amount of tags per request exceeded (${tags.length}/75)`); + } + throw new Error(`Not implemented`); + const record = tags.reduce((acc, item) => ({ ...acc, [item['Id']]: item }), {} as Record); + var tagUrl = + baseUrl + + 'writeTags?returnValue=true&n=' + + tags.length + + tags.map((x, i) => '&t' + (i + 1) + '=' + x.Id).join(''); + const response = await axios.get(tagUrl, { + headers: { 'User-Agent': 'ioBroker', Cookie: 'IDALToken=' + login.token }, + }); + + if (response.status === 200) { + for (let match of String(response.data).matchAll(regex)) { + const parameter = match.groups; + console.log(`${parameter.name} ${record[parameter.name].Text} = ${parameter.value}`); + const state = record[parameter.name]; + setOrCreate( + '0_userdata.0.Waterkotte.' + state.Path + '.' + state.Id, + state.normalizeValue(parameter.value), + true, + state.getCommonObject(), + ); + } + } else { + log('Axios Status - Requesting locales: ' + response.state, 'warn'); + } + }*/ } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { diff --git a/build/waterkottecgi.js.map b/build/waterkottecgi.js.map index 6c51ec1..a5717af 100644 --- a/build/waterkottecgi.js.map +++ b/build/waterkottecgi.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../src/waterkottecgi.ts"], - "sourcesContent": ["import axios from 'axios';\r\nimport {\r\n AdapterError,\r\n CommonState,\r\n ILogProvider,\r\n Login,\r\n RethrowError,\r\n TagResponse,\r\n UnknownTagResponse,\r\n WaterkotteError,\r\n} from './types';\r\n\r\nexport class WaterkotteCgi {\r\n private static readonly TAG_RESPONSE_REG_EXP =\r\n /\\#(?[\\w\\d]+)\\s+(?.*)\\n(?:(?\\d+)\\s+(?.?\\d+))?/gm;\r\n private static readonly LOGIN_REQUEST_REG_EXP = /(?:(?\\-?\\d+)[\\n\\r]+)?(?\\#.*)/gm;\r\n private readonly cookieName = 'IDALToken';\r\n private baseUrl: string;\r\n private cgiUrl: string;\r\n private maximumTagsPerRequest = 75;\r\n\r\n constructor(\r\n private ipAddress: string,\r\n private log: ILogProvider,\r\n ) {\r\n this.baseUrl = `http://${this.ipAddress}/`;\r\n this.cgiUrl = `${this.baseUrl}cgi/`;\r\n }\r\n\r\n async loginAsync(username: string = 'waterkotte', password: string = 'waterkotte'): Promise {\r\n const loginUrl = `${this.cgiUrl}login?username=${username}&password=${password}`;\r\n const cookie = await this.requestAsync(loginUrl, (response) => {\r\n try {\r\n this.validateLogInOutResult(response.data);\r\n } catch (e: unknown) {\r\n if (!(e instanceof WaterkotteError && e.message === WaterkotteError.RELOGIN_ATTEMPT_MSG)) {\r\n throw e;\r\n }\r\n }\r\n const cookie = (response.headers['set-cookie'] as string[])\r\n ?.find((cookie) => cookie.includes(this.cookieName))\r\n ?.match(new RegExp(`^${this.cookieName}=(.+?);`))?.[1];\r\n\r\n if (!cookie) {\r\n throw new AdapterError(\r\n `Unable to login: Could not find login token '${this.cookieName}' - Response: '${response.data}'`,\r\n );\r\n }\r\n\r\n return cookie;\r\n });\r\n\r\n return { token: cookie };\r\n }\r\n\r\n async logoutAsync(): Promise {\r\n const logoutUrl = `${this.cgiUrl}logout`;\r\n await this.requestAsync(logoutUrl, (x) => this.validateLogInOutResult(x.data));\r\n }\r\n\r\n validateLogInOutResult(response: string): any {\r\n const extracted = this.extractWaterkotteInformation(response);\r\n if (extracted instanceof WaterkotteError) {\r\n throw extracted;\r\n } else if (extracted && extracted.code === 1) {\r\n return extracted;\r\n } else {\r\n throw new AdapterError(`Unhandled response from heat pump: ${response}`);\r\n }\r\n }\r\n\r\n extractWaterkotteInformation(response: string): { code: number; message: string } | undefined | WaterkotteError {\r\n const match = String(response).matchAll(WaterkotteCgi.LOGIN_REQUEST_REG_EXP).next()?.value?.groups;\r\n if (!match) {\r\n return undefined;\r\n }\r\n\r\n const code = match.status != undefined ? Number(match.status) : match.status;\r\n if (match.message?.startsWith(WaterkotteError.ERROR_INDICATOR)) {\r\n return new WaterkotteError(match.message, code);\r\n }\r\n\r\n return { code: code, message: match.message };\r\n }\r\n\r\n async getTagsAsync(tags: CommonState[], login: Login): Promise {\r\n const tagResponses: TagResponse[] = [];\r\n for (let i = 0; i < tags.length; i += this.maximumTagsPerRequest) {\r\n const chunk = tags.slice(i, i + this.maximumTagsPerRequest);\r\n const record = chunk.reduce(\r\n (acc, item) => ({ ...acc, [item['Id']]: item }),\r\n {} as Record,\r\n );\r\n\r\n const tagUrl = `${this.cgiUrl}readTags?n=${chunk.length + chunk.map((x, i) => `&t${i + 1}=${x.Id}`).join('')}`;\r\n const response = await this.requestAsync(\r\n tagUrl,\r\n (response) => {\r\n const waterkotteResponse = this.extractWaterkotteInformation(response.data);\r\n if (waterkotteResponse instanceof WaterkotteError) {\r\n throw waterkotteResponse;\r\n }\r\n\r\n return String(response.data).matchAll(WaterkotteCgi.TAG_RESPONSE_REG_EXP);\r\n },\r\n login,\r\n );\r\n\r\n for (const match of response) {\r\n const parameter = match.groups;\r\n if (!parameter) {\r\n continue;\r\n }\r\n\r\n const ctor = parameter.status != TagResponse.STATUS_OK ? UnknownTagResponse : TagResponse;\r\n\r\n const state = record[parameter.name];\r\n\r\n if (!state) {\r\n this.log.warn(`Could not match tag resonse for ${parameter.name} to any requested tag`);\r\n continue;\r\n }\r\n\r\n tagResponses.push(\r\n new ctor(\r\n {\r\n name: parameter.name,\r\n value: parameter.value,\r\n status: parameter.status,\r\n unkown: parameter.unknown,\r\n },\r\n state,\r\n ),\r\n );\r\n }\r\n }\r\n\r\n return tagResponses;\r\n }\r\n\r\n public async requestAsync(\r\n url: string,\r\n processResponse: (response: axios.AxiosResponse) => TResult,\r\n login?: Login,\r\n ): Promise {\r\n try {\r\n const response = await axios.get(url, {\r\n headers: { Cookie: login ? `${this.cookieName}=${login.token}` : '' },\r\n });\r\n\r\n return processResponse(response);\r\n } catch (e: unknown) {\r\n // rethrow own errors\r\n if (e instanceof WaterkotteError || e instanceof AdapterError) {\r\n throw e;\r\n }\r\n\r\n const baseMessage = `Request ${url.includes('password') ? '' : `to '${url}' `}failed: `;\r\n if (e instanceof Error) {\r\n throw new RethrowError(e, `${baseMessage}${e.message}`);\r\n } else {\r\n throw new AdapterError(`${baseMessage}${String(e)}`);\r\n }\r\n }\r\n }\r\n\r\n /* async writeTags(tags: CommonState[], login: Login): Promise {\r\n if (tags.length > 75) {\r\n throw new Error(`Maximum amount of tags per request exceeded (${tags.length}/75)`);\r\n }\r\n throw new Error(`Not implemented`);\r\n const record = tags.reduce((acc, item) => ({ ...acc, [item['Id']]: item }), {} as Record);\r\n var tagUrl =\r\n baseUrl +\r\n 'writeTags?returnValue=true&n=' +\r\n tags.length +\r\n tags.map((x, i) => '&t' + (i + 1) + '=' + x.Id).join('');\r\n const response = await axios.get(tagUrl, {\r\n headers: { 'User-Agent': 'ioBroker', Cookie: 'IDALToken=' + login.token },\r\n });\r\n\r\n if (response.status === 200) {\r\n for (let match of String(response.data).matchAll(regex)) {\r\n const parameter = match.groups;\r\n console.log(`${parameter.name} ${record[parameter.name].Text} = ${parameter.value}`);\r\n const state = record[parameter.name];\r\n setOrCreate(\r\n '0_userdata.0.Waterkotte.' + state.Path + '.' + state.Id,\r\n state.normalizeValue(parameter.value),\r\n true,\r\n state.getCommonObject(),\r\n );\r\n }\r\n } else {\r\n log('Axios Status - Requesting locales: ' + response.state, 'warn');\r\n }\r\n }*/\r\n}\r\n"], - "mappings": "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", + "sourcesContent": ["import axios from 'axios';\r\nimport {\r\n AdapterError,\r\n CommonState,\r\n ILogProvider,\r\n Login,\r\n RethrowError,\r\n TagResponse,\r\n UnknownTagResponse,\r\n WaterkotteError,\r\n} from './types';\r\n\r\nexport class WaterkotteCgi {\r\n private static readonly TAG_RESPONSE_REG_EXP =\r\n /\\#(?[\\w\\d]+)\\s+(?.*)\\n(?:(?\\d+)\\s+(?.?\\d+))?/gm;\r\n private static readonly LOGIN_REQUEST_REG_EXP = /(?:(?\\-?\\d+)[\\n\\r]+)?(?\\#.*)/gm;\r\n private readonly cookieName = 'IDALToken';\r\n private baseUrl: string;\r\n private cgiUrl: string;\r\n private maximumTagsPerRequest = 75;\r\n private axiosTimeout = 30000;\r\n\r\n constructor(\r\n private ipAddress: string,\r\n private log: ILogProvider,\r\n ) {\r\n this.baseUrl = `http://${this.ipAddress}/`;\r\n this.cgiUrl = `${this.baseUrl}cgi/`;\r\n }\r\n\r\n async loginAsync(username: string = 'waterkotte', password: string = 'waterkotte'): Promise {\r\n const loginUrl = `${this.cgiUrl}login?username=${username}&password=${password}`;\r\n const cookie = await this.requestAsync(loginUrl, (response) => {\r\n try {\r\n this.validateLogInOutResult(response.data);\r\n } catch (e: unknown) {\r\n if (!(e instanceof WaterkotteError && e.message === WaterkotteError.RELOGIN_ATTEMPT_MSG)) {\r\n throw e;\r\n }\r\n }\r\n const cookie = (response.headers['set-cookie'] as string[])\r\n ?.find((cookie) => cookie.includes(this.cookieName))\r\n ?.match(new RegExp(`^${this.cookieName}=(.+?);`))?.[1];\r\n\r\n if (!cookie) {\r\n throw new AdapterError(\r\n `Unable to login: Could not find login token '${this.cookieName}' - Response: '${response.data}'`,\r\n );\r\n }\r\n\r\n return cookie;\r\n });\r\n\r\n return { token: cookie };\r\n }\r\n\r\n async logoutAsync(): Promise {\r\n const logoutUrl = `${this.cgiUrl}logout`;\r\n await this.requestAsync(logoutUrl, (x) => this.validateLogInOutResult(x.data));\r\n }\r\n\r\n validateLogInOutResult(response: string): any {\r\n const extracted = this.extractWaterkotteInformation(response);\r\n if (extracted instanceof WaterkotteError) {\r\n throw extracted;\r\n } else if (extracted && extracted.code === 1) {\r\n return extracted;\r\n } else {\r\n throw new AdapterError(`Unhandled response from heat pump: ${response}`);\r\n }\r\n }\r\n\r\n extractWaterkotteInformation(response: string): { code: number; message: string } | undefined | WaterkotteError {\r\n const match = String(response).matchAll(WaterkotteCgi.LOGIN_REQUEST_REG_EXP).next()?.value?.groups;\r\n if (!match) {\r\n return undefined;\r\n }\r\n\r\n const code = match.status != undefined ? Number(match.status) : match.status;\r\n if (match.message?.startsWith(WaterkotteError.ERROR_INDICATOR)) {\r\n return new WaterkotteError(match.message, code);\r\n }\r\n\r\n return { code: code, message: match.message };\r\n }\r\n\r\n async getTagsAsync(tags: CommonState[], login: Login): Promise {\r\n const tagResponses: TagResponse[] = [];\r\n for (let i = 0; i < tags.length; i += this.maximumTagsPerRequest) {\r\n const chunk = tags.slice(i, i + this.maximumTagsPerRequest);\r\n const record = chunk.reduce(\r\n (acc, item) => ({ ...acc, [item['Id']]: item }),\r\n {} as Record,\r\n );\r\n\r\n const tagUrl = `${this.cgiUrl}readTags?n=${chunk.length + chunk.map((x, i) => `&t${i + 1}=${x.Id}`).join('')}`;\r\n const response = await this.requestAsync(\r\n tagUrl,\r\n (response) => {\r\n const waterkotteResponse = this.extractWaterkotteInformation(response.data);\r\n if (waterkotteResponse instanceof WaterkotteError) {\r\n throw waterkotteResponse;\r\n }\r\n\r\n return String(response.data).matchAll(WaterkotteCgi.TAG_RESPONSE_REG_EXP);\r\n },\r\n login,\r\n );\r\n\r\n for (const match of response) {\r\n const parameter = match.groups;\r\n if (!parameter) {\r\n continue;\r\n }\r\n\r\n const ctor = parameter.status != TagResponse.STATUS_OK ? UnknownTagResponse : TagResponse;\r\n\r\n const state = record[parameter.name];\r\n\r\n if (!state) {\r\n this.log.warn(`Could not match tag resonse for ${parameter.name} to any requested tag`);\r\n continue;\r\n }\r\n\r\n tagResponses.push(\r\n new ctor(\r\n {\r\n name: parameter.name,\r\n value: parameter.value,\r\n status: parameter.status,\r\n unkown: parameter.unknown,\r\n },\r\n state,\r\n ),\r\n );\r\n }\r\n }\r\n\r\n return tagResponses;\r\n }\r\n\r\n public async requestAsync(\r\n url: string,\r\n processResponse: (response: axios.AxiosResponse) => TResult,\r\n login?: Login,\r\n ): Promise {\r\n try {\r\n const response = await axios.get(url, {\r\n headers: { Cookie: login ? `${this.cookieName}=${login.token}` : '' },\r\n timeout: this.axiosTimeout,\r\n });\r\n\r\n return processResponse(response);\r\n } catch (e: unknown) {\r\n // rethrow own errors\r\n if (e instanceof WaterkotteError || e instanceof AdapterError) {\r\n throw e;\r\n }\r\n\r\n const baseMessage = `Request ${url.includes('password') ? '' : `to '${url}' `}failed: `;\r\n if (e instanceof Error) {\r\n throw new RethrowError(e, `${baseMessage}${e.message}`);\r\n } else {\r\n throw new AdapterError(`${baseMessage}${String(e)}`);\r\n }\r\n }\r\n }\r\n\r\n /* async writeTags(tags: CommonState[], login: Login): Promise {\r\n if (tags.length > 75) {\r\n throw new Error(`Maximum amount of tags per request exceeded (${tags.length}/75)`);\r\n }\r\n throw new Error(`Not implemented`);\r\n const record = tags.reduce((acc, item) => ({ ...acc, [item['Id']]: item }), {} as Record);\r\n var tagUrl =\r\n baseUrl +\r\n 'writeTags?returnValue=true&n=' +\r\n tags.length +\r\n tags.map((x, i) => '&t' + (i + 1) + '=' + x.Id).join('');\r\n const response = await axios.get(tagUrl, {\r\n headers: { 'User-Agent': 'ioBroker', Cookie: 'IDALToken=' + login.token },\r\n });\r\n\r\n if (response.status === 200) {\r\n for (let match of String(response.data).matchAll(regex)) {\r\n const parameter = match.groups;\r\n console.log(`${parameter.name} ${record[parameter.name].Text} = ${parameter.value}`);\r\n const state = record[parameter.name];\r\n setOrCreate(\r\n '0_userdata.0.Waterkotte.' + state.Path + '.' + state.Id,\r\n state.normalizeValue(parameter.value),\r\n true,\r\n state.getCommonObject(),\r\n );\r\n }\r\n } else {\r\n log('Axios Status - Requesting locales: ' + response.state, 'warn');\r\n }\r\n }*/\r\n}\r\n"], + "mappings": "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", "names": ["cookie", "i", "response", "axios"] } diff --git a/build/waterkotteheatpump.js.map b/build/waterkotteheatpump.js.map index 6d42969..329280b 100644 --- a/build/waterkotteheatpump.js.map +++ b/build/waterkotteheatpump.js.map @@ -2,6 +2,6 @@ "version": 3, "sources": ["../src/waterkotteheatpump.ts"], "sourcesContent": ["import { getServicesStates, getStates } from './states';\r\nimport { AdapterError, CommonState, ILogProvider, IndicatorState, Login, TagResponse, WaterkotteError } from './types';\r\nimport { WaterkotteCgi } from './waterkottecgi';\r\n\r\nexport class WaterkotteHeatPump {\r\n api: WaterkotteCgi;\r\n login?: Login;\r\n tags: CommonState[] = [];\r\n\r\n constructor(\r\n ipAddress: string,\r\n private username: string,\r\n private password: string,\r\n private log: ILogProvider,\r\n ) {\r\n this.api = new WaterkotteCgi(ipAddress, log);\r\n }\r\n\r\n async connectAsync(): Promise {\r\n try {\r\n this.login = await this.api.loginAsync(this.username, this.password);\r\n return true;\r\n } catch (e: unknown) {\r\n if (e instanceof Error) {\r\n return e;\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n async disconnectAsync(): Promise {\r\n try {\r\n await this.api.logoutAsync();\r\n return true;\r\n } catch (e: unknown) {\r\n if (e instanceof Error) {\r\n return e;\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n async requestTagsAsync(): Promise {\r\n try {\r\n if (!this.login) {\r\n const loginResult = await this.connectAsync();\r\n if (typeof loginResult == 'boolean') {\r\n if (loginResult) {\r\n this.log.debug('Successfully (re-)logged in');\r\n return await this.requestTagsAsync();\r\n } else {\r\n this.log.error('Unhandled result when logging in');\r\n return [];\r\n }\r\n } else {\r\n throw loginResult;\r\n }\r\n }\r\n\r\n if (this.tags.length == 0) {\r\n this.tags = await this.getTagsToRequest();\r\n }\r\n\r\n const tagResponses = await this.api.getTagsAsync(this.tags, this.login);\r\n return tagResponses;\r\n } catch (e: unknown) {\r\n if (e instanceof WaterkotteError) {\r\n switch (e.code) {\r\n case WaterkotteError.LOGIN_REQUIRED:\r\n this.login = undefined;\r\n return await this.requestTagsAsync();\r\n case WaterkotteError.TOO_MANY_USERS:\r\n this.login = undefined;\r\n this.log.warn(`Too many users, skip this request`);\r\n return [];\r\n }\r\n }\r\n\r\n throw e;\r\n }\r\n }\r\n\r\n private async getTagsToRequest(): Promise {\r\n if (!this.login) {\r\n throw new AdapterError('getTagsToRequest: Not logged in');\r\n }\r\n\r\n const response = await this.api.getTagsAsync(getServicesStates(), this.login);\r\n const activeServices = response\r\n .filter(\r\n (x) =>\r\n x instanceof TagResponse &&\r\n x.state instanceof IndicatorState &&\r\n x.state.normalizeValue(x.response.value) === true,\r\n )\r\n .map((x) => {\r\n this.log.debug(`Active service: ${JSON.stringify(x.state.Text)}`);\r\n return x.state.Id;\r\n });\r\n const states = getStates(activeServices);\r\n\r\n return states;\r\n }\r\n}\r\n"], - "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA6C;AAC7C,mBAA6G;AAC7G,2BAA8B;AAEvB,MAAM,mBAAmB;AAAA,EAK5B,YACI,WACQ,UACA,UACA,KACV;AAHU;AACA;AACA;AAER,SAAK,MAAM,IAAI,mCAAc,WAAW,GAAG;AAAA,EAC/C;AAAA,EAXA;AAAA,EACA;AAAA,EACA,OAAsB,CAAC;AAAA,EAWvB,MAAM,eAAyC;AAC3C,QAAI;AACA,WAAK,QAAQ,MAAM,KAAK,IAAI,WAAW,KAAK,UAAU,KAAK,QAAQ;AACnE,aAAO;AAAA,IACX,SAAS,GAAP;AACE,UAAI,aAAa,OAAO;AACpB,eAAO;AAAA,MACX;AACA,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,MAAM,kBAA4C;AAC9C,QAAI;AACA,YAAM,KAAK,IAAI,YAAY;AAC3B,aAAO;AAAA,IACX,SAAS,GAAP;AACE,UAAI,aAAa,OAAO;AACpB,eAAO;AAAA,MACX;AACA,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,MAAM,mBAA2C;AAC7C,QAAI;AACA,UAAI,CAAC,KAAK,OAAO;AACb,cAAM,cAAc,MAAM,KAAK,aAAa;AAC5C,YAAI,OAAO,eAAe,WAAW;AACjC,cAAI,aAAa;AACb,iBAAK,IAAI,MAAM,6BAA6B;AAC5C,mBAAO,MAAM,KAAK,iBAAiB;AAAA,UACvC,OAAO;AACH,iBAAK,IAAI,MAAM,kCAAkC;AACjD,mBAAO,CAAC;AAAA,UACZ;AAAA,QACJ,OAAO;AACH,gBAAM;AAAA,QACV;AAAA,MACJ;AAEA,UAAI,KAAK,KAAK,UAAU,GAAG;AACvB,aAAK,OAAO,MAAM,KAAK,iBAAiB;AAAA,MAC5C;AAEA,YAAM,eAAe,MAAM,KAAK,IAAI,aAAa,KAAK,MAAM,KAAK,KAAK;AACtE,aAAO;AAAA,IACX,SAAS,GAAP;AACE,UAAI,aAAa,8BAAiB;AAC9B,gBAAQ,EAAE,MAAM;AAAA,UACZ,KAAK,6BAAgB;AACjB,iBAAK,QAAQ;AACb,mBAAO,MAAM,KAAK,iBAAiB;AAAA,UACvC,KAAK,6BAAgB;AACjB,iBAAK,QAAQ;AACb,iBAAK,IAAI,KAAK,mCAAmC;AACjD,mBAAO,CAAC;AAAA,QAChB;AAAA,MACJ;AAEA,YAAM;AAAA,IACV;AAAA,EACJ;AAAA,EAEA,MAAc,mBAA2C;AACrD,QAAI,CAAC,KAAK,OAAO;AACb,YAAM,IAAI,0BAAa,iCAAiC;AAAA,IAC5D;AAEA,UAAM,WAAW,MAAM,KAAK,IAAI,iBAAa,iCAAkB,GAAG,KAAK,KAAK;AAC5E,UAAM,iBAAiB,SAClB;AAAA,MACG,CAAC,MACG,aAAa,4BACb,EAAE,iBAAiB,+BACnB,EAAE,MAAM,eAAe,EAAE,SAAS,KAAK,MAAM;AAAA,IACrD,EACC,IAAI,CAAC,MAAM;AACR,WAAK,IAAI,MAAM,mBAAmB,KAAK,UAAU,EAAE,MAAM,IAAI,GAAG;AAChE,aAAO,EAAE,MAAM;AAAA,IACnB,CAAC;AACL,UAAM,aAAS,yBAAU,cAAc;AAEvC,WAAO;AAAA,EACX;AACJ;", + "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA6C;AAC7C,mBAA6G;AAC7G,2BAA8B;AAEvB,MAAM,mBAAmB;AAAA,EAK5B,YACI,WACQ,UACA,UACA,KACV;AAHU;AACA;AACA;AAER,SAAK,MAAM,IAAI,mCAAc,WAAW,GAAG;AAAA,EAC/C;AAAA,EAXA;AAAA,EACA;AAAA,EACA,OAAsB,CAAC;AAAA,EAWvB,MAAM,eAAyC;AAC3C,QAAI;AACA,WAAK,QAAQ,MAAM,KAAK,IAAI,WAAW,KAAK,UAAU,KAAK,QAAQ;AACnE,aAAO;AAAA,IACX,SAAS,GAAY;AACjB,UAAI,aAAa,OAAO;AACpB,eAAO;AAAA,MACX;AACA,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,MAAM,kBAA4C;AAC9C,QAAI;AACA,YAAM,KAAK,IAAI,YAAY;AAC3B,aAAO;AAAA,IACX,SAAS,GAAY;AACjB,UAAI,aAAa,OAAO;AACpB,eAAO;AAAA,MACX;AACA,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,MAAM,mBAA2C;AAC7C,QAAI;AACA,UAAI,CAAC,KAAK,OAAO;AACb,cAAM,cAAc,MAAM,KAAK,aAAa;AAC5C,YAAI,OAAO,eAAe,WAAW;AACjC,cAAI,aAAa;AACb,iBAAK,IAAI,MAAM,6BAA6B;AAC5C,mBAAO,MAAM,KAAK,iBAAiB;AAAA,UACvC,OAAO;AACH,iBAAK,IAAI,MAAM,kCAAkC;AACjD,mBAAO,CAAC;AAAA,UACZ;AAAA,QACJ,OAAO;AACH,gBAAM;AAAA,QACV;AAAA,MACJ;AAEA,UAAI,KAAK,KAAK,UAAU,GAAG;AACvB,aAAK,OAAO,MAAM,KAAK,iBAAiB;AAAA,MAC5C;AAEA,YAAM,eAAe,MAAM,KAAK,IAAI,aAAa,KAAK,MAAM,KAAK,KAAK;AACtE,aAAO;AAAA,IACX,SAAS,GAAY;AACjB,UAAI,aAAa,8BAAiB;AAC9B,gBAAQ,EAAE,MAAM;AAAA,UACZ,KAAK,6BAAgB;AACjB,iBAAK,QAAQ;AACb,mBAAO,MAAM,KAAK,iBAAiB;AAAA,UACvC,KAAK,6BAAgB;AACjB,iBAAK,QAAQ;AACb,iBAAK,IAAI,KAAK,mCAAmC;AACjD,mBAAO,CAAC;AAAA,QAChB;AAAA,MACJ;AAEA,YAAM;AAAA,IACV;AAAA,EACJ;AAAA,EAEA,MAAc,mBAA2C;AACrD,QAAI,CAAC,KAAK,OAAO;AACb,YAAM,IAAI,0BAAa,iCAAiC;AAAA,IAC5D;AAEA,UAAM,WAAW,MAAM,KAAK,IAAI,iBAAa,iCAAkB,GAAG,KAAK,KAAK;AAC5E,UAAM,iBAAiB,SAClB;AAAA,MACG,CAAC,MACG,aAAa,4BACb,EAAE,iBAAiB,+BACnB,EAAE,MAAM,eAAe,EAAE,SAAS,KAAK,MAAM;AAAA,IACrD,EACC,IAAI,CAAC,MAAM;AACR,WAAK,IAAI,MAAM,mBAAmB,KAAK,UAAU,EAAE,MAAM,IAAI,CAAC,EAAE;AAChE,aAAO,EAAE,MAAM;AAAA,IACnB,CAAC;AACL,UAAM,aAAS,yBAAU,cAAc;AAEvC,WAAO;AAAA,EACX;AACJ;", "names": [] } diff --git a/io-package.json b/io-package.json index e3d3e5d..1e67479 100644 --- a/io-package.json +++ b/io-package.json @@ -56,8 +56,15 @@ "uk": "Читання та запис параметрів теплових насосів Waterkotte EasyCon via CGI", "zh-cn": "读取和写入 Waterkotte EasyCon 热泵参数" }, - "authors": ["theknut "], - "keywords": ["waterkotte", "cgi", "heat pump", "wärmepumpe"], + "authors": [ + "theknut " + ], + "keywords": [ + "waterkotte", + "cgi", + "heat pump", + "wärmepumpe" + ], "licenseInformation": { "type": "free", "license": "MIT" @@ -93,12 +100,17 @@ "username": "", "password": "", "ipAddress": "", - "pollingInterval": 300000, + "pollingInterval": 300, "pathFlavor": 1, "removeWhitespace": true }, - "protectedNative": ["username", "password"], - "encryptedNative": ["password"], + "protectedNative": [ + "username", + "password" + ], + "encryptedNative": [ + "password" + ], "objects": [], "instanceObjects": [ { diff --git a/src/lib/adapter-config.d.ts b/src/lib/adapter-config.d.ts index 29476a2..5786e79 100644 --- a/src/lib/adapter-config.d.ts +++ b/src/lib/adapter-config.d.ts @@ -9,7 +9,7 @@ declare global { ipAddress: string; username: string; password: string; - pollingInterval: number; + updateInterval: number; pathFlavor: PathFlavor; removeWhitespace: true; } diff --git a/src/main.ts b/src/main.ts index b6108f9..4fa18d2 100644 --- a/src/main.ts +++ b/src/main.ts @@ -55,14 +55,21 @@ class WaterkotteEasycon extends utils.Adapter { await this.setStateAsync('info.connection', true, true); await this.setMessageStateAsync(''); + const limitedUpdateInterval = Math.min(86400, Math.max(20, this.config.updateInterval)); const interval = this.setInterval( async () => await this.updateParametersAsync(), - this.config.pollingInterval, + limitedUpdateInterval * 1000, ); if (interval) { this.updateParametersInterval = interval; } + + if (this.config.updateInterval != limitedUpdateInterval) { + this.log.warn(`Limited update interval to ${limitedUpdateInterval} seconds`); + } else { + this.log.info('Interval ' + limitedUpdateInterval); + } } catch (e: unknown) { this.log.error(`Unhandled error on adapter startup: ${e}`); if (e instanceof Error) { @@ -270,19 +277,6 @@ class WaterkotteEasycon extends utils.Adapter { callback(); } } - - /** - * Is called if a subscribed state changes - */ - private onStateChange(id: string, state: ioBroker.State | null | undefined): void { - if (state) { - // The state was changed - this.log.info(`state ${id} changed: ${state.val} (ack = ${state.ack})`); - } else { - // The state was deleted - this.log.info(`state ${id} deleted`); - } - } } if (require.main !== module) { diff --git a/src/waterkottecgi.ts b/src/waterkottecgi.ts index 9bd9913..f2b463e 100644 --- a/src/waterkottecgi.ts +++ b/src/waterkottecgi.ts @@ -18,6 +18,7 @@ export class WaterkotteCgi { private baseUrl: string; private cgiUrl: string; private maximumTagsPerRequest = 75; + private axiosTimeout = 30000; constructor( private ipAddress: string, @@ -146,6 +147,7 @@ export class WaterkotteCgi { try { const response = await axios.get(url, { headers: { Cookie: login ? `${this.cookieName}=${login.token}` : '' }, + timeout: this.axiosTimeout, }); return processResponse(response);