mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 05:07:41 +00:00
Reduce tplink loss of precision during brightness conversion (#34210)
This commit is contained in:
parent
e2af216bcd
commit
f516b24dfb
@ -75,12 +75,12 @@ def add_entity(device: SmartBulb, async_add_entities):
|
|||||||
|
|
||||||
def brightness_to_percentage(byt):
|
def brightness_to_percentage(byt):
|
||||||
"""Convert brightness from absolute 0..255 to percentage."""
|
"""Convert brightness from absolute 0..255 to percentage."""
|
||||||
return int((byt * 100.0) / 255.0)
|
return round((byt * 100.0) / 255.0)
|
||||||
|
|
||||||
|
|
||||||
def brightness_from_percentage(percent):
|
def brightness_from_percentage(percent):
|
||||||
"""Convert percentage to absolute value 0..255."""
|
"""Convert percentage to absolute value 0..255."""
|
||||||
return (percent * 255.0) / 100.0
|
return round((percent * 255.0) / 100.0)
|
||||||
|
|
||||||
|
|
||||||
class LightState(NamedTuple):
|
class LightState(NamedTuple):
|
||||||
|
@ -287,7 +287,7 @@ async def test_smartswitch(
|
|||||||
|
|
||||||
state = hass.states.get("light.dimmer1")
|
state = hass.states.get("light.dimmer1")
|
||||||
assert state.state == "on"
|
assert state.state == "on"
|
||||||
assert state.attributes["brightness"] == 48.45
|
assert state.attributes["brightness"] == 51
|
||||||
assert sys_info["relay_state"] == 1
|
assert sys_info["relay_state"] == 1
|
||||||
|
|
||||||
await hass.services.async_call(
|
await hass.services.async_call(
|
||||||
@ -301,8 +301,8 @@ async def test_smartswitch(
|
|||||||
|
|
||||||
state = hass.states.get("light.dimmer1")
|
state = hass.states.get("light.dimmer1")
|
||||||
assert state.state == "on"
|
assert state.state == "on"
|
||||||
assert state.attributes["brightness"] == 53.55
|
assert state.attributes["brightness"] == 56
|
||||||
assert sys_info["brightness"] == 21
|
assert sys_info["brightness"] == 22
|
||||||
|
|
||||||
sys_info["relay_state"] = 0
|
sys_info["relay_state"] = 0
|
||||||
sys_info["brightness"] = 66
|
sys_info["brightness"] = 66
|
||||||
@ -327,7 +327,7 @@ async def test_smartswitch(
|
|||||||
|
|
||||||
state = hass.states.get("light.dimmer1")
|
state = hass.states.get("light.dimmer1")
|
||||||
assert state.state == "on"
|
assert state.state == "on"
|
||||||
assert state.attributes["brightness"] == 168.3
|
assert state.attributes["brightness"] == 168
|
||||||
assert sys_info["brightness"] == 66
|
assert sys_info["brightness"] == 66
|
||||||
|
|
||||||
|
|
||||||
@ -373,7 +373,7 @@ async def test_light(hass: HomeAssistant, light_mock_data: LightMockData) -> Non
|
|||||||
|
|
||||||
state = hass.states.get("light.light1")
|
state = hass.states.get("light.light1")
|
||||||
assert state.state == "on"
|
assert state.state == "on"
|
||||||
assert state.attributes["brightness"] == 48.45
|
assert state.attributes["brightness"] == 51
|
||||||
assert state.attributes["hs_color"] == (110, 90)
|
assert state.attributes["hs_color"] == (110, 90)
|
||||||
assert state.attributes["color_temp"] == 222
|
assert state.attributes["color_temp"] == 222
|
||||||
assert light_state["on_off"] == 1
|
assert light_state["on_off"] == 1
|
||||||
@ -389,9 +389,9 @@ async def test_light(hass: HomeAssistant, light_mock_data: LightMockData) -> Non
|
|||||||
|
|
||||||
state = hass.states.get("light.light1")
|
state = hass.states.get("light.light1")
|
||||||
assert state.state == "on"
|
assert state.state == "on"
|
||||||
assert state.attributes["brightness"] == 53.55
|
assert state.attributes["brightness"] == 56
|
||||||
assert state.attributes["hs_color"] == (23, 27)
|
assert state.attributes["hs_color"] == (23, 27)
|
||||||
assert light_state["brightness"] == 21
|
assert light_state["brightness"] == 22
|
||||||
assert light_state["hue"] == 23
|
assert light_state["hue"] == 23
|
||||||
assert light_state["saturation"] == 27
|
assert light_state["saturation"] == 27
|
||||||
|
|
||||||
@ -423,7 +423,7 @@ async def test_light(hass: HomeAssistant, light_mock_data: LightMockData) -> Non
|
|||||||
|
|
||||||
state = hass.states.get("light.light1")
|
state = hass.states.get("light.light1")
|
||||||
assert state.state == "on"
|
assert state.state == "on"
|
||||||
assert state.attributes["brightness"] == 168.3
|
assert state.attributes["brightness"] == 168
|
||||||
assert state.attributes["hs_color"] == (77, 78)
|
assert state.attributes["hs_color"] == (77, 78)
|
||||||
assert state.attributes["color_temp"] == 156
|
assert state.attributes["color_temp"] == 156
|
||||||
assert light_state["brightness"] == 66
|
assert light_state["brightness"] == 66
|
||||||
@ -434,7 +434,7 @@ async def test_light(hass: HomeAssistant, light_mock_data: LightMockData) -> Non
|
|||||||
await update_entity(hass, "light.light1")
|
await update_entity(hass, "light.light1")
|
||||||
|
|
||||||
state = hass.states.get("light.light1")
|
state = hass.states.get("light.light1")
|
||||||
assert state.attributes["brightness"] == 232.05
|
assert state.attributes["brightness"] == 232
|
||||||
|
|
||||||
|
|
||||||
async def test_get_light_state_retry(
|
async def test_get_light_state_retry(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user