Add color mode support to switch light (#63124)
This commit is contained in:
parent
2172679f41
commit
78442d82d1
2 changed files with 18 additions and 1 deletions
|
@ -6,7 +6,11 @@ from typing import Any, cast
|
|||
import voluptuous as vol
|
||||
|
||||
from homeassistant.components import switch
|
||||
from homeassistant.components.light import PLATFORM_SCHEMA, LightEntity
|
||||
from homeassistant.components.light import (
|
||||
COLOR_MODE_ONOFF,
|
||||
PLATFORM_SCHEMA,
|
||||
LightEntity,
|
||||
)
|
||||
from homeassistant.const import (
|
||||
ATTR_ENTITY_ID,
|
||||
CONF_ENTITY_ID,
|
||||
|
@ -64,6 +68,8 @@ class LightSwitch(LightEntity):
|
|||
self._switch_entity_id = switch_entity_id
|
||||
self._unique_id = unique_id
|
||||
self._switch_state: State | None = None
|
||||
self._attr_color_mode = COLOR_MODE_ONOFF
|
||||
self._attr_supported_color_modes = {COLOR_MODE_ONOFF}
|
||||
|
||||
@property
|
||||
def name(self) -> str:
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
"""The tests for the Light Switch platform."""
|
||||
|
||||
from homeassistant.components.light import (
|
||||
ATTR_COLOR_MODE,
|
||||
ATTR_SUPPORTED_COLOR_MODES,
|
||||
COLOR_MODE_ONOFF,
|
||||
)
|
||||
from homeassistant.setup import async_setup_component
|
||||
|
||||
from tests.components.light import common
|
||||
|
@ -31,6 +36,8 @@ async def test_default_state(hass):
|
|||
assert state.attributes.get("white_value") is None
|
||||
assert state.attributes.get("effect_list") is None
|
||||
assert state.attributes.get("effect") is None
|
||||
assert state.attributes.get(ATTR_SUPPORTED_COLOR_MODES) == [COLOR_MODE_ONOFF]
|
||||
assert state.attributes.get(ATTR_COLOR_MODE) is None
|
||||
|
||||
|
||||
async def test_light_service_calls(hass):
|
||||
|
@ -54,6 +61,10 @@ async def test_light_service_calls(hass):
|
|||
|
||||
assert hass.states.get("switch.decorative_lights").state == "on"
|
||||
assert hass.states.get("light.light_switch").state == "on"
|
||||
assert (
|
||||
hass.states.get("light.light_switch").attributes.get(ATTR_COLOR_MODE)
|
||||
== COLOR_MODE_ONOFF
|
||||
)
|
||||
|
||||
await common.async_turn_off(hass, "light.light_switch")
|
||||
await hass.async_block_till_done()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue