* 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
* Add sonos alarm clock update service
* Add tests and break lines
* Fix style errors
* Make test work with python<3.6
* Fix last two pylint errors
* fix new line to long errors
* SMTP notify enhancements: HTML emails and customization options
- Send full HTML emails, with or without inline attached images.
- Custom `timeout`.
- Custom `product_name` identifier for the `FROM` and `X-MAILER` email headers.
- New HTML email test
* `sender_name` instead of product_name
- Change `sender_name` instead of `product_name`.
- No changes in `X-Mailer` header.
- `From` header as always unless you define the new `sender_name` parameter.
* No longer require pyunify during tests
* No longer require cast during tests
* No longer required dependency for tests
* No longer require pymochad for tests
* Astral is a core dependency
* Avoid having to install datadog dependency during tests
* CMUS test doesn't test anything
* Frontier Silicon doesn't test anything
* No longer require mutagen
* Update requirements_test_all.txt
* Remove stale comment
* Fix Kodi specific services, add descriptions, add more handled exceptions
- Fixes issue #7528
- Add descriptions for Kodi specific services in services.yaml.
- Error handling in Kodi API errors.
- Make compatible the existent specific service `media_player.kodi_set_shuffle` with the general `media_player.shuffle_set` service (both use the same method but with different named parameter, I think the Kodi specific service should be eliminated, since it is not)
* fix line too long
* removed new services (for another PR); removed `kodi_set_shuffle` service
* requested changes
- Removed `kodi_set_shuffle` service.
- Optional `media_name` and `artist_name` parameters. `media_name` defaults to 'ALL'.
- Guard clause to check if the services are already registered.
Bumped blink version to support automatic reauthorization when tokens expire. Changed the battery sensor call to a string version so that the battery reports back "Low" or "OK" rather than a cryptic integer
* Initialize sun with unknown values.
Initial values should be `unknown` instead of `0`. Otherwise on HA restart the value of `0` is pushed to metrics databases (graphite/influx/recorder).
* Update sun position before emitting initial update
* Simplify based on armills comment.
* Use provided time for calculation.
* Added raspihats binary_sensor platform
* Updated .coveragerc to ommit raspihats platforms.
* Using vol.Coerce(int) for validation and casting of I2CHat config address
* Move service helpers to LifxManager
* Add lifx_set_color
This is a synonym for light.turn_on except it does not actually turn on the
light unless asked to.
Thus, turn_on can be implemented just by asking.
* Rename set_color to set_state
* Support power=False with lifx_set_state
* Added Axis hub, binary sensors and camera
* Added Axis logo to static images
* Added Axis logo to configurator
Added Axis mdns discovery
* Fixed flake8 and pylint comments
* Missed a change from list to function call
V5 of axis py
* Added dependencies to requirements_all.txt
* Clean up
* Added files to coveragerc
* Guide lines says to import function when needed, this makes Tox pass
* Removed storing hass in config until at the end where I send it to axisdevice
* Don't call update in the constructor
* Don't keep hass private
* Unnecessary lint ignore, following Baloobs suggestion of using NotImplementedError
* Axis package not in pypi yet
* Do not catch bare excepts. Device schema validations raise vol.Invalid.
* setup_device still adds hass object to the config, so the need to remove it prior to writing config file still remains
* Don't expect axis.conf contains correct values
* Improved configuration validation
* Trigger time better explains functionality than scan interval
* Forgot to remove this earlier
* Guideline says double qoutes for sentences
* Return false from discovery if config file contains bad data
* Keys in AXIS_DEVICES are serialnumber
* Ordered imports in alphabetical order
* Moved requirement to pypi
* Moved update callback that handles trigger time to axis binary sensor
* Renamed configurator instance to request_id since that is what it really is
* Removed unnecessary configurator steps
* Changed link in configurator to platform documentation
* Add not-context-manager (#7523)
* Add not-context-manager
* Add missing comma
* Threadsafe configurator (#7536)
* Make Configurator thread safe, get_instance timing issues breaking configurator working on multiple devices
* No blank lines allowed after function docstring
* Fix comment Tox
* Added Axis hub, binary sensors and camera
* Added Axis logo to static images
* Added Axis logo to configurator
Added Axis mdns discovery
* Fixed flake8 and pylint comments
* Missed a change from list to function call
V5 of axis py
* Added dependencies to requirements_all.txt
* Clean up
* Added files to coveragerc
* Guide lines says to import function when needed, this makes Tox pass
* Removed storing hass in config until at the end where I send it to axisdevice
* Don't call update in the constructor
* Don't keep hass private
* Unnecessary lint ignore, following Baloobs suggestion of using NotImplementedError
* Axis package not in pypi yet
* Do not catch bare excepts. Device schema validations raise vol.Invalid.
* setup_device still adds hass object to the config, so the need to remove it prior to writing config file still remains
* Don't expect axis.conf contains correct values
* Improved configuration validation
* Trigger time better explains functionality than scan interval
* Forgot to remove this earlier
* Guideline says double qoutes for sentences
* Return false from discovery if config file contains bad data
* Keys in AXIS_DEVICES are serialnumber
* Ordered imports in alphabetical order
* Moved requirement to pypi
* Moved update callback that handles trigger time to axis binary sensor
* Renamed configurator instance to request_id since that is what it really is
* Removed unnecessary configurator steps
* Changed link in configurator to platform documentation
* No blank lines allowed after function docstring
* No blank lines allowed after function docstring
* Changed discovery to use axis instead of axis_mdns
* Travis CI requested rerun of script/gen_requirements_all.py
* Support adding different server locations
* Rename variables and move CONF_ const into component as requested in review
* Fix unittests
* Forgot to add tests for microsoft_face_identify
* ps - do not install all dependencies
* Comment out blinkt because it depends on GPIO
* Add pip upgrade check back
* Disable import error blinkt
* Update comment
* Fix comment
* Generate a new updateDate with every call
This should fix#7459
Tests need to be updated in another commit.
* Replace STATIC_TIME with datetime object check
Removing the "DATE" argument from the Alexa component's configuration (because it is now dynamically generated) requires this commit's changes to the test cases to check that the updateDate data is a datetime type rather than a specific hardcoded value ('2016-10-10T19:51:42.0Z').
* Fix brackets
* Make Configurator thread safe, get_instance timing issues breaking configurator working on multiple devices
* No blank lines allowed after function docstring
* Fix comment Tox