From e0cb7dad31a86beeef197407ac05d7aa0030f2e6 Mon Sep 17 00:00:00 2001 From: Yehuda Davis Date: Fri, 10 Dec 2021 12:19:33 -0500 Subject: [PATCH] Fix Tuya cover open/close commands (#61369) Co-authored-by: Franck Nijhof Co-authored-by: Franck Nijhof --- homeassistant/components/tuya/cover.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/tuya/cover.py b/homeassistant/components/tuya/cover.py index 275d28bae17..572d440f937 100644 --- a/homeassistant/components/tuya/cover.py +++ b/homeassistant/components/tuya/cover.py @@ -315,11 +315,18 @@ class TuyaCoverEntity(TuyaEntity, CoverEntity): {"code": self.entity_description.key, "value": value} ] - if (self.entity_description.set_position) is not None: + if ( + self.entity_description.set_position is not None + and self._set_position_type is not None + ): commands.append( { "code": self.entity_description.set_position, - "value": 0, + "value": round( + self._set_position_type.remap_value_from( + 100, 0, 100, reverse=True + ), + ), } ) @@ -327,7 +334,7 @@ class TuyaCoverEntity(TuyaEntity, CoverEntity): def close_cover(self, **kwargs: Any) -> None: """Close cover.""" - value: bool | str = True + value: bool | str = False if self.device.function[self.entity_description.key].type == "Enum": value = "close" @@ -335,11 +342,18 @@ class TuyaCoverEntity(TuyaEntity, CoverEntity): {"code": self.entity_description.key, "value": value} ] - if (self.entity_description.set_position) is not None: + if ( + self.entity_description.set_position is not None + and self._set_position_type is not None + ): commands.append( { "code": self.entity_description.set_position, - "value": 100, + "value": round( + self._set_position_type.remap_value_from( + 0, 0, 100, reverse=True + ), + ), } )