mirror of
https://github.com/home-assistant/core.git
synced 2025-07-14 16:57:10 +00:00
Add effects translation/icon for Demo light (#142862)
This commit is contained in:
parent
6d74a6aa19
commit
6a95abb831
@ -45,6 +45,17 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"light": {
|
||||||
|
"bed_light": {
|
||||||
|
"state_attributes": {
|
||||||
|
"effect": {
|
||||||
|
"state": {
|
||||||
|
"rainbow": "mdi:looks"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"number": {
|
"number": {
|
||||||
"volume": {
|
"volume": {
|
||||||
"default": "mdi:volume-high"
|
"default": "mdi:volume-high"
|
||||||
|
@ -15,6 +15,7 @@ from homeassistant.components.light import (
|
|||||||
ATTR_WHITE,
|
ATTR_WHITE,
|
||||||
DEFAULT_MAX_KELVIN,
|
DEFAULT_MAX_KELVIN,
|
||||||
DEFAULT_MIN_KELVIN,
|
DEFAULT_MIN_KELVIN,
|
||||||
|
EFFECT_OFF,
|
||||||
ColorMode,
|
ColorMode,
|
||||||
LightEntity,
|
LightEntity,
|
||||||
LightEntityFeature,
|
LightEntityFeature,
|
||||||
@ -28,7 +29,7 @@ from . import DOMAIN
|
|||||||
|
|
||||||
LIGHT_COLORS = [(56, 86), (345, 75)]
|
LIGHT_COLORS = [(56, 86), (345, 75)]
|
||||||
|
|
||||||
LIGHT_EFFECT_LIST = ["rainbow", "none"]
|
LIGHT_EFFECT_LIST = ["rainbow", EFFECT_OFF]
|
||||||
|
|
||||||
LIGHT_TEMPS = [4166, 2631]
|
LIGHT_TEMPS = [4166, 2631]
|
||||||
|
|
||||||
@ -48,6 +49,7 @@ async def async_setup_entry(
|
|||||||
available=True,
|
available=True,
|
||||||
effect_list=LIGHT_EFFECT_LIST,
|
effect_list=LIGHT_EFFECT_LIST,
|
||||||
effect=LIGHT_EFFECT_LIST[0],
|
effect=LIGHT_EFFECT_LIST[0],
|
||||||
|
translation_key="bed_light",
|
||||||
device_name="Bed Light",
|
device_name="Bed Light",
|
||||||
state=False,
|
state=False,
|
||||||
unique_id="light_1",
|
unique_id="light_1",
|
||||||
@ -119,8 +121,10 @@ class DemoLight(LightEntity):
|
|||||||
rgbw_color: tuple[int, int, int, int] | None = None,
|
rgbw_color: tuple[int, int, int, int] | None = None,
|
||||||
rgbww_color: tuple[int, int, int, int, int] | None = None,
|
rgbww_color: tuple[int, int, int, int, int] | None = None,
|
||||||
supported_color_modes: set[ColorMode] | None = None,
|
supported_color_modes: set[ColorMode] | None = None,
|
||||||
|
translation_key: str | None = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Initialize the light."""
|
"""Initialize the light."""
|
||||||
|
self._attr_translation_key = translation_key
|
||||||
self._available = True
|
self._available = True
|
||||||
self._brightness = brightness
|
self._brightness = brightness
|
||||||
self._ct = ct or random.choice(LIGHT_TEMPS)
|
self._ct = ct or random.choice(LIGHT_TEMPS)
|
||||||
|
@ -78,6 +78,17 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"light": {
|
||||||
|
"bed_light": {
|
||||||
|
"state_attributes": {
|
||||||
|
"effect": {
|
||||||
|
"state": {
|
||||||
|
"rainbow": "Rainbow"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"select": {
|
"select": {
|
||||||
"speed": {
|
"speed": {
|
||||||
"state": {
|
"state": {
|
||||||
|
@ -80,7 +80,7 @@ async def test_state_attributes(hass: HomeAssistant) -> None:
|
|||||||
SERVICE_TURN_ON,
|
SERVICE_TURN_ON,
|
||||||
{
|
{
|
||||||
ATTR_ENTITY_ID: ENTITY_LIGHT,
|
ATTR_ENTITY_ID: ENTITY_LIGHT,
|
||||||
ATTR_EFFECT: "none",
|
ATTR_EFFECT: "off",
|
||||||
ATTR_COLOR_TEMP_KELVIN: 2500,
|
ATTR_COLOR_TEMP_KELVIN: 2500,
|
||||||
},
|
},
|
||||||
blocking=True,
|
blocking=True,
|
||||||
@ -90,7 +90,7 @@ async def test_state_attributes(hass: HomeAssistant) -> None:
|
|||||||
assert state.attributes.get(ATTR_COLOR_TEMP_KELVIN) == 2500
|
assert state.attributes.get(ATTR_COLOR_TEMP_KELVIN) == 2500
|
||||||
assert state.attributes.get(ATTR_MAX_COLOR_TEMP_KELVIN) == 6535
|
assert state.attributes.get(ATTR_MAX_COLOR_TEMP_KELVIN) == 6535
|
||||||
assert state.attributes.get(ATTR_MIN_COLOR_TEMP_KELVIN) == 2000
|
assert state.attributes.get(ATTR_MIN_COLOR_TEMP_KELVIN) == 2000
|
||||||
assert state.attributes.get(ATTR_EFFECT) == "none"
|
assert state.attributes.get(ATTR_EFFECT) == "off"
|
||||||
|
|
||||||
await hass.services.async_call(
|
await hass.services.async_call(
|
||||||
LIGHT_DOMAIN,
|
LIGHT_DOMAIN,
|
||||||
|
@ -235,11 +235,11 @@ async def test_sync_message(hass: HomeAssistant, registries) -> None:
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"setting_name": "none",
|
"setting_name": "off",
|
||||||
"setting_values": [
|
"setting_values": [
|
||||||
{
|
{
|
||||||
"lang": "en",
|
"lang": "en",
|
||||||
"setting_synonym": ["none"],
|
"setting_synonym": ["off"],
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -356,9 +356,9 @@ async def test_sync_in_area(area_on_device, hass: HomeAssistant, registries) ->
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"setting_name": "none",
|
"setting_name": "off",
|
||||||
"setting_values": [
|
"setting_values": [
|
||||||
{"lang": "en", "setting_synonym": ["none"]}
|
{"lang": "en", "setting_synonym": ["off"]}
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -957,9 +957,9 @@ async def test_unavailable_state_does_sync(hass: HomeAssistant) -> None:
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"setting_name": "none",
|
"setting_name": "off",
|
||||||
"setting_values": [
|
"setting_values": [
|
||||||
{"lang": "en", "setting_synonym": ["none"]}
|
{"lang": "en", "setting_synonym": ["off"]}
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user