diff --git a/homeassistant/components/vesync/fan.py b/homeassistant/components/vesync/fan.py index 65a3a5d20e6..baba9d60290 100644 --- a/homeassistant/components/vesync/fan.py +++ b/homeassistant/components/vesync/fan.py @@ -100,7 +100,10 @@ class VeSyncFanHA(VeSyncBaseEntity, FanEntity): """Return the currently set speed.""" current_level = self.device.state.fan_level - if self.device.state.mode == VS_FAN_MODE_MANUAL and current_level is not None: + if ( + self.device.state.mode in (VS_FAN_MODE_MANUAL, VS_FAN_MODE_NORMAL) + and current_level is not None + ): if current_level == 0: return 0 return ordered_list_item_to_percentage( @@ -182,7 +185,7 @@ class VeSyncFanHA(VeSyncBaseEntity, FanEntity): ) # Switch to manual mode if not already set - if self.device.state.mode != VS_FAN_MODE_MANUAL: + if self.device.state.mode not in (VS_FAN_MODE_MANUAL, VS_FAN_MODE_NORMAL): if not await self.device.set_manual_mode(): raise HomeAssistantError( "An error occurred while setting manual mode." diff --git a/tests/components/vesync/snapshots/test_fan.ambr b/tests/components/vesync/snapshots/test_fan.ambr index 88b6bc64ebb..a87f4963a76 100644 --- a/tests/components/vesync/snapshots/test_fan.ambr +++ b/tests/components/vesync/snapshots/test_fan.ambr @@ -670,7 +670,7 @@ 'display_status': 'off', 'friendly_name': 'SmartTowerFan', 'mode': 'normal', - 'percentage': None, + 'percentage': 0, 'percentage_step': 8.333333333333334, 'preset_mode': 'normal', 'preset_modes': list([