From 71bf5e14cc9fc4de89cf38648fc3d7f2d16a2dda Mon Sep 17 00:00:00 2001 From: AdrianEddy Date: Fri, 12 Sep 2025 19:24:59 +0200 Subject: [PATCH] Add On/Off switch for DiscreteHeatingSystem in Overkiz (#151778) Co-authored-by: Mick Vleeshouwer --- homeassistant/components/overkiz/const.py | 1 + homeassistant/components/overkiz/switch.py | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/homeassistant/components/overkiz/const.py b/homeassistant/components/overkiz/const.py index 7f5f4ad85bd..99b7d48dcca 100644 --- a/homeassistant/components/overkiz/const.py +++ b/homeassistant/components/overkiz/const.py @@ -100,6 +100,7 @@ OVERKIZ_DEVICE_TO_PLATFORM: dict[UIClass | UIWidget, Platform | None] = { UIWidget.ATLANTIC_PASS_APC_HEATING_AND_COOLING_ZONE: Platform.CLIMATE, # widgetName, uiClass is HeatingSystem (not supported) UIWidget.ATLANTIC_PASS_APC_HEATING_ZONE: Platform.CLIMATE, # widgetName, uiClass is HeatingSystem (not supported) UIWidget.ATLANTIC_PASS_APC_ZONE_CONTROL: Platform.CLIMATE, # widgetName, uiClass is HeatingSystem (not supported) + UIWidget.DISCRETE_EXTERIOR_HEATING: Platform.SWITCH, # widgetName, uiClass is ExteriorHeatingSystem (not supported) UIWidget.DOMESTIC_HOT_WATER_PRODUCTION: Platform.WATER_HEATER, # widgetName, uiClass is WaterHeatingSystem (not supported) UIWidget.DOMESTIC_HOT_WATER_TANK: Platform.SWITCH, # widgetName, uiClass is WaterHeatingSystem (not supported) UIWidget.EVO_HOME_CONTROLLER: Platform.CLIMATE, # widgetName, uiClass is EvoHome (not supported) diff --git a/homeassistant/components/overkiz/switch.py b/homeassistant/components/overkiz/switch.py index d14b2792947..9260f9800a1 100644 --- a/homeassistant/components/overkiz/switch.py +++ b/homeassistant/components/overkiz/switch.py @@ -100,6 +100,15 @@ SWITCH_DESCRIPTIONS: list[OverkizSwitchDescription] = [ ), entity_category=EntityCategory.CONFIG, ), + OverkizSwitchDescription( + key=UIWidget.DISCRETE_EXTERIOR_HEATING, + turn_on=OverkizCommand.ON, + turn_off=OverkizCommand.OFF, + icon="mdi:radiator", + is_on=lambda select_state: ( + select_state(OverkizState.CORE_ON_OFF) == OverkizCommandParam.ON + ), + ), ] SUPPORTED_DEVICES = {