mirror of
https://github.com/home-assistant/core.git
synced 2025-07-27 07:07:28 +00:00
Fix palette handling for LIFX Ceiling SKY effect (#146582)
Signed-off-by: Avi Miller <me@dje.li>
This commit is contained in:
parent
54d8d71de5
commit
c3e3a36b4c
@ -5,7 +5,7 @@ from __future__ import annotations
|
|||||||
import asyncio
|
import asyncio
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
from typing import Any
|
from typing import TYPE_CHECKING, Any
|
||||||
|
|
||||||
import aiolifx_effects
|
import aiolifx_effects
|
||||||
from aiolifx_themes.painter import ThemePainter
|
from aiolifx_themes.painter import ThemePainter
|
||||||
@ -31,9 +31,12 @@ from homeassistant.helpers import config_validation as cv
|
|||||||
from homeassistant.helpers.service import async_extract_referenced_entity_ids
|
from homeassistant.helpers.service import async_extract_referenced_entity_ids
|
||||||
|
|
||||||
from .const import _ATTR_COLOR_TEMP, ATTR_THEME, DATA_LIFX_MANAGER, DOMAIN
|
from .const import _ATTR_COLOR_TEMP, ATTR_THEME, DATA_LIFX_MANAGER, DOMAIN
|
||||||
from .coordinator import LIFXUpdateCoordinator, Light
|
from .coordinator import LIFXUpdateCoordinator
|
||||||
from .util import convert_8_to_16, find_hsbk
|
from .util import convert_8_to_16, find_hsbk
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from aiolifx.aiolifx import Light
|
||||||
|
|
||||||
SCAN_INTERVAL = timedelta(seconds=10)
|
SCAN_INTERVAL = timedelta(seconds=10)
|
||||||
|
|
||||||
SERVICE_EFFECT_COLORLOOP = "effect_colorloop"
|
SERVICE_EFFECT_COLORLOOP = "effect_colorloop"
|
||||||
@ -426,8 +429,8 @@ class LIFXManager:
|
|||||||
) -> None:
|
) -> None:
|
||||||
"""Start the firmware-based Sky effect."""
|
"""Start the firmware-based Sky effect."""
|
||||||
palette = kwargs.get(ATTR_PALETTE)
|
palette = kwargs.get(ATTR_PALETTE)
|
||||||
|
theme = Theme()
|
||||||
if palette is not None:
|
if palette is not None:
|
||||||
theme = Theme()
|
|
||||||
for hsbk in palette:
|
for hsbk in palette:
|
||||||
theme.add_hsbk(hsbk[0], hsbk[1], hsbk[2], hsbk[3])
|
theme.add_hsbk(hsbk[0], hsbk[1], hsbk[2], hsbk[3])
|
||||||
|
|
||||||
|
@ -843,7 +843,7 @@ async def test_sky_effect(hass: HomeAssistant) -> None:
|
|||||||
SERVICE_EFFECT_SKY,
|
SERVICE_EFFECT_SKY,
|
||||||
{
|
{
|
||||||
ATTR_ENTITY_ID: entity_id,
|
ATTR_ENTITY_ID: entity_id,
|
||||||
ATTR_PALETTE: [],
|
ATTR_PALETTE: None,
|
||||||
ATTR_SKY_TYPE: "Clouds",
|
ATTR_SKY_TYPE: "Clouds",
|
||||||
ATTR_CLOUD_SATURATION_MAX: 180,
|
ATTR_CLOUD_SATURATION_MAX: 180,
|
||||||
ATTR_CLOUD_SATURATION_MIN: 50,
|
ATTR_CLOUD_SATURATION_MIN: 50,
|
||||||
@ -854,7 +854,7 @@ async def test_sky_effect(hass: HomeAssistant) -> None:
|
|||||||
bulb.power_level = 65535
|
bulb.power_level = 65535
|
||||||
bulb.effect = {
|
bulb.effect = {
|
||||||
"effect": "SKY",
|
"effect": "SKY",
|
||||||
"palette": [],
|
"palette": None,
|
||||||
"sky_type": 2,
|
"sky_type": 2,
|
||||||
"cloud_saturation_min": 50,
|
"cloud_saturation_min": 50,
|
||||||
"cloud_saturation_max": 180,
|
"cloud_saturation_max": 180,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user