mirror of
https://github.com/home-assistant/core.git
synced 2025-07-22 20:57:21 +00:00
Migrate alexa color_temp handlers to use Kelvin (#132995)
This commit is contained in:
parent
b9a7307df8
commit
d02bceb6f3
@ -376,14 +376,14 @@ async def async_api_decrease_color_temp(
|
||||
) -> AlexaResponse:
|
||||
"""Process a decrease color temperature request."""
|
||||
entity = directive.entity
|
||||
current = int(entity.attributes[light.ATTR_COLOR_TEMP])
|
||||
max_mireds = int(entity.attributes[light.ATTR_MAX_MIREDS])
|
||||
current = int(entity.attributes[light.ATTR_COLOR_TEMP_KELVIN])
|
||||
min_kelvin = int(entity.attributes[light.ATTR_MIN_COLOR_TEMP_KELVIN])
|
||||
|
||||
value = min(max_mireds, current + 50)
|
||||
value = max(min_kelvin, current - 500)
|
||||
await hass.services.async_call(
|
||||
entity.domain,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: entity.entity_id, light.ATTR_COLOR_TEMP: value},
|
||||
{ATTR_ENTITY_ID: entity.entity_id, light.ATTR_COLOR_TEMP_KELVIN: value},
|
||||
blocking=False,
|
||||
context=context,
|
||||
)
|
||||
@ -400,14 +400,14 @@ async def async_api_increase_color_temp(
|
||||
) -> AlexaResponse:
|
||||
"""Process an increase color temperature request."""
|
||||
entity = directive.entity
|
||||
current = int(entity.attributes[light.ATTR_COLOR_TEMP])
|
||||
min_mireds = int(entity.attributes[light.ATTR_MIN_MIREDS])
|
||||
current = int(entity.attributes[light.ATTR_COLOR_TEMP_KELVIN])
|
||||
max_kelvin = int(entity.attributes[light.ATTR_MAX_COLOR_TEMP_KELVIN])
|
||||
|
||||
value = max(min_mireds, current - 50)
|
||||
value = min(max_kelvin, current + 500)
|
||||
await hass.services.async_call(
|
||||
entity.domain,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: entity.entity_id, light.ATTR_COLOR_TEMP: value},
|
||||
{ATTR_ENTITY_ID: entity.entity_id, light.ATTR_COLOR_TEMP_KELVIN: value},
|
||||
blocking=False,
|
||||
context=context,
|
||||
)
|
||||
|
@ -163,7 +163,7 @@ async def test_api_set_color_temperature(hass: HomeAssistant) -> None:
|
||||
assert msg["header"]["name"] == "Response"
|
||||
|
||||
|
||||
@pytest.mark.parametrize(("result", "initial"), [(383, "333"), (500, "500")])
|
||||
@pytest.mark.parametrize(("result", "initial"), [(2500, "3000"), (2000, "2000")])
|
||||
async def test_api_decrease_color_temp(
|
||||
hass: HomeAssistant, result: int, initial: str
|
||||
) -> None:
|
||||
@ -176,7 +176,11 @@ async def test_api_decrease_color_temp(
|
||||
hass.states.async_set(
|
||||
"light.test",
|
||||
"off",
|
||||
{"friendly_name": "Test light", "color_temp": initial, "max_mireds": 500},
|
||||
{
|
||||
"friendly_name": "Test light",
|
||||
"color_temp_kelvin": initial,
|
||||
"min_color_temp_kelvin": 2000,
|
||||
},
|
||||
)
|
||||
|
||||
call_light = async_mock_service(hass, "light", "turn_on")
|
||||
@ -189,11 +193,11 @@ async def test_api_decrease_color_temp(
|
||||
|
||||
assert len(call_light) == 1
|
||||
assert call_light[0].data["entity_id"] == "light.test"
|
||||
assert call_light[0].data["color_temp"] == result
|
||||
assert call_light[0].data["color_temp_kelvin"] == result
|
||||
assert msg["header"]["name"] == "Response"
|
||||
|
||||
|
||||
@pytest.mark.parametrize(("result", "initial"), [(283, "333"), (142, "142")])
|
||||
@pytest.mark.parametrize(("result", "initial"), [(3500, "3000"), (7000, "7000")])
|
||||
async def test_api_increase_color_temp(
|
||||
hass: HomeAssistant, result: int, initial: str
|
||||
) -> None:
|
||||
@ -206,7 +210,11 @@ async def test_api_increase_color_temp(
|
||||
hass.states.async_set(
|
||||
"light.test",
|
||||
"off",
|
||||
{"friendly_name": "Test light", "color_temp": initial, "min_mireds": 142},
|
||||
{
|
||||
"friendly_name": "Test light",
|
||||
"color_temp_kelvin": initial,
|
||||
"max_color_temp_kelvin": 7000,
|
||||
},
|
||||
)
|
||||
|
||||
call_light = async_mock_service(hass, "light", "turn_on")
|
||||
@ -219,7 +227,7 @@ async def test_api_increase_color_temp(
|
||||
|
||||
assert len(call_light) == 1
|
||||
assert call_light[0].data["entity_id"] == "light.test"
|
||||
assert call_light[0].data["color_temp"] == result
|
||||
assert call_light[0].data["color_temp_kelvin"] == result
|
||||
assert msg["header"]["name"] == "Response"
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user