diff --git a/homeassistant/components/hue/light.py b/homeassistant/components/hue/light.py index 649be55e94e98087936931d068d84c66e2455a39..8a3a5c84c025bcc190e46e4fb142f07c1e777681 100644 --- a/homeassistant/components/hue/light.py +++ b/homeassistant/components/hue/light.py @@ -278,6 +278,22 @@ class HueLight(Light): return self.light.action.get("ct") return self.light.state.get("ct") + @property + def min_mireds(self): + """Return the coldest color_temp that this light supports.""" + if self.is_group: + return super().min_mireds + + return self.light.controlcapabilities["ct"]["min"] + + @property + def max_mireds(self): + """Return the warmest color_temp that this light supports.""" + if self.is_group: + return super().min_mireds + + return self.light.controlcapabilities["ct"]["max"] + @property def is_on(self): """Return true if device is on.""" diff --git a/tests/components/hue/test_light.py b/tests/components/hue/test_light.py index 998e3cdea5033d630a232b017b5cce3a58f9b824..c4a2a2fc09a54f35150e962f5db1922fa3c7757b 100644 --- a/tests/components/hue/test_light.py +++ b/tests/components/hue/test_light.py @@ -49,6 +49,17 @@ GROUP_RESPONSE = { "state": {"any_on": True, "all_on": False}, }, } +LIGHT_1_CAPABILITIES = { + "certified": True, + "control": { + "mindimlevel": 5000, + "maxlumen": 600, + "colorgamuttype": "A", + "colorgamut": [[0.704, 0.296], [0.2151, 0.7106], [0.138, 0.08]], + "ct": {"min": 153, "max": 500}, + }, + "streaming": {"renderer": True, "proxy": False}, +} LIGHT_1_ON = { "state": { "on": True, @@ -62,12 +73,7 @@ LIGHT_1_ON = { "colormode": "xy", "reachable": True, }, - "capabilities": { - "control": { - "colorgamuttype": "A", - "colorgamut": [[0.704, 0.296], [0.2151, 0.7106], [0.138, 0.08]], - } - }, + "capabilities": LIGHT_1_CAPABILITIES, "type": "Extended color light", "name": "Hue Lamp 1", "modelid": "LCT001", @@ -88,12 +94,7 @@ LIGHT_1_OFF = { "colormode": "xy", "reachable": True, }, - "capabilities": { - "control": { - "colorgamuttype": "A", - "colorgamut": [[0.704, 0.296], [0.2151, 0.7106], [0.138, 0.08]], - } - }, + "capabilities": LIGHT_1_CAPABILITIES, "type": "Extended color light", "name": "Hue Lamp 1", "modelid": "LCT001", @@ -101,6 +102,17 @@ LIGHT_1_OFF = { "manufacturername": "Philips", "uniqueid": "456", } +LIGHT_2_CAPABILITIES = { + "certified": True, + "control": { + "mindimlevel": 5000, + "maxlumen": 600, + "colorgamuttype": "A", + "colorgamut": [[0.704, 0.296], [0.2151, 0.7106], [0.138, 0.08]], + "ct": {"min": 153, "max": 500}, + }, + "streaming": {"renderer": True, "proxy": False}, +} LIGHT_2_OFF = { "state": { "on": False, @@ -114,12 +126,7 @@ LIGHT_2_OFF = { "colormode": "hs", "reachable": True, }, - "capabilities": { - "control": { - "colorgamuttype": "A", - "colorgamut": [[0.704, 0.296], [0.2151, 0.7106], [0.138, 0.08]], - } - }, + "capabilities": LIGHT_2_CAPABILITIES, "type": "Extended color light", "name": "Hue Lamp 2", "modelid": "LCT001", @@ -140,12 +147,7 @@ LIGHT_2_ON = { "colormode": "hs", "reachable": True, }, - "capabilities": { - "control": { - "colorgamuttype": "A", - "colorgamut": [[0.704, 0.296], [0.2151, 0.7106], [0.138, 0.08]], - } - }, + "capabilities": LIGHT_2_CAPABILITIES, "type": "Extended color light", "name": "Hue Lamp 2 new", "modelid": "LCT001", @@ -353,12 +355,7 @@ async def test_new_light_discovered(hass, mock_bridge): "colormode": "hs", "reachable": True, }, - "capabilities": { - "control": { - "colorgamuttype": "A", - "colorgamut": [[0.704, 0.296], [0.2151, 0.7106], [0.138, 0.08]], - } - }, + "capabilities": LIGHT_1_CAPABILITIES, "type": "Extended color light", "name": "Hue Lamp 3", "modelid": "LCT001", @@ -518,12 +515,7 @@ async def test_other_light_update(hass, mock_bridge): "colormode": "hs", "reachable": True, }, - "capabilities": { - "control": { - "colorgamuttype": "A", - "colorgamut": [[0.704, 0.296], [0.2151, 0.7106], [0.138, 0.08]], - } - }, + "capabilities": LIGHT_2_CAPABILITIES, "type": "Extended color light", "name": "Hue Lamp 2 new", "modelid": "LCT001",