Skip to content

Commit 2b44b33

Browse files
committed
Update climate.py
1 parent 3109059 commit 2b44b33

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

custom_components/luxtronik/climate.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
from dataclasses import asdict, dataclass
77
from typing import Any
8+
from packaging.version import Version
89

910
from homeassistant.components.climate import (
1011
ENTITY_ID_FORMAT,
@@ -35,6 +36,7 @@
3536
CONF_HA_SENSOR_INDOOR_TEMPERATURE,
3637
CONF_HA_SENSOR_PREFIX,
3738
DOMAIN,
39+
LOGGER,
3840
LUX_STATE_ICON_MAP,
3941
LUX_STATE_ICON_MAP_COOL,
4042
DeviceKey,
@@ -110,7 +112,7 @@
110112
| ClimateEntityFeature.TARGET_TEMPERATURE, # noqa: W503
111113
luxtronik_key=LuxParameter.P0003_MODE_HEATING,
112114
luxtronik_key_current_temperature=LuxCalculation.C0227_ROOM_THERMOSTAT_TEMPERATURE,
113-
luxtronik_key_target_temperature=LuxParameter.P1148_HEATING_TARGET_TEMP_RBE,
115+
luxtronik_key_target_temperature=LuxParameter.P1148_HEATING_TARGET_TEMP_ROOM_THERMOSTAT,
114116
# luxtronik_key_has_target_temperature=LuxParameter
115117
luxtronik_key_current_action=LuxCalculation.C0080_STATUS,
116118
luxtronik_action_active=LuxOperationMode.heating.value,
@@ -297,7 +299,7 @@ def _handle_coordinator_update(
297299
self._attr_current_temperature = get_sensor_data(data, key)
298300

299301
key_tar = self.entity_description.luxtronik_key_target_temperature
300-
if key_tar == LuxParameter.P1148_HEATING_TARGET_TEMP_RBE:
302+
if key_tar == LuxParameter.P1148_HEATING_TARGET_TEMP_ROOM_THERMOSTAT:
301303
self._attr_target_temperature = get_sensor_data(data, key_tar) / 10
302304
elif key_tar != LuxParameter.UNSET:
303305
self._attr_target_temperature = get_sensor_data(data, key_tar)
@@ -344,13 +346,17 @@ async def async_set_temperature(self, **kwargs: Any) -> None:
344346
"""Set new target temperature."""
345347
self._attr_target_temperature = kwargs[ATTR_TEMPERATURE]
346348
key_tar = self.entity_description.luxtronik_key_target_temperature
347-
if key_tar == LuxParameter.P1148_HEATING_TARGET_TEMP_RBE:
349+
LOGGER.info(f"async_set_temperature={key_tar},{self._attr_target_temperature}")
350+
if key_tar == LuxParameter.P1148_HEATING_TARGET_TEMP_ROOM_THERMOSTAT:
348351
data: LuxtronikCoordinatorData | None = await self.coordinator.async_write(
349352
key_tar.split(".")[1], int(self._attr_target_temperature * 10)
350353
)
351354
self._handle_coordinator_update(data)
352-
elif key_tar != LuxCalculation.C0228_ROOM_THERMOSTAT_TEMPERATURE_TARGET
353-
super()._handle_coordinator_update()
355+
elif key_tar != LuxCalculation.C0228_ROOM_THERMOSTAT_TEMPERATURE_TARGET:
356+
data: LuxtronikCoordinatorData | None = await self.coordinator.async_write(
357+
key_tar.split(".")[1], int(self._attr_target_temperature)
358+
)
359+
self._handle_coordinator_update(data)
354360

355361
async def async_turn_off(self) -> None:
356362
await self.async_set_hvac_mode(HVACMode.OFF)

0 commit comments

Comments
 (0)