mirror of
https://github.com/home-assistant/core.git
synced 2025-07-18 18:57:06 +00:00
Align Comelit climate code to humidifier (#113747)
This commit is contained in:
parent
2582172ad1
commit
ae55e8e1ba
@ -25,7 +25,7 @@ from .const import DOMAIN
|
|||||||
from .coordinator import ComelitSerialBridge
|
from .coordinator import ComelitSerialBridge
|
||||||
|
|
||||||
|
|
||||||
class ClimaMode(StrEnum):
|
class ClimaComelitMode(StrEnum):
|
||||||
"""Serial Bridge clima modes."""
|
"""Serial Bridge clima modes."""
|
||||||
|
|
||||||
AUTO = "A"
|
AUTO = "A"
|
||||||
@ -34,8 +34,8 @@ class ClimaMode(StrEnum):
|
|||||||
UPPER = "U"
|
UPPER = "U"
|
||||||
|
|
||||||
|
|
||||||
class ClimaAction(StrEnum):
|
class ClimaComelitCommand(StrEnum):
|
||||||
"""Serial Bridge clima actions."""
|
"""Serial Bridge clima commands."""
|
||||||
|
|
||||||
OFF = "off"
|
OFF = "off"
|
||||||
ON = "on"
|
ON = "on"
|
||||||
@ -45,28 +45,28 @@ class ClimaAction(StrEnum):
|
|||||||
|
|
||||||
|
|
||||||
API_STATUS: dict[str, dict[str, Any]] = {
|
API_STATUS: dict[str, dict[str, Any]] = {
|
||||||
ClimaMode.OFF: {
|
ClimaComelitMode.OFF: {
|
||||||
"action": "off",
|
"action": "off",
|
||||||
"hvac_mode": HVACMode.OFF,
|
"hvac_mode": HVACMode.OFF,
|
||||||
"hvac_action": HVACAction.OFF,
|
"hvac_action": HVACAction.OFF,
|
||||||
},
|
},
|
||||||
ClimaMode.LOWER: {
|
ClimaComelitMode.LOWER: {
|
||||||
"action": "lower",
|
"action": "lower",
|
||||||
"hvac_mode": HVACMode.COOL,
|
"hvac_mode": HVACMode.COOL,
|
||||||
"hvac_action": HVACAction.COOLING,
|
"hvac_action": HVACAction.COOLING,
|
||||||
},
|
},
|
||||||
ClimaMode.UPPER: {
|
ClimaComelitMode.UPPER: {
|
||||||
"action": "upper",
|
"action": "upper",
|
||||||
"hvac_mode": HVACMode.HEAT,
|
"hvac_mode": HVACMode.HEAT,
|
||||||
"hvac_action": HVACAction.HEATING,
|
"hvac_action": HVACAction.HEATING,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
MODE_TO_ACTION: dict[HVACMode, ClimaAction] = {
|
MODE_TO_ACTION: dict[HVACMode, ClimaComelitCommand] = {
|
||||||
HVACMode.OFF: ClimaAction.OFF,
|
HVACMode.OFF: ClimaComelitCommand.OFF,
|
||||||
HVACMode.AUTO: ClimaAction.AUTO,
|
HVACMode.AUTO: ClimaComelitCommand.AUTO,
|
||||||
HVACMode.COOL: ClimaAction.MANUAL,
|
HVACMode.COOL: ClimaComelitCommand.MANUAL,
|
||||||
HVACMode.HEAT: ClimaAction.MANUAL,
|
HVACMode.HEAT: ClimaComelitCommand.MANUAL,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -139,7 +139,7 @@ class ComelitClimateEntity(CoordinatorEntity[ComelitSerialBridge], ClimateEntity
|
|||||||
@property
|
@property
|
||||||
def _api_automatic(self) -> bool:
|
def _api_automatic(self) -> bool:
|
||||||
"""Return device in automatic/manual mode."""
|
"""Return device in automatic/manual mode."""
|
||||||
return self._clima[3] == ClimaMode.AUTO
|
return self._clima[3] == ClimaComelitMode.AUTO
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def target_temperature(self) -> float:
|
def target_temperature(self) -> float:
|
||||||
@ -155,7 +155,7 @@ class ComelitClimateEntity(CoordinatorEntity[ComelitSerialBridge], ClimateEntity
|
|||||||
def hvac_mode(self) -> HVACMode | None:
|
def hvac_mode(self) -> HVACMode | None:
|
||||||
"""HVAC current mode."""
|
"""HVAC current mode."""
|
||||||
|
|
||||||
if self._api_mode == ClimaMode.OFF:
|
if self._api_mode == ClimaComelitMode.OFF:
|
||||||
return HVACMode.OFF
|
return HVACMode.OFF
|
||||||
|
|
||||||
if self._api_automatic:
|
if self._api_automatic:
|
||||||
@ -170,7 +170,7 @@ class ComelitClimateEntity(CoordinatorEntity[ComelitSerialBridge], ClimateEntity
|
|||||||
def hvac_action(self) -> HVACAction | None:
|
def hvac_action(self) -> HVACAction | None:
|
||||||
"""HVAC current action."""
|
"""HVAC current action."""
|
||||||
|
|
||||||
if self._api_mode == ClimaMode.OFF:
|
if self._api_mode == ClimaComelitMode.OFF:
|
||||||
return HVACAction.OFF
|
return HVACAction.OFF
|
||||||
|
|
||||||
if not self._api_active:
|
if not self._api_active:
|
||||||
@ -189,10 +189,10 @@ class ComelitClimateEntity(CoordinatorEntity[ComelitSerialBridge], ClimateEntity
|
|||||||
return
|
return
|
||||||
|
|
||||||
await self.coordinator.api.set_clima_status(
|
await self.coordinator.api.set_clima_status(
|
||||||
self._device.index, ClimaAction.MANUAL
|
self._device.index, ClimaComelitCommand.MANUAL
|
||||||
)
|
)
|
||||||
await self.coordinator.api.set_clima_status(
|
await self.coordinator.api.set_clima_status(
|
||||||
self._device.index, ClimaAction.SET, target_temp
|
self._device.index, ClimaComelitCommand.SET, target_temp
|
||||||
)
|
)
|
||||||
|
|
||||||
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None:
|
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None:
|
||||||
@ -200,7 +200,7 @@ class ComelitClimateEntity(CoordinatorEntity[ComelitSerialBridge], ClimateEntity
|
|||||||
|
|
||||||
if hvac_mode != HVACMode.OFF:
|
if hvac_mode != HVACMode.OFF:
|
||||||
await self.coordinator.api.set_clima_status(
|
await self.coordinator.api.set_clima_status(
|
||||||
self._device.index, ClimaAction.ON
|
self._device.index, ClimaComelitCommand.ON
|
||||||
)
|
)
|
||||||
await self.coordinator.api.set_clima_status(
|
await self.coordinator.api.set_clima_status(
|
||||||
self._device.index, MODE_TO_ACTION[hvac_mode]
|
self._device.index, MODE_TO_ACTION[hvac_mode]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user