28
28
CONF_HA_SENSOR_INDOOR_TEMPERATURE ,
29
29
CONF_LANGUAGE_SENSOR_NAMES , CONF_PARAMETERS ,
30
30
CONF_VISIBILITIES , DEFAULT_TOLERANCE , DOMAIN , LOGGER ,
31
+
31
32
LUX_SENSOR_DOMESTIC_WATER_CURRENT_TEMPERATURE ,
32
33
LUX_SENSOR_DOMESTIC_WATER_TARGET_TEMPERATURE ,
33
- LUX_SENSOR_MODE_DOMESTIC_WATER , LUX_SENSOR_MODE_HEATING ,
34
+ LUX_SENSOR_HEATING_TEMPERATURE_CORRECTION ,
35
+ LUX_SENSOR_COOLING_TARGET ,
36
+ LUX_SENSOR_COOLING_THRESHOLD ,
37
+ LUX_SENSOR_OUTDOOR_TEMPERATURE ,
38
+
39
+ LUX_SENSOR_MODE_DOMESTIC_WATER ,
40
+ LUX_SENSOR_MODE_HEATING ,
41
+ LUX_SENSOR_MODE_COOLING ,
42
+
34
43
LUX_SENSOR_STATUS , LUX_SENSOR_STATUS1 , LUX_SENSOR_STATUS3 ,
35
44
LUX_STATUS1_WORKAROUND , LUX_STATUS3_WORKAROUND ,
36
45
LUX_STATUS_COOLING , LUX_STATUS_DEFROST ,
37
- LUX_STATUS_DOMESTIC_WATER , LUX_STATUS_EVU ,
38
- LUX_STATUS_HEATING , LUX_STATUS_HEATING_EXTERNAL_SOURCE ,
46
+ LUX_STATUS_DOMESTIC_WATER ,
47
+ LUX_STATUS_EVU ,
48
+ LUX_STATUS_HEATING ,
49
+ LUX_STATUS_HEATING_EXTERNAL_SOURCE ,
39
50
LUX_STATUS_NO_REQUEST , LUX_STATUS_SWIMMING_POOL_SOLAR ,
40
- PRESET_SECOND_HEATSOURCE , LuxMode )
51
+ PRESET_SECOND_HEATSOURCE , PRESET_AUTO ,
52
+ LuxMode )
41
53
from .helpers .helper import get_sensor_text
42
54
43
55
# endregion Imports
@@ -98,13 +110,11 @@ async def async_setup_entry(
98
110
99
111
deviceInfoCooling = hass .data [f"{ DOMAIN } _DeviceInfo_Cooling" ]
100
112
if deviceInfoCooling is not None :
101
- # Future use: cooling
102
- # text_cooling = get_sensor_text(lang, 'cooling')
113
+ text_cooling = get_sensor_text (lang , 'cooling' )
103
114
entities += [
104
- # TODO:
105
- # LuxtronikCoolingThermostat(hass, luxtronik, deviceInfoCooling, name=text_cooling,
106
- # control_mode_home_assistant=control_mode_home_assistant,
107
- # current_temperature_sensor=LUX_SENSOR_DOMESTIC_WATER_CURRENT_TEMPERATURE, entity_category=None)
115
+ LuxtronikCoolingThermostat (
116
+ hass , luxtronik , deviceInfoCooling , name = text_cooling , control_mode_home_assistant = control_mode_home_assistant ,
117
+ current_temperature_sensor = LUX_SENSOR_OUTDOOR_TEMPERATURE , entity_category = None )
108
118
]
109
119
110
120
async_add_entities (entities )
@@ -132,7 +142,7 @@ class LuxtronikThermostat(ClimateEntity, RestoreEntity):
132
142
_status_sensor : Final = LUX_SENSOR_STATUS
133
143
_target_temperature_sensor : str = None
134
144
135
- _heat_status = [LUX_STATUS_HEATING , LUX_STATUS_DOMESTIC_WATER ]
145
+ _heat_status = [LUX_STATUS_HEATING , LUX_STATUS_DOMESTIC_WATER , LUX_STATUS_COOLING ]
136
146
137
147
_cold_tolerance = DEFAULT_TOLERANCE
138
148
_hot_tolerance = DEFAULT_TOLERANCE
@@ -367,7 +377,9 @@ class LuxtronikDomesticWaterThermostat(LuxtronikThermostat):
367
377
_attr_icon = 'mdi:water-boiler'
368
378
_attr_device_class : Final = f"{ DOMAIN } __{ _attr_unique_id } "
369
379
370
- _attr_target_temperature_step = 2.5
380
+ _attr_target_temperature_step = 1.0
381
+ _attr_min_temp = 40.0
382
+ _attr_max_temp = 58.0
371
383
372
384
_target_temperature_sensor : Final = LUX_SENSOR_DOMESTIC_WATER_TARGET_TEMPERATURE
373
385
_heater_sensor : Final = LUX_SENSOR_MODE_DOMESTIC_WATER
@@ -379,23 +391,25 @@ class LuxtronikHeatingThermostat(LuxtronikThermostat):
379
391
_attr_icon = 'mdi:radiator'
380
392
_attr_device_class : Final = f"{ DOMAIN } __{ _attr_unique_id } "
381
393
382
- _attr_target_temperature = 20.5
383
- _attr_target_temperature_step = 0.1
384
- _attr_min_temp = 18 .0
385
- _attr_max_temp = 23 .0
394
+ # _attr_target_temperature = 20.5
395
+ _attr_target_temperature_step = 0.5
396
+ _attr_min_temp = - 5 .0
397
+ _attr_max_temp = + 5 .0
386
398
399
+ _target_temperature_sensor : Final = LUX_SENSOR_HEATING_TEMPERATURE_CORRECTION
387
400
_heater_sensor : Final = LUX_SENSOR_MODE_HEATING
388
-
401
+ _heat_status : Final = [ LUX_STATUS_HEATING ]
389
402
390
403
class LuxtronikCoolingThermostat (LuxtronikThermostat ):
391
404
_attr_unique_id = 'cooling'
392
405
_attr_icon = 'mdi:snowflake'
393
406
_attr_device_class : Final = f"{ DOMAIN } __{ _attr_unique_id } "
394
407
395
- _attr_target_temperature = 20.5
408
+ _target_temperature_sensor = LUX_SENSOR_COOLING_THRESHOLD
396
409
_attr_target_temperature_step = 0.5
397
410
_attr_min_temp = 18.0
398
411
_attr_max_temp = 30.0
412
+ _attr_preset_modes = [PRESET_NONE ]
399
413
400
414
# _heater_sensor: Final = LUX_SENSOR_MODE_HEATING
401
415
@@ -410,5 +424,5 @@ class LuxtronikCoolingThermostat(LuxtronikThermostat):
410
424
# parameters.ID_Einst_Kuhl_Zeit_Aus_akt
411
425
# stop cooling after this timeout
412
426
# 12.0
413
- _heater_sensor = 'calculations.ID_WEB_FreigabKuehl'
414
- _heat_status = ['cooling' ]
427
+ _heater_sensor = LUX_SENSOR_MODE_COOLING
428
+ _heat_status = [LUX_STATUS_COOLING ]
0 commit comments