Add support for AtlanticPassAPCZoneControl to Overkiz integration (#72384)
* Add support for AtlanticPassAPCZoneControl (overkiz) * Remove unneeded comments * Remove supported features * Fix new standards
This commit is contained in:
parent
1ef0102f12
commit
04c60d2183
3 changed files with 43 additions and 0 deletions
|
@ -2,7 +2,9 @@
|
|||
from pyoverkiz.enums.ui import UIWidget
|
||||
|
||||
from .atlantic_electrical_heater import AtlanticElectricalHeater
|
||||
from .atlantic_pass_apc_zone_control import AtlanticPassAPCZoneControl
|
||||
|
||||
WIDGET_TO_CLIMATE_ENTITY = {
|
||||
UIWidget.ATLANTIC_ELECTRICAL_HEATER: AtlanticElectricalHeater,
|
||||
UIWidget.ATLANTIC_PASS_APC_ZONE_CONTROL: AtlanticPassAPCZoneControl,
|
||||
}
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
"""Support for Atlantic Pass APC Zone Control."""
|
||||
from typing import cast
|
||||
|
||||
from pyoverkiz.enums import OverkizCommand, OverkizCommandParam, OverkizState
|
||||
|
||||
from homeassistant.components.climate import ClimateEntity
|
||||
from homeassistant.components.climate.const import HVACMode
|
||||
from homeassistant.components.overkiz.entity import OverkizEntity
|
||||
from homeassistant.const import TEMP_CELSIUS
|
||||
|
||||
OVERKIZ_TO_HVAC_MODE: dict[str, str] = {
|
||||
OverkizCommandParam.HEATING: HVACMode.HEAT,
|
||||
OverkizCommandParam.DRYING: HVACMode.DRY,
|
||||
OverkizCommandParam.COOLING: HVACMode.COOL,
|
||||
OverkizCommandParam.STOP: HVACMode.OFF,
|
||||
}
|
||||
|
||||
HVAC_MODE_TO_OVERKIZ = {v: k for k, v in OVERKIZ_TO_HVAC_MODE.items()}
|
||||
|
||||
|
||||
class AtlanticPassAPCZoneControl(OverkizEntity, ClimateEntity):
|
||||
"""Representation of Atlantic Pass APC Zone Control."""
|
||||
|
||||
_attr_hvac_modes = [*HVAC_MODE_TO_OVERKIZ]
|
||||
_attr_temperature_unit = TEMP_CELSIUS
|
||||
|
||||
@property
|
||||
def hvac_mode(self) -> str:
|
||||
"""Return hvac operation ie. heat, cool mode."""
|
||||
return OVERKIZ_TO_HVAC_MODE[
|
||||
cast(
|
||||
str, self.executor.select_state(OverkizState.IO_PASS_APC_OPERATING_MODE)
|
||||
)
|
||||
]
|
||||
|
||||
async def async_set_hvac_mode(self, hvac_mode: str) -> None:
|
||||
"""Set new target hvac mode."""
|
||||
await self.executor.async_execute_command(
|
||||
OverkizCommand.SET_PASS_APC_OPERATING_MODE, HVAC_MODE_TO_OVERKIZ[hvac_mode]
|
||||
)
|
|
@ -62,6 +62,7 @@ OVERKIZ_DEVICE_TO_PLATFORM: dict[UIClass | UIWidget, Platform | None] = {
|
|||
UIClass.WINDOW: Platform.COVER,
|
||||
UIWidget.ALARM_PANEL_CONTROLLER: Platform.ALARM_CONTROL_PANEL, # widgetName, uiClass is Alarm (not supported)
|
||||
UIWidget.ATLANTIC_ELECTRICAL_HEATER: Platform.CLIMATE, # widgetName, uiClass is HeatingSystem (not supported)
|
||||
UIWidget.ATLANTIC_PASS_APC_ZONE_CONTROL: Platform.CLIMATE, # widgetName, uiClass is HeatingSystem (not supported)
|
||||
UIWidget.DOMESTIC_HOT_WATER_TANK: Platform.SWITCH, # widgetName, uiClass is WaterHeatingSystem (not supported)
|
||||
UIWidget.MY_FOX_ALARM_CONTROLLER: Platform.ALARM_CONTROL_PANEL, # widgetName, uiClass is Alarm (not supported)
|
||||
UIWidget.MY_FOX_SECURITY_CAMERA: Platform.SWITCH, # widgetName, uiClass is Camera (not supported)
|
||||
|
|
Loading…
Add table
Reference in a new issue