Change Eufy brightness handling (#14111)
Eufy device state isn't reported if the bulb is off, so avoid stamping on the previous values if the bulb isn't going to give us useful information. In addition, improve handling of bulb turn on if we aren't provided with a brightness - this should avoid the bulb tending to end up with a brightness of 1 after power cycling.
This commit is contained in:
parent
9fb2bf72f9
commit
7da1d75707
1 changed files with 11 additions and 8 deletions
|
@ -61,13 +61,14 @@ class EufyLight(Light):
|
|||
def update(self):
|
||||
"""Synchronise state from the bulb."""
|
||||
self._bulb.update()
|
||||
self._brightness = self._bulb.brightness
|
||||
self._temp = self._bulb.temperature
|
||||
if self._bulb.colors:
|
||||
self._colormode = True
|
||||
self._hs = color_util.color_RGB_to_hs(*self._bulb.colors)
|
||||
else:
|
||||
self._colormode = False
|
||||
if self._bulb.power:
|
||||
self._brightness = self._bulb.brightness
|
||||
self._temp = self._bulb.temperature
|
||||
if self._bulb.colors:
|
||||
self._colormode = True
|
||||
self._hs = color_util.color_RGB_to_hs(*self._bulb.colors)
|
||||
else:
|
||||
self._colormode = False
|
||||
self._state = self._bulb.power
|
||||
|
||||
@property
|
||||
|
@ -130,7 +131,9 @@ class EufyLight(Light):
|
|||
if brightness is not None:
|
||||
brightness = int(brightness * 100 / 255)
|
||||
else:
|
||||
brightness = max(1, self._brightness)
|
||||
if self._brightness is None:
|
||||
self._brightness = 100
|
||||
brightness = self._brightness
|
||||
|
||||
if colortemp is not None:
|
||||
self._colormode = False
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue