diff --git a/custom_components/luxtronik/__init__.py b/custom_components/luxtronik/__init__.py index cd816ef..636aa91 100644 --- a/custom_components/luxtronik/__init__.py +++ b/custom_components/luxtronik/__init__.py @@ -226,17 +226,17 @@ def _up(ident: str, new_id: SK, platform: P = P.SENSOR) -> None: ) _up( "heating_circuit_curve1_temperature", - SK.HEATING_CIRCUIT_CURVE1_TEMPERATURE, + SK.HEATING_CURVE_END_TEMPERATURE, P.NUMBER, ) _up( "heating_circuit_curve2_temperature", - SK.HEATING_CIRCUIT_CURVE2_TEMPERATURE, + SK.HEATING_CURVE_PARALLEL_SHIFT_TEMPERATURE, P.NUMBER, ) _up( "heating_circuit_curve_night_temperature", - SK.HEATING_CIRCUIT_CURVE_NIGHT_TEMPERATURE, + SK.HEATING_CURVE_NIGHT_TEMPERATURE, P.NUMBER, ) _up( @@ -289,7 +289,82 @@ def _up(ident: str, new_id: SK, platform: P = P.SENSOR) -> None: _up("cooling_stop_delay_hours", SK.COOLING_STOP_DELAY_HOURS, P.NUMBER) new_data = {**config_entry.data} - config_entry.version = 7 + hass.config_entries.async_update_entry(config_entry, data=new_data) + + if config_entry.version == 7: + # harmonize naming + _up( + "flow_in_circuit2_temperature", + SK.FLOW_IN_CIRCUIT1_TEMPERATURE, + P.NUMBER, + ) + _up( + "flow_in_circuit3_temperature", + SK.FLOW_IN_CIRCUIT2_TEMPERATURE, + P.NUMBER, + ) + _up( + "flow_in_circuit2_target_temperature", + SK.FLOW_IN_CIRCUIT1_TARGET_TEMPERATURE, + P.NUMBER, + ) + _up( + "flow_in_circuit3_target_temperature", + SK.FLOW_IN_CIRCUIT2_TARGET_TEMPERATURE, + P.NUMBER, + ) + + # main circuit + _up( + "heating_circuit_curve1_temperature", + SK.HEATING_CURVE_END_TEMPERATURE, + P.NUMBER, + ) + _up( + "heating_circuit_curve2_temperature", + SK.HEATING_CURVE_PARALLEL_SHIFT_TEMPERATURE, + P.NUMBER, + ) + _up( + "heating_circuit_curve_night_temperature", + SK.HEATING_CURVE_NIGHT_TEMPERATURE, + P.NUMBER, + ) + + # circuit 1 + _up( + "heating_circuit2_curve1_temperature", + SK.HEATING_CURVE_CIRCUIT1_END_TEMPERATURE, + P.NUMBER, + ) + _up( + "heating_circuit2_curve2_temperature", + SK.HEATING_CURVE_CIRCUIT1_PARALLEL_SHIFT_TEMPERATURE, + P.NUMBER, + ) + _up( + "heating_circuit2_curve_night_temperature", + SK.HEATING_CURVE_CIRCUIT1_NIGHT_TEMPERATURE, + P.NUMBER, + ) + # circuit 3 + _up( + "heating_circuit3_curve1_temperature", + SK.HEATING_CURVE_CIRCUIT3_END_TEMPERATURE, + P.NUMBER, + ) + _up( + "heating_circuit3_curve2_temperature", + SK.HEATING_CURVE_CIRCUIT3_PARALLEL_SHIFT_TEMPERATURE, + P.NUMBER, + ) + _up( + "heating_circuit3_curve_night_temperature", + SK.HEATING_CURVE_CIRCUIT3_NIGHT_TEMPERATURE, + P.NUMBER, + ) + + new_data = {**config_entry.data} hass.config_entries.async_update_entry(config_entry, data=new_data) LOGGER.info("Migration to version %s successful", config_entry.version) diff --git a/custom_components/luxtronik/base.py b/custom_components/luxtronik/base.py index 18849ea..da39ad3 100644 --- a/custom_components/luxtronik/base.py +++ b/custom_components/luxtronik/base.py @@ -6,7 +6,6 @@ from typing import Any from enum import StrEnum -from homeassistant.components.sensor import RestoreSensor from homeassistant.components.water_heater import STATE_HEAT_PUMP from homeassistant.const import STATE_OFF, UnitOfTemperature, UnitOfTime from homeassistant.core import callback diff --git a/custom_components/luxtronik/climate.py b/custom_components/luxtronik/climate.py index b232b0f..7e801ce 100644 --- a/custom_components/luxtronik/climate.py +++ b/custom_components/luxtronik/climate.py @@ -317,10 +317,10 @@ async def async_set_temperature(self, **kwargs: Any) -> None: async def async_turn_off(self) -> None: await self.async_set_hvac_mode(HVACMode.OFF) - + async def async_turn_on(self) -> None: await self.async_set_hvac_mode(HVACMode[self.entity_description.hvac_mode_mapping[LuxMode.automatic.value].upper()]) - + async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: """Set new target hvac mode.""" self._attr_hvac_mode = hvac_mode diff --git a/custom_components/luxtronik/config_flow.py b/custom_components/luxtronik/config_flow.py index 0f9f4db..d44dcde 100644 --- a/custom_components/luxtronik/config_flow.py +++ b/custom_components/luxtronik/config_flow.py @@ -91,7 +91,7 @@ async def _async_has_devices(hass: HomeAssistant) -> bool: class LuxtronikFlowHandler(config_entries.ConfigFlow, domain=DOMAIN): """Handle a Luxtronik heatpump controller config flow.""" - VERSION = 7 + VERSION = 8 _hassio_discovery = None _discovery_host = None _discovery_port = None diff --git a/custom_components/luxtronik/const.py b/custom_components/luxtronik/const.py index 65f7600..d266fa4 100644 --- a/custom_components/luxtronik/const.py +++ b/custom_components/luxtronik/const.py @@ -275,21 +275,42 @@ class LuxParameter(StrEnum): P0002_DHW_TARGET_TEMPERATURE: Final = "parameters.ID_Einst_BWS_akt" P0003_MODE_HEATING: Final = "parameters.ID_Ba_Hz_akt" P0004_MODE_DHW: Final = "parameters.ID_Ba_Bw_akt" - P0011_HEATING_CIRCUIT_CURVE1_TEMPERATURE: Final = "parameters.ID_Einst_HzHwHKE_akt" - P0012_HEATING_CIRCUIT_CURVE2_TEMPERATURE: Final = "parameters.ID_Einst_HzHKRANH_akt" - P0013_HEATING_CIRCUIT_CURVE_NIGHT_TEMPERATURE: Final = ( + # luxtronik*_heating_curve* + P0011_HEATING_CURVE_END_TEMPERATURE: Final = "parameters.ID_Einst_HzHwHKE_akt" + P0012_HEATING_CURVE_PARALLEL_SHIFT_TEMPERATURE: Final = "parameters.ID_Einst_HzHKRANH_akt" + P0013_HEATING_CURVE_NIGHT_TEMPERATURE: Final = ( "parameters.ID_Einst_HzHKRABS_akt" ) - # luxtronik*_heating_circuit2_curve* - P0014_HEATING_CIRCUIT2_CURVE1_TEMPERATURE: Final = ( + # luxtronik*_heating_curve_circuit1* + P0014_HEATING_CURVE_CIRCUIT1_END_TEMPERATURE: Final = ( "parameters.ID_Einst_HzMK1E_akt" # 260 ) - P0015_HEATING_CIRCUIT2_CURVE2_TEMPERATURE: Final = ( + P0015_HEATING_CURVE_CIRCUIT1_PARALLEL_SHIFT_TEMPERATURE: Final = ( "parameters.ID_Einst_HzMK1ANH_akt" # 290 ) - P0016_HEATING_CIRCUIT2_CURVE_NIGHT_TEMPERATURE: Final = ( + P0016_HEATING_CURVE_CIRCUIT1_NIGHT_TEMPERATURE: Final = ( "parameters.ID_Einst_HzMK1ABS_akt" # 0 ) + # luxtronik*_heating_curve_circuit2* + P0017_HEATING_CURVE_CIRCUIT2_END_TEMPERATURE: Final = ( + "parameters.ID_Einst_HzMK2E_akt" # 260 + ) + P0018_HEATING_CURVE_CIRCUIT2_PARALLEL_SHIFT_TEMPERATURE: Final = ( + "parameters.ID_Einst_HzMK2ANH_akt" # 290 + ) + P0019_HEATING_CURVE_CIRCUIT2_NIGHT_TEMPERATURE: Final = ( + "parameters.ID_Einst_HzMK2ABS_akt" # 0 + ) + # luxtronik*_heating_curve_circuit3* + P0020_HEATING_CURVE_CIRCUIT3_END_TEMPERATURE: Final = ( + "parameters.ID_Einst_HzMK3E_akt" # 270 + ) + P0021_HEATING_CURVE_CIRCUIT3_PARALLEL_SHIFT_TEMPERATURE: Final = ( + "parameters.ID_Einst_HzMK3ANH_akt" # 290 + ) + P0022_HEATING_CURVE_CIRCUIT3_NIGHT_TEMPERATURE: Final = ( + "parameters.ID_Einst_HzMK3ABS_akt" # 0 + ) # P0036_SECOND_HEAT_GENERATOR: Final = "parameters.ID_Einst_ZWE1Art_akt" # = 1 --> Heating and domestic water - Is second heat generator activated 1=electrical heater P0042_MIXING_CIRCUIT1_TYPE: Final = "parameters.ID_Einst_MK1Typ_akt" P0047_DHW_THERMAL_DESINFECTION_TARGET: Final = "parameters.ID_Einst_LGST_akt" @@ -327,16 +348,6 @@ class LuxParameter(StrEnum): P0700_HEATING_THRESHOLD_TEMPERATURE: Final = "parameters.ID_Einst_Heizgrenze_Temp" P0716_0720_SWITCHOFF_REASON: Final = "parameters.ID_Switchoff_file_{ID}_0" # e.g. ID_Switchoff_file_0_0 - ID_Switchoff_file_4_0 P0721_0725_SWITCHOFF_TIMESTAMP: Final = "parameters.ID_Switchoff_file_{ID}_1" # e.g. ID_Switchoff_file_0_1 - ID_Switchoff_file_4_1 - # luxtronik*_heating_circuit3_curve* - P0774_HEATING_CIRCUIT3_CURVE1_TEMPERATURE: Final = ( - "parameters.ID_Einst_HzMK3E_akt" # 270 - ) - P0775_HEATING_CIRCUIT3_CURVE2_TEMPERATURE: Final = ( - "parameters.ID_Einst_HzMK3ANH_akt" # 290 - ) - P0776_HEATING_CIRCUIT3_CURVE_NIGHT_TEMPERATURE: Final = ( - "parameters.ID_Einst_HzMK3ABS_akt" # 0 - ) P0850_COOLING_START_DELAY_HOURS: Final = "parameters.ID_Einst_Kuhl_Zeit_Ein_akt" P0851_COOLING_STOP_DELAY_HOURS: Final = "parameters.ID_Einst_Kuhl_Zeit_Aus_akt" P0860_REMOTE_MAINTENANCE: Final = "parameters.ID_Einst_Fernwartung_akt" @@ -419,7 +430,13 @@ class LuxCalculation(StrEnum): C0015_OUTDOOR_TEMPERATURE: Final = "calculations.ID_WEB_Temperatur_TA" C0016_OUTDOOR_TEMPERATURE_AVERAGE: Final = "calculations.ID_WEB_Mitteltemperatur" C0017_DHW_TEMPERATURE: Final = "calculations.ID_WEB_Temperatur_TBW" - C0020_HEAT_SOURCE_OUTPUT_TEMPERATURE: Final = "calculations.ID_WEB_Temperatur_TWA" + C0018_FLOW_IN_CIRCUIT1_TEMPERATURE: Final = "calculations.ID_WEB_Temperatur_TFB1" + C0019_FLOW_IN_CIRCUIT2_TEMPERATURE: Final = "calculations.ID_WEB_Temperatur_TFB2" + C0020_FLOW_IN_CIRCUIT3_TEMPERATURE: Final = "calculations.ID_WEB_Temperatur_TFB3" + C0021_FLOW_IN_CIRCUIT1_TARGET_TEMPERATURE: Final = "calculations.ID_WEB_Sollwert_TVL_MK1" + C0022_FLOW_IN_CIRCUIT2_TARGET_TEMPERATURE: Final = "calculations.ID_WEB_Sollwert_TVL_MK2" + C0023_FLOW_IN_CIRCUIT3_TARGET_TEMPERATURE: Final = "calculations.ID_WEB_Sollwert_TVL_MK3" + C0024_HEAT_SOURCE_OUTPUT_TEMPERATURE: Final = "calculations.ID_WEB_Temperatur_TWA" C0026_SOLAR_COLLECTOR_TEMPERATURE: Final = "calculations.ID_WEB_Temperatur_TSK" C0027_SOLAR_BUFFER_TEMPERATURE: Final = "calculations.ID_WEB_Temperatur_TSS" C0029_DEFROST_END_FLOW_OKAY: Final = "calculations.ID_WEB_ASDin" @@ -449,6 +466,9 @@ class LuxCalculation(StrEnum): C0060_ADDITIONAL_HEAT_GENERATOR_OPERATION_HOURS: Final = ( "calculations.ID_WEB_Zaehler_BetrZeitZWE1" ) + C0061_ADDITIONAL_HEAT_GENERATOR2_OPERATION_HOURS: Final = ( + "calculations.ID_WEB_Zaehler_BetrZeitZWE2" + ) C0063_OPERATION_HOURS: Final = "calculations.ID_WEB_Zaehler_BetrZeitWP" C0064_OPERATION_HOURS_HEATING: Final = "calculations.ID_WEB_Zaehler_BetrZeitHz" C0065_DHW_OPERATION_HOURS: Final = "calculations.ID_WEB_Zaehler_BetrZeitBW" @@ -527,7 +547,9 @@ class LuxVisibility(StrEnum): UNSET: Final = "UNSET" V0005_COOLING: Final = "visibilities.ID_Visi_Kuhlung" + V0007_MK1: Final = "visibilities.ID_Visi_MK1" V0008_MK2: Final = "visibilities.ID_Visi_MK2" + V0009_MK3: Final = "visibilities.ID_Visi_MK3" V0023_FLOW_IN_TEMPERATURE: Final = "visibilities.ID_Visi_Temp_Vorlauf" V0024_FLOW_OUT_TEMPERATURE_EXTERNAL: Final = "visibilities.ID_Visi_Temp_Rucklauf" V0027_HOT_GAS_TEMPERATURE: Final = "visibilities.ID_Visi_Temp_Heissgas" @@ -551,11 +573,13 @@ class LuxVisibility(StrEnum): V0086_ADDITIONAL_HEAT_GENERATOR_OPERATION_HOURS: Final = ( "visibilities.ID_Visi_Bst_BStdZWE1" ) + V0087_ADDITIONAL_HEAT_GENERATOR2_OPERATION_HOURS: Final = ( + "visibilities.ID_Visi_Bst_BStdZWE2" + ) V0105_HEAT_SOURCE_INPUT_TEMPERATURE_MIN: Final = "visibilities.ID_Visi_EinstTemp_TWQmin" V0121_EVU_LOCKED: Final = "visibilities.ID_Visi_SysEin_EVUSperre" V0122_ROOM_THERMOSTAT: Final = "visibilities.ID_Visi_SysEin_Raumstation" V0144_PUMP_OPTIMIZATION: Final = "visibilities.ID_Visi_SysEin_Pumpenoptim" - V0211_MK3: Final = "visibilities.ID_Visi_MK3" V0239_EFFICIENCY_PUMP_NOMINAL: Final = ( "visibilities.ID_Visi_SysEin_EffizienzpumpeNom" ) @@ -613,10 +637,13 @@ class SensorKey(StrEnum): ADDITIONAL_HEAT_GENERATOR_OPERATION_HOURS = ( "additional_heat_generator_operation_hours" ) + ADDITIONAL_HEAT_GENERATOR2_OPERATION_HOURS = ( + "additional_heat_generator2_operation_hours" + ) ADDITIONAL_HEAT_GENERATOR_AMOUNT_COUNTER = ( "additional_heat_generator_amount_counter" ) - SECOND_HEAT_GENERATOR_AMOUNT_COUNTER= "second_heat_generator_amount_counter" + SECOND_HEAT_GENERATOR_AMOUNT_COUNTER = "second_heat_generator_amount_counter" ANALOG_OUT1 = "analog_out1" ANALOG_OUT2 = "analog_out2" CURRENT_HEAT_OUTPUT = "current_heat_output" @@ -629,6 +656,12 @@ class SensorKey(StrEnum): HEAT_SOURCE_OUTPUT_TEMPERATURE = "heat_source_output_temperature" ERROR_REASON = "error_reason" FLOW_IN_TEMPERATURE = "flow_in_temperature" + FLOW_IN_CIRCUIT1_TEMPERATURE = "flow_in_circuit1_temperature" + FLOW_IN_CIRCUIT2_TEMPERATURE = "flow_in_circuit2_temperature" + FLOW_IN_CIRCUIT3_TEMPERATURE = "flow_in_circuit3_temperature" + FLOW_IN_CIRCUIT1_TARGET_TEMPERATURE = "flow_in_circuit1_target_temperature" + FLOW_IN_CIRCUIT2_TARGET_TEMPERATURE = "flow_in_circuit2_target_temperature" + FLOW_IN_CIRCUIT3_TARGET_TEMPERATURE = "flow_in_circuit3_target_temperature" FLOW_OUT_TEMPERATURE = "flow_out_temperature" FLOW_OUT_TEMPERATURE_TARGET = "flow_out_temperature_target" FLOW_OUT_TEMPERATURE_EXTERNAL = "flow_out_temperature_external" @@ -662,18 +695,23 @@ class SensorKey(StrEnum): PUMP_OPTIMIZATION_TIME = "pump_optimization_time" HEATING_THRESHOLD_TEMPERATURE = "heating_threshold_temperature" HEATING_MIN_FLOW_OUT_TEMPERATURE = "heating_min_flow_out_temperature" - HEATING_CIRCUIT_CURVE1_TEMPERATURE = "heating_circuit_curve1_temperature" - HEATING_CIRCUIT_CURVE2_TEMPERATURE = "heating_circuit_curve2_temperature" - HEATING_CIRCUIT_CURVE_NIGHT_TEMPERATURE = "heating_circuit_curve_night_temperature" - HEATING_CIRCUIT2_CURVE1_TEMPERATURE = "heating_circuit2_curve1_temperature" - HEATING_CIRCUIT2_CURVE2_TEMPERATURE = "heating_circuit2_curve2_temperature" - HEATING_CIRCUIT2_CURVE_NIGHT_TEMPERATURE = ( - "heating_circuit2_curve_night_temperature" - ) - HEATING_CIRCUIT3_CURVE1_TEMPERATURE = "heating_circuit3_curve1_temperature" - HEATING_CIRCUIT3_CURVE2_TEMPERATURE = "heating_circuit3_curve2_temperature" - HEATING_CIRCUIT3_CURVE_NIGHT_TEMPERATURE = ( - "heating_circuit3_curve_night_temperature" + HEATING_CURVE_END_TEMPERATURE = "heating_curve_end_temperature" + HEATING_CURVE_PARALLEL_SHIFT_TEMPERATURE = "heating_curve_parallel_shift_temperature" + HEATING_CURVE_NIGHT_TEMPERATURE = "heating_curve_night_temperature" + HEATING_CURVE_CIRCUIT1_END_TEMPERATURE = "heating_curve_circuit1_end_temperature" + HEATING_CURVE_CIRCUIT1_PARALLEL_SHIFT_TEMPERATURE = "heating_curve_circuit1_parallel_shift_temperature" + HEATING_CURVE_CIRCUIT1_NIGHT_TEMPERATURE = ( + "heating_curve_circuit1_night_temperature" + ) + HEATING_CURVE_CIRCUIT2_END_TEMPERATURE = "heating_curve_circuit2_end_temperature" + HEATING_CURVE_CIRCUIT2_PARALLEL_SHIFT_TEMPERATURE = "heating_curve_circuit2_parallel_shift_temperature" + HEATING_CURVE_CIRCUIT2_NIGHT_TEMPERATURE = ( + "heating_curve_circuit2_night_temperature" + ) + HEATING_CURVE_CIRCUIT3_END_TEMPERATURE = "heating_curve_circuit3_end_temperature" + HEATING_CURVE_CIRCUIT3_PARALLEL_SHIFT_TEMPERATURE = "heating_curve_circuit3_parallel_shift_temperature" + HEATING_CURVE_CIRCUIT3_NIGHT_TEMPERATURE = ( + "heating_curve_circuit3_night_temperature" ) HEATING_NIGHT_LOWERING_TO_TEMPERATURE = "heating_night_lowering_to_temperature" HEATING_HYSTERESIS = "heating_hysteresis" diff --git a/custom_components/luxtronik/coordinator.py b/custom_components/luxtronik/coordinator.py index dbc53f4..d1fa1c6 100644 --- a/custom_components/luxtronik/coordinator.py +++ b/custom_components/luxtronik/coordinator.py @@ -339,7 +339,7 @@ def entity_visible(self, description: LuxtronikEntityDescription) -> bool: if description.visibility == LV.V0059A_DHW_CHARGING_PUMP: return not self._detect_dhw_circulation_pump_present() if description.visibility == LV.V0005_COOLING: - return self.detect_cooling_present() + return self.detect_cooling_present() visibility_result = self.get_value(description.visibility) if visibility_result is None: LOGGER.warning("Could not load visibility %s", description.visibility) @@ -369,7 +369,7 @@ def entity_active(self, description: LuxtronikEntityDescription) -> bool: LV.V0039_SOLAR_BUFFER, LV.V0250_SOLAR, ]: - return self._detect_solar_present() + return self._detect_solar_present() if not self.device_key_active(description.device_key): return False diff --git a/custom_components/luxtronik/lux_helper.py b/custom_components/luxtronik/lux_helper.py index 5aa892d..b9d0a4e 100644 --- a/custom_components/luxtronik/lux_helper.py +++ b/custom_components/luxtronik/lux_helper.py @@ -5,9 +5,6 @@ import socket import struct import threading -import time - -from async_timeout import timeout from luxtronik.calculations import Calculations from luxtronik.parameters import Parameters diff --git a/custom_components/luxtronik/model.py b/custom_components/luxtronik/model.py index b60ffb4..41d7ea8 100644 --- a/custom_components/luxtronik/model.py +++ b/custom_components/luxtronik/model.py @@ -199,4 +199,3 @@ class LuxtronikUpdateEntityDescription( device_class = UpdateDeviceClass.FIRMWARE platform = Platform.UPDATE - diff --git a/custom_components/luxtronik/number_entities_predefined.py b/custom_components/luxtronik/number_entities_predefined.py index 46a5491..5cea614 100644 --- a/custom_components/luxtronik/number_entities_predefined.py +++ b/custom_components/luxtronik/number_entities_predefined.py @@ -98,7 +98,7 @@ icon="mdi:download-lock", device_class=SensorDeviceClass.TEMPERATURE, native_unit_of_measurement=UnitOfTemperature.CELSIUS, - native_min_value=-20.0, # -9.0 + native_min_value=-20.0, # -9.0 native_max_value=0.0, native_step=0.5, entity_category=EntityCategory.CONFIG, @@ -166,8 +166,8 @@ factor=0.1, ), LuxtronikNumberDescription( - key=SensorKey.HEATING_CIRCUIT_CURVE1_TEMPERATURE, - luxtronik_key=LP.P0011_HEATING_CIRCUIT_CURVE1_TEMPERATURE, + key=SensorKey.HEATING_CURVE_END_TEMPERATURE, + luxtronik_key=LP.P0011_HEATING_CURVE_END_TEMPERATURE, device_key=DeviceKey.heating, icon="mdi:chart-bell-curve", device_class=SensorDeviceClass.TEMPERATURE, @@ -179,10 +179,10 @@ mode=NumberMode.BOX, ), LuxtronikNumberDescription( - key=SensorKey.HEATING_CIRCUIT_CURVE2_TEMPERATURE, - luxtronik_key=LP.P0012_HEATING_CIRCUIT_CURVE2_TEMPERATURE, + key=SensorKey.HEATING_CURVE_PARALLEL_SHIFT_TEMPERATURE, + luxtronik_key=LP.P0012_HEATING_CURVE_PARALLEL_SHIFT_TEMPERATURE, device_key=DeviceKey.heating, - icon="mdi:chart-bell-curve", + icon="mdi:vector-curve", device_class=SensorDeviceClass.TEMPERATURE, native_unit_of_measurement=UnitOfTemperature.CELSIUS, native_min_value=5.0, @@ -192,21 +192,66 @@ mode=NumberMode.BOX, ), LuxtronikNumberDescription( - key=SensorKey.HEATING_CIRCUIT_CURVE_NIGHT_TEMPERATURE, - luxtronik_key=LP.P0013_HEATING_CIRCUIT_CURVE_NIGHT_TEMPERATURE, + key=SensorKey.HEATING_CURVE_NIGHT_TEMPERATURE, + luxtronik_key=LP.P0013_HEATING_CURVE_NIGHT_TEMPERATURE, + device_key=DeviceKey.heating, + icon="mdi:delta", + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + native_min_value=-15.0, + native_max_value=10.0, + native_step=0.5, + entity_category=EntityCategory.CONFIG, + mode=NumberMode.BOX, + ), + LuxtronikNumberDescription( + key=SensorKey.HEATING_CURVE_CIRCUIT1_END_TEMPERATURE, + luxtronik_key=LP.P0014_HEATING_CURVE_CIRCUIT1_END_TEMPERATURE, device_key=DeviceKey.heating, icon="mdi:chart-bell-curve", device_class=SensorDeviceClass.TEMPERATURE, native_unit_of_measurement=UnitOfTemperature.CELSIUS, + native_min_value=20.0, + native_max_value=70.0, + native_step=0.5, + factor=0.1, + entity_category=EntityCategory.CONFIG, + mode=NumberMode.BOX, + visibility=LV.V0007_MK1, + ), + LuxtronikNumberDescription( + key=SensorKey.HEATING_CURVE_CIRCUIT1_PARALLEL_SHIFT_TEMPERATURE, + luxtronik_key=LP.P0015_HEATING_CURVE_CIRCUIT1_PARALLEL_SHIFT_TEMPERATURE, + device_key=DeviceKey.heating, + icon="mdi:vector-curve", + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + native_min_value=5.0, + native_max_value=35.0, + native_step=0.5, + factor=0.1, + entity_category=EntityCategory.CONFIG, + mode=NumberMode.BOX, + visibility=LV.V0007_MK1, + ), + LuxtronikNumberDescription( + key=SensorKey.HEATING_CURVE_CIRCUIT1_NIGHT_TEMPERATURE, + luxtronik_key=LP.P0016_HEATING_CURVE_CIRCUIT1_NIGHT_TEMPERATURE, + device_key=DeviceKey.heating, + icon="mdi:delta", + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, native_min_value=-15.0, native_max_value=10.0, native_step=0.5, + factor=0.1, entity_category=EntityCategory.CONFIG, mode=NumberMode.BOX, + visibility=LV.V0007_MK1, ), LuxtronikNumberDescription( - key=SensorKey.HEATING_CIRCUIT2_CURVE1_TEMPERATURE, - luxtronik_key=LP.P0014_HEATING_CIRCUIT2_CURVE1_TEMPERATURE, + key=SensorKey.HEATING_CURVE_CIRCUIT2_END_TEMPERATURE, + luxtronik_key=LP.P0017_HEATING_CURVE_CIRCUIT2_END_TEMPERATURE, device_key=DeviceKey.heating, icon="mdi:chart-bell-curve", device_class=SensorDeviceClass.TEMPERATURE, @@ -220,10 +265,10 @@ visibility=LV.V0008_MK2, ), LuxtronikNumberDescription( - key=SensorKey.HEATING_CIRCUIT2_CURVE2_TEMPERATURE, - luxtronik_key=LP.P0015_HEATING_CIRCUIT2_CURVE2_TEMPERATURE, + key=SensorKey.HEATING_CURVE_CIRCUIT2_PARALLEL_SHIFT_TEMPERATURE, + luxtronik_key=LP.P0018_HEATING_CURVE_CIRCUIT2_PARALLEL_SHIFT_TEMPERATURE, device_key=DeviceKey.heating, - icon="mdi:chart-bell-curve", + icon="mdi:vector-curve", device_class=SensorDeviceClass.TEMPERATURE, native_unit_of_measurement=UnitOfTemperature.CELSIUS, native_min_value=5.0, @@ -235,10 +280,10 @@ visibility=LV.V0008_MK2, ), LuxtronikNumberDescription( - key=SensorKey.HEATING_CIRCUIT2_CURVE_NIGHT_TEMPERATURE, - luxtronik_key=LP.P0016_HEATING_CIRCUIT2_CURVE_NIGHT_TEMPERATURE, + key=SensorKey.HEATING_CURVE_CIRCUIT2_NIGHT_TEMPERATURE, + luxtronik_key=LP.P0019_HEATING_CURVE_CIRCUIT2_NIGHT_TEMPERATURE, device_key=DeviceKey.heating, - icon="mdi:chart-bell-curve", + icon="mdi:delta", device_class=SensorDeviceClass.TEMPERATURE, native_unit_of_measurement=UnitOfTemperature.CELSIUS, native_min_value=-15.0, @@ -250,8 +295,8 @@ visibility=LV.V0008_MK2, ), LuxtronikNumberDescription( - key=SensorKey.HEATING_CIRCUIT3_CURVE1_TEMPERATURE, - luxtronik_key=LP.P0774_HEATING_CIRCUIT3_CURVE1_TEMPERATURE, + key=SensorKey.HEATING_CURVE_CIRCUIT3_END_TEMPERATURE, + luxtronik_key=LP.P0020_HEATING_CURVE_CIRCUIT3_END_TEMPERATURE, device_key=DeviceKey.heating, icon="mdi:chart-bell-curve", device_class=SensorDeviceClass.TEMPERATURE, @@ -262,13 +307,13 @@ factor=0.1, entity_category=EntityCategory.CONFIG, mode=NumberMode.BOX, - visibility=LV.V0211_MK3, + visibility=LV.V0009_MK3, ), LuxtronikNumberDescription( - key=SensorKey.HEATING_CIRCUIT3_CURVE2_TEMPERATURE, - luxtronik_key=LP.P0775_HEATING_CIRCUIT3_CURVE2_TEMPERATURE, + key=SensorKey.HEATING_CURVE_CIRCUIT3_PARALLEL_SHIFT_TEMPERATURE, + luxtronik_key=LP.P0021_HEATING_CURVE_CIRCUIT3_PARALLEL_SHIFT_TEMPERATURE, device_key=DeviceKey.heating, - icon="mdi:chart-bell-curve", + icon="mdi:vector-curve", device_class=SensorDeviceClass.TEMPERATURE, native_unit_of_measurement=UnitOfTemperature.CELSIUS, native_min_value=5.0, @@ -277,13 +322,13 @@ factor=0.1, entity_category=EntityCategory.CONFIG, mode=NumberMode.BOX, - visibility=LV.V0211_MK3, + visibility=LV.V0009_MK3, ), LuxtronikNumberDescription( - key=SensorKey.HEATING_CIRCUIT3_CURVE_NIGHT_TEMPERATURE, - luxtronik_key=LP.P0776_HEATING_CIRCUIT3_CURVE_NIGHT_TEMPERATURE, + key=SensorKey.HEATING_CURVE_CIRCUIT3_NIGHT_TEMPERATURE, + luxtronik_key=LP.P0022_HEATING_CURVE_CIRCUIT3_NIGHT_TEMPERATURE, device_key=DeviceKey.heating, - icon="mdi:chart-bell-curve", + icon="mdi:delta", device_class=SensorDeviceClass.TEMPERATURE, native_unit_of_measurement=UnitOfTemperature.CELSIUS, native_min_value=-15.0, @@ -292,7 +337,7 @@ factor=0.1, entity_category=EntityCategory.CONFIG, mode=NumberMode.BOX, - visibility=LV.V0211_MK3, + visibility=LV.V0009_MK3, ), LuxtronikNumberDescription( key=SensorKey.HEATING_NIGHT_LOWERING_TO_TEMPERATURE, @@ -490,7 +535,7 @@ entity_category=EntityCategory.CONFIG, mode=NumberMode.BOX, visibility=LV.V0005_COOLING, - ), + ), LuxtronikNumberDescription( key=SensorKey.COOLING_START_DELAY_HOURS, luxtronik_key=LP.P0850_COOLING_START_DELAY_HOURS, @@ -530,7 +575,7 @@ entity_category=EntityCategory.CONFIG, mode=NumberMode.BOX, visibility=LP.P0042_MIXING_CIRCUIT1_TYPE, - ), + ), LuxtronikNumberDescription( key=SensorKey.COOLING_TARGET_TEMPERATURE_MK2, luxtronik_key=LP.P0133_COOLING_TARGET_TEMPERATURE_MK2, @@ -544,7 +589,7 @@ entity_category=EntityCategory.CONFIG, mode=NumberMode.BOX, visibility=LP.P0130_MIXING_CIRCUIT2_TYPE, - ), + ), LuxtronikNumberDescription( key=SensorKey.COOLING_TARGET_TEMPERATURE_MK3, luxtronik_key=LP.P0966_COOLING_TARGET_TEMPERATURE_MK3, @@ -558,7 +603,6 @@ entity_category=EntityCategory.CONFIG, mode=NumberMode.BOX, visibility=LP.P0780_MIXING_CIRCUIT3_TYPE, - ), + ), # endregion Cooling ] - diff --git a/custom_components/luxtronik/sensor.py b/custom_components/luxtronik/sensor.py index 09b7d61..a15e821 100644 --- a/custom_components/luxtronik/sensor.py +++ b/custom_components/luxtronik/sensor.py @@ -306,7 +306,7 @@ def _handle_coordinator_update( T_in = self._get_value(LC.C0010_FLOW_IN_TEMPERATURE) T_out = self._get_value(LC.C0011_FLOW_OUT_TEMPERATURE) T_heat_in = self._get_value(LC.C0204_HEAT_SOURCE_INPUT_TEMPERATURE) - T_heat_out = self._get_value(LC.C0020_HEAT_SOURCE_OUTPUT_TEMPERATURE) + T_heat_out = self._get_value(LC.C0024_HEAT_SOURCE_OUTPUT_TEMPERATURE) Flow_WQ = self._get_value(LC.C0173_HEAT_SOURCE_FLOW_RATE) Pump = self._get_value(LC.C0043_PUMP_FLOW) if (T_out > T_in) and (T_heat_out > T_heat_in) and (Flow_WQ > 0) and Pump: diff --git a/custom_components/luxtronik/sensor_entities_predefined.py b/custom_components/luxtronik/sensor_entities_predefined.py index 9b61067..057dd25 100644 --- a/custom_components/luxtronik/sensor_entities_predefined.py +++ b/custom_components/luxtronik/sensor_entities_predefined.py @@ -330,6 +330,18 @@ native_precision=2, update_interval=UPDATE_INTERVAL_VERY_SLOW, ), + descr( + key=SensorKey.ADDITIONAL_HEAT_GENERATOR2_OPERATION_HOURS, + luxtronik_key=LC.C0061_ADDITIONAL_HEAT_GENERATOR2_OPERATION_HOURS, + icon="mdi:timer-sand", + state_class=SensorStateClass.TOTAL_INCREASING, + entity_category=EntityCategory.DIAGNOSTIC, + native_unit_of_measurement=UnitOfTime.HOURS, + visibility=LV.V0087_ADDITIONAL_HEAT_GENERATOR2_OPERATION_HOURS, + factor=SECOUND_TO_HOUR_FACTOR, + native_precision=2, + update_interval=UPDATE_INTERVAL_VERY_SLOW, + ), descr( key=SensorKey.ADDITIONAL_HEAT_GENERATOR_AMOUNT_COUNTER, luxtronik_key=LP.P1059_ADDITIONAL_HEAT_GENERATOR_AMOUNT_COUNTER, @@ -438,7 +450,7 @@ ), descr( key=SensorKey.HEAT_SOURCE_OUTPUT_TEMPERATURE, - luxtronik_key=LC.C0020_HEAT_SOURCE_OUTPUT_TEMPERATURE, + luxtronik_key=LC.C0024_HEAT_SOURCE_OUTPUT_TEMPERATURE, icon="mdi:thermometer", state_class=SensorStateClass.MEASUREMENT, device_class=SensorDeviceClass.TEMPERATURE, @@ -489,6 +501,66 @@ ), ), ), + descr( + key=SensorKey.FLOW_IN_CIRCUIT1_TEMPERATURE, + luxtronik_key=LC.C0018_FLOW_IN_CIRCUIT1_TEMPERATURE, + device_key=DeviceKey.heating, + entity_category=None, + icon="mdi:waves-arrow-right", + state_class=SensorStateClass.MEASUREMENT, + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + ), + descr( + key=SensorKey.FLOW_IN_CIRCUIT2_TEMPERATURE, + luxtronik_key=LC.C0019_FLOW_IN_CIRCUIT2_TEMPERATURE, + device_key=DeviceKey.heating, + entity_category=None, + icon="mdi:waves-arrow-right", + state_class=SensorStateClass.MEASUREMENT, + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + ), + descr( + key=SensorKey.FLOW_IN_CIRCUIT3_TEMPERATURE, + luxtronik_key=LC.C0020_FLOW_IN_CIRCUIT3_TEMPERATURE, + device_key=DeviceKey.heating, + entity_category=None, + icon="mdi:waves-arrow-right", + state_class=SensorStateClass.MEASUREMENT, + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + ), + descr( + key=SensorKey.FLOW_IN_CIRCUIT1_TARGET_TEMPERATURE, + luxtronik_key=LC.C0021_FLOW_IN_CIRCUIT1_TARGET_TEMPERATURE, + device_key=DeviceKey.heating, + entity_category=None, + icon="mdi:thermometer", + state_class=SensorStateClass.MEASUREMENT, + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + ), + descr( + key=SensorKey.FLOW_IN_CIRCUIT2_TARGET_TEMPERATURE, + luxtronik_key=LC.C0022_FLOW_IN_CIRCUIT2_TARGET_TEMPERATURE, + device_key=DeviceKey.heating, + entity_category=None, + icon="mdi:thermometer", + state_class=SensorStateClass.MEASUREMENT, + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + ), + descr( + key=SensorKey.FLOW_IN_CIRCUIT3_TARGET_TEMPERATURE, + luxtronik_key=LC.C0023_FLOW_IN_CIRCUIT3_TARGET_TEMPERATURE, + device_key=DeviceKey.heating, + entity_category=None, + icon="mdi:thermometer", + state_class=SensorStateClass.MEASUREMENT, + device_class=SensorDeviceClass.TEMPERATURE, + native_unit_of_measurement=UnitOfTemperature.CELSIUS, + ), descr( key=SensorKey.FLOW_OUT_TEMPERATURE, luxtronik_key=LC.C0011_FLOW_OUT_TEMPERATURE, diff --git a/custom_components/luxtronik/translations/cs.json b/custom_components/luxtronik/translations/cs.json index 9c4e68f..61cc422 100644 --- a/custom_components/luxtronik/translations/cs.json +++ b/custom_components/luxtronik/translations/cs.json @@ -22,6 +22,9 @@ "additional_heat_generator": { "name": "P\u0159\u00eddavn\u00fd zdroj tepla" }, + "additional_heat_generator2": { + "name": "P\u0159\u00eddavn\u00fd zdroj tepla 2" + }, "disturbance_output": { "name": "Stav syst\u00e9mu" }, @@ -114,32 +117,41 @@ "heating_min_flow_out_temperature": { "name": "Minim\u00e1ln\u00ed teplota zp\u00e1te\u010dky vyt\u00e1p\u011bn\u00ed" }, - "heating_circuit_curve1_temperature": { - "name": "Topn\u00e1 k\u0159ivka 1" + "heating_curve_end_temperature": { + "name": "Koncov\u00fd bod topn\u00e9 k\u0159ivky" + }, + "heating_curve_parallel_shift_temperature": { + "name": "Paraleln\u00ed posun topn\u00e9 k\u0159ivky" + }, + "heating_curve_night_temperature": { + "name": "No\u010dn\u00ed redukce topn\u00e9 k\u0159ivky" }, - "heating_circuit_curve2_temperature": { - "name": "Topn\u00e1 k\u0159ivka 2" + "heating_curve_circuit1_end_temperature": { + "name": "Koncov\u00fd bod topn\u00e9 k\u0159ivky pro okruh 1" }, - "heating_circuit_curve_night_temperature": { - "name": "No\u010dn\u00ed topn\u00e1 k\u0159ivka" + "heating_curve_circuit1_parallel_shift_temperature": { + "name": "Paraleln\u00ed posun topn\u00e9 k\u0159ivky pro okruh 1" }, - "heating_circuit2_curve1_temperature": { - "name": "Topn\u00e1 k\u0159ivka 1 pro okruh 2" + "heating_curve_circuit1_night_temperature": { + "name": "No\u010dn\u00ed redukce topn\u00e9 k\u0159ivky pro okruh 1" }, - "heating_circuit2_curve2_temperature": { - "name": "Topn\u00e1 k\u0159ivka 2 pro okruh 2" + "heating_curve_circuit2_end_temperature": { + "name": "Koncov\u00fd bod topn\u00e9 k\u0159ivky pro okruh 2" }, - "heating_circuit2_curve_night_temperature": { - "name": "No\u010dn\u00ed topn\u00e1 k\u0159ivka pro okruh 2" + "heating_curve_circuit2_parallel_shift_temperature": { + "name": "Paraleln\u00ed posun topn\u00e9 k\u0159ivky pro okruh 2" }, - "heating_circuit3_curve1_temperature": { - "name": "Topn\u00e1 k\u0159ivka 1 pro okruh 3" + "heating_curve_circuit2_night_temperature": { + "name": "No\u010dn\u00ed redukce topn\u00e9 k\u0159ivky pro okruh 2" }, - "heating_circuit3_curve2_temperature": { - "name": "Topn\u00e1 k\u0159ivka 2 pro okruh 3" + "heating_curve_circuit3_end_temperature": { + "name": "Koncov\u00fd bod topn\u00e9 k\u0159ivky pro okruh 3" }, - "heating_circuit3_curve_night_temperature": { - "name": "No\u010dn\u00ed topn\u00e1 k\u0159ivka pro okruh 3" + "heating_curve_circuit3_parallel_shift_temperature": { + "name": "Paraleln\u00ed posun topn\u00e9 k\u0159ivky pro okruh 3" + }, + "heating_curve_circuit3_night_temperature": { + "name": "No\u010dn\u00ed redukce topn\u00e9 k\u0159ivky pro okruh 3" }, "dhw_target_temperature": { "name": "po\u017eadovan\u00e1 teplota TUV" @@ -711,6 +723,24 @@ "flow_in_temperature": { "name": "Teplota vstupu" }, + "flow_in_circuit1_temperature": { + "name": "Okruh vstupní teploty 1" + }, + "flow_in_circuit2_temperature": { + "name": "Okruh vstupní teploty 2" + }, + "flow_in_circuit3_temperature": { + "name": "Okruh vstupní teploty 3" + }, + "flow_in_circuit1_target_temperature": { + "name": "Obvod cílové teploty vstupu 1" + }, + "flow_in_circuit2_target_temperature": { + "name": "Obvod cílové teploty vstupu 2" + }, + "flow_in_circuit3_target_temperature": { + "name": "Obvod cílové teploty vstupu 3" + }, "flow_out_temperature": { "name": "Teplota zp\u00e1te\u010dky" }, diff --git a/custom_components/luxtronik/translations/de.json b/custom_components/luxtronik/translations/de.json index 8fe8d99..b2a9cd0 100644 --- a/custom_components/luxtronik/translations/de.json +++ b/custom_components/luxtronik/translations/de.json @@ -22,6 +22,9 @@ "additional_heat_generator": { "name": "Zus\u00e4tzlicher W\u00e4rmeerzeuger" }, + "additional_heat_generator2": { + "name": "Zus\u00e4tzlicher W\u00e4rmeerzeuger 2" + }, "disturbance_output": { "name": "Systemzustand" }, @@ -114,32 +117,41 @@ "heating_min_flow_out_temperature": { "name": "Min. Soll R\u00fccklauf" }, - "heating_circuit_curve1_temperature": { - "name": "Heizkurve 1" + "heating_curve_end_temperature": { + "name": "Heizkurve Endpunkt" + }, + "heating_curve_parallel_shift_temperature": { + "name": "Heizkurve Parallelverschiebung" + }, + "heating_curve_night_temperature": { + "name": "Heizkurve Nachtabsenkung" }, - "heating_circuit_curve2_temperature": { - "name": "Heizkurve 2" + "heating_curve_circuit1_end_temperature": { + "name": "MK1 Heizkurve Endpunkt" }, - "heating_circuit_curve_night_temperature": { - "name": "Heizkurve Nachts" + "heating_curve_circuit1_parallel_shift_temperature": { + "name": "MK1 Heizkurve Parallelverschiebung" }, - "heating_circuit2_curve1_temperature": { - "name": "MK2 Heizkurve 1" + "heating_curve_circuit1_night_temperature": { + "name": "MK1 Heizkurve Nachtabsenkung" }, - "heating_circuit2_curve2_temperature": { - "name": "MK2 Heizkurve 2" + "heating_curve_circuit2_end_temperature": { + "name": "MK2 Heizkurve Endpunkt" }, - "heating_circuit2_curve_night_temperature": { - "name": "MK2 Heizkurve Nachts" + "heating_curve_circuit2_parallel_shift_temperature": { + "name": "MK2 Heizkurve Parallelverschiebung" }, - "heating_circuit3_curve1_temperature": { - "name": "MK3 Heizkurve 1" + "heating_curve_circuit2_night_temperature": { + "name": "MK2 Heizkurve Nachtabsenkung" }, - "heating_circuit3_curve2_temperature": { - "name": "MK3 Heizkurve 2" + "heating_curve_circuit3_end_temperature": { + "name": "MK3 Heizkurve Endpunkt" }, - "heating_circuit3_curve_night_temperature": { - "name": "MK3 Heizkurve Nachts" + "heating_curve_circuit3_parallel_shift_temperature": { + "name": "MK3 Heizkurve Parallelverschiebung" + }, + "heating_curve_circuit3_night_temperature": { + "name": "MK3 Heizkurve Nachtabsenkung" }, "dhw_target_temperature": { "name": "Soll" @@ -713,6 +725,24 @@ "flow_in_temperature": { "name": "Vorlauf Temperatur" }, + "flow_in_circuit1_temperature": { + "name": "Vorlauf Temperatur MK1" + }, + "flow_in_circuit2_temperature": { + "name": "Vorlauf Temperatur MK2" + }, + "flow_in_circuit3_temperature": { + "name": "Vorlauf Temperatur MK3" + }, + "flow_in_circuit1_target_temperature": { + "name": "Vorlauf Soll Temperatur MK1" + }, + "flow_in_circuit2_target_temperature": { + "name": "Vorlauf Soll Temperatur MK2" + }, + "flow_in_circuit3_target_temperature": { + "name": "Vorlauf Soll Temperatur MK3" + }, "flow_out_temperature": { "name": "R\u00fccklauf Temperatur" }, diff --git a/custom_components/luxtronik/translations/en.json b/custom_components/luxtronik/translations/en.json index d4ce776..868a07f 100644 --- a/custom_components/luxtronik/translations/en.json +++ b/custom_components/luxtronik/translations/en.json @@ -22,6 +22,9 @@ "additional_heat_generator": { "name": "Additional heat generator" }, + "additional_heat_generator2": { + "name": "Additional heat generator 2" + }, "disturbance_output": { "name": "Systemhealth" }, @@ -117,32 +120,41 @@ "heating_min_flow_out_temperature": { "name": "Min. target flow out" }, - "heating_circuit_curve1_temperature": { - "name": "Heating curve 1" + "heating_curve_end_temperature": { + "name": "Heating curve end point" + }, + "heating_curve_parallel_shift_temperature": { + "name": "Heating curve parallel shift" + }, + "heating_curve_night_temperature": { + "name": "Heating curve night reduction" }, - "heating_circuit_curve2_temperature": { - "name": "Heating curve 2" + "heating_curve_circuit1_end_temperature": { + "name": "MC1 heating curve end point" }, - "heating_circuit_curve_night_temperature": { - "name": "Heating curve night" + "heating_curve_circuit1_parallel_shift_temperature": { + "name": "MC1 heating curve parallel shift" }, - "heating_circuit2_curve1_temperature": { - "name": "HC2 Heating curve 1" + "heating_curve_circuit1_night_temperature": { + "name": "MC1 heating curve night reduction" }, - "heating_circuit2_curve2_temperature": { - "name": "HC2 Heating curve 2" + "heating_curve_circuit2_end_temperature": { + "name": "MC2 heating curve end point" }, - "heating_circuit2_curve_night_temperature": { - "name": "HC2 Heating curve night" + "heating_curve_circuit2_parallel_shift_temperature": { + "name": "MC2 heating curve parallel shift" }, - "heating_circuit3_curve1_temperature": { - "name": "HC3 Heating curve 1" + "heating_curve_circuit2_night_temperature": { + "name": "MC2 heating curve night reduction" }, - "heating_circuit3_curve2_temperature": { - "name": "HC3 Heating curve 2" + "heating_curve_circuit3_end_temperature": { + "name": "MC3 heating curve end point" }, - "heating_circuit3_curve_night_temperature": { - "name": "HC3 Heating curve night" + "heating_curve_circuit3_parallel_shift_temperature": { + "name": "MC3 heating curve parallel shift" + }, + "heating_curve_circuit3_night_temperature": { + "name": "MC3 heating curve night reduction" }, "dhw_target_temperature": { "name": "Target" @@ -478,6 +490,24 @@ "flow_in_temperature": { "name": "Flow in temperature" }, + "flow_in_circuit1_temperature": { + "name": "Flow in temperature circuit 1" + }, + "flow_in_circuit2_temperature": { + "name": "Flow in temperature circuit 2" + }, + "flow_in_circuit3_temperature": { + "name": "Flow in temperature circuit 3" + }, + "flow_in_circuit1_target_temperature": { + "name": "Flow in target temperature circuit 1" + }, + "flow_in_circuit2_target_temperature": { + "name": "Flow in target temperature circuit 2" + }, + "flow_in_circuit3_target_temperature": { + "name": "Flow in target temperature circuit 3" + }, "flow_out_temperature": { "name": "Flow out temperature" }, diff --git a/custom_components/luxtronik/translations/nl.json b/custom_components/luxtronik/translations/nl.json index ee1bbdf..1c22128 100644 --- a/custom_components/luxtronik/translations/nl.json +++ b/custom_components/luxtronik/translations/nl.json @@ -22,6 +22,9 @@ "additional_heat_generator": { "name": "Extra warmtegenerator" }, + "additional_heat_generator2": { + "name": "Extra warmtegenerator 2" + }, "disturbance_output": { "name": "Systeemstatus" }, @@ -114,32 +117,41 @@ "heating_min_flow_out_temperature": { "name": "Minimaal doelrendement" }, - "heating_circuit_curve1_temperature": { - "name": "Verwarmingscurve 1" + "heating_curve_end_temperature": { + "name": "Eindpunt Verwarmingscurve" + }, + "heating_curve_parallel_shift_temperature": { + "name": "Verwarmingscurve parallelle verschuiving" + }, + "heating_curve_night_temperature": { + "name": "Verwarmingscurve 's nachts reductie" }, - "heating_circuit_curve2_temperature": { - "name": "Verwarmingscurve 2" + "heating_curve_circuit1_end_temperature": { + "name": "VC1 Eindpunt Verwarmingscurve" }, - "heating_circuit_curve_night_temperature": { - "name": "Verwarmingscurve 's Nachts" + "heating_curve_circuit1_parallel_shift_temperature": { + "name": "VC1 Verwarmingscurve parallelle verschuiving" }, - "heating_circuit2_curve1_temperature": { - "name": "VC2 Verwarmingscurve 1" + "heating_curve_circuit1_night_temperature": { + "name": "VC1 Verwarmingscurve 's nachts reductie" }, - "heating_circuit2_curve2_temperature": { - "name": "VC2 Verwarmingscurve 2" + "heating_curve_circuit2_end_temperature": { + "name": "VC2 Eindpunt Verwarmingscurve" }, - "heating_circuit2_curve_night_temperature": { - "name": "VC2 Verwarmingscurve 's Nachts" + "heating_curve_circuit2_parallel_shift_temperature": { + "name": "VC2 Verwarmingscurve parallelle verschuiving" }, - "heating_circuit3_curve1_temperature": { - "name": "VC3 Verwarmingscurve 1" + "heating_curve_circuit2_night_temperature": { + "name": "VC2 Verwarmingscurve 's nachts reductie" }, - "heating_circuit3_curve2_temperature": { - "name": "VC3 Verwarmingscurve 2" + "heating_curve_circuit3_end_temperature": { + "name": "VC3 Eindpunt Verwarmingscurve" }, - "heating_circuit3_curve_night_temperature": { - "name": "VC3 Verwarmingscurve 's Nachts" + "heating_curve_circuit3_parallel_shift_temperature": { + "name": "VC3 Verwarmingscurve parallelle verschuiving" + }, + "heating_curve_circuit3_night_temperature": { + "name": "VC3 Verwarmingscurve 's nachts reductie" }, "dhw_target_temperature": { "name": "Doeltemperatuur" @@ -707,6 +719,24 @@ "flow_in_temperature": { "name": "Aanvoertemperatuur" }, + "flow_in_circuit1_temperature": { + "name": "Circuit van de aanvoertemperatuur 1" + }, + "flow_in_circuit2_temperature": { + "name": "Circuit van de aanvoertemperatuur 2" + }, + "flow_in_circuit3_temperature": { + "name": "Circuit van de aanvoertemperatuur 3" + }, + "flow_in_circuit1_target_temperature": { + "name": "Voeding doeltemperatuurcircuit 1" + }, + "flow_in_circuit2_target_temperature": { + "name": "Voeding doeltemperatuurcircuit 2" + }, + "flow_in_circuit3_target_temperature": { + "name": "Voeding doeltemperatuurcircuit 3" + }, "flow_out_temperature": { "name": "Retourtemperatuur" }, diff --git a/custom_components/luxtronik/translations/pl.json b/custom_components/luxtronik/translations/pl.json index 5ff8f77..4fc139f 100644 --- a/custom_components/luxtronik/translations/pl.json +++ b/custom_components/luxtronik/translations/pl.json @@ -19,6 +19,9 @@ "additional_heat_generator": { "name": "Dodatkowy generator ciep\u0142a" }, + "additional_heat_generator2": { + "name": "Dodatkowy generator ciep\u0142a 2" + }, "disturbance_output": { "name": "Stan systemu" }, @@ -111,14 +114,41 @@ "heating_min_flow_out_temperature": { "name": "Min. docelowy odp\u0142yw" }, - "heating_circuit_curve1_temperature": { - "name": "Krzywa grzewcza 1" + "heating_curve_end_temperature": { + "name": "Punkt ko\u0144cowy krzywej grzewczej" + }, + "heating_curve_parallel_shift_temperature": { + "name": "R\u00f3wnoleg\u0142e przesuni\u0119cie krzywej grzewczej" + }, + "heating_curve_night_temperature": { + "name": "Nocna redukcja krzywej grzewczej" + }, + "heating_curve_circuit1_end_temperature": { + "name": "Obw\u00f3d mieszany 1 punkt ko\u0144cowy krzywej grzewczej" + }, + "heating_curve_circuit1_parallel_shift_temperature": { + "name": "Obw\u00f3d mieszany 1 r\u00f3wnoleg\u0142e przesuni\u0119cie krzywej grzewczej" + }, + "heating_curve_circuit1_night_temperature": { + "name": "Obw\u00f3d mieszany 1 nocna redukcja krzywej grzewczej" + }, + "heating_curve_circuit2_end_temperature": { + "name": "Obw\u00f3d mieszany 2 punkt ko\u0144cowy krzywej grzewczej" + }, + "heating_curve_circuit2_parallel_shift_temperature": { + "name": "Obw\u00f3d mieszany 2 r\u00f3wnoleg\u0142e przesuni\u0119cie krzywej grzewczej" }, - "heating_circuit_curve2_temperature": { - "name": "Krzywa grzewcza 2" + "heating_curve_circuit2_night_temperature": { + "name": "Obw\u00f3d mieszany 2 nocna redukcja krzywej grzewczej" }, - "heating_circuit_curve_night_temperature": { - "name": "Krzywa grzewcza noc" + "heating_curve_circuit3_end_temperature": { + "name": "Obw\u00f3d mieszany 3 punkt ko\u0144cowy krzywej grzewczej" + }, + "heating_curve_circuit3_parallel_shift_temperature": { + "name": "Obw\u00f3d mieszany 3 r\u00f3wnoleg\u0142e przesuni\u0119cie krzywej grzewczej" + }, + "heating_curve_circuit3_night_temperature": { + "name": "Obw\u00f3d mieszany 3 nocna redukcja krzywej grzewczej" }, "dhw_target_temperature": { "name": "Temperatura docelowa ciep\u0142ej wody" @@ -415,6 +445,24 @@ "flow_in_temperature": { "name": "Temperatura na wej\u015Bciu" }, + "flow_in_circuit1_temperature": { + "name": "Obwód temperatury wlotowej 1" + }, + "flow_in_circuit2_temperature": { + "name": "Obwód temperatury wlotowej 2" + }, + "flow_in_circuit3_temperature": { + "name": "Obwód temperatury wlotowej 3" + }, + "flow_in_circuit1_target_temperature": { + "name": "Obwód docelowej temperatury na wlocie 1" + }, + "flow_in_circuit2_target_temperature": { + "name": "Obwód docelowej temperatury na wlocie 2" + }, + "flow_in_circuit3_target_temperature": { + "name": "Obwód docelowej temperatury na wlocie 3" + }, "flow_out_temperature": { "name": "Temperatura na wyj\u015Bciu" },