diff --git a/homeassistant/components/fan/demo.py b/homeassistant/components/fan/demo.py index 3a3f255b806..bdb1b784c8b 100644 --- a/homeassistant/components/fan/demo.py +++ b/homeassistant/components/fan/demo.py @@ -9,31 +9,36 @@ from homeassistant.components.fan import (SPEED_LOW, SPEED_MEDIUM, SPEED_HIGH, SUPPORT_OSCILLATE, SUPPORT_DIRECTION) from homeassistant.const import STATE_OFF -FAN_NAME = 'Living Room Fan' -FAN_ENTITY_ID = 'fan.living_room_fan' - -DEMO_SUPPORT = SUPPORT_SET_SPEED | SUPPORT_OSCILLATE | SUPPORT_DIRECTION +FULL_SUPPORT = SUPPORT_SET_SPEED | SUPPORT_OSCILLATE | SUPPORT_DIRECTION +LIMITED_SUPPORT = SUPPORT_SET_SPEED # pylint: disable=unused-argument def setup_platform(hass, config, add_devices_callback, discovery_info=None): """Set up the demo fan platform.""" add_devices_callback([ - DemoFan(hass, FAN_NAME, STATE_OFF), + DemoFan(hass, "Living Room Fan", FULL_SUPPORT), + DemoFan(hass, "Ceiling Fan", LIMITED_SUPPORT), ]) class DemoFan(FanEntity): """A demonstration fan component.""" - def __init__(self, hass, name: str, initial_state: str) -> None: + def __init__(self, hass, name: str, supported_features: int) -> None: """Initialize the entity.""" self.hass = hass - self._speed = initial_state - self.oscillating = False - self.direction = "forward" + self._supported_features = supported_features + self._speed = STATE_OFF + self.oscillating = None + self.direction = None self._name = name + if supported_features & SUPPORT_OSCILLATE: + self.oscillating = False + if supported_features & SUPPORT_DIRECTION: + self.direction = "forward" + @property def name(self) -> str: """Get entity name.""" @@ -88,4 +93,4 @@ class DemoFan(FanEntity): @property def supported_features(self) -> int: """Flag supported features.""" - return DEMO_SUPPORT + return self._supported_features diff --git a/tests/components/fan/test_demo.py b/tests/components/fan/test_demo.py index 078dd56bf1b..517dcd494cc 100644 --- a/tests/components/fan/test_demo.py +++ b/tests/components/fan/test_demo.py @@ -4,11 +4,12 @@ import unittest from homeassistant.setup import setup_component from homeassistant.components import fan -from homeassistant.components.fan.demo import FAN_ENTITY_ID from homeassistant.const import STATE_OFF, STATE_ON from tests.common import get_test_home_assistant +FAN_ENTITY_ID = 'fan.living_room_fan' + class TestDemoFan(unittest.TestCase): """Test the fan demo platform."""