diff --git a/homeassistant/components/tuya/cover.py b/homeassistant/components/tuya/cover.py index 49fb18a02762..1813b6964ca3 100644 --- a/homeassistant/components/tuya/cover.py +++ b/homeassistant/components/tuya/cover.py @@ -388,33 +388,33 @@ class TuyaCoverEntity(TuyaEntity, CoverEntity): async def async_open_cover(self, **kwargs: Any) -> None: """Open the cover.""" + if self._set_position is not None: + await self._async_send_commands( + self._set_position.get_update_commands(self.device, 100) + ) + return + if ( self._instruction_wrapper and (options := self._instruction_wrapper.options) and "open" in options ): await self._async_send_wrapper_updates(self._instruction_wrapper, "open") - return - - if self._set_position is not None: - await self._async_send_commands( - self._set_position.get_update_commands(self.device, 100) - ) async def async_close_cover(self, **kwargs: Any) -> None: """Close cover.""" + if self._set_position is not None: + await self._async_send_commands( + self._set_position.get_update_commands(self.device, 0) + ) + return + if ( self._instruction_wrapper and (options := self._instruction_wrapper.options) and "close" in options ): await self._async_send_wrapper_updates(self._instruction_wrapper, "close") - return - - if self._set_position is not None: - await self._async_send_commands( - self._set_position.get_update_commands(self.device, 0) - ) async def async_set_cover_position(self, **kwargs: Any) -> None: """Move the cover to a specific position.""" diff --git a/tests/components/tuya/test_cover.py b/tests/components/tuya/test_cover.py index fc4f1a8e708e..b5ac35b5723c 100644 --- a/tests/components/tuya/test_cover.py +++ b/tests/components/tuya/test_cover.py @@ -61,14 +61,14 @@ async def test_platform_setup_and_discovery( SERVICE_OPEN_COVER, {}, [ - {"code": "control", "value": "open"}, + {"code": "percent_control", "value": 0}, ], ), ( SERVICE_CLOSE_COVER, {}, [ - {"code": "control", "value": "close"}, + {"code": "percent_control", "value": 100}, ], ), ( @@ -226,7 +226,7 @@ async def test_clkg_wltqkykhni0papzj_state( SERVICE_OPEN_COVER, {}, [ - {"code": "control", "value": "open"}, + {"code": "percent_control", "value": 100}, ], ), ( @@ -240,7 +240,7 @@ async def test_clkg_wltqkykhni0papzj_state( SERVICE_CLOSE_COVER, {}, [ - {"code": "control", "value": "close"}, + {"code": "percent_control", "value": 0}, ], ), ],