From c759fbe32b0512fe64811e084a1d9cf79d8bf2b3 Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Sun, 22 Oct 2023 15:41:51 +0200 Subject: [PATCH 01/27] Update hassfest.yaml --- .github/workflows/hassfest.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/hassfest.yaml b/.github/workflows/hassfest.yaml index d203eda..5e536be 100644 --- a/.github/workflows/hassfest.yaml +++ b/.github/workflows/hassfest.yaml @@ -3,8 +3,7 @@ name: Validate with hassfest on: push: pull_request: - schedule: - - cron: '0 0 * * *' + workflow_dispatch: jobs: validate: From 62430286becb3054bdde14d7d798f88c3739c0d7 Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Sun, 22 Oct 2023 15:42:07 +0200 Subject: [PATCH 02/27] Update validate-hacs.yaml --- .github/workflows/validate-hacs.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/validate-hacs.yaml b/.github/workflows/validate-hacs.yaml index 9ab6117..c45d768 100644 --- a/.github/workflows/validate-hacs.yaml +++ b/.github/workflows/validate-hacs.yaml @@ -3,8 +3,6 @@ name: HACS Action on: push: pull_request: - schedule: - - cron: "0 0 * * *" workflow_dispatch: jobs: From 1182a2b47632f35b3ceb8eebc99c8df66ac6fbf6 Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Sun, 22 Oct 2023 23:39:33 +0200 Subject: [PATCH 03/27] Attempt to fix translations issues --- custom_components/luxtronik/sensor_entities_predefined.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/custom_components/luxtronik/sensor_entities_predefined.py b/custom_components/luxtronik/sensor_entities_predefined.py index 3f3f798..691335c 100644 --- a/custom_components/luxtronik/sensor_entities_predefined.py +++ b/custom_components/luxtronik/sensor_entities_predefined.py @@ -90,7 +90,7 @@ entity_registry_visible_default=False, device_class=SensorDeviceClass.ENUM, options=[e.value for e in LuxStatus1Option] - # translation_key="status1", + translation_key="status_line_1", ), descr( key=SensorKey.STATUS_LINE_2, @@ -100,7 +100,7 @@ entity_registry_visible_default=False, device_class=SensorDeviceClass.ENUM, options=["since", "in"], - # translation_key="status2", + translation_key="status_line_2", ), descr( key=SensorKey.STATUS_LINE_3, @@ -110,7 +110,7 @@ entity_registry_visible_default=False, device_class=SensorDeviceClass.ENUM, options=[e.value for e in LuxStatus3Option], - # translation_key="status3", + translation_key="status_line_3", ), descr( key=SensorKey.HEAT_SOURCE_INPUT_TEMPERATURE, From a109bbb233d7e4c83be1fd4174e2ed0c3d4c9499 Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Sun, 22 Oct 2023 23:43:24 +0200 Subject: [PATCH 04/27] More fixes translation issues --- custom_components/luxtronik/sensor_entities_predefined.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/custom_components/luxtronik/sensor_entities_predefined.py b/custom_components/luxtronik/sensor_entities_predefined.py index 691335c..c0c1a18 100644 --- a/custom_components/luxtronik/sensor_entities_predefined.py +++ b/custom_components/luxtronik/sensor_entities_predefined.py @@ -52,6 +52,7 @@ ], options=[e.value for e in LuxOperationMode], update_interval=UPDATE_INTERVAL_NORMAL, + translation_key="status", ), ] @@ -89,7 +90,7 @@ icon="mdi:numeric-1-circle", entity_registry_visible_default=False, device_class=SensorDeviceClass.ENUM, - options=[e.value for e in LuxStatus1Option] + options=[e.value for e in LuxStatus1Option], translation_key="status_line_1", ), descr( From d6e7f36f61de4a72eb4a2aa22562bd1ab94bc94d Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Mon, 23 Oct 2023 01:03:18 +0200 Subject: [PATCH 05/27] Update en.json --- .../luxtronik/translations/en.json | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/custom_components/luxtronik/translations/en.json b/custom_components/luxtronik/translations/en.json index be37057..304bed8 100644 --- a/custom_components/luxtronik/translations/en.json +++ b/custom_components/luxtronik/translations/en.json @@ -207,13 +207,13 @@ "name": "Status", "state": { "heating": "Heating", - "hot water": "Domestic water", - "swimming pool/solar": "Pool / Solar", + "hot_water": "Domestic water", + "swimming_pool/solar": "Pool / Solar", "evu": "Grid lock - no power", "defrost": "Defrost", "heating external source": "Heating external source", "cooling": "Cooling", - "no request": "Idle (no request)" + "no_request": "Idle (no request)" }, "state_attributes": { "evu_text": { @@ -329,16 +329,16 @@ "status_line_1": { "name": "Status 1", "state": { - "heatpump running": "The heatpump runs", - "heatpump idle": "The heatpump is idle", - "heatpump coming": "The heatpump is coming", - "heatpump shutdown": "The heatpump is shuting down", - "errorcode slot": "Heatpump error code in slot 0", - "pump forerun": "Pump forerun", + "heatpump_running": "The heatpump runs", + "heatpump_idle": "The heatpump is idle", + "heatpump_coming": "The heatpump is coming", + "heatpump_shutdown": "The heatpump is shuting down", + "errorcode_slot": "Heatpump error code in slot 0", + "pump_forerun": "Pump forerun", "defrost": "Defrost", - "writing on LIN connection": "Writing on LIN connection", - "compressor heating up": "The Compressor is heating up", - "compressor heater": "Compressor heater" + "writing_on_LIN_connection": "Writing on LIN connection", + "compressor_heating_up": "The Compressor is heating up", + "compressor_heater": "Compressor heater" } }, "status_line_2": { @@ -355,19 +355,19 @@ "heating": "heating", "defrost": "defrost", "cooling": "cooling", - "pump forerun": "pump forerun", - "thermal desinfection": "thermal desinfection", - "swimming pool/solar": "swimming pool/solar", - "no request": "no request", - "cycle lock": "cycle lock", - "lock time": "lock time", - "domestic water": "domestic water", - "flow monitoring": "flow monitoring", - "grid switch on delay": "grid switch on delay", - "info bake out program": "info bake out program", - "heating external engery source": "heating external engery source", - "domestic water external energy source": "Domestic water external energy source", - "second heat generator 1 active": "second heat generator 1 active" + "pump_forerun": "pump forerun", + "thermal_desinfection": "thermal desinfection", + "swimming_pool/solar": "swimming pool/solar", + "no_request": "no request", + "cycle_lock": "cycle lock", + "lock_time": "lock time", + "domestic_water": "domestic water", + "flow_monitoring": "flow monitoring", + "grid_switch_on_delay": "grid switch on delay", + "info_bake_out_program": "info bake out program", + "heating_external_engery_source": "heating external engery source", + "domestic_water_external_energy_source": "Domestic water external energy source", + "second_heat_generator_1_active": "second heat generator 1 active" } }, "heat_source_output": { From b3137ba3c80aaedea68790bedd27e3f508b11678 Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Mon, 23 Oct 2023 02:26:55 +0200 Subject: [PATCH 06/27] Update en.json --- .../luxtronik/translations/en.json | 39 ++++++++++++++----- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/custom_components/luxtronik/translations/en.json b/custom_components/luxtronik/translations/en.json index 304bed8..2b236d7 100644 --- a/custom_components/luxtronik/translations/en.json +++ b/custom_components/luxtronik/translations/en.json @@ -208,7 +208,7 @@ "state": { "heating": "Heating", "hot_water": "Domestic water", - "swimming_pool/solar": "Pool / Solar", + "swimming_pool_solar": "Pool / Solar", "evu": "Grid lock - no power", "defrost": "Defrost", "heating external source": "Heating external source", @@ -273,9 +273,9 @@ "759": "TDI message", "760": "Defrosting fault", "761": "LIN timeout/LIN-connection lost", - "762": "sensor (evaporator intake)", - "763": "sensor (compressor intake)", - "764": "Sensor Compressor heater", + "762": "sensor (compressor intake)", + "763": "sensor (evaporator intake)", + "764": "sensor (compressor heater)", "765": "Overheating", "766": "compressor's functional range", "767": "STB E-Rod", @@ -299,8 +299,29 @@ "790": "Major VSS fault", "791": "Lost ModBus communication", "792": "LIN-connection lost", - "793": "Major VSS fault", - "-1": "Unknown error" + "793": "Inverter Temperature", + "794": "Overvoltage", + "795": "Undervoltage", + "796": "Safety switch off", + "797": "MLRH is not supported", + "798": "ModBus connection lost Fan", + "799": "ModBus connection lost ASB", + "800": "Desuperheater-error", + "801": "Heatpump no internet connection", + "802": "Temperature electrical switch box", + "803": "Temperature electrical switch box BLOCK", + "804": "Sensor temperature electrical switch box", + "805": "Sensor desuperheater", + "806": "ModBus connection lost SEC", + "807": "Lost ModBus communication", + "808": "Hardware not supported, update Firmware", + "809": "Overheating hot gas (DSH)", + "810": "Firmware versions parallel mode do not match", + "811": "Check condensate pan. Call installer.", + "812": "Maximum flow rate exceeded", + "813": "Inverter not compatible. Call installer.", + "814": "Defrosting sensor defect", + "99999": "Unknown error" }, "cause": { "name": "Cause" @@ -323,7 +344,7 @@ "8": "Lower limitation of use", "9": "no request", "11": "flow rate", - "-1": "Unknown switchoff" + "99999": "Unknown switchoff" } }, "status_line_1": { @@ -336,7 +357,7 @@ "errorcode_slot": "Heatpump error code in slot 0", "pump_forerun": "Pump forerun", "defrost": "Defrost", - "writing_on_LIN_connection": "Writing on LIN connection", + "writing_on_lin_connection": "Writing on LIN connection", "compressor_heating_up": "The Compressor is heating up", "compressor_heater": "Compressor heater" } @@ -357,7 +378,7 @@ "cooling": "cooling", "pump_forerun": "pump forerun", "thermal_desinfection": "thermal desinfection", - "swimming_pool/solar": "swimming pool/solar", + "swimming_pool_solar": "swimming pool/solar", "no_request": "no request", "cycle_lock": "cycle lock", "lock_time": "lock time", From 55ad84a501bac5245f6dc19af232a8b82e17300b Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Mon, 23 Oct 2023 02:29:35 +0200 Subject: [PATCH 07/27] Update common.py to get valid 'states' to translate states charcaters must be [a-z0-9_-]. so e.g. no spaces and / and -1 allowed... --- custom_components/luxtronik/common.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/custom_components/luxtronik/common.py b/custom_components/luxtronik/common.py index 2e23aa1..c850958 100644 --- a/custom_components/luxtronik/common.py +++ b/custom_components/luxtronik/common.py @@ -68,6 +68,23 @@ def correct_key_value( sensor_id: str | LP | LC | LV, ) -> Any: """Handle special value corrections.""" + if ( + sensor_id in [ + LC.C0080_STATUS, + LC.C0117_STATUS_LINE_1, + LC.C0119_STATUS_LINE_3, + ] + ): + value = value.replace(' ','_').replace('/','_').lower() + if ( + sensor_id in [ + LC.C0100_ERROR_REASON, + LC.C0106_SWITCHOFF_REASON, + ] + and value == -1 + ): + value = 99999 + if ( sensor_id == LC.C0080_STATUS and value == LuxOperationMode.heating From 8b5d94898535845aa07f6d84717f7c58dc593693 Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Mon, 23 Oct 2023 02:34:30 +0200 Subject: [PATCH 08/27] Update en.json --- custom_components/luxtronik/translations/en.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/custom_components/luxtronik/translations/en.json b/custom_components/luxtronik/translations/en.json index 2b236d7..ec6d108 100644 --- a/custom_components/luxtronik/translations/en.json +++ b/custom_components/luxtronik/translations/en.json @@ -211,7 +211,7 @@ "swimming_pool_solar": "Pool / Solar", "evu": "Grid lock - no power", "defrost": "Defrost", - "heating external source": "Heating external source", + "heating_external_source": "Heating external source", "cooling": "Cooling", "no_request": "Idle (no request)" }, @@ -314,8 +314,8 @@ "805": "Sensor desuperheater", "806": "ModBus connection lost SEC", "807": "Lost ModBus communication", - "808": "Hardware not supported, update Firmware", - "809": "Overheating hot gas (DSH)", + "808": "Hardware not supported, update Firmware", + "809": "Overheating hot gas (DSH)", "810": "Firmware versions parallel mode do not match", "811": "Check condensate pan. Call installer.", "812": "Maximum flow rate exceeded", From 0facafb049680f1455d4d06ccf4f3450f321745e Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Mon, 23 Oct 2023 02:43:30 +0200 Subject: [PATCH 09/27] Changes realted to changed state-values for translation_keys --- custom_components/luxtronik/const.py | 52 ++++++++++++++-------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/custom_components/luxtronik/const.py b/custom_components/luxtronik/const.py index b5bf1a2..e1ca278 100644 --- a/custom_components/luxtronik/const.py +++ b/custom_components/luxtronik/const.py @@ -103,12 +103,12 @@ class LuxOperationMode(StrEnum): """Lux Operation modes heating, hot water etc.""" heating: Final = "heating" # 0 - domestic_water: Final = "hot water" # 1 - swimming_pool_solar: Final = "swimming pool/solar" # 2 + domestic_water: Final = "hot_water" # 1 + swimming_pool_solar: Final = "swimming_pool_solar" # 2 evu: Final = "evu" # 3 defrost: Final = "defrost" # 4 - no_request: Final = "no request" # 5 - heating_external_source: Final = "heating external source" # 6 + no_request: Final = "no_request" # 5 + heating_external_source: Final = "heating_external_source" # 6 cooling: Final = "cooling" # 7 @@ -125,16 +125,16 @@ class LuxMode(StrEnum): class LuxStatus1Option(StrEnum): """LuxStatus1 option defrost etc.""" - heatpump_running: Final = "heatpump running" - heatpump_idle: Final = "heatpump idle" - heatpump_coming: Final = "heatpump coming" - heatpump_shutdown: Final = "heatpump shutdown" - errorcode_slot_zero: Final = "errorcode slot 0" + heatpump_running: Final = "heatpump_running" + heatpump_idle: Final = "heatpump_idle" + heatpump_coming: Final = "heatpump_coming" + heatpump_shutdown: Final = "heatpump_shutdown" + errorcode_slot_zero: Final = "errorcode_slot_0" defrost: Final = "defrost" - witing_on_LIN_connection: Final = "witing on LIN connection" - compressor_heating_up: Final = "compressor heating up" - pump_forerun: Final = "pump forerun" - compressor_heater: Final = "compressor heater" + writing_on_lin_connection: Final = "writing_on_lin_connection" + compressor_heating_up: Final = "compressor_heating_up" + pump_forerun: Final = "pump_forerun" + compressor_heater: Final = "compressor_heater" class LuxStatus3Option(StrEnum): @@ -143,23 +143,23 @@ class LuxStatus3Option(StrEnum): unknown: Final = ("unknown",) none: Final = ("none",) heating: Final = ("heating",) - no_request: Final = ("no request",) - grid_switch_on_delay: Final = ("grid switch on delay",) - cycle_lock: Final = ("cycle lock",) - lock_time: Final = ("lock time",) - domestic_water: Final = ("domestic water",) - info_bake_out_program: Final = ("info bake out program",) + no_request: Final = ("no_request",) + grid_switch_on_delay: Final = ("grid_switch_on_delay",) + cycle_lock: Final = ("cycle_lock",) + lock_time: Final = ("lock_time",) + domestic_water: Final = ("domestic_water",) + info_bake_out_program: Final = ("info_bake_out_program",) defrost: Final = ("defrost",) - pump_forerun: Final = ("pump forerun",) - thermal_desinfection: Final = ("thermal desinfection",) + pump_forerun: Final = ("pump_forerun",) + thermal_desinfection: Final = ("thermal_desinfection",) cooling: Final = ("cooling",) - swimming_pool_solar: Final = ("swimming pool/solar",) - heating_external_energy_source: Final = ("heating external energy source",) + swimming_pool_solar: Final = ("swimming_pool_solar",) + heating_external_energy_source: Final = ("heating_external_energy_source",) domestic_water_external_energy_source: Final = ( - "domestic water external energy source", + "domestic_water_external_energy_source", ) - flow_monitoring: Final = ("flow monitoring",) - second_heat_generator_1_active: Final = ("second heat generator 1 active",) + flow_monitoring: Final = ("flow_monitoring",) + second_heat_generator_1_active: Final = ("second_heat_generator_1_active",) class LuxMkTypes(Enum): From caebeb126f7879be301b96687e3e53c821ea97b9 Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Mon, 23 Oct 2023 02:46:58 +0200 Subject: [PATCH 10/27] Prepare addition of Switchoff reason sensor --- custom_components/luxtronik/const.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/custom_components/luxtronik/const.py b/custom_components/luxtronik/const.py index e1ca278..374f4b2 100644 --- a/custom_components/luxtronik/const.py +++ b/custom_components/luxtronik/const.py @@ -413,6 +413,8 @@ class LuxCalculation(StrEnum): C0100_ERROR_REASON: Final = "calculations.ID_WEB_ERROR_Nr0" # TODO: ! # C0105_ERROR_COUNTER: Final = "calculations.ID_WEB_AnzahlFehlerInSpeicher" + C0106_SWITCHOFF_REASON: Final = "calculations.ID_WEB_Switchoff_file_Nr0" + C0111_SWITCHOFF_TIME: Final = "calculations.ID_WEB_Switchoff_file_Time0" C0117_STATUS_LINE_1: Final = "calculations.ID_WEB_HauptMenuStatus_Zeile1" C0118_STATUS_LINE_2: Final = "calculations.ID_WEB_HauptMenuStatus_Zeile2" C0119_STATUS_LINE_3: Final = "calculations.ID_WEB_HauptMenuStatus_Zeile3" @@ -560,6 +562,7 @@ class SensorKey(StrEnum): CIRCULATION_PUMP_DELTA = "circulation_pump_delta" HEAT_SOURCE_OUTPUT_TEMPERATURE = "heat_source_output_temperature" ERROR_REASON = "error_reason" + SWITCHOFF_REASON = "switchoff_reason" FLOW_IN_TEMPERATURE = "flow_in_temperature" FLOW_OUT_TEMPERATURE = "flow_out_temperature" FLOW_OUT_TEMPERATURE_TARGET = "flow_out_temperature_target" From 449b3632c1c9df71b5f9f4a5194b406c8d1a1990 Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Wed, 25 Oct 2023 21:48:38 +0200 Subject: [PATCH 11/27] Update en.json Fix extra keys not allowed @ data['entity']['sensor']['error_reason']['cause']. Got {'name': 'Cause'} --- custom_components/luxtronik/translations/en.json | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/custom_components/luxtronik/translations/en.json b/custom_components/luxtronik/translations/en.json index ec6d108..b4ceae8 100644 --- a/custom_components/luxtronik/translations/en.json +++ b/custom_components/luxtronik/translations/en.json @@ -323,12 +323,14 @@ "814": "Defrosting sensor defect", "99999": "Unknown error" }, - "cause": { - "name": "Cause" - }, - "remedy": { - "name": "Remedy" - } + "state_attributes": { + "cause": { + "name": "Cause" + }, + "remedy": { + "name": "Remedy" + } + } }, "switchoff_reason": { "name": "Switchoff reason", From c4ab4d289e93289092db17727aaf8ad508717171 Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Wed, 25 Oct 2023 22:06:26 +0200 Subject: [PATCH 12/27] Update de.json to get translation keys without spaces --- .../luxtronik/translations/de.json | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/custom_components/luxtronik/translations/de.json b/custom_components/luxtronik/translations/de.json index f6fb295..b14e768 100644 --- a/custom_components/luxtronik/translations/de.json +++ b/custom_components/luxtronik/translations/de.json @@ -207,13 +207,13 @@ "name": "Status", "state": { "heating": "Heizt", - "hot water": "Brauchwasser", - "swimming pool/solar": "Pool / Solar", + "hot_water": "Brauchwasser", + "swimming_pool_solar": "Pool / Solar", "evu": "Netzsperre", "defrost": "Abtauen", - "heating external source": "Heizt aus externer Quelle", + "heating_external_source": "Heizt aus externer Quelle", "cooling": "K\u00fchlen", - "no request": "Leerlauf (keine Anforderung)" + "no_request": "Leerlauf (keine Anforderung)" }, "state_attributes": { "evu_text": { @@ -300,7 +300,7 @@ "791": "ModBus Verbindung verloren", "792": "LIN-Verbindung unterbrochen", "793": "Schwerw. Inverter Fehler", - "-1": "Unbekannter Fehler" + "99999": "Unbekannter Fehler" }, "state_attributes": { "timestamp": { @@ -382,7 +382,7 @@ "791": "SEC-Board seit einiger Zeit nicht mehr erreichbar. 791 wird ausgel\u00f6st, wenn zwar eine HZIO-Platine gefunden worden ist \u0028ohne separate Kodierung\u0029, allerdings kein SEC-Board daran erkannt werden kann.", "792": "Es konnte keine Grundplatine und auch sonst keine Konfiguration gefunden werden.", "793": "Temperaturfehler im Inverter", - "-1": "Unbekannter Fehler" + "99999": "Unbekannter Fehler" } }, "remedy": { @@ -479,22 +479,22 @@ "8": "Untere Einsatzgrenze", "9": "Keine Anforderung", "11": "Durchfluss-W\u00e4rmequelle", - "-1": "Unbekannte Abschaltung" + "99999": "Unbekannte Abschaltung" } }, "status_line_1": { "name": "Status 1", "state": { - "heatpump running": "Die W\u00e4rmepumpe l\u00e4uft", - "heatpump idle": "Die W\u00e4rmepumpe ist im Leerlauf", - "heatpump coming": "Die W\u00e4rmepumpe startet", - "heatpump shutdown": "Die W\u00e4rmepumpe schaltet ab", - "errorcode slot": "W\u00e4rmepumpe Fehlercode in Schacht 0", - "pump forerun": "Pumpenvorlauf", + "heatpump_running": "Die W\u00e4rmepumpe l\u00e4uft", + "heatpump_idle": "Die W\u00e4rmepumpe ist im Leerlauf", + "heatpump_coming": "Die W\u00e4rmepumpe startet", + "heatpump_shutdown": "Die W\u00e4rmepumpe schaltet ab", + "errorcode_slot": "W\u00e4rmepumpe Fehlercode in Schacht 0", + "pump_forerun": "Pumpenvorlauf", "defrost": "Taut ab", - "witing on LIN connection": "Schreibt auf LIN Verbindung", - "compressor heating up": "Der Verdichter heizt auf", - "compressor heater": "Verdichter-Heizung" + "writing_on_lin_connection": "Schreibt auf LIN Verbindung", + "compressor_heating_up": "Der Verdichter heizt auf", + "compressor_heater": "Verdichter-Heizung" } }, "status_line_2": { @@ -511,19 +511,19 @@ "heating": "heizt", "defrost": "abtauen", "cooling": "k\u00fchlen", - "pump forerun": "Pumpenvorlauf", - "thermal desinfection": "thermische Desinfektion", - "swimming pool/solar": "Pool / Solar", - "no request": "keine Anforderung", - "cycle lock": "Einschaltsperre", - "lock time": "Sperrzeit", - "domestic water": "Brauchwasser", - "flow monitoring": "Durchfluss\u00fcberwachung", - "grid switch on delay": "Verz\u00f6gerung beim Einschalten des Netzes", - "info bake out program": "Information aus Aufheizprogramm", - "heating external engery source": "heizen aus externer Energiequelle", - "domestic water external energy source": "Brauchwasser aus externer Energiequelle", - "second heat generator 1 active": "zweiter W\u00e4rmeerzeuger 1 aktiv" + "pump_forerun": "Pumpenvorlauf", + "thermal_desinfection": "thermische Desinfektion", + "swimming_pool_solar": "Pool / Solar", + "no_request": "keine Anforderung", + "cycle_lock": "Einschaltsperre", + "lock_time": "Sperrzeit", + "domestic_water": "Brauchwasser", + "flow_monitoring": "Durchfluss\u00fcberwachung", + "grid_switch_on_delay": "Verz\u00f6gerung beim Einschalten des Netzes", + "info_bake_out_program": "Information aus Aufheizprogramm", + "heating_external_energy_source": "heizen aus externer Energiequelle", + "domestic_water_external_energy_source": "Brauchwasser aus externer Energiequelle", + "second_heat_generator_1_active": "zweiter W\u00e4rmeerzeuger 1 aktiv" } }, "heat_source_output": { From 3460141bdd8e1242426411958abc0fb71da60cc8 Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Wed, 25 Oct 2023 22:07:32 +0200 Subject: [PATCH 13/27] Update en.json --- .../luxtronik/translations/en.json | 110 +++++++++++++++++- 1 file changed, 105 insertions(+), 5 deletions(-) diff --git a/custom_components/luxtronik/translations/en.json b/custom_components/luxtronik/translations/en.json index b4ceae8..3150fb4 100644 --- a/custom_components/luxtronik/translations/en.json +++ b/custom_components/luxtronik/translations/en.json @@ -324,14 +324,114 @@ "99999": "Unknown error" }, "state_attributes": { - "cause": { - "name": "Cause" + "timestamp": { + "name": "Timestamp" + }, + "cause": { + "name": "Cause", + "state": { + "701": "Error low pressure.", + "702": "Low pressure stop\nRESET autom.", + "703": "Antifreeze\nPlease call fitter", + "704": "Error hot gas\nReset in hh:mm", + "705": "Motor protection VEN\nPlease call fitter", + "706": "Motor protection BCP\nPlease call fitter", + "707": "Coding of HP\nPlease call fitter", + "708": "Return sensor\nPlease call fitter", + "709": "Flow sensor\nPlease call fitter", + "710": "Hot gas sensor\nPlease call fitter", + "711": "External temp. sensor\nPlease call fitter", + "712": "Domestic hot water sensor.\nPlease call fitter", + "713": "HS-on sensor\nPlease call fitter", + "714": "Hot gas SW\nReset in hh:mm", + "715": "High-pressure switch-off\nRESET autom.", + "716": "High-pressure fault\nPlease call fitter", + "717": "Flow rate HS\nPlease call fitter", + "718": "Max. outside temp.\nRESET autom. in hh:mm", + "719": "Min. outside temp.\nRESET autom. in hh:mm", + "720": "HS temperature\nRESET autom. in hh:mm", + "721": "Low-pressure switch-off\nRESET autom.", + "722": "Tempdiff HW\nPlease call fitter", + "723": "Tempdiff SW\nPlease call fitter", + "724": "Tempdiff defrosting\nPlease call fitter", + "725": "System error SW\nPlease call fitter", + "726": "Sensor mixing circ 1\nPlease call fitter", + "727": "Brine pressure\nPlease call fitter", + "728": "Sensor HS Off\nPlease call fitter", + "729": "Rotating field error\nPlease call fitter", + "732": "Cooling fault\nPlease call fitter", + "733": "Anode fault\nPlease call fitter", + "734": "Anode fault\nPlease call fitter", + "735": "Error Ext. En\nPlease call fitter", + "736": "Error solar collector\nPlease call fitter", + "737": "Error solar tank\nPlease call fitter", + "738": "Error mixing circle 2\nPlease call fitter", + "750": "Return sensor external\nPlease call fitter", + "751": "Phase monitoring fault", + "752": "Flow error", + "755": "Lost connection to slave\nPlease call fitter", + "756": "Lost connection to master\nPlease call fitter", + "757": "Low-pressure fault in SW-appliance", + "758": "Defrosting malfunction", + "759": "TDI message", + "760": "Defrosting fault", + "761": "LIN timeout/LIN-connection lost", + "762": "sensor (compressor intake)", + "763": "sensor (evaporator intake)", + "764": "sensor (compressor heater)", + "765": "Overheating", + "766": "compressor's functional range", + "767": "STB E-Rod", + "768": "Flow monitoring", + "769": "Pump control", + "770": "Low superheat", + "771": "High superheat", + "776": "limit of application-CP", + "777": "Expansion valve", + "778": "Low pressure sensor", + "779": "High pressure sensor", + "780": "EVI sensor", + "781": "Liquid temp. sensor before EXV", + "782": "Suction gas EVI temp. sensor", + "783": "Communication SEC - Inverter", + "784": "VSS lockdown", + "785": "SEC-Board defective", + "787": "VD alert", + "788": "Major VSS fault", + "789": "LIN/Encoding not found", + "790": "Major VSS fault", + "791": "Lost ModBus communication", + "792": "LIN-connection lost", + "793": "Inverter Temperature", + "794": "Overvoltage", + "795": "Undervoltage", + "796": "Safety switch off", + "797": "MLRH is not supported", + "798": "ModBus connection lost Fan", + "799": "ModBus connection lost ASB", + "800": "Desuperheater-error", + "801": "Heatpump no internet connection", + "802": "Temperature electrical switch box", + "803": "Temperature electrical switch box BLOCK", + "804": "Sensor temperature electrical switch box", + "805": "Sensor desuperheater", + "806": "ModBus connection lost SEC", + "807": "Lost ModBus communication", + "808": "Hardware not supported, update Firmware", + "809": "Overheating hot gas (DSH)", + "810": "Firmware versions parallel mode do not match", + "811": "Check condensate pan. Call installer.", + "812": "Maximum flow rate exceeded", + "813": "Inverter not compatible. Call installer.", + "814": "Defrosting sensor defect", + "99999": "Unknown error" + } }, "remedy": { "name": "Remedy" } - } - }, + } + }, "switchoff_reason": { "name": "Switchoff reason", "state": { @@ -388,7 +488,7 @@ "flow_monitoring": "flow monitoring", "grid_switch_on_delay": "grid switch on delay", "info_bake_out_program": "info bake out program", - "heating_external_engery_source": "heating external engery source", + "heating_external_energy_source": "heating external engery source", "domestic_water_external_energy_source": "Domestic water external energy source", "second_heat_generator_1_active": "second heat generator 1 active" } From b033cdf480ba86fba427ac7471583f16322ee13c Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Wed, 25 Oct 2023 22:15:47 +0200 Subject: [PATCH 14/27] Update pl.json to get translation keys without spaces --- .../luxtronik/translations/pl.json | 145 ++++++++++++++---- 1 file changed, 116 insertions(+), 29 deletions(-) diff --git a/custom_components/luxtronik/translations/pl.json b/custom_components/luxtronik/translations/pl.json index 774d212..296ec15 100644 --- a/custom_components/luxtronik/translations/pl.json +++ b/custom_components/luxtronik/translations/pl.json @@ -162,13 +162,13 @@ "name": "Pompa ciep\u0142a", "state": { "heating": "Ogrzewanie", - "hot water": "Woda bie\u017C\u0105ca", - "swimming pool/solar": "Basen / Solar", + "hot_water": "Woda bie\u017C\u0105ca", + "swimming_pool_solar": "Basen / Solar", "evu": "Blokada sieci - brak zasilania", "defrost": "Rozmra\u017Canie", - "heating external source": "Zewn\u0119trzne \u017Ar\u00F3d\u0142o ogrzewania", + "heating_external_source": "Zewn\u0119trzne \u017Ar\u00F3d\u0142o ogrzewania", "cooling": "Ch\u0142odzenie", - "no request": "Bezczynny (brak \u017C\u0105dania)" + "no_request": "Bezczynny (brak \u017C\u0105dania)" }, "state_attributes": { "evu_text": { @@ -255,8 +255,95 @@ "791": "Utracono komunikacj\u0119 ModBus", "792": "Utracono po\u0142\u0105czenie LIN", "793": "Powa\u017Cna usterka VSS", - "-1": "Nieznany b\u0142\u0105d" - } + "99999": "Nieznany b\u0142\u0105d" + }, + "state_attributes": { + "timestamp": { + "name": "Timestamp" + }, + "cause": { + "name": "Cause", + "state": { + "701": "B\u0142\u0105d niskiego ci\u015Bnienia.", + "702": "Zatrzymanie przy niskim ci\u015Bnieniu\nRESETUJ automat.", + "703": "\u015Brodek przeciw zamarzaniu\nProsz\u0119 wezwa\u0107 montera", + "704": "B\u0142\u0105d gor\u0105cego gazu\nZresetuj w gg:mm", + "705": "Zabezpieczenie silnika VEN\nProsz\u0119 wezwa\u0107 instalatora", + "706": "Zabezpieczenie silnika BCP\nProsz\u0119 wezwa\u0107 instalatora", + "707": "Kodowanie HP\nProsz\u0119 wezwa\u0107 instalatora", + "708": "Czujnik powrotu\nProsz\u0119 wezwa\u0107 instalatora", + "709": "Czujnik przep\u0142ywu\nProsz\u0119 wezwa\u0107 instalatora", + "710": "Czujnik gor\u0105cego gazu\nProsz\u0119 wezwa\u0107 instalatora", + "711": "Temperatura zewn\u0119trzna czujnik\nProsz\u0119 wezwa\u0107 instalatora", + "712": "Czujnik ciep\u0142ej wody u\u017Cytkowej.\nProsz\u0119 wezwa\u0107 instalatora", + "713": "Czujnik HS-on\nProsz\u0119 wezwa\u0107 instalatora", + "714": "Gor\u0105cy gaz SW\nResetuj w gg:mm", + "715": "Wy\u0142\u0105czenie wysokiego ci\u015Bnienia\nRESET auto.", + "716": "Usterka wysokiego ci\u015Bnienia\nProsz\u0119 wezwa\u0107 instalatora", + "717": "Przep\u0142yw HS\nProsz\u0119 wezwa\u0107 instalatora", + "718": "Maks. temp. zew.\nRESET auto. w gg:mm", + "719": "Min. temp. zew.\nRESET auto. w gg:mm", + "720": "Temperatura HS\nRESET AUTO. w gg:mm", + "721": "Wy\u0142\u0105czenie przy niskim ci\u015Bnieniu\nRESET auto.", + "722": "Tempdiff HW\nProsz\u0119 wezwa\u0107 instalatora", + "723": "Tempdiff SW\nProsz\u0119 wezwa\u0107 instalatora", + "724": "Rozmra\u017Canie Tempdiff\nProsz\u0119 wezwa\u0107 instalatora", + "725": "B\u0142\u0105d systemowy SW\nProsz\u0119 wezwa\u0107 instalatora", + "726": "Czujnik obiegu mieszania 1\nProsz\u0119 wezwa\u0107 instalatora", + "727": "Ci\u015Bnienie solanki\nProsz\u0119 wezwa\u0107 instalatora", + "728": "Czujnik HS wy\u0142\u0105czony\nProsz\u0119 wezwa\u0107 instalatora", + "729": "B\u0142\u0105d pola wiruj\u0105cego\nProsz\u0119 wezwa\u0107 instalatora", + "732": "Usterka ch\u0142odzenia\nProsz\u0119 wezwa\u0107 instalatora", + "733": "Usterka anody\nProsz\u0119 wezwa\u0107 instalatora", + "734": "Usterka anody\nProsz\u0119 wezwa\u0107 instalatora", + "735": "B\u0142\u0105d zew. Pl\nProsz\u0119 zadzwoni\u0107 do montera", + "736": "B\u0142\u0105d kolektora s\u0142onecznego\nProsz\u0119 wezwa\u0107 instalatora", + "737": "B\u0142\u0105d zasobnika solarnego\nProsz\u0119 wezwa\u0107 instalatora", + "738": "B\u0142\u0105d mieszania ko\u0142a 2\nProsz\u0119 wezwa\u0107 instalatora", + "750": "Czujnik powrotu zewn\u0119trzny\nProsz\u0119 wezwa\u0107 instalatora", + "751": "B\u0142\u0105d monitorowania fazy", + "752": "B\u0142\u0105d przep\u0142ywu", + "755": "Utracono po\u0142\u0105czenie z modu\u0142em slave\nZadzwo\u0144 do instalatora", + "756": "Utracono po\u0142\u0105czenie z masterem\nZadzwo\u0144 do instalatora", + "757": "Usterka niskiego ci\u015Bnienia w urz\u0105dzeniu SW", + "758": "Usterka rozmra\u017Cania", + "759": "Komunikat TDI", + "760": "B\u0142\u0105d rozmra\u017Cania", + "761": "Przekroczenie limitu czasu LIN/utracono po\u0142\u0105czenie LIN", + "762": "czujnik (wlot parownika)", + "763": "czujnik (wlot spr\u0119\u017Carki)", + "764": "Czujnik Grza\u0142ka spr\u0119\u017Carki", + "765": "Przegrzanie", + "766": "zakres funkcjonalny spr\u0119\u017Carki", + "767": "STB E-Rod", + "768": "Monitorowanie przep\u0142ywu", + "769": "Sterowanie pomp\u0105", + "770": "Niskie przegrzanie", + "771": "Wysokie przegrzanie", + "776": "granica zastosowania-CP", + "777": "Zaw\u00F3r rozpr\u0119\u017Cny", + "778": "Czujnik niskiego ci\u015Bnienia", + "779": "Czujnik wysokiego ci\u015Bnienia", + "780": "Czujnik EVI", + "781": "Temperatura cieczy czujnik przed EXV", + "782": "Temp. gazu zasysanego EVI czujnik", + "783": "Komunikacja SEC – Falownik", + "784": "Blokada VSS", + "785": "Uszkodzona p\u0142yta SEC", + "787": "Alarm VD", + "788": "Powa\u017Cna usterka VSS", + "789": "Nie znaleziono LIN/kodowania", + "790": "Powa\u017Cna usterka VSS", + "791": "Utracono komunikacj\u0119 ModBus", + "792": "Utracono po\u0142\u0105czenie LIN", + "793": "Powa\u017Cna usterka VSS", + "99999": "Nieznany b\u0142\u0105d" + } + }, + "remedy": { + "name": "Remedy" + } + } }, "switchoff_reason": { "name": "Pow\u00F3d wy\u0142\u0105czenia", @@ -272,22 +359,22 @@ "8": "Ni\u017Csze ograniczenie u\u017Cytkowania", "9": "nieaktywny", "11": "Przep\u0142yw", - "-1": "Nieznane wy\u0142\u0105czenie" + "99999": "Nieznane wy\u0142\u0105czenie" } }, "status_line_1": { "name": "Stan 1", "state": { - "heatpump running": "Pompa ciep\u0142a dzia\u0142a", - "heatpump idle": "Pompa ciep\u0142a jest nieaktywna", - "heatpump coming": "Pompa ciep\u0142a jest uruchamiana", - "heatpump shutdown": "Pompa ciep\u0142a wy\u0142\u0105cza si\u0119", - "errorcode slot": "Kod b\u0142\u0119du pompy ciep\u0142a w gnie\u017Adzie 0", - "pump forerun": "Rozbieg pompy", + "heatpump_running": "Pompa ciep\u0142a dzia\u0142a", + "heatpump_idle": "Pompa ciep\u0142a jest nieaktywna", + "heatpump_coming": "Pompa ciep\u0142a jest uruchamiana", + "heatpump_shutdown": "Pompa ciep\u0142a wy\u0142\u0105cza si\u0119", + "errorcode_slot": "Kod b\u0142\u0119du pompy ciep\u0142a w gnie\u017Adzie 0", + "pump_forerun": "Rozbieg pompy", "defrost": "Rozmra\u017Canie", - "writing on LIN connection": "Zapis na po\u0142\u0105czeniu LIN", - "compressor heating up": "Spr\u0119\u017Carka nagrzewa si\u0119", - "compressor heater": "Grza\u0142ka spr\u0119\u017Carki" + "writing_on_lin_connection": "Zapis na po\u0142\u0105czeniu LIN", + "compressor_heating_up": "Spr\u0119\u017Carka nagrzewa si\u0119", + "compressor_heater": "Grza\u0142ka spr\u0119\u017Carki" } }, "status_line_2": { @@ -304,19 +391,19 @@ "heating": "ogrzewanie", "defrost": "rozmra\u017Canie", "cooling": "ch\u0142odzenie", - "pump forerun": "rozbieg pompy", - "thermal desinfection": "dezynfekcja termiczna", - "swimming pool/solar": "basen/solar", - "no request": "brak zapotrzebowania", - "cycle lock": "blokada cyklu", - "lock time": "czas blokady", - "domestic water": "woda bie\u017C\u0105ca", - "flow monitoring": "monitorowanie przep\u0142ywu", - "grid switch on delay": "op\u00F3\u017Anienie w\u0142\u0105czenia sieci", - "info bake out program": "Informacje o programie pieczenia", - "heating external engery source": "ogrzewanie z zewn\u0119trznego \u017Ar\u00F3d\u0142a energii", - "domestic water external energy source": "Zewn\u0119trzne \u017Ar\u00F3d\u0142o energii wody u\u017Cytkowej", - "second heat generator 1 active": "drugi generator ciep\u0142a 1 aktywny" + "pump_forerun": "rozbieg pompy", + "thermal_desinfection": "dezynfekcja termiczna", + "swimming_pool_solar": "basen/solar", + "no_request": "brak zapotrzebowania", + "cycle_lock": "blokada cyklu", + "lock_time": "czas blokady", + "domestic_water": "woda bie\u017C\u0105ca", + "flow_monitoring": "monitorowanie przep\u0142ywu", + "grid_switch_on_delay": "op\u00F3\u017Anienie w\u0142\u0105czenia sieci", + "info_bake_out_program": "Informacje o programie pieczenia", + "heating_external_energy_source": "ogrzewanie z zewn\u0119trznego \u017Ar\u00F3d\u0142a energii", + "domestic_water_external_energy_source": "Zewn\u0119trzne \u017Ar\u00F3d\u0142o energii wody u\u017Cytkowej", + "second_heat_generator_1_active": "drugi generator ciep\u0142a 1 aktywny" } }, "heat_source_output": { From 6c029f4d0d9c5b5944ba1731a601c04b9a3df8ee Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Wed, 25 Oct 2023 22:25:49 +0200 Subject: [PATCH 15/27] Update pl.json --- .../luxtronik/translations/pl.json | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/custom_components/luxtronik/translations/pl.json b/custom_components/luxtronik/translations/pl.json index 296ec15..4271219 100644 --- a/custom_components/luxtronik/translations/pl.json +++ b/custom_components/luxtronik/translations/pl.json @@ -29,13 +29,13 @@ "name": "Dodatkowa pompa obiegowa" }, "dhw_recirculation_pump": { - "name": "Pompa obiegowa ciep\u0142ej wody u\u017Cytkowej" + "name": "Pompa obiegowa ciep\u0142ej wody" }, "dhw_circulation_pump": { - "name": "Pompa obiegowa ciep\u0142ej wody u\u017Cytkowej" + "name": "Pompa obiegowa ciep\u0142ej wody" }, "dhw_charging_pump": { - "name": "Pompa \u0142aduj\u0105ca ciep\u0142\u0105 wod\u0119 u\u017Cytkow\u0105" + "name": "Pompa \u0142aduj\u0105ca ciep\u0142\u0105 wod\u0119" }, "solar_pump": { "name": "Pompa solarna" @@ -84,7 +84,7 @@ "name": "Pr\u00F3g ogrzewania" }, "domestic_water": { - "name": "Automat do wody u\u017Cytkowej" + "name": "Tryb AUTO ciep\u0142ej wody" }, "cooling": { "name": "Ch\u0142odzenie" @@ -121,10 +121,10 @@ "name": "Krzywa grzewcza noc" }, "dhw_target_temperature": { - "name": "Docelowa temperatura ciep\u0142ej wody u\u017Cytkowej" + "name": "Temperatura docelowa ciep\u0142ej wody" }, "dhw_thermal_desinfection_target": { - "name": "Docelowa temperatura dezynfekcji termicznej" + "name": "Temperatura docelowa dezynfekcji termicznej" }, "solar_pump_max_temperature_collector": { "name": "Maks. temperatura kolektora s\u0142onecznego" @@ -139,7 +139,7 @@ "name": "R\u00F3\u017Cnica w\u0142\u0105czania kolektora/kot\u0142a (pompa solarna)" }, "dhw_hysteresis": { - "name": "Histereza ciep\u0142ej wody u\u017Cytkowej" + "name": "Histereza ciep\u0142ej wody" }, "heating_room_temperature_impact_factor": { "name": "Wsp\u00F3\u0142czynnik wp\u0142ywu temperatury pokojowej" @@ -154,7 +154,7 @@ "name": "Ogrzewanie histerezy" }, "heating_night_lowering_to_temperature": { - "name": "Ogrzewanie nocne obni\u017Caj\u0105ce temp" + "name": "Obni\u017Cenie temperatury ogrzewania w nocy" } }, "sensor": { @@ -162,13 +162,13 @@ "name": "Pompa ciep\u0142a", "state": { "heating": "Ogrzewanie", - "hot_water": "Woda bie\u017C\u0105ca", + "hot_water": "Ciep\u0142a woda", "swimming_pool_solar": "Basen / Solar", "evu": "Blokada sieci - brak zasilania", "defrost": "Rozmra\u017Canie", "heating_external_source": "Zewn\u0119trzne \u017Ar\u00F3d\u0142o ogrzewania", "cooling": "Ch\u0142odzenie", - "no_request": "Bezczynny (brak \u017C\u0105dania)" + "no_request": "Brak zapotrzebowania" }, "state_attributes": { "evu_text": { @@ -365,7 +365,7 @@ "status_line_1": { "name": "Stan 1", "state": { - "heatpump_running": "Pompa ciep\u0142a dzia\u0142a", + "heatpump_running": "Pompa ciep\u0142a jest aktywna", "heatpump_idle": "Pompa ciep\u0142a jest nieaktywna", "heatpump_coming": "Pompa ciep\u0142a jest uruchamiana", "heatpump_shutdown": "Pompa ciep\u0142a wy\u0142\u0105cza si\u0119", @@ -397,12 +397,12 @@ "no_request": "brak zapotrzebowania", "cycle_lock": "blokada cyklu", "lock_time": "czas blokady", - "domestic_water": "woda bie\u017C\u0105ca", + "domestic_water": "ciep\u0142a woda", "flow_monitoring": "monitorowanie przep\u0142ywu", "grid_switch_on_delay": "op\u00F3\u017Anienie w\u0142\u0105czenia sieci", "info_bake_out_program": "Informacje o programie pieczenia", "heating_external_energy_source": "ogrzewanie z zewn\u0119trznego \u017Ar\u00F3d\u0142a energii", - "domestic_water_external_energy_source": "Zewn\u0119trzne \u017Ar\u00F3d\u0142o energii wody u\u017Cytkowej", + "domestic_water_external_energy_source": "Zewn\u0119trzne \u017Ar\u00F3d\u0142o energii ciep\u0142ej wody", "second_heat_generator_1_active": "drugi generator ciep\u0142a 1 aktywny" } }, @@ -419,7 +419,7 @@ "name": "Czas stanu" }, "outdoor_temperature_average": { - "name": "\u015Br. temperatura zewn\u0119trzna" + "name": "\u015Arednia temperatura zewn\u0119trzna" }, "compressor1_impulses": { "name": "Impulsy spr\u0119\u017Carki 1" @@ -464,7 +464,7 @@ "name": "Niskie ci\u015Bnienie" }, "additional_heat_generator_operation_hours": { - "name": "Dodatkowe godziny pracy kot\u0142a" + "name": "Dodatkowe godziny pracy \u017Ar\u00F3d\u0142a ciep\u0142a" }, "analog_out1": { "name": "Wyj\u015Bcie analogowe 1" @@ -485,19 +485,19 @@ "name": "Cz\u0119stotliwo\u015B\u0107 pompy" }, "domestic_water": { - "name": "Ciep\u0142a woda u\u017Cytkowa" + "name": "Ciep\u0142a woda" }, "dhw_temperature": { - "name": "Temperatura ciep\u0142ej wody u\u017Cytkowej" + "name": "Temperatura ciep\u0142ej wody" }, "dhw_operation_hours": { - "name": "Godziny pracy ciep\u0142ej wody u\u017Cytkowej" + "name": "Godziny pracy ciep\u0142ej wody" }, "dhw_heat_amount": { - "name": "Ilo\u015B\u0107 ciep\u0142a ciep\u0142ej wody u\u017Cytkowej" + "name": "Ilo\u015B\u0107 ciep\u0142a ciep\u0142ej wody" }, "dhw_energy_input": { - "name": "Pob\u00F3r energii ciep\u0142ej wody u\u017Cytkowej" + "name": "Pob\u00F3r energii ciep\u0142ej wody" }, "flow_in_temperature": { "name": "Temperatura na wej\u015Bciu" From 6d0c270a039d6cd4bfd3a673a01df813527dba06 Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Wed, 25 Oct 2023 22:30:48 +0200 Subject: [PATCH 16/27] Update pl.json --- .../luxtronik/translations/pl.json | 165 +++++------------- 1 file changed, 39 insertions(+), 126 deletions(-) diff --git a/custom_components/luxtronik/translations/pl.json b/custom_components/luxtronik/translations/pl.json index 4271219..5ff8f77 100644 --- a/custom_components/luxtronik/translations/pl.json +++ b/custom_components/luxtronik/translations/pl.json @@ -162,13 +162,13 @@ "name": "Pompa ciep\u0142a", "state": { "heating": "Ogrzewanie", - "hot_water": "Ciep\u0142a woda", - "swimming_pool_solar": "Basen / Solar", + "hot water": "Ciep\u0142a woda", + "swimming pool/solar": "Basen / Solar", "evu": "Blokada sieci - brak zasilania", "defrost": "Rozmra\u017Canie", - "heating_external_source": "Zewn\u0119trzne \u017Ar\u00F3d\u0142o ogrzewania", + "heating external source": "Zewn\u0119trzne \u017Ar\u00F3d\u0142o ogrzewania", "cooling": "Ch\u0142odzenie", - "no_request": "Brak zapotrzebowania" + "no request": "Brak zapotrzebowania" }, "state_attributes": { "evu_text": { @@ -255,95 +255,8 @@ "791": "Utracono komunikacj\u0119 ModBus", "792": "Utracono po\u0142\u0105czenie LIN", "793": "Powa\u017Cna usterka VSS", - "99999": "Nieznany b\u0142\u0105d" - }, - "state_attributes": { - "timestamp": { - "name": "Timestamp" - }, - "cause": { - "name": "Cause", - "state": { - "701": "B\u0142\u0105d niskiego ci\u015Bnienia.", - "702": "Zatrzymanie przy niskim ci\u015Bnieniu\nRESETUJ automat.", - "703": "\u015Brodek przeciw zamarzaniu\nProsz\u0119 wezwa\u0107 montera", - "704": "B\u0142\u0105d gor\u0105cego gazu\nZresetuj w gg:mm", - "705": "Zabezpieczenie silnika VEN\nProsz\u0119 wezwa\u0107 instalatora", - "706": "Zabezpieczenie silnika BCP\nProsz\u0119 wezwa\u0107 instalatora", - "707": "Kodowanie HP\nProsz\u0119 wezwa\u0107 instalatora", - "708": "Czujnik powrotu\nProsz\u0119 wezwa\u0107 instalatora", - "709": "Czujnik przep\u0142ywu\nProsz\u0119 wezwa\u0107 instalatora", - "710": "Czujnik gor\u0105cego gazu\nProsz\u0119 wezwa\u0107 instalatora", - "711": "Temperatura zewn\u0119trzna czujnik\nProsz\u0119 wezwa\u0107 instalatora", - "712": "Czujnik ciep\u0142ej wody u\u017Cytkowej.\nProsz\u0119 wezwa\u0107 instalatora", - "713": "Czujnik HS-on\nProsz\u0119 wezwa\u0107 instalatora", - "714": "Gor\u0105cy gaz SW\nResetuj w gg:mm", - "715": "Wy\u0142\u0105czenie wysokiego ci\u015Bnienia\nRESET auto.", - "716": "Usterka wysokiego ci\u015Bnienia\nProsz\u0119 wezwa\u0107 instalatora", - "717": "Przep\u0142yw HS\nProsz\u0119 wezwa\u0107 instalatora", - "718": "Maks. temp. zew.\nRESET auto. w gg:mm", - "719": "Min. temp. zew.\nRESET auto. w gg:mm", - "720": "Temperatura HS\nRESET AUTO. w gg:mm", - "721": "Wy\u0142\u0105czenie przy niskim ci\u015Bnieniu\nRESET auto.", - "722": "Tempdiff HW\nProsz\u0119 wezwa\u0107 instalatora", - "723": "Tempdiff SW\nProsz\u0119 wezwa\u0107 instalatora", - "724": "Rozmra\u017Canie Tempdiff\nProsz\u0119 wezwa\u0107 instalatora", - "725": "B\u0142\u0105d systemowy SW\nProsz\u0119 wezwa\u0107 instalatora", - "726": "Czujnik obiegu mieszania 1\nProsz\u0119 wezwa\u0107 instalatora", - "727": "Ci\u015Bnienie solanki\nProsz\u0119 wezwa\u0107 instalatora", - "728": "Czujnik HS wy\u0142\u0105czony\nProsz\u0119 wezwa\u0107 instalatora", - "729": "B\u0142\u0105d pola wiruj\u0105cego\nProsz\u0119 wezwa\u0107 instalatora", - "732": "Usterka ch\u0142odzenia\nProsz\u0119 wezwa\u0107 instalatora", - "733": "Usterka anody\nProsz\u0119 wezwa\u0107 instalatora", - "734": "Usterka anody\nProsz\u0119 wezwa\u0107 instalatora", - "735": "B\u0142\u0105d zew. Pl\nProsz\u0119 zadzwoni\u0107 do montera", - "736": "B\u0142\u0105d kolektora s\u0142onecznego\nProsz\u0119 wezwa\u0107 instalatora", - "737": "B\u0142\u0105d zasobnika solarnego\nProsz\u0119 wezwa\u0107 instalatora", - "738": "B\u0142\u0105d mieszania ko\u0142a 2\nProsz\u0119 wezwa\u0107 instalatora", - "750": "Czujnik powrotu zewn\u0119trzny\nProsz\u0119 wezwa\u0107 instalatora", - "751": "B\u0142\u0105d monitorowania fazy", - "752": "B\u0142\u0105d przep\u0142ywu", - "755": "Utracono po\u0142\u0105czenie z modu\u0142em slave\nZadzwo\u0144 do instalatora", - "756": "Utracono po\u0142\u0105czenie z masterem\nZadzwo\u0144 do instalatora", - "757": "Usterka niskiego ci\u015Bnienia w urz\u0105dzeniu SW", - "758": "Usterka rozmra\u017Cania", - "759": "Komunikat TDI", - "760": "B\u0142\u0105d rozmra\u017Cania", - "761": "Przekroczenie limitu czasu LIN/utracono po\u0142\u0105czenie LIN", - "762": "czujnik (wlot parownika)", - "763": "czujnik (wlot spr\u0119\u017Carki)", - "764": "Czujnik Grza\u0142ka spr\u0119\u017Carki", - "765": "Przegrzanie", - "766": "zakres funkcjonalny spr\u0119\u017Carki", - "767": "STB E-Rod", - "768": "Monitorowanie przep\u0142ywu", - "769": "Sterowanie pomp\u0105", - "770": "Niskie przegrzanie", - "771": "Wysokie przegrzanie", - "776": "granica zastosowania-CP", - "777": "Zaw\u00F3r rozpr\u0119\u017Cny", - "778": "Czujnik niskiego ci\u015Bnienia", - "779": "Czujnik wysokiego ci\u015Bnienia", - "780": "Czujnik EVI", - "781": "Temperatura cieczy czujnik przed EXV", - "782": "Temp. gazu zasysanego EVI czujnik", - "783": "Komunikacja SEC – Falownik", - "784": "Blokada VSS", - "785": "Uszkodzona p\u0142yta SEC", - "787": "Alarm VD", - "788": "Powa\u017Cna usterka VSS", - "789": "Nie znaleziono LIN/kodowania", - "790": "Powa\u017Cna usterka VSS", - "791": "Utracono komunikacj\u0119 ModBus", - "792": "Utracono po\u0142\u0105czenie LIN", - "793": "Powa\u017Cna usterka VSS", - "99999": "Nieznany b\u0142\u0105d" - } - }, - "remedy": { - "name": "Remedy" - } - } + "-1": "Nieznany b\u0142\u0105d" + } }, "switchoff_reason": { "name": "Pow\u00F3d wy\u0142\u0105czenia", @@ -359,22 +272,22 @@ "8": "Ni\u017Csze ograniczenie u\u017Cytkowania", "9": "nieaktywny", "11": "Przep\u0142yw", - "99999": "Nieznane wy\u0142\u0105czenie" + "-1": "Nieznane wy\u0142\u0105czenie" } }, "status_line_1": { "name": "Stan 1", "state": { - "heatpump_running": "Pompa ciep\u0142a jest aktywna", - "heatpump_idle": "Pompa ciep\u0142a jest nieaktywna", - "heatpump_coming": "Pompa ciep\u0142a jest uruchamiana", - "heatpump_shutdown": "Pompa ciep\u0142a wy\u0142\u0105cza si\u0119", - "errorcode_slot": "Kod b\u0142\u0119du pompy ciep\u0142a w gnie\u017Adzie 0", - "pump_forerun": "Rozbieg pompy", + "heatpump running": "Pompa ciep\u0142a jest aktywna", + "heatpump idle": "Pompa ciep\u0142a jest nieaktywna", + "heatpump coming": "Pompa ciep\u0142a jest uruchamiana", + "heatpump shutdown": "Pompa ciep\u0142a wy\u0142\u0105cza si\u0119", + "errorcode slot": "Kod b\u0142\u0119du pompy ciep\u0142a w gnie\u017Adzie 0", + "pump forerun": "Rozbieg pompy", "defrost": "Rozmra\u017Canie", - "writing_on_lin_connection": "Zapis na po\u0142\u0105czeniu LIN", - "compressor_heating_up": "Spr\u0119\u017Carka nagrzewa si\u0119", - "compressor_heater": "Grza\u0142ka spr\u0119\u017Carki" + "writing on LIN connection": "Zapis na po\u0142\u0105czeniu LIN", + "compressor heating up": "Spr\u0119\u017Carka nagrzewa si\u0119", + "compressor heater": "Grza\u0142ka spr\u0119\u017Carki" } }, "status_line_2": { @@ -391,19 +304,19 @@ "heating": "ogrzewanie", "defrost": "rozmra\u017Canie", "cooling": "ch\u0142odzenie", - "pump_forerun": "rozbieg pompy", - "thermal_desinfection": "dezynfekcja termiczna", - "swimming_pool_solar": "basen/solar", - "no_request": "brak zapotrzebowania", - "cycle_lock": "blokada cyklu", - "lock_time": "czas blokady", - "domestic_water": "ciep\u0142a woda", - "flow_monitoring": "monitorowanie przep\u0142ywu", - "grid_switch_on_delay": "op\u00F3\u017Anienie w\u0142\u0105czenia sieci", - "info_bake_out_program": "Informacje o programie pieczenia", - "heating_external_energy_source": "ogrzewanie z zewn\u0119trznego \u017Ar\u00F3d\u0142a energii", - "domestic_water_external_energy_source": "Zewn\u0119trzne \u017Ar\u00F3d\u0142o energii ciep\u0142ej wody", - "second_heat_generator_1_active": "drugi generator ciep\u0142a 1 aktywny" + "pump forerun": "rozbieg pompy", + "thermal desinfection": "dezynfekcja termiczna", + "swimming pool/solar": "basen/solar", + "no request": "brak zapotrzebowania", + "cycle lock": "blokada cyklu", + "lock time": "czas blokady", + "domestic water": "ciep\u0142a woda", + "flow monitoring": "monitorowanie przep\u0142ywu", + "grid switch on delay": "op\u00F3\u017Anienie w\u0142\u0105czenia sieci", + "info bake out program": "Informacje o programie pieczenia", + "heating external engery source": "ogrzewanie z zewn\u0119trznego \u017Ar\u00F3d\u0142a energii", + "domestic water external energy source": "Zewn\u0119trzne \u017Ar\u00F3d\u0142o energii ciep\u0142ej wody", + "second heat generator 1 active": "drugi generator ciep\u0142a 1 aktywny" } }, "heat_source_output": { @@ -527,22 +440,22 @@ "name": "Zewn\u0119trzna temperatura na wyj\u015Bciu" }, "solar_collector_temperature": { - "name": "Kolektor s\u0142oneczny" + "name": "Kolektor solarny" }, "solar_buffer_temperature": { - "name": "Bufor s\u0142oneczny" + "name": "Bufor solarny" }, "operation_hours_solar": { - "name": "Godziny pracy solarnej" + "name": "Godziny pracy trybu solarnego" }, "operation_hours_cooling": { "name": "Godziny pracy ch\u0142odzenia" }, "room_thermostat_temperature": { - "name": "termostat pokojowy" + "name": "Temperatura termostatu pokojowego" }, "room_thermostat_temperature_target": { - "name": "cel termostatu pokojowego" + "name": "Temperatura docelowa termostatu pokojowego" } }, "climate": { @@ -555,7 +468,7 @@ }, "water_heater": { "domestic_water": { - "name": "Woda bie\u017C\u0105ca" + "name": "Ciep\u0142a woda" } } }, @@ -563,13 +476,13 @@ "abort": { "already_configured": "Us\u0142uga jest ju\u017C skonfigurowana.", "already_in_progress": "Przep\u0142yw konfiguracji jest ju\u017C uruchomiony.", - "cannot_connect": "Nie uda\u0142o si\u0119 po\u0142\u0105czy\u0107 z Luxtronik.\nSprawd\u017A adres IP/nazw\u0119 hosta i port.", - "no_devices_found": "Nie znaleziono urz\u0105dze\u0144 w sieci", - "single_instance_allowed": "Ju\u017C skonfigurowane. Mo\u017Cliwa tylko jedna konfiguracja.", + "cannot_connect": "Nie uda\u0142o si\u0119 po\u0142\u0105czy\u0107 ze sterownikiem Luxtronik.\nSprawd\u017A adres IP/nazw\u0119 hosta i numer portu.", + "no_devices_found": "Nie znaleziono urz\u0105dze\u0144 w sieci LAN", + "single_instance_allowed": "Sterownik jest ju\u017C skonfigurowany. Mo\u017Cliwa jest tylko jedna instancja.", "unknown": "Nieznany b\u0142\u0105d" }, "error": { - "address": "Nieprawid\u0142owe wstawienie adresu zdalnego. Adres musi by\u0107 adresem IP lub rozpoznawaln\u0105 nazw\u0105 hosta.", + "address": "Nieprawid\u0142owy adres zdalny. Adres musi by\u0107 adresem IP lub rozpoznawaln\u0105 nazw\u0105 hosta.", "address_in_use": "Wybrany port nas\u0142uchiwania jest ju\u017C u\u017Cywany w tym systemie.", "unknown": "Niespodziewany b\u0142\u0105d" }, From 71ff55296dc156516ac9227eca77610fe3c1f24b Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Wed, 25 Oct 2023 22:40:24 +0200 Subject: [PATCH 17/27] Update pl.json to get translation keys without spaces --- .../luxtronik/translations/pl.json | 145 ++++++++++++++---- 1 file changed, 116 insertions(+), 29 deletions(-) diff --git a/custom_components/luxtronik/translations/pl.json b/custom_components/luxtronik/translations/pl.json index 5ff8f77..bde3a45 100644 --- a/custom_components/luxtronik/translations/pl.json +++ b/custom_components/luxtronik/translations/pl.json @@ -162,13 +162,13 @@ "name": "Pompa ciep\u0142a", "state": { "heating": "Ogrzewanie", - "hot water": "Ciep\u0142a woda", - "swimming pool/solar": "Basen / Solar", + "hot_water": "Ciep\u0142a woda", + "swimming_pool_solar": "Basen / Solar", "evu": "Blokada sieci - brak zasilania", "defrost": "Rozmra\u017Canie", - "heating external source": "Zewn\u0119trzne \u017Ar\u00F3d\u0142o ogrzewania", + "heating_external_source": "Zewn\u0119trzne \u017Ar\u00F3d\u0142o ogrzewania", "cooling": "Ch\u0142odzenie", - "no request": "Brak zapotrzebowania" + "no_request": "Brak zapotrzebowania" }, "state_attributes": { "evu_text": { @@ -255,8 +255,95 @@ "791": "Utracono komunikacj\u0119 ModBus", "792": "Utracono po\u0142\u0105czenie LIN", "793": "Powa\u017Cna usterka VSS", - "-1": "Nieznany b\u0142\u0105d" - } + "99999": "Nieznany b\u0142\u0105d" + }, + "state_attributes": { + "timestamp": { + "name": "Timestamp" + }, + "cause": { + "name": "Cause", + "state": { + "701": "B\u0142\u0105d niskiego ci\u015Bnienia.", + "702": "Zatrzymanie przy niskim ci\u015Bnieniu\nRESETUJ automat.", + "703": "\u015Brodek przeciw zamarzaniu\nProsz\u0119 wezwa\u0107 montera", + "704": "B\u0142\u0105d gor\u0105cego gazu\nZresetuj w gg:mm", + "705": "Zabezpieczenie silnika VEN\nProsz\u0119 wezwa\u0107 instalatora", + "706": "Zabezpieczenie silnika BCP\nProsz\u0119 wezwa\u0107 instalatora", + "707": "Kodowanie HP\nProsz\u0119 wezwa\u0107 instalatora", + "708": "Czujnik powrotu\nProsz\u0119 wezwa\u0107 instalatora", + "709": "Czujnik przep\u0142ywu\nProsz\u0119 wezwa\u0107 instalatora", + "710": "Czujnik gor\u0105cego gazu\nProsz\u0119 wezwa\u0107 instalatora", + "711": "Temperatura zewn\u0119trzna czujnik\nProsz\u0119 wezwa\u0107 instalatora", + "712": "Czujnik ciep\u0142ej wody u\u017Cytkowej.\nProsz\u0119 wezwa\u0107 instalatora", + "713": "Czujnik HS-on\nProsz\u0119 wezwa\u0107 instalatora", + "714": "Gor\u0105cy gaz SW\nResetuj w gg:mm", + "715": "Wy\u0142\u0105czenie wysokiego ci\u015Bnienia\nRESET auto.", + "716": "Usterka wysokiego ci\u015Bnienia\nProsz\u0119 wezwa\u0107 instalatora", + "717": "Przep\u0142yw HS\nProsz\u0119 wezwa\u0107 instalatora", + "718": "Maks. temp. zew.\nRESET auto. w gg:mm", + "719": "Min. temp. zew.\nRESET auto. w gg:mm", + "720": "Temperatura HS\nRESET AUTO. w gg:mm", + "721": "Wy\u0142\u0105czenie przy niskim ci\u015Bnieniu\nRESET auto.", + "722": "Tempdiff HW\nProsz\u0119 wezwa\u0107 instalatora", + "723": "Tempdiff SW\nProsz\u0119 wezwa\u0107 instalatora", + "724": "Rozmra\u017Canie Tempdiff\nProsz\u0119 wezwa\u0107 instalatora", + "725": "B\u0142\u0105d systemowy SW\nProsz\u0119 wezwa\u0107 instalatora", + "726": "Czujnik obiegu mieszania 1\nProsz\u0119 wezwa\u0107 instalatora", + "727": "Ci\u015Bnienie solanki\nProsz\u0119 wezwa\u0107 instalatora", + "728": "Czujnik HS wy\u0142\u0105czony\nProsz\u0119 wezwa\u0107 instalatora", + "729": "B\u0142\u0105d pola wiruj\u0105cego\nProsz\u0119 wezwa\u0107 instalatora", + "732": "Usterka ch\u0142odzenia\nProsz\u0119 wezwa\u0107 instalatora", + "733": "Usterka anody\nProsz\u0119 wezwa\u0107 instalatora", + "734": "Usterka anody\nProsz\u0119 wezwa\u0107 instalatora", + "735": "B\u0142\u0105d zew. Pl\nProsz\u0119 zadzwoni\u0107 do montera", + "736": "B\u0142\u0105d kolektora s\u0142onecznego\nProsz\u0119 wezwa\u0107 instalatora", + "737": "B\u0142\u0105d zasobnika solarnego\nProsz\u0119 wezwa\u0107 instalatora", + "738": "B\u0142\u0105d mieszania ko\u0142a 2\nProsz\u0119 wezwa\u0107 instalatora", + "750": "Czujnik powrotu zewn\u0119trzny\nProsz\u0119 wezwa\u0107 instalatora", + "751": "B\u0142\u0105d monitorowania fazy", + "752": "B\u0142\u0105d przep\u0142ywu", + "755": "Utracono po\u0142\u0105czenie z modu\u0142em slave\nZadzwo\u0144 do instalatora", + "756": "Utracono po\u0142\u0105czenie z masterem\nZadzwo\u0144 do instalatora", + "757": "Usterka niskiego ci\u015Bnienia w urz\u0105dzeniu SW", + "758": "Usterka rozmra\u017Cania", + "759": "Komunikat TDI", + "760": "B\u0142\u0105d rozmra\u017Cania", + "761": "Przekroczenie limitu czasu LIN/utracono po\u0142\u0105czenie LIN", + "762": "czujnik (wlot parownika)", + "763": "czujnik (wlot spr\u0119\u017Carki)", + "764": "Czujnik Grza\u0142ka spr\u0119\u017Carki", + "765": "Przegrzanie", + "766": "zakres funkcjonalny spr\u0119\u017Carki", + "767": "STB E-Rod", + "768": "Monitorowanie przep\u0142ywu", + "769": "Sterowanie pomp\u0105", + "770": "Niskie przegrzanie", + "771": "Wysokie przegrzanie", + "776": "granica zastosowania-CP", + "777": "Zaw\u00F3r rozpr\u0119\u017Cny", + "778": "Czujnik niskiego ci\u015Bnienia", + "779": "Czujnik wysokiego ci\u015Bnienia", + "780": "Czujnik EVI", + "781": "Temperatura cieczy czujnik przed EXV", + "782": "Temp. gazu zasysanego EVI czujnik", + "783": "Komunikacja SEC – Falownik", + "784": "Blokada VSS", + "785": "Uszkodzona p\u0142yta SEC", + "787": "Alarm VD", + "788": "Powa\u017Cna usterka VSS", + "789": "Nie znaleziono LIN/kodowania", + "790": "Powa\u017Cna usterka VSS", + "791": "Utracono komunikacj\u0119 ModBus", + "792": "Utracono po\u0142\u0105czenie LIN", + "793": "Powa\u017Cna usterka VSS", + "99999": "Nieznany b\u0142\u0105d" + } + }, + "remedy": { + "name": "Remedy" + } + } }, "switchoff_reason": { "name": "Pow\u00F3d wy\u0142\u0105czenia", @@ -272,22 +359,22 @@ "8": "Ni\u017Csze ograniczenie u\u017Cytkowania", "9": "nieaktywny", "11": "Przep\u0142yw", - "-1": "Nieznane wy\u0142\u0105czenie" + "99999": "Nieznane wy\u0142\u0105czenie" } }, "status_line_1": { "name": "Stan 1", "state": { - "heatpump running": "Pompa ciep\u0142a jest aktywna", - "heatpump idle": "Pompa ciep\u0142a jest nieaktywna", - "heatpump coming": "Pompa ciep\u0142a jest uruchamiana", - "heatpump shutdown": "Pompa ciep\u0142a wy\u0142\u0105cza si\u0119", - "errorcode slot": "Kod b\u0142\u0119du pompy ciep\u0142a w gnie\u017Adzie 0", - "pump forerun": "Rozbieg pompy", + "heatpump_running": "Pompa ciep\u0142a jest aktywna", + "heatpump_idle": "Pompa ciep\u0142a jest nieaktywna", + "heatpump_coming": "Pompa ciep\u0142a jest uruchamiana", + "heatpump_shutdown": "Pompa ciep\u0142a wy\u0142\u0105cza si\u0119", + "errorcode_slot": "Kod b\u0142\u0119du pompy ciep\u0142a w gnie\u017Adzie 0", + "pump_forerun": "Rozbieg pompy", "defrost": "Rozmra\u017Canie", - "writing on LIN connection": "Zapis na po\u0142\u0105czeniu LIN", - "compressor heating up": "Spr\u0119\u017Carka nagrzewa si\u0119", - "compressor heater": "Grza\u0142ka spr\u0119\u017Carki" + "writing_on_lin_connection": "Zapis na po\u0142\u0105czeniu LIN", + "compressor_heating_up": "Spr\u0119\u017Carka nagrzewa si\u0119", + "compressor_heater": "Grza\u0142ka spr\u0119\u017Carki" } }, "status_line_2": { @@ -304,19 +391,19 @@ "heating": "ogrzewanie", "defrost": "rozmra\u017Canie", "cooling": "ch\u0142odzenie", - "pump forerun": "rozbieg pompy", - "thermal desinfection": "dezynfekcja termiczna", - "swimming pool/solar": "basen/solar", - "no request": "brak zapotrzebowania", - "cycle lock": "blokada cyklu", - "lock time": "czas blokady", - "domestic water": "ciep\u0142a woda", - "flow monitoring": "monitorowanie przep\u0142ywu", - "grid switch on delay": "op\u00F3\u017Anienie w\u0142\u0105czenia sieci", - "info bake out program": "Informacje o programie pieczenia", - "heating external engery source": "ogrzewanie z zewn\u0119trznego \u017Ar\u00F3d\u0142a energii", - "domestic water external energy source": "Zewn\u0119trzne \u017Ar\u00F3d\u0142o energii ciep\u0142ej wody", - "second heat generator 1 active": "drugi generator ciep\u0142a 1 aktywny" + "pump_forerun": "rozbieg pompy", + "thermal_desinfection": "dezynfekcja termiczna", + "swimming_pool_solar": "basen/solar", + "no_request": "brak zapotrzebowania", + "cycle_lock": "blokada cyklu", + "lock_time": "czas blokady", + "domestic_water": "ciep\u0142a woda", + "flow_monitoring": "monitorowanie przep\u0142ywu", + "grid_switch_on_delay": "op\u00F3\u017Anienie w\u0142\u0105czenia sieci", + "info_bake_out_program": "Informacje o programie pieczenia", + "heating_external_energy_source": "ogrzewanie z zewn\u0119trznego \u017Ar\u00F3d\u0142a energii", + "domestic_water_external_energy_source": "Zewn\u0119trzne \u017Ar\u00F3d\u0142o energii ciep\u0142ej wody", + "second_heat_generator_1_active": "drugi generator ciep\u0142a 1 aktywny" } }, "heat_source_output": { From fcce0c91f6e79f3842e490e5138096d6ff500aa4 Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Wed, 25 Oct 2023 22:50:09 +0200 Subject: [PATCH 18/27] Update en.json --- custom_components/luxtronik/translations/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/luxtronik/translations/en.json b/custom_components/luxtronik/translations/en.json index 3150fb4..3baa890 100644 --- a/custom_components/luxtronik/translations/en.json +++ b/custom_components/luxtronik/translations/en.json @@ -456,7 +456,7 @@ "heatpump_idle": "The heatpump is idle", "heatpump_coming": "The heatpump is coming", "heatpump_shutdown": "The heatpump is shuting down", - "errorcode_slot": "Heatpump error code in slot 0", + "errorcode_slot_0": "Heatpump error code in slot 0", "pump_forerun": "Pump forerun", "defrost": "Defrost", "writing_on_lin_connection": "Writing on LIN connection", From 28d046215850269b69e580cb7f89baf05d82858c Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Wed, 25 Oct 2023 22:50:37 +0200 Subject: [PATCH 19/27] Update de.json --- custom_components/luxtronik/translations/de.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/luxtronik/translations/de.json b/custom_components/luxtronik/translations/de.json index b14e768..706ed30 100644 --- a/custom_components/luxtronik/translations/de.json +++ b/custom_components/luxtronik/translations/de.json @@ -489,7 +489,7 @@ "heatpump_idle": "Die W\u00e4rmepumpe ist im Leerlauf", "heatpump_coming": "Die W\u00e4rmepumpe startet", "heatpump_shutdown": "Die W\u00e4rmepumpe schaltet ab", - "errorcode_slot": "W\u00e4rmepumpe Fehlercode in Schacht 0", + "errorcode_slot_0": "W\u00e4rmepumpe Fehlercode in Schacht 0", "pump_forerun": "Pumpenvorlauf", "defrost": "Taut ab", "writing_on_lin_connection": "Schreibt auf LIN Verbindung", From 280df22fa54040e1044065fa175e09c031ff21a3 Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Wed, 25 Oct 2023 22:51:16 +0200 Subject: [PATCH 20/27] Update pl.json --- custom_components/luxtronik/translations/pl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/luxtronik/translations/pl.json b/custom_components/luxtronik/translations/pl.json index bde3a45..af285cb 100644 --- a/custom_components/luxtronik/translations/pl.json +++ b/custom_components/luxtronik/translations/pl.json @@ -369,7 +369,7 @@ "heatpump_idle": "Pompa ciep\u0142a jest nieaktywna", "heatpump_coming": "Pompa ciep\u0142a jest uruchamiana", "heatpump_shutdown": "Pompa ciep\u0142a wy\u0142\u0105cza si\u0119", - "errorcode_slot": "Kod b\u0142\u0119du pompy ciep\u0142a w gnie\u017Adzie 0", + "errorcode_slot_0": "Kod b\u0142\u0119du pompy ciep\u0142a w gnie\u017Adzie 0", "pump_forerun": "Rozbieg pompy", "defrost": "Rozmra\u017Canie", "writing_on_lin_connection": "Zapis na po\u0142\u0105czeniu LIN", From e31b32794ab55805bebc9377ae45c518f31e6fd4 Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Wed, 25 Oct 2023 23:06:03 +0200 Subject: [PATCH 21/27] Update manifest.json - remove not allowed key "homeassistant" --- custom_components/luxtronik/manifest.json | 1 - 1 file changed, 1 deletion(-) diff --git a/custom_components/luxtronik/manifest.json b/custom_components/luxtronik/manifest.json index ab19865..95640a2 100755 --- a/custom_components/luxtronik/manifest.json +++ b/custom_components/luxtronik/manifest.json @@ -10,7 +10,6 @@ "codeowners": ["@BenPru"], "iot_class": "local_polling", "version": "2023.10.22", - "homeassistant": "2023.1.0", "dhcp": [ { "macaddress": "000E8C*" }, { "macaddress": "001999*" }, From 2212658dc736db646d74646af16e10102af36858 Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Thu, 26 Oct 2023 23:51:34 +0200 Subject: [PATCH 22/27] Update manifest.json --- custom_components/luxtronik/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/luxtronik/manifest.json b/custom_components/luxtronik/manifest.json index 95640a2..f99aa77 100755 --- a/custom_components/luxtronik/manifest.json +++ b/custom_components/luxtronik/manifest.json @@ -9,7 +9,7 @@ "after_dependencies": [], "codeowners": ["@BenPru"], "iot_class": "local_polling", - "version": "2023.10.22", + "version": "2023.10.26", "dhcp": [ { "macaddress": "000E8C*" }, { "macaddress": "001999*" }, From d5417a45b7d181ae1a3f1d1911739fe9fd158ac7 Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Thu, 26 Oct 2023 23:55:41 +0200 Subject: [PATCH 23/27] Update climate.py --- custom_components/luxtronik/climate.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/custom_components/luxtronik/climate.py b/custom_components/luxtronik/climate.py index 2dc8c52..0246545 100644 --- a/custom_components/luxtronik/climate.py +++ b/custom_components/luxtronik/climate.py @@ -244,7 +244,9 @@ def _handle_coordinator_update( data, self.entity_description.luxtronik_key_current_action.value ) self._attr_hvac_action = ( - None if lux_action is None else self.entity_description.hvac_action_mapping[lux_action] + None + if lux_action is None + else self.entity_description.hvac_action_mapping[lux_action] ) self._attr_is_aux_heat = ( None if mode is None else mode == LuxMode.second_heatsource.value @@ -271,10 +273,13 @@ def _handle_coordinator_update( if ( self._attr_target_temperature is not None and self._attr_current_temperature is not None # noqa: W503 + and self._attr_current_temperature > 0.0 and correction_factor is not None # noqa: W503 ): delta_temp = self._attr_target_temperature - self._attr_current_temperature - correction = round(delta_temp * (correction_factor/100.0), 1) # correction_factor is in %, so need to divide by 100 + correction = round( + delta_temp * (correction_factor / 100.0), 1 + ) # correction_factor is in %, so need to divide by 100 key_correction_target = ( self.entity_description.luxtronik_key_correction_target.value ) From 5171d6be546009bb530f388b4d3a4687805089bb Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Thu, 26 Oct 2023 23:59:37 +0200 Subject: [PATCH 24/27] Update const.py --- custom_components/luxtronik/const.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/custom_components/luxtronik/const.py b/custom_components/luxtronik/const.py index 374f4b2..fceb091 100644 --- a/custom_components/luxtronik/const.py +++ b/custom_components/luxtronik/const.py @@ -301,13 +301,9 @@ class LuxParameter(StrEnum): # "879 ID_Waermemenge_SW ": "0", # "880 ID_Waermemenge_Datum ": "1483648906", <-- Unix timestamp! 5.1.2017 - # "1059 ID_Waermemenge_ZWE ": "0", # "1060 ID_Waermemenge_Reset ": "535051", # "1061 ID_Waermemenge_Reset_2 ": "0", - # Calc - # "154 ID_WEB_WMZ_Seit ": "25668.9", - P0882_SOLAR_OPERATION_HOURS: Final = "parameters.ID_BSTD_Solar" P0883_SOLAR_PUMP_MAX_TEMPERATURE_COLLECTOR: Final = ( "parameters.ID_Einst_TDC_Koll_Max_akt" @@ -330,6 +326,9 @@ class LuxParameter(StrEnum): P1059_ADDITIONAL_HEAT_GENERATOR_AMOUNT_COUNTER: Final = ( "parameters.ID_Waermemenge_ZWE" ) + P1119_LAST_DEFROST_TIMESTAMP: Final = ( + "parameters.Unknown_Parameter_1119" # 1685073431 -> 26.5.23 05:57 + ) P1136_HEAT_ENERGY_INPUT: Final = "parameters.Unknown_Parameter_1136" P1137_DHW_ENERGY_INPUT: Final = "parameters.Unknown_Parameter_1137" # ? P1138_SWIMMING_POOL_ENERGY_INPUT: Final = "parameters.Unknown_Parameter_1138" --> @@ -423,7 +422,7 @@ class LuxCalculation(StrEnum): C0146_APPROVAL_COOLING: Final = "calculations.ID_WEB_FreigabKuehl" C0151_HEAT_AMOUNT_HEATING: Final = "calculations.ID_WEB_WMZ_Heizung" C0152_DHW_HEAT_AMOUNT: Final = "calculations.ID_WEB_WMZ_Brauchwasser" - C0154_HEAT_AMOUNT_COUNTER: Final = "calculations.ID_WEB_WMZ_Seit" + C0154_HEAT_AMOUNT_COUNTER: Final = "calculations.ID_WEB_WMZ_Seit" # 25668.9 C0155_HEAT_AMOUNT_FLOW_RATE: Final = "calculations.ID_WEB_WMZ_Durchfluss" C0156_ANALOG_OUT1: Final = "calculations.ID_WEB_AnalogOut1" C0157_ANALOG_OUT2: Final = "calculations.ID_WEB_AnalogOut2" From 3c03035cc1f40f7163b7cb99166affda580135db Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Fri, 27 Oct 2023 00:14:27 +0200 Subject: [PATCH 25/27] Update update.py --- custom_components/luxtronik/update.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/custom_components/luxtronik/update.py b/custom_components/luxtronik/update.py index 38464b8..49b4793 100644 --- a/custom_components/luxtronik/update.py +++ b/custom_components/luxtronik/update.py @@ -1,4 +1,5 @@ """Luxtronik Update platform.""" +# region Imports from __future__ import annotations from datetime import datetime, timedelta @@ -35,6 +36,8 @@ from .lux_helper import get_firmware_download_id, get_manufacturer_firmware_url_by_model from .model import LuxtronikUpdateEntityDescription +# endregion Imports + MIN_TIME_BETWEEN_UPDATES: Final = timedelta(hours=1) @@ -69,7 +72,10 @@ class LuxtronikUpdateEntity(LuxtronikEntity, UpdateEntity): entity_description: LuxtronikUpdateEntityDescription _attr_title = "Luxtronik Firmware Version" - _attr_supported_features: UpdateEntityFeature = UpdateEntityFeature.INSTALL | UpdateEntityFeature.RELEASE_NOTES + # INSTALL --> is needed to get a notification!!! + _attr_supported_features: UpdateEntityFeature = ( + UpdateEntityFeature.INSTALL | UpdateEntityFeature.RELEASE_NOTES + ) __firmware_version_available = None __firmware_version_available_last_request = None @@ -107,7 +113,13 @@ def release_notes(self) -> str | None: release_url = get_manufacturer_firmware_url_by_model(self.coordinator.model) download_id = get_firmware_download_id(self.installed_version) download_url = f"{DOWNLOAD_PORTAL_URL}{download_id}" - return f'Firmware Download PortalDirect Download

alpha innotec doesn\'t provide a changelog.
Please contact support for more information.' + if self.state: + upgrade_text = f"For your {self.coordinator.manufacturer} {self.coordinator.model} (Download ID {download_id}) is Firmware Version {self.__firmware_version_available} available.

" + return ( + f'{upgrade_text}Firmware Download Portal ' + + f'Direct Download

' + + "alpha innotec doesn't provide a changelog.
Please contact support for more information." + ) @Throttle(MIN_TIME_BETWEEN_UPDATES) def update(self) -> None: @@ -134,7 +146,7 @@ def do_request_available_firmware_version(self, download_id: int): datetime.utcnow().timestamp() ) # Filename e.g.: wp2reg-V2.88.1-9086 - # Extract 'V2.88.1' from 'wp2reg-V2.88.1-9086'. + # Extract 'V2.88.1-9086' from 'wp2reg-V2.88.1-9086'. self.__firmware_version_available = filename.split("-", 1)[1] except Exception: # pylint: disable=broad-except LOGGER.warning( From 44d44ce1e805a75bcfc9855393882b4d79eda877 Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Fri, 27 Oct 2023 00:15:42 +0200 Subject: [PATCH 26/27] Update manifest.json --- custom_components/luxtronik/manifest.json | 1 + 1 file changed, 1 insertion(+) diff --git a/custom_components/luxtronik/manifest.json b/custom_components/luxtronik/manifest.json index f99aa77..c17481c 100755 --- a/custom_components/luxtronik/manifest.json +++ b/custom_components/luxtronik/manifest.json @@ -10,6 +10,7 @@ "codeowners": ["@BenPru"], "iot_class": "local_polling", "version": "2023.10.26", + "homeassistant": "2023.1.0", "dhcp": [ { "macaddress": "000E8C*" }, { "macaddress": "001999*" }, From eca199035e589cd10eb32d61b754a04ab97971fc Mon Sep 17 00:00:00 2001 From: rhammen <75572839+rhammen@users.noreply.github.com> Date: Fri, 27 Oct 2023 00:16:50 +0200 Subject: [PATCH 27/27] Update manifest.json --- custom_components/luxtronik/manifest.json | 1 - 1 file changed, 1 deletion(-) diff --git a/custom_components/luxtronik/manifest.json b/custom_components/luxtronik/manifest.json index c17481c..f99aa77 100755 --- a/custom_components/luxtronik/manifest.json +++ b/custom_components/luxtronik/manifest.json @@ -10,7 +10,6 @@ "codeowners": ["@BenPru"], "iot_class": "local_polling", "version": "2023.10.26", - "homeassistant": "2023.1.0", "dhcp": [ { "macaddress": "000E8C*" }, { "macaddress": "001999*" },