mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Add functionality set random color Philips Hue
This commit is contained in:
parent
3e51d0b539
commit
0dfc1c4e7a
@ -50,6 +50,7 @@ FLASH_LONG = "long"
|
|||||||
# Apply an effect to the light, can be EFFECT_COLORLOOP
|
# Apply an effect to the light, can be EFFECT_COLORLOOP
|
||||||
ATTR_EFFECT = "effect"
|
ATTR_EFFECT = "effect"
|
||||||
EFFECT_COLORLOOP = "colorloop"
|
EFFECT_COLORLOOP = "colorloop"
|
||||||
|
EFFECT_RANDOM = "random"
|
||||||
EFFECT_WHITE = "white"
|
EFFECT_WHITE = "white"
|
||||||
|
|
||||||
LIGHT_PROFILES_FILE = "light_profiles.csv"
|
LIGHT_PROFILES_FILE = "light_profiles.csv"
|
||||||
@ -228,7 +229,7 @@ def setup(hass, config):
|
|||||||
if dat.get(ATTR_FLASH) in (FLASH_SHORT, FLASH_LONG):
|
if dat.get(ATTR_FLASH) in (FLASH_SHORT, FLASH_LONG):
|
||||||
params[ATTR_FLASH] = dat[ATTR_FLASH]
|
params[ATTR_FLASH] = dat[ATTR_FLASH]
|
||||||
|
|
||||||
if dat.get(ATTR_EFFECT) in (EFFECT_COLORLOOP, EFFECT_WHITE):
|
if dat.get(ATTR_EFFECT) in (EFFECT_COLORLOOP, EFFECT_WHITE, EFFECT_RANDOM):
|
||||||
params[ATTR_EFFECT] = dat[ATTR_EFFECT]
|
params[ATTR_EFFECT] = dat[ATTR_EFFECT]
|
||||||
|
|
||||||
for light in target_lights:
|
for light in target_lights:
|
||||||
|
@ -10,6 +10,7 @@ import json
|
|||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import socket
|
import socket
|
||||||
|
import random
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
from urllib.parse import urlparse
|
from urllib.parse import urlparse
|
||||||
|
|
||||||
@ -20,7 +21,7 @@ from homeassistant.const import CONF_HOST, DEVICE_DEFAULT_NAME
|
|||||||
from homeassistant.components.light import (
|
from homeassistant.components.light import (
|
||||||
Light, ATTR_BRIGHTNESS, ATTR_XY_COLOR, ATTR_COLOR_TEMP,
|
Light, ATTR_BRIGHTNESS, ATTR_XY_COLOR, ATTR_COLOR_TEMP,
|
||||||
ATTR_TRANSITION, ATTR_FLASH, FLASH_LONG, FLASH_SHORT,
|
ATTR_TRANSITION, ATTR_FLASH, FLASH_LONG, FLASH_SHORT,
|
||||||
ATTR_EFFECT, EFFECT_COLORLOOP, ATTR_RGB_COLOR)
|
ATTR_EFFECT, EFFECT_COLORLOOP, EFFECT_RANDOM, ATTR_RGB_COLOR)
|
||||||
|
|
||||||
REQUIREMENTS = ['phue==0.8']
|
REQUIREMENTS = ['phue==0.8']
|
||||||
MIN_TIME_BETWEEN_SCANS = timedelta(seconds=10)
|
MIN_TIME_BETWEEN_SCANS = timedelta(seconds=10)
|
||||||
@ -233,6 +234,9 @@ class HueLight(Light):
|
|||||||
|
|
||||||
if effect == EFFECT_COLORLOOP:
|
if effect == EFFECT_COLORLOOP:
|
||||||
command['effect'] = 'colorloop'
|
command['effect'] = 'colorloop'
|
||||||
|
elif effect == EFFECT_RANDOM:
|
||||||
|
command['hue'] = random.randrange(0,65535)
|
||||||
|
command['sat'] = random.randrange(150,254)
|
||||||
else:
|
else:
|
||||||
command['effect'] = 'none'
|
command['effect'] = 'none'
|
||||||
|
|
||||||
|
@ -42,6 +42,7 @@ turn_on:
|
|||||||
description: Light effect
|
description: Light effect
|
||||||
values:
|
values:
|
||||||
- colorloop
|
- colorloop
|
||||||
|
- random
|
||||||
|
|
||||||
turn_off:
|
turn_off:
|
||||||
description: Turn a light off
|
description: Turn a light off
|
||||||
|
Loading…
x
Reference in New Issue
Block a user