diff --git a/homeassistant/components/overkiz/select.py b/homeassistant/components/overkiz/select.py index 155fc3a538f3d9..56349f23312270 100644 --- a/homeassistant/components/overkiz/select.py +++ b/homeassistant/components/overkiz/select.py @@ -41,6 +41,17 @@ def _select_option_open_closed_pedestrian( }[OverkizCommandParam(option)] ) +def _select_option_open_closed_partial( + option: str, execute_command: Callable[..., Awaitable[None]] +) -> Awaitable[None]: + """Change the selected option for Open/Closed/Partial.""" + return execute_command( + { + OverkizCommandParam.CLOSED: OverkizCommand.CLOSE, + OverkizCommandParam.OPEN: OverkizCommand.OPEN, + OverkizCommandParam.PARTIAL: "setPartialPosition", # FIXME + }[OverkizCommandParam(option)] + ) def _select_option_memorized_simple_volume( option: str, execute_command: Callable[..., Awaitable[None]] @@ -73,6 +84,18 @@ def _select_option_active_zone( select_option=_select_option_open_closed_pedestrian, translation_key="open_closed_pedestrian", ), + OverkizSelectDescription( + key=OverkizState.CORE_OPEN_CLOSED_PARTIAL, + name="Position", + icon="mdi:content-save-cog", + options=[ + OverkizCommandParam.OPEN, + OverkizCommandParam.PARTIAL, + OverkizCommandParam.CLOSED, + ], + select_option=_select_option_open_closed_partial, + translation_key="open_closed_partial", + ), OverkizSelectDescription( key=OverkizState.IO_MEMORIZED_SIMPLE_VOLUME, name="Memorized simple volume", diff --git a/homeassistant/components/overkiz/strings.json b/homeassistant/components/overkiz/strings.json index bcf1e121f6fab5..82d29a7534a88f 100644 --- a/homeassistant/components/overkiz/strings.json +++ b/homeassistant/components/overkiz/strings.json @@ -64,6 +64,13 @@ "closed": "[%key:common::state::closed%]" } }, + "open_closed_partial": { + "state": { + "open": "[%key:common::state::open%]", + "partial": "Partial", + "closed": "[%key:common::state::closed%]" + } + }, "memorized_simple_volume": { "state": { "highest": "Highest",