Using alert with Hue maintains prior state (#3147)
* When using flash with hue, dont change the on/off state of the light so that it will naturally return to its previous state once flash is complete * ATTR_FLASH not ATTR_EFFECTpull/3188/head
parent
22362727e4
commit
0f37d8d8eb
|
@ -98,6 +98,7 @@ LIGHT_TURN_ON_SCHEMA = vol.Schema({
|
|||
LIGHT_TURN_OFF_SCHEMA = vol.Schema({
|
||||
ATTR_ENTITY_ID: cv.entity_ids,
|
||||
ATTR_TRANSITION: VALID_TRANSITION,
|
||||
ATTR_FLASH: vol.In([FLASH_SHORT, FLASH_LONG]),
|
||||
})
|
||||
|
||||
LIGHT_TOGGLE_SCHEMA = vol.Schema({
|
||||
|
|
|
@ -264,8 +264,10 @@ class HueLight(Light):
|
|||
|
||||
if flash == FLASH_LONG:
|
||||
command['alert'] = 'lselect'
|
||||
del command['on']
|
||||
elif flash == FLASH_SHORT:
|
||||
command['alert'] = 'select'
|
||||
del command['on']
|
||||
elif self.bridge_type == 'hue':
|
||||
command['alert'] = 'none'
|
||||
|
||||
|
@ -290,6 +292,17 @@ class HueLight(Light):
|
|||
# 900 seconds.
|
||||
command['transitiontime'] = min(9000, kwargs[ATTR_TRANSITION] * 10)
|
||||
|
||||
flash = kwargs.get(ATTR_FLASH)
|
||||
|
||||
if flash == FLASH_LONG:
|
||||
command['alert'] = 'lselect'
|
||||
del command['on']
|
||||
elif flash == FLASH_SHORT:
|
||||
command['alert'] = 'select'
|
||||
del command['on']
|
||||
elif self.bridge_type == 'hue':
|
||||
command['alert'] = 'none'
|
||||
|
||||
self.bridge.set_light(self.light_id, command)
|
||||
|
||||
def update(self):
|
||||
|
|
|
@ -60,6 +60,12 @@ turn_off:
|
|||
description: Duration in seconds it takes to get to next state
|
||||
example: 60
|
||||
|
||||
flash:
|
||||
description: If the light should flash
|
||||
values:
|
||||
- short
|
||||
- long
|
||||
|
||||
toggle:
|
||||
description: Toggles a light
|
||||
|
||||
|
|
Loading…
Reference in New Issue