* move service constants to const.py, move all custom xiaomi_miio services to xiaomi_miio domain
* update service names
* try to fix black error
* try black formatting again
* final black formatting attempt
* update service names to reflect platform
* fix typo
* New service added to control the power mode of the yeelight
* Debug output removed.
* Strict validation of the available power modes
* Service description added
* Service parameter name fixed
* Unavailable state introduced if the device isn't reachable.
A new configuration option "model" can be used to define the device type.
```
light:
- platform: xiaomi_miio
name: Xiaomi Philips Smart LED Ball
host: 192.168.130.67
token: da548d86f55996413d82eea94279d2ff
# Bypass of the device model detection.
# Optional but required to add an unavailable device
model: philips.light.bulb
```
New attribute "scene" and "delay_off_countdown" added.
New service xiaomi_miio_set_delay_off introduced.
* Service xiaomi_miio_set_delayed_turn_off updated. The attribute "delayed_turn_off" is a timestamp now.
* None must be a valid model.
* Math.
* Microseconds removed because of the low resolution.
* Comment updated.
* Update the ATTR_DELAYED_TURN_OFF on a deviation of 4 seconds (max latency) only.
* Import of datetime fixed.
* Typo fixed.
* pylint issues fixed.
* Naming.
* Service parameter renamed.
* New ceiling lamp model (philips.light.zyceiling) added.
* Use positive timedelta instead of seconds.
* Use a unique data key per domain.
* Service for setting a fixed scene introduced.
Fixes https://github.com/syssi/philipslight/issues/6.
Fixes https://github.com/home-assistant/home-assistant/issues/10458.
* Service description added.
* Typo fixed.
* Error message updated and naming improved.
* Name ("scene") of the method parameter aligned.
* Hound error fixed: Spaces removed.
* async_setup_platform method simplified.
* Lazy loading of service descriptions.
* Unused import removed.
* Make aiolifx modules easily available
* Use aiolifx features_map for deciding bulb features
Also move the feature detection out of Light so it is available even
during the initial detection.
* Move each LIFX light type to a separate class
* Simplify AwaitAioLIFX
This has become possible with recent aiolifx that calls the callback even
when a message is lost.
Now the wrapper can be used also before a Light is added though the register
callback then has to become a coroutine.
* Refactor send_color
* Add support for multizone
This lets lifx_set_state work on individual zones.
Also update to aiolifx_effects 0.1.1 that restores the state for individual
zones.
* LIFX: Move light effects to external library
This moves the LIFX light effects to the external library aiolifx_effects.
To get the light state synchronized between that library and HA, the LIFX
platform no longer maintains the light state itself. Instead, it uses the
cached state that aiolifx maintains.
The reorganization also includes the addition of a cleanup handler.
* Fix style
* Refactor color profiles to a class
* Refactor into preprocess_turn_on_alternatives
* LIFX: use light.preprocess_turn_on_alternatives
This avoids the color_name duplication and gains support for profile.
* Add kelvin parameter to light.turn_on
* Add brightness_pct parameter to light.turn_on
* LIFX: accept brightness_pct in effects
* Add test of kelvin/brightness_pct conversions
* Remove global limit on white light temperature
Here are the supported temperatures of some popular bulbs:
Philips Hue: 2000K-6500K (the current 500-154 mired range)
LIFX Color 1000: 2500K-9000K
IKEA TRÅDFRI: 2200K, 2700K, 4000K
Obviously, Home Assistant cannot enforce a global limit and work properly
with all of these bulbs. So just remove the limit and leave it up to each
platform to work it out.
This commit updates the existing users and adds a clamp to Hue (where the
limit appears to have originated). It does not attempt to update other
platforms that might need extra handling of the larger range that is now
possible.
* Add min_mireds/max_mireds state attributes to lights
* Support min_mireds/max_mireds with LIFX lights
* create light.hue_activate_scene service
This creates a light.hue_activate_scene service that takes group_name
and scene_name, and calls phue's bridge.run_scene with those
parameters. This allows calling hue bridge stored scene names by name
during automation.
This only currently works reliably in 1 hue hub configurations (which
is most of them). Phue will be further enhanced to display warnings
when it can't figure out what to do with the parameters passed in to HA.
* Update hue.py
* Update __init__.py
addedattribute "WHITE_VALUE" to improve support for RGBW devices
* Update services.yaml
* Update __init__.py
* Update __init__.py
* Update __init__.py
* Update __init__.py
* Update __init__.py
* Update __init__.py
shortened line
* Update __init__.py
* Update __init__.py
* Add mysensors RGBW and light tests
* Activate support for mysensors RGBW devices with support for
white_value attribute.
* Add white_value support in light demo platform.
* Add tests for white_value and more for light component.
* Add tests for light demo platform.
* Fix import order in check_config.
* 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_EFFECT
* Add support for providing color_name which accepts a CSS3 valid, human readable string such as red or blue
* Forgot the schema validation!
* ugh farcy
* use html5_parse_legacy_color for more input options
* Add webcolors==1.5 to setup.py
* Block pylint no-member errors on tuple
* add color_name_to_rgb test
* whoops
* revert changes to individual platforms
* If color_name is set, pop it off params and set rgb_color with it
* Forgot to reset wink.py
* Import the legacy function as color_name_to_rgb directly
* reset test_color.py
* Improve light services.yaml