Fix white_value causing zwave-js to set non-existing values (#49799)

This commit is contained in:
Chris 2021-04-28 09:23:48 -07:00 committed by GitHub
parent 1e2f242220
commit e85d58c3a1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 2887 additions and 6 deletions

View file

@ -93,6 +93,16 @@ class ZwaveLight(ZWaveBaseEntity, LightEntity):
self._min_mireds = 153 # 6500K as a safe default
self._max_mireds = 370 # 2700K as a safe default
self._supported_features = SUPPORT_BRIGHTNESS
self._warm_white = self.get_zwave_value(
"targetColor",
CommandClass.SWITCH_COLOR,
value_property_key=ColorComponent.WARM_WHITE,
)
self._cold_white = self.get_zwave_value(
"targetColor",
CommandClass.SWITCH_COLOR,
value_property_key=ColorComponent.COLD_WHITE,
)
# get additional (optional) values and set features
self._target_value = self.get_zwave_value("targetValue")
@ -206,12 +216,15 @@ class ZwaveLight(ZWaveBaseEntity, LightEntity):
if white_value is not None and self._supports_white_value:
# white led brightness is controlled by white level
# rgb leds (if any) can be on at the same time
await self._async_set_colors(
{
ColorComponent.WARM_WHITE: white_value,
ColorComponent.COLD_WHITE: white_value,
}
)
white_channel = {}
if self._warm_white:
white_channel[ColorComponent.WARM_WHITE] = white_value
if self._cold_white:
white_channel[ColorComponent.COLD_WHITE] = white_value
await self._async_set_colors(white_channel)
# set brightness
await self._async_set_brightness(