From 90efe5ac9082516d7b3214c4a05db7b06cc15a96 Mon Sep 17 00:00:00 2001 From: Maikel Punie Date: Tue, 23 Apr 2024 16:44:37 +0200 Subject: [PATCH] Velbus Cover: Assume state for VMBxBL modules (#109213) --- homeassistant/components/velbus/cover.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/velbus/cover.py b/homeassistant/components/velbus/cover.py index f37de104659..823d682d339 100644 --- a/homeassistant/components/velbus/cover.py +++ b/homeassistant/components/velbus/cover.py @@ -34,6 +34,7 @@ class VelbusCover(VelbusEntity, CoverEntity): """Representation a Velbus cover.""" _channel: VelbusBlind + _assumed_closed: bool def __init__(self, channel: VelbusBlind) -> None: """Initialize the cover.""" @@ -51,11 +52,16 @@ class VelbusCover(VelbusEntity, CoverEntity): | CoverEntityFeature.CLOSE | CoverEntityFeature.STOP ) + self._attr_assumed_state = True + # guess the state to get the open/closed icons somewhat working + self._assumed_closed = False @property def is_closed(self) -> bool | None: """Return if the cover is closed.""" - return self._channel.is_closed() + if self._channel.support_position(): + return self._channel.is_closed() + return self._assumed_closed @property def is_opening(self) -> bool: @@ -83,11 +89,13 @@ class VelbusCover(VelbusEntity, CoverEntity): async def async_open_cover(self, **kwargs: Any) -> None: """Open the cover.""" await self._channel.open() + self._assumed_closed = False @api_call async def async_close_cover(self, **kwargs: Any) -> None: """Close the cover.""" await self._channel.close() + self._assumed_closed = True @api_call async def async_stop_cover(self, **kwargs: Any) -> None: