mirror of
https://github.com/home-assistant/core.git
synced 2025-07-16 09:47:13 +00:00
Use climate enums in tolo (#70743)
This commit is contained in:
parent
b9379b5a88
commit
24b7d1f47b
@ -5,20 +5,13 @@ from typing import Any
|
|||||||
|
|
||||||
from tololib.const import Calefaction
|
from tololib.const import Calefaction
|
||||||
|
|
||||||
from homeassistant.components.climate import (
|
from homeassistant.components.climate import ClimateEntity
|
||||||
HVAC_MODE_HEAT,
|
|
||||||
HVAC_MODE_OFF,
|
|
||||||
ClimateEntity,
|
|
||||||
ClimateEntityFeature,
|
|
||||||
)
|
|
||||||
from homeassistant.components.climate.const import (
|
from homeassistant.components.climate.const import (
|
||||||
CURRENT_HVAC_DRY,
|
|
||||||
CURRENT_HVAC_HEAT,
|
|
||||||
CURRENT_HVAC_IDLE,
|
|
||||||
CURRENT_HVAC_OFF,
|
|
||||||
FAN_OFF,
|
FAN_OFF,
|
||||||
FAN_ON,
|
FAN_ON,
|
||||||
HVAC_MODE_DRY,
|
ClimateEntityFeature,
|
||||||
|
HVACAction,
|
||||||
|
HVACMode,
|
||||||
)
|
)
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import ATTR_TEMPERATURE, PRECISION_WHOLE, TEMP_CELSIUS
|
from homeassistant.const import ATTR_TEMPERATURE, PRECISION_WHOLE, TEMP_CELSIUS
|
||||||
@ -49,7 +42,7 @@ class SaunaClimate(ToloSaunaCoordinatorEntity, ClimateEntity):
|
|||||||
"""Sauna climate control."""
|
"""Sauna climate control."""
|
||||||
|
|
||||||
_attr_fan_modes = [FAN_ON, FAN_OFF]
|
_attr_fan_modes = [FAN_ON, FAN_OFF]
|
||||||
_attr_hvac_modes = [HVAC_MODE_OFF, HVAC_MODE_HEAT, HVAC_MODE_DRY]
|
_attr_hvac_modes = [HVACMode.OFF, HVACMode.HEAT, HVACMode.DRY]
|
||||||
_attr_max_humidity = DEFAULT_MAX_HUMIDITY
|
_attr_max_humidity = DEFAULT_MAX_HUMIDITY
|
||||||
_attr_max_temp = DEFAULT_MAX_TEMP
|
_attr_max_temp = DEFAULT_MAX_TEMP
|
||||||
_attr_min_humidity = DEFAULT_MIN_HUMIDITY
|
_attr_min_humidity = DEFAULT_MIN_HUMIDITY
|
||||||
@ -93,28 +86,28 @@ class SaunaClimate(ToloSaunaCoordinatorEntity, ClimateEntity):
|
|||||||
return self.coordinator.data.settings.target_humidity
|
return self.coordinator.data.settings.target_humidity
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def hvac_mode(self) -> str:
|
def hvac_mode(self) -> HVACMode:
|
||||||
"""Get current HVAC mode."""
|
"""Get current HVAC mode."""
|
||||||
if self.coordinator.data.status.power_on:
|
if self.coordinator.data.status.power_on:
|
||||||
return HVAC_MODE_HEAT
|
return HVACMode.HEAT
|
||||||
if (
|
if (
|
||||||
not self.coordinator.data.status.power_on
|
not self.coordinator.data.status.power_on
|
||||||
and self.coordinator.data.status.fan_on
|
and self.coordinator.data.status.fan_on
|
||||||
):
|
):
|
||||||
return HVAC_MODE_DRY
|
return HVACMode.DRY
|
||||||
return HVAC_MODE_OFF
|
return HVACMode.OFF
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def hvac_action(self) -> str | None:
|
def hvac_action(self) -> HVACAction | None:
|
||||||
"""Execute HVAC action."""
|
"""Execute HVAC action."""
|
||||||
if self.coordinator.data.status.calefaction == Calefaction.HEAT:
|
if self.coordinator.data.status.calefaction == Calefaction.HEAT:
|
||||||
return CURRENT_HVAC_HEAT
|
return HVACAction.HEATING
|
||||||
if self.coordinator.data.status.calefaction == Calefaction.KEEP:
|
if self.coordinator.data.status.calefaction == Calefaction.KEEP:
|
||||||
return CURRENT_HVAC_IDLE
|
return HVACAction.IDLE
|
||||||
if self.coordinator.data.status.calefaction == Calefaction.INACTIVE:
|
if self.coordinator.data.status.calefaction == Calefaction.INACTIVE:
|
||||||
if self.coordinator.data.status.fan_on:
|
if self.coordinator.data.status.fan_on:
|
||||||
return CURRENT_HVAC_DRY
|
return HVACAction.DRYING
|
||||||
return CURRENT_HVAC_OFF
|
return HVACAction.OFF
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@ -124,13 +117,13 @@ class SaunaClimate(ToloSaunaCoordinatorEntity, ClimateEntity):
|
|||||||
return FAN_ON
|
return FAN_ON
|
||||||
return FAN_OFF
|
return FAN_OFF
|
||||||
|
|
||||||
def set_hvac_mode(self, hvac_mode: str) -> None:
|
def set_hvac_mode(self, hvac_mode: HVACMode) -> None:
|
||||||
"""Set HVAC mode."""
|
"""Set HVAC mode."""
|
||||||
if hvac_mode == HVAC_MODE_OFF:
|
if hvac_mode == HVACMode.OFF:
|
||||||
self._set_power_and_fan(False, False)
|
self._set_power_and_fan(False, False)
|
||||||
if hvac_mode == HVAC_MODE_HEAT:
|
if hvac_mode == HVACMode.HEAT:
|
||||||
self._set_power_and_fan(True, False)
|
self._set_power_and_fan(True, False)
|
||||||
if hvac_mode == HVAC_MODE_DRY:
|
if hvac_mode == HVACMode.DRY:
|
||||||
self._set_power_and_fan(False, True)
|
self._set_power_and_fan(False, True)
|
||||||
|
|
||||||
def set_fan_mode(self, fan_mode: str) -> None:
|
def set_fan_mode(self, fan_mode: str) -> None:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user