21
21
LUX_SENSOR_COOLING_THRESHOLD ,
22
22
LUX_SENSOR_COOLING_START_DELAY ,
23
23
LUX_SENSOR_COOLING_STOP_DELAY ,
24
- LUX_SENSOR_COOLING_TARGET ,
25
24
LUX_SENSOR_DOMESTIC_WATER_TARGET_TEMPERATURE ,
26
25
LUX_SENSOR_HEATING_CIRCUIT_CURVE1_TEMPERATURE ,
27
26
LUX_SENSOR_HEATING_CIRCUIT_CURVE2_TEMPERATURE ,
@@ -82,19 +81,14 @@ async def async_setup_entry(
82
81
83
82
deviceInfoHeating = hass .data [f"{ DOMAIN } _DeviceInfo_Heating" ]
84
83
if deviceInfoHeating is not None :
85
- text_heating_room_temperature_impact_factor = get_sensor_text (lang , 'heating_room_temperature_impact_factor' )
86
84
text_heating_threshold = get_sensor_text (lang , 'heating_threshold' )
87
85
text_correction = get_sensor_text (lang , 'correction' )
88
86
text_min_flow_out_temperature = get_sensor_text (lang , 'min_flow_out_temperature' )
89
87
text_heating_circuit_curve1_temperature = get_sensor_text (lang , 'circuit_curve1_temperature' )
90
88
text_heating_circuit_curve2_temperature = get_sensor_text (lang , 'circuit_curve2_temperature' )
91
89
text_heating_circuit_curve_night_temperature = get_sensor_text (lang , 'circuit_curve_night_temperature' )
90
+ has_room_temp = luxtronik .get_value ("parameters.ID_Einst_RFVEinb_akt" ) != 0
92
91
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 ),
98
92
LuxtronikNumber (
99
93
hass , luxtronik , deviceInfoHeating ,
100
94
number_key = LUX_SENSOR_HEATING_TARGET_CORRECTION ,
@@ -127,6 +121,16 @@ async def async_setup_entry(
127
121
icon = 'mdi:chart-bell-curve' , unit_of_measurement = TEMP_CELSIUS , min_value = - 15.0 , max_value = 10.0 , step = 0.5 , mode = MODE_BOX , entity_category = EntityCategory .CONFIG )
128
122
]
129
123
124
+ if has_room_temp :
125
+ text_heating_room_temperature_impact_factor = get_sensor_text (lang , 'heating_room_temperature_impact_factor' )
126
+ entities += [
127
+ LuxtronikNumber (
128
+ hass , luxtronik , deviceInfoHeating ,
129
+ number_key = LUX_SENSOR_HEATING_ROOM_TEMPERATURE_IMPACT_FACTOR ,
130
+ unique_id = 'heating_room_temperature_impact_factor' , name = f"{ text_heating_room_temperature_impact_factor } " ,
131
+ icon = 'mdi:thermometer-chevron-up' , unit_of_measurement = PERCENTAGE , min_value = 100 , max_value = 200 , step = 10 , mode = MODE_BOX , entity_category = EntityCategory .CONFIG )
132
+ ]
133
+
130
134
deviceInfoDomesticWater = hass .data [f"{ DOMAIN } _DeviceInfo_Domestic_Water" ]
131
135
if deviceInfoDomesticWater is not None :
132
136
text_target = get_sensor_text (lang , 'target' )
@@ -149,6 +153,7 @@ async def async_setup_entry(
149
153
lang , 'cooling_stop_delay_hours' )
150
154
text_cooling_target_temperature = get_sensor_text (
151
155
lang , 'cooling_target_temperature' )
156
+
152
157
entities += [
153
158
LuxtronikNumber (hass , luxtronik , deviceInfoCooling ,
154
159
number_key = LUX_SENSOR_COOLING_THRESHOLD ,
@@ -157,13 +162,6 @@ async def async_setup_entry(
157
162
icon = 'mdi:sun-thermometer' ,
158
163
unit_of_measurement = TEMP_CELSIUS ,
159
164
min_value = 18.0 , max_value = 30.0 , step = 0.5 , mode = MODE_BOX ),
160
- LuxtronikNumber (hass , luxtronik , deviceInfoCooling ,
161
- number_key = LUX_SENSOR_COOLING_TARGET ,
162
- unique_id = 'cooling_target_temperature' ,
163
- name = f"{ text_cooling_target_temperature } " ,
164
- icon = 'mdi:snowflake-thermometer' ,
165
- unit_of_measurement = TEMP_CELSIUS ,
166
- min_value = 18.0 , max_value = 25.0 , step = 1.0 , mode = MODE_BOX ),
167
165
LuxtronikNumber (hass , luxtronik , deviceInfoCooling ,
168
166
number_key = LUX_SENSOR_COOLING_START_DELAY ,
169
167
unique_id = 'cooling_start_delay_hours' ,
@@ -179,6 +177,16 @@ async def async_setup_entry(
179
177
unit_of_measurement = TIME_HOURS ,
180
178
min_value = 0.0 , max_value = 12.0 , step = 0.5 , mode = MODE_BOX ),
181
179
]
180
+ LUX_SENSOR_COOLING_TARGET = luxtronik .detect_cooling_target_temperature_sensor ()
181
+ entities += [
182
+ LuxtronikNumber (hass , luxtronik , deviceInfoCooling ,
183
+ number_key = LUX_SENSOR_COOLING_TARGET ,
184
+ unique_id = 'cooling_target_temperature' ,
185
+ name = f"{ text_cooling_target_temperature } " ,
186
+ icon = 'mdi:snowflake-thermometer' ,
187
+ unit_of_measurement = TEMP_CELSIUS ,
188
+ min_value = 18.0 , max_value = 25.0 , step = 1.0 , mode = MODE_BOX )
189
+ ] if LUX_SENSOR_COOLING_TARGET != None else []
182
190
183
191
async_add_entities (entities )
184
192
# endregion Setup
0 commit comments