mirror of
https://github.com/home-assistant/core.git
synced 2025-07-21 12:17:07 +00:00
Implement Hue available property (#12939)
This commit is contained in:
parent
e6683b4c84
commit
a7f34bbce9
@ -261,10 +261,13 @@ class HueLight(Light):
|
|||||||
"""Return true if device is on."""
|
"""Return true if device is on."""
|
||||||
if self.is_group:
|
if self.is_group:
|
||||||
return self.info['state']['any_on']
|
return self.info['state']['any_on']
|
||||||
elif self.allow_unreachable:
|
return self.info['state']['on']
|
||||||
return self.info['state']['on']
|
|
||||||
return self.info['state']['reachable'] and \
|
@property
|
||||||
self.info['state']['on']
|
def available(self):
|
||||||
|
"""Return if light is available."""
|
||||||
|
return (self.is_group or self.allow_unreachable or
|
||||||
|
self.info['state']['reachable'])
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def supported_features(self):
|
def supported_features(self):
|
||||||
|
@ -501,3 +501,45 @@ class TestHueLight(unittest.TestCase):
|
|||||||
|
|
||||||
light = self.buildLight(info={}, is_group=True)
|
light = self.buildLight(info={}, is_group=True)
|
||||||
self.assertIsNone(light.unique_id)
|
self.assertIsNone(light.unique_id)
|
||||||
|
|
||||||
|
|
||||||
|
def test_available():
|
||||||
|
"""Test available property."""
|
||||||
|
light = hue_light.HueLight(
|
||||||
|
info={'state': {'reachable': False}},
|
||||||
|
allow_unreachable=False,
|
||||||
|
is_group=False,
|
||||||
|
|
||||||
|
light_id=None,
|
||||||
|
bridge=mock.Mock(),
|
||||||
|
update_lights_cb=None,
|
||||||
|
allow_in_emulated_hue=False,
|
||||||
|
)
|
||||||
|
|
||||||
|
assert light.available is False
|
||||||
|
|
||||||
|
light = hue_light.HueLight(
|
||||||
|
info={'state': {'reachable': False}},
|
||||||
|
allow_unreachable=True,
|
||||||
|
is_group=False,
|
||||||
|
|
||||||
|
light_id=None,
|
||||||
|
bridge=mock.Mock(),
|
||||||
|
update_lights_cb=None,
|
||||||
|
allow_in_emulated_hue=False,
|
||||||
|
)
|
||||||
|
|
||||||
|
assert light.available is True
|
||||||
|
|
||||||
|
light = hue_light.HueLight(
|
||||||
|
info={'state': {'reachable': False}},
|
||||||
|
allow_unreachable=False,
|
||||||
|
is_group=True,
|
||||||
|
|
||||||
|
light_id=None,
|
||||||
|
bridge=mock.Mock(),
|
||||||
|
update_lights_cb=None,
|
||||||
|
allow_in_emulated_hue=False,
|
||||||
|
)
|
||||||
|
|
||||||
|
assert light.available is True
|
||||||
|
Loading…
x
Reference in New Issue
Block a user