mirror of
https://github.com/home-assistant/core.git
synced 2025-04-25 09:47:52 +00:00
Fix exception in color_rgb_to_rgbww (#61466)
This commit is contained in:
parent
74d5cbd3a9
commit
3eabd69666
@ -450,7 +450,7 @@ def color_rgb_to_rgbww(
|
||||
w_r, w_g, w_b = color_temperature_to_rgb(color_temp_kelvin)
|
||||
|
||||
# Find the ratio of the midpoint white in the input rgb channels
|
||||
white_level = min(r / w_r, g / w_g, b / w_b)
|
||||
white_level = min(r / w_r, g / w_g, b / w_b if w_b else 0)
|
||||
|
||||
# Subtract the white portion from the rgb channels.
|
||||
rgb = (r - w_r * white_level, g - w_g * white_level, b - w_b * white_level)
|
||||
|
@ -366,3 +366,38 @@ def test_get_color_in_voluptuous():
|
||||
schema("not a color")
|
||||
|
||||
assert schema("red") == (255, 0, 0)
|
||||
|
||||
|
||||
def test_color_rgb_to_rgbww():
|
||||
"""Test color_rgb_to_rgbww conversions."""
|
||||
assert color_util.color_rgb_to_rgbww(255, 255, 255, 154, 370) == (
|
||||
0,
|
||||
54,
|
||||
98,
|
||||
255,
|
||||
255,
|
||||
)
|
||||
assert color_util.color_rgb_to_rgbww(255, 255, 255, 100, 1000) == (
|
||||
255,
|
||||
255,
|
||||
255,
|
||||
0,
|
||||
0,
|
||||
)
|
||||
assert color_util.color_rgb_to_rgbww(255, 255, 255, 1, 1000) == (
|
||||
0,
|
||||
118,
|
||||
241,
|
||||
255,
|
||||
255,
|
||||
)
|
||||
assert color_util.color_rgb_to_rgbww(128, 128, 128, 154, 370) == (
|
||||
0,
|
||||
27,
|
||||
49,
|
||||
128,
|
||||
128,
|
||||
)
|
||||
assert color_util.color_rgb_to_rgbww(64, 64, 64, 154, 370) == (0, 14, 25, 64, 64)
|
||||
assert color_util.color_rgb_to_rgbww(32, 64, 16, 154, 370) == (9, 64, 0, 38, 38)
|
||||
assert color_util.color_rgb_to_rgbww(0, 0, 0, 154, 370) == (0, 0, 0, 0, 0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user