mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Remove unwanted brightness check in zwave_js light (#45597)
This commit is contained in:
parent
78b057ce02
commit
32c6509d55
@ -164,15 +164,14 @@ class ZwaveLight(ZWaveBaseEntity, LightEntity):
|
|||||||
await self._async_set_color("Red", red)
|
await self._async_set_color("Red", red)
|
||||||
await self._async_set_color("Green", green)
|
await self._async_set_color("Green", green)
|
||||||
await self._async_set_color("Blue", blue)
|
await self._async_set_color("Blue", blue)
|
||||||
else:
|
|
||||||
# turn off rgb when setting white values
|
|
||||||
await self._async_set_color("Red", 0)
|
|
||||||
await self._async_set_color("Green", 0)
|
|
||||||
await self._async_set_color("Blue", 0)
|
|
||||||
|
|
||||||
# Color temperature
|
# Color temperature
|
||||||
color_temp = kwargs.get(ATTR_COLOR_TEMP)
|
color_temp = kwargs.get(ATTR_COLOR_TEMP)
|
||||||
if color_temp is not None and self._supports_color_temp:
|
if color_temp is not None and self._supports_color_temp:
|
||||||
|
# turn off rgb when setting white values
|
||||||
|
await self._async_set_color("Red", 0)
|
||||||
|
await self._async_set_color("Green", 0)
|
||||||
|
await self._async_set_color("Blue", 0)
|
||||||
# Limit color temp to min/max values
|
# Limit color temp to min/max values
|
||||||
cold = max(
|
cold = max(
|
||||||
0,
|
0,
|
||||||
@ -192,6 +191,10 @@ class ZwaveLight(ZWaveBaseEntity, LightEntity):
|
|||||||
# White value
|
# White value
|
||||||
white_value = kwargs.get(ATTR_WHITE_VALUE)
|
white_value = kwargs.get(ATTR_WHITE_VALUE)
|
||||||
if white_value is not None and self._supports_white_value:
|
if white_value is not None and self._supports_white_value:
|
||||||
|
# turn off rgb when setting white values
|
||||||
|
await self._async_set_color("Red", 0)
|
||||||
|
await self._async_set_color("Green", 0)
|
||||||
|
await self._async_set_color("Blue", 0)
|
||||||
await self._async_set_color("Warm White", white_value)
|
await self._async_set_color("Warm White", white_value)
|
||||||
|
|
||||||
# set brightness
|
# set brightness
|
||||||
@ -213,9 +216,6 @@ class ZwaveLight(ZWaveBaseEntity, LightEntity):
|
|||||||
# guard for unsupported command
|
# guard for unsupported command
|
||||||
if cur_zwave_value is None:
|
if cur_zwave_value is None:
|
||||||
return
|
return
|
||||||
# no need to send same value
|
|
||||||
if cur_zwave_value.value == new_value:
|
|
||||||
return
|
|
||||||
# actually set the new color value
|
# actually set the new color value
|
||||||
target_zwave_value = self.get_zwave_value(
|
target_zwave_value = self.get_zwave_value(
|
||||||
"targetColor",
|
"targetColor",
|
||||||
@ -240,9 +240,6 @@ class ZwaveLight(ZWaveBaseEntity, LightEntity):
|
|||||||
# Zwave multilevel switches use a range of [0, 99] to control brightness.
|
# Zwave multilevel switches use a range of [0, 99] to control brightness.
|
||||||
zwave_brightness = byte_to_zwave_brightness(brightness)
|
zwave_brightness = byte_to_zwave_brightness(brightness)
|
||||||
|
|
||||||
if self.info.primary_value.value == zwave_brightness:
|
|
||||||
# no point in setting same brightness
|
|
||||||
return
|
|
||||||
# set transition value before sending new brightness
|
# set transition value before sending new brightness
|
||||||
await self._async_set_transition_duration(transition)
|
await self._async_set_transition_duration(transition)
|
||||||
# setting a value requires setting targetValue
|
# setting a value requires setting targetValue
|
||||||
|
@ -92,7 +92,7 @@ async def test_light(hass, client, bulb_6_multi_color, integration):
|
|||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
assert len(client.async_send_command.call_args_list) == 0
|
assert len(client.async_send_command.call_args_list) == 1
|
||||||
|
|
||||||
client.async_send_command.reset_mock()
|
client.async_send_command.reset_mock()
|
||||||
|
|
||||||
@ -136,7 +136,7 @@ async def test_light(hass, client, bulb_6_multi_color, integration):
|
|||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
assert len(client.async_send_command.call_args_list) == 4
|
assert len(client.async_send_command.call_args_list) == 5
|
||||||
warm_args = client.async_send_command.call_args_list[0][0][0] # warm white 0
|
warm_args = client.async_send_command.call_args_list[0][0][0] # warm white 0
|
||||||
assert warm_args["command"] == "node.set_value"
|
assert warm_args["command"] == "node.set_value"
|
||||||
assert warm_args["nodeId"] == 39
|
assert warm_args["nodeId"] == 39
|
||||||
@ -147,7 +147,18 @@ async def test_light(hass, client, bulb_6_multi_color, integration):
|
|||||||
assert warm_args["valueId"]["property"] == "targetColor"
|
assert warm_args["valueId"]["property"] == "targetColor"
|
||||||
assert warm_args["valueId"]["propertyName"] == "targetColor"
|
assert warm_args["valueId"]["propertyName"] == "targetColor"
|
||||||
assert warm_args["value"] == 0
|
assert warm_args["value"] == 0
|
||||||
red_args = client.async_send_command.call_args_list[1][0][0] # red 255
|
|
||||||
|
cold_args = client.async_send_command.call_args_list[1][0][0] # cold white 0
|
||||||
|
assert cold_args["command"] == "node.set_value"
|
||||||
|
assert cold_args["nodeId"] == 39
|
||||||
|
assert cold_args["valueId"]["commandClassName"] == "Color Switch"
|
||||||
|
assert cold_args["valueId"]["commandClass"] == 51
|
||||||
|
assert cold_args["valueId"]["endpoint"] == 0
|
||||||
|
assert cold_args["valueId"]["metadata"]["label"] == "Target value (Cold White)"
|
||||||
|
assert cold_args["valueId"]["property"] == "targetColor"
|
||||||
|
assert cold_args["valueId"]["propertyName"] == "targetColor"
|
||||||
|
assert cold_args["value"] == 0
|
||||||
|
red_args = client.async_send_command.call_args_list[2][0][0] # red 255
|
||||||
assert red_args["command"] == "node.set_value"
|
assert red_args["command"] == "node.set_value"
|
||||||
assert red_args["nodeId"] == 39
|
assert red_args["nodeId"] == 39
|
||||||
assert red_args["valueId"]["commandClassName"] == "Color Switch"
|
assert red_args["valueId"]["commandClassName"] == "Color Switch"
|
||||||
@ -157,7 +168,7 @@ async def test_light(hass, client, bulb_6_multi_color, integration):
|
|||||||
assert red_args["valueId"]["property"] == "targetColor"
|
assert red_args["valueId"]["property"] == "targetColor"
|
||||||
assert red_args["valueId"]["propertyName"] == "targetColor"
|
assert red_args["valueId"]["propertyName"] == "targetColor"
|
||||||
assert red_args["value"] == 255
|
assert red_args["value"] == 255
|
||||||
green_args = client.async_send_command.call_args_list[2][0][0] # green 76
|
green_args = client.async_send_command.call_args_list[3][0][0] # green 76
|
||||||
assert green_args["command"] == "node.set_value"
|
assert green_args["command"] == "node.set_value"
|
||||||
assert green_args["nodeId"] == 39
|
assert green_args["nodeId"] == 39
|
||||||
assert green_args["valueId"]["commandClassName"] == "Color Switch"
|
assert green_args["valueId"]["commandClassName"] == "Color Switch"
|
||||||
@ -167,7 +178,7 @@ async def test_light(hass, client, bulb_6_multi_color, integration):
|
|||||||
assert green_args["valueId"]["property"] == "targetColor"
|
assert green_args["valueId"]["property"] == "targetColor"
|
||||||
assert green_args["valueId"]["propertyName"] == "targetColor"
|
assert green_args["valueId"]["propertyName"] == "targetColor"
|
||||||
assert green_args["value"] == 76
|
assert green_args["value"] == 76
|
||||||
blue_args = client.async_send_command.call_args_list[3][0][0] # blue 255
|
blue_args = client.async_send_command.call_args_list[4][0][0] # blue 255
|
||||||
assert blue_args["command"] == "node.set_value"
|
assert blue_args["command"] == "node.set_value"
|
||||||
assert blue_args["nodeId"] == 39
|
assert blue_args["nodeId"] == 39
|
||||||
assert blue_args["valueId"]["commandClassName"] == "Color Switch"
|
assert blue_args["valueId"]["commandClassName"] == "Color Switch"
|
||||||
@ -225,7 +236,7 @@ async def test_light(hass, client, bulb_6_multi_color, integration):
|
|||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
assert len(client.async_send_command.call_args_list) == 0
|
assert len(client.async_send_command.call_args_list) == 5
|
||||||
|
|
||||||
client.async_send_command.reset_mock()
|
client.async_send_command.reset_mock()
|
||||||
|
|
||||||
@ -343,7 +354,7 @@ async def test_light(hass, client, bulb_6_multi_color, integration):
|
|||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
assert len(client.async_send_command.call_args_list) == 0
|
assert len(client.async_send_command.call_args_list) == 5
|
||||||
|
|
||||||
client.async_send_command.reset_mock()
|
client.async_send_command.reset_mock()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user