|
9 | 9 | from homeassistant.config_entries import ConfigEntry
|
10 | 10 | from homeassistant.const import (DEVICE_CLASS_TEMPERATURE, ENTITY_CATEGORIES,
|
11 | 11 | TEMP_CELSIUS,
|
12 |
| - TIME_HOURS) |
| 12 | + TIME_HOURS, TIME_MINUTES, PERCENTAGE) |
13 | 13 | from homeassistant.core import HomeAssistant
|
14 | 14 | from homeassistant.helpers.entity import DeviceInfo, EntityCategory
|
15 | 15 | from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
|
23 | 23 | LUX_SENSOR_COOLING_STOP_DELAY,
|
24 | 24 | LUX_SENSOR_COOLING_TARGET,
|
25 | 25 | LUX_SENSOR_DOMESTIC_WATER_TARGET_TEMPERATURE,
|
26 |
| - LUX_SENSOR_HEATING_CIRCUIT_CURVE1_TEMPERATURE, |
27 |
| - LUX_SENSOR_HEATING_CIRCUIT_CURVE2_TEMPERATURE, |
28 |
| - LUX_SENSOR_HEATING_CIRCUIT_CURVE_NIGHT_TEMPERATURE, |
| 26 | + LUX_SENSOR_HEATING_CIRCUIT_CURVE1_TEMPERATURE, |
| 27 | + LUX_SENSOR_HEATING_CIRCUIT_CURVE2_TEMPERATURE, |
| 28 | + LUX_SENSOR_HEATING_CIRCUIT_CURVE_NIGHT_TEMPERATURE, |
29 | 29 | LUX_SENSOR_HEATING_MIN_FLOW_OUT_TEMPERATURE,
|
| 30 | + LUX_SENSOR_PUMP_OPTIMIZATION_TIME, |
| 31 | + LUX_SENSOR_MAXIMUM_CIRCULATION_PUMP_SPEED, |
30 | 32 | LUX_SENSOR_HEATING_TARGET_CORRECTION,
|
31 |
| - LUX_SENSOR_HEATING_THRESHOLD_TEMPERATURE) |
| 33 | + LUX_SENSOR_HEATING_THRESHOLD_TEMPERATURE, |
| 34 | + LUX_SENSOR_HEATING_ROOM_TEMPERATURE_IMPACT_FACTOR) |
32 | 35 | from .helpers.helper import get_sensor_text
|
33 | 36 |
|
34 | 37 | # endregion Imports
|
@@ -60,17 +63,38 @@ async def async_setup_entry(
|
60 | 63 | # Build Sensor names with local language:
|
61 | 64 | lang = config_entry.options.get(CONF_LANGUAGE_SENSOR_NAMES)
|
62 | 65 | text_temp = get_sensor_text(lang, 'temperature')
|
63 |
| - entities = [] |
| 66 | + |
| 67 | + deviceInfo = hass.data[f"{DOMAIN}_DeviceInfo"] |
| 68 | + text_pump_optimization_time = get_sensor_text(lang, 'pump_optimization_time') |
| 69 | + text_maximum_circulation_pump_speed = get_sensor_text(lang, 'maximum_circulation_pump_speed') |
| 70 | + entities = [ |
| 71 | + LuxtronikNumber( |
| 72 | + hass, luxtronik, deviceInfo, |
| 73 | + number_key=LUX_SENSOR_PUMP_OPTIMIZATION_TIME, |
| 74 | + unique_id='pump_optimization_time', name=f"{text_pump_optimization_time}", |
| 75 | + icon='mdi:timer-settings', unit_of_measurement=TIME_MINUTES, min_value=5, max_value=180, step=5, mode=MODE_AUTO, entity_category=EntityCategory.CONFIG), |
| 76 | + LuxtronikNumber( |
| 77 | + hass, luxtronik, deviceInfo, |
| 78 | + number_key=LUX_SENSOR_MAXIMUM_CIRCULATION_PUMP_SPEED, |
| 79 | + unique_id='maximum_circulation_pump_speed', name=f"{text_maximum_circulation_pump_speed}", |
| 80 | + icon='mdi:speedometer', unit_of_measurement=PERCENTAGE, min_value=0, max_value=100, step=10, mode=MODE_AUTO, entity_category=EntityCategory.CONFIG) |
| 81 | + ] |
64 | 82 |
|
65 | 83 | deviceInfoHeating = hass.data[f"{DOMAIN}_DeviceInfo_Heating"]
|
66 | 84 | if deviceInfoHeating is not None:
|
| 85 | + text_heating_room_temperature_impact_factor = get_sensor_text(lang, 'heating_room_temperature_impact_factor') |
67 | 86 | text_heating_threshold = get_sensor_text(lang, 'heating_threshold')
|
68 | 87 | text_correction = get_sensor_text(lang, 'correction')
|
69 | 88 | text_min_flow_out_temperature = get_sensor_text(lang, 'min_flow_out_temperature')
|
70 | 89 | text_heating_circuit_curve1_temperature = get_sensor_text(lang, 'circuit_curve1_temperature')
|
71 | 90 | text_heating_circuit_curve2_temperature = get_sensor_text(lang, 'circuit_curve2_temperature')
|
72 | 91 | text_heating_circuit_curve_night_temperature = get_sensor_text(lang, 'circuit_curve_night_temperature')
|
73 | 92 | entities += [
|
| 93 | + LuxtronikNumber( |
| 94 | + hass, luxtronik, deviceInfoHeating, |
| 95 | + number_key=LUX_SENSOR_HEATING_ROOM_TEMPERATURE_IMPACT_FACTOR, |
| 96 | + unique_id='heating_room_temperature_impact_factor', name=f"{text_heating_room_temperature_impact_factor}", |
| 97 | + icon='mdi:thermometer-chevron-up', unit_of_measurement=PERCENTAGE, min_value=100, max_value=200, step=5, mode=MODE_AUTO, entity_category=EntityCategory.CONFIG), |
74 | 98 | LuxtronikNumber(
|
75 | 99 | hass, luxtronik, deviceInfoHeating,
|
76 | 100 | number_key=LUX_SENSOR_HEATING_TARGET_CORRECTION,
|
@@ -111,7 +135,7 @@ async def async_setup_entry(
|
111 | 135 | LuxtronikNumber(
|
112 | 136 | hass, luxtronik, deviceInfoDomesticWater,
|
113 | 137 | number_key=LUX_SENSOR_DOMESTIC_WATER_TARGET_TEMPERATURE,
|
114 |
| - unique_id='domestic_water_target_temperature', name=f"{text_domestic_water} {text_target} {text_temp}", |
| 138 | + unique_id='domestic_water_target_temperature', name=f"{text_domestic_water} {text_target}", |
115 | 139 | icon='mdi:water-boiler', unit_of_measurement=TEMP_CELSIUS, min_value=40.0, max_value=60.0, step=1.0, mode=MODE_BOX)
|
116 | 140 | ]
|
117 | 141 |
|
|
0 commit comments