diff --git a/custom_components/luxtronik/__init__.py b/custom_components/luxtronik/__init__.py index 870402c..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,33 +289,78 @@ 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_CIRCUIT2_TEMPERATURE, + SK.FLOW_IN_CIRCUIT1_TEMPERATURE, P.NUMBER, ) _up( "flow_in_circuit3_temperature", - SK.FLOW_IN_CIRCUIT3_TEMPERATURE, + SK.FLOW_IN_CIRCUIT2_TEMPERATURE, P.NUMBER, ) _up( "flow_in_circuit2_target_temperature", - SK.FLOW_IN_CIRCUIT2_TARGET_TEMPERATURE, + SK.FLOW_IN_CIRCUIT1_TARGET_TEMPERATURE, P.NUMBER, ) _up( "flow_in_circuit3_target_temperature", - SK.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( - "additional_heat_generator2_operation_hours", - SK.ADDITIONAL_HEAT_GENERATOR2_OPERATION_HOURS, + "heating_circuit3_curve_night_temperature", + SK.HEATING_CURVE_CIRCUIT3_NIGHT_TEMPERATURE, P.NUMBER, ) diff --git a/custom_components/luxtronik/const.py b/custom_components/luxtronik/const.py index 6b34d93..dc0610e 100644 --- a/custom_components/luxtronik/const.py +++ b/custom_components/luxtronik/const.py @@ -263,21 +263,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" @@ -315,16 +336,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" @@ -407,11 +418,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" - C0018_FLOW_IN_CIRCUIT2_TEMPERATURE: Final = "calculations.ID_WEB_Temperatur_TFB1" - C0019_FLOW_IN_CIRCUIT3_TEMPERATURE: Final = "calculations.ID_WEB_Temperatur_TFB2" - C0020_FLOW_IN_CIRCUIT2_TARGET_TEMPERATURE: Final = "calculations.ID_WEB_Sollwert_TVL_MK1" - C0021_FLOW_IN_CIRCUIT3_TARGET_TEMPERATURE: Final = "calculations.ID_WEB_Sollwert_TVL_MK2" - C0022_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" @@ -522,7 +535,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" @@ -553,7 +568,6 @@ class LuxVisibility(StrEnum): 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" ) @@ -630,8 +644,10 @@ 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" @@ -667,18 +683,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/number_entities_predefined.py b/custom_components/luxtronik/number_entities_predefined.py index 46a5491..f01c3bf 100644 --- a/custom_components/luxtronik/number_entities_predefined.py +++ b/custom_components/luxtronik/number_entities_predefined.py @@ -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, diff --git a/custom_components/luxtronik/sensor.py b/custom_components/luxtronik/sensor.py index 1fcd0aa..ba40676 100644 --- a/custom_components/luxtronik/sensor.py +++ b/custom_components/luxtronik/sensor.py @@ -298,7 +298,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.C0022_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 28842b2..51cdbd3 100644 --- a/custom_components/luxtronik/sensor_entities_predefined.py +++ b/custom_components/luxtronik/sensor_entities_predefined.py @@ -450,7 +450,7 @@ ), descr( key=SensorKey.HEAT_SOURCE_OUTPUT_TEMPERATURE, - luxtronik_key=LC.C0022_HEAT_SOURCE_OUTPUT_TEMPERATURE, + luxtronik_key=LC.C0024_HEAT_SOURCE_OUTPUT_TEMPERATURE, icon="mdi:thermometer", state_class=SensorStateClass.MEASUREMENT, device_class=SensorDeviceClass.TEMPERATURE, @@ -502,7 +502,7 @@ ), descr( key=SensorKey.FLOW_IN_CIRCUIT2_TEMPERATURE, - luxtronik_key=LC.C0018_FLOW_IN_CIRCUIT2_TEMPERATURE, + luxtronik_key=LC.C0018_FLOW_IN_CIRCUIT1_TEMPERATURE, device_key=DeviceKey.heating, entity_category=None, icon="mdi:waves-arrow-right", @@ -512,7 +512,7 @@ ), descr( key=SensorKey.FLOW_IN_CIRCUIT3_TEMPERATURE, - luxtronik_key=LC.C0019_FLOW_IN_CIRCUIT3_TEMPERATURE, + luxtronik_key=LC.C0019_FLOW_IN_CIRCUIT2_TEMPERATURE, device_key=DeviceKey.heating, entity_category=None, icon="mdi:waves-arrow-right", @@ -522,7 +522,7 @@ ), descr( key=SensorKey.FLOW_IN_CIRCUIT2_TARGET_TEMPERATURE, - luxtronik_key=LC.C0020_FLOW_IN_CIRCUIT2_TARGET_TEMPERATURE, + luxtronik_key=LC.C0021_FLOW_IN_CIRCUIT1_TARGET_TEMPERATURE, device_key=DeviceKey.heating, entity_category=None, icon="mdi:thermometer", @@ -532,7 +532,7 @@ ), descr( key=SensorKey.FLOW_IN_CIRCUIT3_TARGET_TEMPERATURE, - luxtronik_key=LC.C0021_FLOW_IN_CIRCUIT3_TARGET_TEMPERATURE, + luxtronik_key=LC.C0022_FLOW_IN_CIRCUIT2_TARGET_TEMPERATURE, device_key=DeviceKey.heating, entity_category=None, icon="mdi:thermometer", diff --git a/custom_components/luxtronik/translations/cs.json b/custom_components/luxtronik/translations/cs.json index 790cef5..61cc422 100644 --- a/custom_components/luxtronik/translations/cs.json +++ b/custom_components/luxtronik/translations/cs.json @@ -117,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_circuit_curve2_temperature": { - "name": "Topn\u00e1 k\u0159ivka 2" + "heating_curve_parallel_shift_temperature": { + "name": "Paraleln\u00ed posun topn\u00e9 k\u0159ivky" }, - "heating_circuit_curve_night_temperature": { - "name": "No\u010dn\u00ed topn\u00e1 k\u0159ivka" + "heating_curve_night_temperature": { + "name": "No\u010dn\u00ed redukce topn\u00e9 k\u0159ivky" }, - "heating_circuit2_curve1_temperature": { - "name": "Topn\u00e1 k\u0159ivka 1 pro okruh 2" + "heating_curve_circuit1_end_temperature": { + "name": "Koncov\u00fd bod topn\u00e9 k\u0159ivky pro okruh 1" }, - "heating_circuit2_curve2_temperature": { - "name": "Topn\u00e1 k\u0159ivka 2 pro okruh 2" + "heating_curve_circuit1_parallel_shift_temperature": { + "name": "Paraleln\u00ed posun topn\u00e9 k\u0159ivky pro okruh 1" }, - "heating_circuit2_curve_night_temperature": { - "name": "No\u010dn\u00ed topn\u00e1 k\u0159ivka pro okruh 2" + "heating_curve_circuit1_night_temperature": { + "name": "No\u010dn\u00ed redukce topn\u00e9 k\u0159ivky pro okruh 1" }, - "heating_circuit3_curve1_temperature": { - "name": "Topn\u00e1 k\u0159ivka 1 pro okruh 3" + "heating_curve_circuit2_end_temperature": { + "name": "Koncov\u00fd bod topn\u00e9 k\u0159ivky pro okruh 2" }, - "heating_circuit3_curve2_temperature": { - "name": "Topn\u00e1 k\u0159ivka 2 pro okruh 3" + "heating_curve_circuit2_parallel_shift_temperature": { + "name": "Paraleln\u00ed posun topn\u00e9 k\u0159ivky pro okruh 2" }, - "heating_circuit3_curve_night_temperature": { - "name": "No\u010dn\u00ed topn\u00e1 k\u0159ivka pro okruh 3" + "heating_curve_circuit2_night_temperature": { + "name": "No\u010dn\u00ed redukce topn\u00e9 k\u0159ivky pro okruh 2" + }, + "heating_curve_circuit3_end_temperature": { + "name": "Koncov\u00fd bod topn\u00e9 k\u0159ivky 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" @@ -714,12 +723,18 @@ "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" }, diff --git a/custom_components/luxtronik/translations/de.json b/custom_components/luxtronik/translations/de.json index 8f9f436..b2a9cd0 100644 --- a/custom_components/luxtronik/translations/de.json +++ b/custom_components/luxtronik/translations/de.json @@ -117,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_circuit_curve2_temperature": { - "name": "Heizkurve 2" + "heating_curve_parallel_shift_temperature": { + "name": "Heizkurve Parallelverschiebung" }, - "heating_circuit_curve_night_temperature": { - "name": "Heizkurve Nachts" + "heating_curve_night_temperature": { + "name": "Heizkurve Nachtabsenkung" }, - "heating_circuit2_curve1_temperature": { - "name": "MK2 Heizkurve 1" + "heating_curve_circuit1_end_temperature": { + "name": "MK1 Heizkurve Endpunkt" }, - "heating_circuit2_curve2_temperature": { - "name": "MK2 Heizkurve 2" + "heating_curve_circuit1_parallel_shift_temperature": { + "name": "MK1 Heizkurve Parallelverschiebung" }, - "heating_circuit2_curve_night_temperature": { - "name": "MK2 Heizkurve Nachts" + "heating_curve_circuit1_night_temperature": { + "name": "MK1 Heizkurve Nachtabsenkung" }, - "heating_circuit3_curve1_temperature": { - "name": "MK3 Heizkurve 1" + "heating_curve_circuit2_end_temperature": { + "name": "MK2 Heizkurve Endpunkt" }, - "heating_circuit3_curve2_temperature": { - "name": "MK3 Heizkurve 2" + "heating_curve_circuit2_parallel_shift_temperature": { + "name": "MK2 Heizkurve Parallelverschiebung" }, - "heating_circuit3_curve_night_temperature": { - "name": "MK3 Heizkurve Nachts" + "heating_curve_circuit2_night_temperature": { + "name": "MK2 Heizkurve Nachtabsenkung" + }, + "heating_curve_circuit3_end_temperature": { + "name": "MK3 Heizkurve Endpunkt" + }, + "heating_curve_circuit3_parallel_shift_temperature": { + "name": "MK3 Heizkurve Parallelverschiebung" + }, + "heating_curve_circuit3_night_temperature": { + "name": "MK3 Heizkurve Nachtabsenkung" }, "dhw_target_temperature": { "name": "Soll" @@ -716,12 +725,18 @@ "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" }, diff --git a/custom_components/luxtronik/translations/en.json b/custom_components/luxtronik/translations/en.json index 77b4953..868a07f 100644 --- a/custom_components/luxtronik/translations/en.json +++ b/custom_components/luxtronik/translations/en.json @@ -120,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_circuit_curve2_temperature": { - "name": "Heating curve 2" + "heating_curve_parallel_shift_temperature": { + "name": "Heating curve parallel shift" }, - "heating_circuit_curve_night_temperature": { - "name": "Heating curve night" + "heating_curve_night_temperature": { + "name": "Heating curve night reduction" }, - "heating_circuit2_curve1_temperature": { - "name": "HC2 Heating curve 1" + "heating_curve_circuit1_end_temperature": { + "name": "MC1 heating curve end point" }, - "heating_circuit2_curve2_temperature": { - "name": "HC2 Heating curve 2" + "heating_curve_circuit1_parallel_shift_temperature": { + "name": "MC1 heating curve parallel shift" }, - "heating_circuit2_curve_night_temperature": { - "name": "HC2 Heating curve night" + "heating_curve_circuit1_night_temperature": { + "name": "MC1 heating curve night reduction" }, - "heating_circuit3_curve1_temperature": { - "name": "HC3 Heating curve 1" + "heating_curve_circuit2_end_temperature": { + "name": "MC2 heating curve end point" }, - "heating_circuit3_curve2_temperature": { - "name": "HC3 Heating curve 2" + "heating_curve_circuit2_parallel_shift_temperature": { + "name": "MC2 heating curve parallel shift" }, - "heating_circuit3_curve_night_temperature": { - "name": "HC3 Heating curve night" + "heating_curve_circuit2_night_temperature": { + "name": "MC2 heating curve night reduction" + }, + "heating_curve_circuit3_end_temperature": { + "name": "MC3 heating curve end point" + }, + "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" @@ -481,12 +490,18 @@ "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" }, diff --git a/custom_components/luxtronik/translations/nl.json b/custom_components/luxtronik/translations/nl.json index 5d3aaef..9e56fb5 100644 --- a/custom_components/luxtronik/translations/nl.json +++ b/custom_components/luxtronik/translations/nl.json @@ -117,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_circuit_curve2_temperature": { - "name": "Verwarmingscurve 2" + "heating_curve_parallel_shift_temperature": { + "name": "Verwarmingscurve parallelle verschuiving" }, - "heating_circuit_curve_night_temperature": { - "name": "Verwarmingscurve 's Nachts" + "heating_curve_night_temperature": { + "name": "Verwarmingscurve 's nachts reductie" }, - "heating_circuit2_curve1_temperature": { - "name": "VC2 Verwarmingscurve 1" + "heating_curve_circuit1_end_temperature": { + "name": "VC1 Eindpunt Verwarmingscurve" }, - "heating_circuit2_curve2_temperature": { - "name": "VC2 Verwarmingscurve 2" + "heating_curve_circuit1_parallel_shift_temperature": { + "name": "VC1 Verwarmingscurve parallelle verschuiving" }, - "heating_circuit2_curve_night_temperature": { - "name": "VC2 Verwarmingscurve 's Nachts" + "heating_curve_circuit1_night_temperature": { + "name": "VC1 Verwarmingscurve 's nachts reductie" }, - "heating_circuit3_curve1_temperature": { - "name": "VC3 Verwarmingscurve 1" + "heating_curve_circuit2_end_temperature": { + "name": "VC2 Eindpunt Verwarmingscurve" }, - "heating_circuit3_curve2_temperature": { - "name": "VC3 Verwarmingscurve 2" + "heating_curve_circuit2_parallel_shift_temperature": { + "name": "VC2 Verwarmingscurve parallelle verschuiving" }, - "heating_circuit3_curve_night_temperature": { - "name": "VC3 Verwarmingscurve 's Nachts" + "heating_curve_circuit2_night_temperature": { + "name": "VC2 Verwarmingscurve 's nachts reductie" + }, + "heating_curve_circuit3_end_temperature": { + "name": "VC3 Eindpunt Verwarmingscurve" + }, + "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": "Zou moeten" @@ -710,12 +719,18 @@ "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" }, diff --git a/custom_components/luxtronik/translations/pl.json b/custom_components/luxtronik/translations/pl.json index 8d22241..4fc139f 100644 --- a/custom_components/luxtronik/translations/pl.json +++ b/custom_components/luxtronik/translations/pl.json @@ -114,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_circuit_curve2_temperature": { - "name": "Krzywa grzewcza 2" + "heating_curve_parallel_shift_temperature": { + "name": "R\u00f3wnoleg\u0142e przesuni\u0119cie krzywej grzewczej" }, - "heating_circuit_curve_night_temperature": { - "name": "Krzywa grzewcza noc" + "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_curve_circuit2_night_temperature": { + "name": "Obw\u00f3d mieszany 2 nocna redukcja krzywej grzewczej" + }, + "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" @@ -418,12 +445,18 @@ "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" },