New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Logitech Pop support for emulated_hue component #12833

Merged
merged 8 commits into from Apr 28, 2018

Conversation

Projects
None yet
4 participants
@dgraye
Contributor

dgraye commented Mar 2, 2018

Description:

Added a bit of code that would make the emulated_hue component work with the Logitech Pop based on information discovered from ha-bridge here (so full credit the contributors and maintainer of ha-bridge):

bwssytems/ha-bridge#623

Note: first time contributing, please excuse any misstep

Related issue (if applicable): fixes #

Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#<home-assistant.github.io PR number goes here>

Example entry for configuration.yaml (if applicable):

Checklist:

  • The code change is tested and works locally.

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • Local tests with tox run successfully. Your PR cannot be merged unless tests pass
  • New dependencies have been added to the REQUIREMENTS variable (example).
  • New dependencies are only imported inside functions that use them (example).
  • New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
  • New files were added to .coveragerc.

If the code does not interact with devices:

  • Local tests with tox run successfully. Your PR cannot be merged unless tests pass
  • Tests have been added to verify that the new code works.

dgraye added some commits Feb 20, 2018

Update hue_api.py
add dummy group handler for logitech-pop
Update __init__.py
add HueGroupView for logitech pop
@homeassistant

This comment has been minimized.

homeassistant commented Mar 2, 2018

Hi @dgraye,

It seems you haven't yet signed a CLA. Please do so here.

Once you do that we will be able to review and accept this pull request.

Thanks!

def put(self, request, username):
return self.json([{'error': {'address': '/groups/0/action/scene', 'type':7, 'description': 'invalid value, dummy for parameter, scene'}}])

This comment has been minimized.

@houndci-bot

houndci-bot Mar 2, 2018

blank line contains whitespace

@core.callback
def put(self, request, username):
return self.json([{'error': {'address': '/groups/0/action/scene', 'type':7, 'description': 'invalid value, dummy for parameter, scene'}}])

This comment has been minimized.

@houndci-bot

houndci-bot Mar 2, 2018

line too long (146 > 79 characters)
missing whitespace after ':'

@@ -105,7 +105,8 @@ def setup(hass, yaml_config):
server.register_view(HueAllLightsStateView(config))
server.register_view(HueOneLightStateView(config))
server.register_view(HueOneLightChangeView(config))
server.register_view(HueGroupView(config))

This comment has been minimized.

@houndci-bot

houndci-bot Mar 2, 2018

blank line contains whitespace

@homeassistant homeassistant added cla-signed and removed cla-needed labels Mar 2, 2018

@dgraye dgraye changed the title from Logitech pop to Logitech Pop support for emulated_hue component Mar 2, 2018

Update __init__.py
removed whitespace on blankline
def put(self, request, username):
return self.json([{'error': {'address': '/groups/0/action/scene',
'type':7, 'description': 'invalid value, dummy ' +
'for parameter, scene'}}])

This comment has been minimized.

@houndci-bot

houndci-bot Mar 3, 2018

continuation line under-indented for visual indent

@core.callback
def put(self, request, username):
return self.json([{'error': {'address': '/groups/0/action/scene',
'type':7, 'description': 'invalid value, dummy ' +

This comment has been minimized.

@houndci-bot

houndci-bot Mar 3, 2018

missing whitespace after ':'

dgraye added some commits Mar 3, 2018

@core.callback
def put(self, request, username):
"""Dummy handler."""

This comment has been minimized.

@houndci-bot

houndci-bot Mar 3, 2018

trailing whitespace

@@ -51,6 +51,25 @@ def post(self, request):
return self.json([{'success': {'username': '12345678901234567890'}}])
class HueGroupView(HomeAssistantView):
"""Dummy group handler to get Logitech Pop working."""

This comment has been minimized.

@houndci-bot

houndci-bot Mar 3, 2018

blank line contains whitespace

dgraye and others added some commits Mar 3, 2018

@fabaff

fabaff approved these changes Apr 28, 2018

Looks good to me 🐦

@fabaff fabaff merged commit 8d87b9f into home-assistant:dev Apr 28, 2018

5 checks passed

Hound No violations found. Woof!
WIP ready for review
Details
cla-bot Everyone involved has signed the CLA
continuous-integration/travis-ci/pr The Travis CI build passed
Details
coverage/coveralls Coverage remained the same at 93.625%
Details

@balloob balloob referenced this pull request May 11, 2018

Merged

0.69 #14392

HydrelioxGitHub added a commit to HydrelioxGitHub/home-assistant that referenced this pull request Jun 16, 2018

Add Alfawise Humidifier as fan component
Correct pylint error

Add extra attributes for device scanner, Nmap and Unifi (IP, SSID, etc.) (#13673)

* Start of development

* Add extra attributes from unifi scanner

* Store IP of the device in the state attributes with nmap

* Allow not defining get_extra_attributes method in derived classes

Fixed Capsman data not being used (#13917)


Broadlink Sensor - switch to connection-less mode (#13761)

* Broadlink Sensor - switch to connection-less mode

Solved the issue with broadlink sensor that occurs when short connection loss with RM2/3 is present on poor WiFi networks.

* Update broadlink.py

* Update broadlink.py

* Update broadlink.py

* Update broadlink.py

* Update broadlink.py

* Update broadlink.py

* Update broadlink.py

Add support for new platform: climate.modbus (#12224)

* Added support for a new platform: climate.modbus

* Made changes based on code review.

* Made changes based on code review

* Made changes that were recommended in the pull request review.

* Fixed spacing line 144

* Added docstrings for the added helper functions.

* Fixed set_temperature() function to use a variable local to the function for the target temp.

* Fixed lint formatting error

* Modified logic when checking the target temperature, as well as fixing the setup_platform function

Hive R3 update (#13357)

* Rebase

* Update version number to 0.2.14

* Remove Blank Line

* Added period to docstring

* Update Tox Fix

* Removed Lines

Updated foobot_async package version (#13942)

Fix #13886
Update pyhydroquebec to 2.2.2 (#13946)


Upgrade alpha_vantage to 2.0.0 (#13943)


Update pyfido to 2.1.1 (#13947)


Cleanup on exit (#13918)

* Cleanup on exit

* lint

* version bump

* pymediaroom version bump

* address @kellerza comment

* avoid None in the _name

Upgrade somecomfort to 0.5.2 (#13940)


Add data entry flow helper (#13935)

* Extract data entry flows HTTP views into helper

* Remove use of domain

* Lint

* Fix tests

* Update doc

Xiaomi MiIO Device Tracker: Unused variable removed  (#13948)

* Unused variable removed and pinning added to be in sync with all xiaomi_miio components

* requirements_all.txt updated

Implement play media to set a channel based on (by priority): (#13934)

- exact channel number
 - exact channel name
 - similar channel name temp
Update of python-mpd2 (#13921)


Add AVM fritzbox smarthome component (#10688)

* initial commit

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* fix failed flake8 tests

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* add fritzhome files to .coveragerc

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* fix wrong module import

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove too general exception

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* incorporate review comments

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove blank line

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* fix wrong import

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* fix issue with operations

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* incorporate review comments

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove unused attributes

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* adapt to supported_features

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* change checking of kwargs to canonical way

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove unused self._state

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* Don't overwrite the platform domain

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* Remove parenthesis from import without line break

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* Do not pass hass to the components on init

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* Remove check for available in current_operation

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* Remove redundant logging message

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* Add blank line between standard and hass imports

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* Use states from base climate component

Also add the new state STATE_MANUAL to the base.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* add reconnect when access failed

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* add device specific attributes

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* group the imports from the same module

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* change domain data to fritz instance

This let us use the fritz instance to reconnect from platform without accessing
protected attributes.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* fix typo

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* rename platform from fritzhome to fritzbox

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* Add device_state_attributes

Add attributes to have compatiblity to fritzdect.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* add support for multiple fritzboxes

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* fix pylint issues

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* fixed pyfritzhome version

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* fix import

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* fix component name in requirements_all.txt

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* upgrade pyfritzhome to 0.3.7

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* rename platform/component also in .coveragerc

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* use DEFAULT_HOST when no host is in dict

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* add config schema for dict

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove check

The check since since the config scheme takes case.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* add check for empty devices

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* use standard attribute from base class

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove STATE_MANUAL from operation list

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove set DEFAULT_HOST

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* don't pass hass to the SwitchDevice

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove unsed DEFAULT_HOST

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* refactored device attributes

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* add info output if no fritzbox is configured

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* small fixes according review comment

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove unneeded default value

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove non required code from try..except block

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* line break for line that is too long

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove too many empty lines

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

Adds SigFox sensor (#13731)

* Create sigfox.py

* Create test_sigfox.py

* Update .coveragerc

* Fix lints

* Fix logger message string

* More lints

* Address reviewer comments

* edit exception handling

* Update sigfox.py

* Update sigfox.py

* Update sigfox.py

* Update sigfox.py

Upgrade aiohttp to 3.1.3 (#13938)


Upgrade youtube_dl to 2018.04.16 (#13937)


Added FB messenger broadcast api to notify.facebook component (#12459)

* Added ability to use FB messenger broadcast api. use 'BROADCAST' keyword for first target in the facebook notifiy component to enable.

* Added ability to use FB messenger broadcast api. use 'BROADCAST' keyword for first target in the facebook notifiy component to enable.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Update facebook.py

* Update facebook.py

* Update facebook.py

* Update facebook.py

Added web view for TTS to get url (#13882)

* Added web view for to get url

* Added web view for TTS to get url

* Added web view for TTS to get url

* Added web view for TTS to get url

* Fixed test

* added auth

* Update __init__.py

Update frontend to 20180417

Add services for bmw_connected_drive (#13497)

* implemented services for bmw remote services

* added vin to attributes of tracker
* moved component to new package
* added service description

* fixed static analysis warnings

* implemented first set of code reviews

* removed locking related services

* fixed static analysis warnings

* removed excess blank lines

* refactoring of setup() to resolve warning
"Cell variable bimmer defined in loop (cell-var-from-loop)"

* added missing docstring

* added service to update all vehicles from the server

* implemented changes requested in code review

* added check if invalid vin is entered

Fix call to parent broadlink switch (#13906)

* Broadlink switch, fixes issue #13799

* slugify

Bump deCONZ requirement to v36 (#13960)


Bumped pypollencom to 1.1.2 (#13959)

* Bumped pypollencom to 1.1.2

* Updated requirements_all.txt

Fix Gogogate2 'available' attribute (#13728)

* Fixed bug -  unable to set base readaonly property

* PR fixes

* Added line

Fix so it is possible to ignore discovered config entry handlers (#13741)

* Fix so it is possible to ignore discovered config entry handlers

* Improve efficiency

Prevent vesync doing I/O in event loop (#13862)


Fix #13846 Double underscore in bluetooth address (#13884)


Fix race condition for component loaded before listening (#13887)

* Fix race condition for component loaded before listening

* async/await syntax

Missing property decorator added (#13889)


Fix call to parent broadlink switch (#13906)

* Broadlink switch, fixes issue #13799

* slugify

Import operation modes from air humidifier (#13908)


Upgrade pyqwikswitch to 0.71 (#13920)

Upgrade somecomfort to 0.5.2 (#13940)


Update pyhydroquebec to 2.2.2 (#13946)


Update pyfido to 2.1.1 (#13947)


Bumped pypollencom to 1.1.2 (#13959)

* Bumped pypollencom to 1.1.2

* Updated requirements_all.txt

Version bump to 0.67.1

Revert "Upgrade pyqwikswitch to 0.71 (#13920)"

This reverts commit 6fa60c464bb012c73f03b9b3ea69d82539d7c8f5.

Merge pull request #13975 from home-assistant/rc

0.67.1
Bump skybellpy version to 0.1.2 (#13974)


Fix typo an coding style (#13970)


Params of the send command can be a list now (#13905)


Support basic covers with open/close/stop services HomeKit (#13819)

* Support basic covers with open/close/stop services
* Support optional stop
* Tests
Colorlog windows fix (#13929)

* Fix colorlog on windows

Modified the way logging is initialized to fix two things.
1. If the import of `colorlog` fails the logs will still be formatted
   using the expected HASS log format.
2. Ensure that `logging.basicConfig` is called AFTER `colorlog` is
   imported so that the default handler generated will be writing to the
   wrapped stream generated when `colorama` is initialized.  This allows
   colored logging to work on Windows.

Added support for a `--log-no-color` command line switch in the event
that someone just wants to disable colored log output entirely.

* Fix line lengths

* Switch default value

deCONZ migrate setup fully to config entry (#13679)

* Initial working config entry with discovery

* No need for else

* Make sure that imported config doesnt exist as a config entry

* Improve checks to make sure there is only instance of deconz

* Fix tests and add new tests

* Follow upstream changes
Fix case when discovery started ongoing config entry and user completes setup  from other path it was possible to complete discovered config entry as well

* Add test to make sure link doesn't bypass any check for only allowing one config entry

* Dont use len to determine an empty sequence

* Cleanup

* Allways get bridgeid to use as unique identifier for bridge

Alexa thermostat fails to properly parse 'value' field for climate (#13958)

* Fix thermostat payload issue

* fix test payload

* style issue

* handle both string and value object

renaming icons (#13982)

* renaming icons

* remove mdi:robot-vacuum

* fix other vacuums

Version bump to 20180418.0

Fix for Lokalise backend misinterpretation of keys (#13986)

The Lokalise server has a bug that the internal portion of key
references was misinterpreted as a symfony key, and was getting auto
converted by the convert placeholders feature. Since we don't use this
we're turning it off to work around the bug.
Bump locationsharinglib to 1.2.1 (#13980)

* Bump locationsharinglib to 1.2.1

*  Bump locationsharinglib to 1.2.1

Support for multiple MAX!Cube LAN gateways added (#13517)


Add additional receiver for Onkyo zone 2 (#13551)


Add blackbird media player component (#13549)


Add support for Sensirion SHT31 temperature/humidity sensor (#12952)


Useless code removed (#13996)


Add Homematic HmIP-SWO-PR weather sensor support (#13904)


Disable ebox requirement (#14003)

* Disable ebox requirement

* Lint

Update frontend to 20180420.0

Upgraded miflora library to version 0.4.0 (#14005)


Log an error instead of raising an exception (#14006)


Tibber available  (#13865)

* Tibber available

* Tibber available

* Tibber

* Tibber

Upgrade pylutron-caseta to 0.5.0 to reestablish connections (#14013)

* Upgrade pylutron-caseta to 0.5.0 to reestablish connections

* Upgrade pylutron-caseta to 0.5.0 in requirements_all.txt

Add sensor device classes (#14010)


Merge branch 'dev' into rc

Version bump to 0.68.0b0

Qwikswitch binary sensors (#14008)


Pollen.com: Added attributes on top 3 allergens (#14018)


Expose the condition code on condition sensors (#14011)

* expose the condition code on condition sensors

* :lipstick:

* like thisss duh

* add test for condition_code

* It’s a string

upgrade rfxtrx lib,  dimming support for Lighting3 (#14026)


HomeKit Alarm Control Panel Code Exception Fix (#14025)

* Catch exception for KeyError
* Use get and added test
Add Accuracy to Google Location Sharing (#14039)

* Update locationsharinglib to 1.2.1 and add accuracy.

* Change indents to match HA style

bump gogogate2 version (#14044)

* bump gogogate2 version

* Update - requirements_all

device_tracker.ubus: catch ConnectionError (#14045)

When an OpenWrt device monitored via ubus is offline, this causes the
log to be flooded with several exceptions. Avoid this by catching
requests.exceptions.ConnectionError in addition to
requests.exceptions.Timeout.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Show a notification when a config entry is discovered (#14022)

* Show a notification when a config entry is discovered

* update comment

* Inline functions

* Lint

Revert cast platform polling mode (#14027)


Handle HomeKit configuration failure more cleanly (#14041)

* Handle HomeKit configuration failure more cleanly

Add support for handling cases where HomeKit configuration fails, and give
the user more information about what to do.

* Don't consume the exception for a homekit.UnknownError

If we get an UnknownError then we should alert the user but also still
generate the backtrace so there's actually something for them to file in
a bug report.

Update device classes for contact sensor HomeKit (#14051)


deCONZ use forward entry setup (#13990)

* Use forward entry setup with light platform

* Move sensor to forward entry setup

* Use forward entry setup with binary sensors

* Use forward entry setup with scene platform

* Remove import of unused functionality

* Move deconz setup in to setup entry
Create initial negative tests for setup entry

* Fix hound comment

* Improved tests

* Add test for scene platform

* Add test for binary sensor platform

* Add test for light platform

* Add test for light platform

* Add test for sensor platform

* Fix hound comment

* More asserts on sensor types

Order the output of the automation editor (#14019)

* Order the output of the automation editor

* Lint

Bump pyEight version to update API & reduce connection issues (#14058)


Bump locationsharinglib to 1.2.2 (#14070)

* Bump locationsharinglib to 1.2.2

* Bump locationsharinglib to 1.2.2

Correct config validation and device init

Upgrade broadlink lib (#14074)


Remove excessive debugging in webostv module (#14056)


Bump frontend to 20180425.0

Bump frontend to 20180425.0

Qwikswitch binary sensors (#14008)


Order the output of the automation editor (#14019)

* Order the output of the automation editor

* Lint

HomeKit Alarm Control Panel Code Exception Fix (#14025)

* Catch exception for KeyError
* Use get and added test
Revert cast platform polling mode (#14027)


Handle HomeKit configuration failure more cleanly (#14041)

* Handle HomeKit configuration failure more cleanly

Add support for handling cases where HomeKit configuration fails, and give
the user more information about what to do.

* Don't consume the exception for a homekit.UnknownError

If we get an UnknownError then we should alert the user but also still
generate the backtrace so there's actually something for them to file in
a bug report.

Update device classes for contact sensor HomeKit (#14051)


Version bump to 0.68.0b1

Support new Xiaomi Aqara device model names and LAN protocol 2.0 (#13540)


Add devices to Tahoma (#14075)


New sensor domain expiry (#14067)

* domain expiry

* domain expiry

* domain expiry

* scan interval

* change host to domain

Modify weather components for "new" frontend card (#14076)

* Enable weather condition for all forecasts (OWM)

* Remove entity_picture from BR

* Remove summary texts from Dark Sky

* Update test_darksky.py

Add Sonos device attribute with grouping information (#13553)


Re-implement HomematicIP cloud to async (#13468)

* Recode to async version of homematicip-rest-api

* Remove blank line

* Cleanup of access point status class

* Fix to loong line

* Fix import errors

* Bugfix missing wait the _retry_task for sleep command

* Update comment

* Updates after review

* Small updates of logging and property name

* Fix DOMAIN and revert back to lowercase snakecase strings

* Fix intention and tripple double quotes

* Fix travis build

* Remove unnecessary state attributes

* Fix optional name in configuration

* Further reduction of state attributes

Fix timezone issue when calculating min/max values in tibber #14009 (#14080)

* fix timezone issue in tibber #14009

* remove debug print

Update pyhomematic to 0.1.42 (#14095)

* Updated pyhomematic to 0.1.42

* Updated pyhomematic to 0.1.42

Updated list of AWS regions for Amazon Polly (#14097)

Fixes #14052
Adds update file_path service to local_file camera (#13976)

* WIP: Add update_file service to local_file camera

* Add event on update

* Update local_file.py

* Update services.yaml

* Fix indent

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update local_file.py

* Update test_local_file.py

* Update local_file.py

* Adds file_path to device_state_attributes

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update local_file.py

* Update test_local_file.py

* fixed test_update_file_path

* Update local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update services.yaml

* Update local_file.py

* Update local_file.py

* Update test_local_file.py

* Update local_file.py

Bump frontend to 20180426

Bump frontend to 20180426

Version bump to 0.68.0b2

Zone component config entry support (#14059)

* Initial commit

* Add error handling to config flow
Change unique identifyer to name
Clean up hound comments

* Ensure hass home zone is created with correct entity id
Fix failing tests

* Fix rest of tests

* Move zone tests to zone folder
Create config flow tests

* Add possibility to unload entry

* Use hass.data instead of globas

* Don't calculate configures zones every loop iteration

* No need to know about home zone during setup of entry

* Only use name as title

* Don't cache hass home zone

* Add new tests for setup and setup entry

* Break out functionality from init to zone.py

* Make hass home zone be created directly

* Make sure that config flow doesn't override hass home zone

* A newline was missing in const

* Configured zones shall not be imported
Removed config flow import functionality
Improved tests

Improve MQTT topic validation (#14099)

* Improve MQTT topic validation

* Fix test

* Improve length check

Improve precision of Hue color state (#14113)


Upgrade broadlink lib (#14074)


Fix timezone issue when calculating min/max values in tibber #14009 (#14080)

* fix timezone issue in tibber #14009

* remove debug print

Updated list of AWS regions for Amazon Polly (#14097)

Fixes #14052
Version bump to 0.68.0

Change Eufy brightness handling (#14111)

Eufy device state isn't reported if the bulb is off, so avoid stamping on
the previous values if the bulb isn't going to give us useful information.
In addition, improve handling of bulb turn on if we aren't provided with a
brightness - this should avoid the bulb tending to end up with a brightness of
1 after power cycling.
Change Eufy brightness handling (#14111)

Eufy device state isn't reported if the bulb is off, so avoid stamping on
the previous values if the bulb isn't going to give us useful information.
In addition, improve handling of bulb turn on if we aren't provided with a
brightness - this should avoid the bulb tending to end up with a brightness of
1 after power cycling.
Merge pull request #14124 from home-assistant/rc

0.68
Fix the optional friendly name of the Yeelight (Closes: #14088) (#14110)


Update QNAP lib to 0.2.6; handle null temps gracefully (#14117)

There's one particular QNAP model which sometimes return empty/null temperatures
for certain disks. This commit ensures that this model can be integrated with HASS
without causing KeyErrors or other exceptions - if this edge case is hit, the
sensor will simply show `0` instead.
Support Xiaomi Mijia Bluetooth Wireless Temperature and Humidity Sensor (#13955)


Upgrade colorlog to 3.1.4 (#14132)


Move RainMachine to component/hub model (#14085)

* Moves RainMachine to component/hub model

* Updated requirements

* Updated coverage

* Hound violations

* Collaborator-requested changes

* Small formatting updates

* Removed references to remote API

* Collaborator-requested changes

* Collaborator-requested changes

* Fixed attribution

Add support for light sensors with 'lx' unit to HomeKit (#14131)

* add support for light sensors with lx unit

* add test for light sensor with 'lx' unit

Upgrade restrictedpython to 4.0b3 (#14140)


Logitech Pop support for emulated_hue component (#12833)

* Update hue_api.py

add dummy group handler for logitech-pop

* Update __init__.py

add HueGroupView for logitech pop

* Update __init__.py

removed whitespace on blankline

* fix line limit and space

* fix indents

* fix more docstring and formatting issues.

* fix more whitespace issues

* Fix pylint issue

Bump pyvizio to 0.0.3 (#14147)

* Bumping pyvizio version

* Bump pyvizio version

System log: make firing event optional (#14102)

* Syste log: make firing event optional

* Add test

* Lint

* Doc string

Fix color setting of tplink lights (#14108)


Upgrade pylast to 2.2.0 (#14139)


Upgrade sqlalchemy to 1.2.7 (#14138)


Upgrade tapsaff to 0.2.0 (#14137)


Upgrade python-telegram-bot to 10.0.2 (#14144)


Upgrade youtube_dl to 2018.04.25 (#14136)


Clean up HomeKit accessory information characteristics (#14114)

* Update accessory information characteristics
* Add firmware revision characteristic
Upgrade psutil to 5.4.5 (#14135)


Fixed datetime values (#14153)


deluge-components-update (#14016)


Light mqtt_json: Add HS color support (#14029)

* Light mqtt_json HS color support

* Lint

* Catch float ValueError

Convert more files to async/await syntax (#14142)

* Move more files to async/await syntax

* Attempt Work around pylint bug

Using lazytox :P

Disable eliqonline requirement (#14156)

* Disable eliqonline requirement

* Disable pylint import error

Fix Python 3.6 compatibility for HomeKit controller (#14160)

Python 3.6's http client passes an additional argument to _send_output,
so add that to the function definition.
deCONZ allow unloading of config entry (#14115)

* Working but incomplete

* Remove events on unload

* Add unload test

* Fix failing sensor test

* Improve unload test

* Move DeconzEvent to init

* Fix visual under-indentation

Upgrade netdisco to 1.4.0 (#14152)


Add precipitation to OpenWeatherMap forecast (#13971)

* add initial precipitation support

* move attr to component

* remove blank line

* add forecast attributes to platform and update demo

* add tests

* break long lines

* calc lower temp correctly

* move all new attributes to component

* convert temp low only when existing

Allow transitioning to colour temp for tradfri (#14157)


Add mitemp_bt to coverage

Another coverage fix

Added update_interval to maxcube (#14143)


Revert Hue color state to be xy-based (#14154)


zha: Support remotes/buttons (#12528)


Upgrade numpy to 1.14.3 (#14187)


Improve chromecast disconnection logic (#14190)

* Attempt Cast Fix

* Cleanup

Added CONF_IP_ADDRESS to HomeKit (#14163)


Do not sync entities with an empty name (#14181)


Fix poorly formatted automations (#14196)


Updating darksky default update interval to 5 mins (#14195)

With Darksky allowing only 1000 API requests per day, 2 minutes retry seems to be bit closer to running over the limit and actually it did for 5 days in my account. Hence proposing a change to 5 minutes to keep the API happy and also it doesn't hurt to check the weather for every 5 mins than 2 mins someone lives in Jupiter :-P
Fix TypeError on round(self.humidity) (fixes #13116) (#14174)

* Fix TypeError on round(self.humidity)

Some weather platforms postpone the first data fetch for a while on init. As a result round(self.humidity is called before it is assigned a value, producing an error. This is a fix for that.

* Rewrite to avoid false negative evaluation

As per the suggestion from @OttoWinter, rewrite to avoid matching e.g. 0.0 as false.

Fix color setting of tplink lights (#14108)


Improve precision of Hue color state (#14113)


Revert Hue color state to be xy-based (#14154)


Fix Python 3.6 compatibility for HomeKit controller (#14160)

Python 3.6's http client passes an additional argument to _send_output,
so add that to the function definition.
Added CONF_IP_ADDRESS to HomeKit (#14163)


Do not sync entities with an empty name (#14181)


Improve chromecast disconnection logic (#14190)

* Attempt Cast Fix

* Cleanup

Fix poorly formatted automations (#14196)


Version bump to 0.68.1

Disable eliqonline requirement (#14156)

* Disable eliqonline requirement

* Disable pylint import error

Merge pull request #14199 from home-assistant/rc

0.68.1
Add room hint support to Google Assistant cloud (#14180)


Update CODEOWNERS (#14214)


Fixes #14169 (Upgrade pyupnp-async to 0.1.0.2) (#14210)

* Fixes #14169 (upstream version bump)

* bump pyupnp-async version

zha: Clean up binary_sensor listener registration/state updates (#14197)

- Instead of registering listeners in the entity __init__, do it in
   async_added_to_hass to avoid errors updating an entity which isn't fully
   set up yet
 - Change from schedule_update_ha_state to async_schedule_update_ha_state
HomematicIP cloud: Add logic to check accesspoint connection state (#14203)

* Add logic to check accesspoint connection state

* lint

* changes as per @balloobs comments.

* pylint fix

Foundation for users (#13968)

* Add initial user foundation to Home Assistant

* Address comments

* Address comments

* Allow non-ascii passwords

* One more utf-8 hmac compare digest

* Add new line

Allow easy extension of websocket API (#14186)

* Allow easy extension of websocket API

* Lint

* Move panel test to frontend

* Register websocket commands

* Simplify test

* Lint

Change the divisor for total consumption output (#14215)

According to my observations, the "switch_energy" value displayed by Pyfritzhome is the sum of Wh over the last week since measurement.
As a result, the correct divisor for representing output as kWh would be 1000 instead of 10000.
Upgrade mypy to 0.590 (#14207)


Template Sensor add device_class support (#14034)

* Template Sensor Device Class Support

* Lint

* Add tests

Add more parameters for DSMR sensor (#13967)

* Add more parameters for DSMR component

* Add suiting icon for power failure

* Add suiting icon for swells & sags

* Fix tab indentation -> spaces

* Fix too long lines (PEP8)

Support setting explicit mute value for Panasonic Viera TV (#13954)

* Use module's methods instead of API calls

* Use module's methods instead of API calls for media commands

Allow to set a desired update interval for camera_proxy_stream view (#13350)

* allow to set a desired update interval for camera_proxy_stream view

* lint

* refactor into a seperate method.
Keep the handle_async_mjpeg_stream method to be overridden by platforms
so they can keep proxying the direct streams from the camera

* change descriptions

* consolidate

* lint

* travis

* async/await and force min stream interval for fallback stream.

* guard clause. Let the method raise error on interval.

* is is not =

* what to except when you're excepting

* raise ValueError, remove unnecessary 500 response

panasonic_viera: Provide unique_id from SSDP UDN, if available (#13541)


Custom component loading cleanup (#14211)

* Clean up custom component loading

* Fix some tests

* Fix some stuff

* Make imports work again

* Fix tests

* Remove debug print

* Lint

Buienradar improvements: continuous sensors and unique ID's (#13249)

* Force update continuous sensors when new measurement available.

* Added unique ID's based on coordinates, sensor type and client name.

* Fixed over-indentation (hound review)

* Revert "Added unique ID's based on coordinates, sensor type and client name."

This reverts commit 3345e67a155c7953afc42c1b1b676616a7a77e56.

* Fix lint errors.

* Re-added unique ID's based on location.

* Removed wrong error logging.

* Removed creating UUID from unique id

* Lint

add volumio discovery (#14220)

* add volumio discovery

* add missing library

* Update volumio.py

Converts RainMachine to hub model (part 2) (#14225)

* Converts RainMachine to hub model (part 2)

* Small style adjustments for consistency

* Moving MAC calculation to one-time call in component

* Removing unneeded attribute

* Bumping Travis

* Lint

Add MQTT Sensor device_class (#14033)

* Add MQTT Sensor device_class

* Add test

Allow independent control of white level on flux_led component (#13985)

* Allow independent control of white level on flux_led component.

Also preserve brightness on color change.

* Limit white value support to RGBW mode.

* Requested changes.

* Correct liniting issues

* Formatting

Add Social Blade Sensor (#14060)

* Adding Dominion Energy Sensor

* Update : remove white spacves and set the update time to be daily

* Update : update spacing as per hound suggestions, Move imports

* Update :  Fix  Travis CI build errors

* Update Documentations on method levels

* Update Documentations on method levels

* Update Documentations on method levels

* Add Exception Handeling if login failed, add PLATFORM_SCHEMA

* Add Exception Handeling if login failed, add PLATFORM_SCHEMA

* Add Exception Handeling if login failed, add PLATFORM_SCHEMA

* Update dominionenergy.py

* Adding Selenium to requirements_all.txt

* Checking the username/password while setup

* Checking the username/password while setup

* removing extra white space

* Update : Adding the Platform only if credentials works

* Update : Add PlatformNotReady exception

* Update : Add PlatformNotReady exception

* Update .coveragerc

* Remove change

* Adding USCIS component

* Adding Line after the class DOC

* Update : Extract USCIS logic code to Component

* Update : Extract USCIS logic code to Component

* Adding CURRENT_STATUS

* Change Error handling, remove date from attributes

* Update the Version for USCIS

* Add Social Blade Sensor

* Update class documentation

* Update coverage and requirements_all

* Update : houndci error with intent

* Update : Add coverage

* Update uscis.py

* Add comments

* Add comments

* Delete dominionenergy.py

* Update requirements_all.txt

* Update .coveragerc

* Update .coveragerc

* Update .coveragerc

* Update : update after code review

* Fix remaining issues

UPnP code cleanup (#14235)

* missing async calls

* lint

* cleanup

Improve config schema of the blackbird component (#14007)

* Import moved, return values removed and redundant log message removed

* Improve config schema of the blackbird component

* Tests updated

* Handle updated

* Schema fixed

Fix Hue color state for missing xy (#14230)


Add support for tracking devices on Netgear access points (#13331)

* Netgear: add support for tracking devices on access points

* Netgear: add SSL support and autodetection

WUnderground unique ids (#13311)

* WUnderground unique_id

* Remove async_generate_entity_id

* Lint

* Address comment

Add PostNL sensor (Dutch Postal Services) (#12366)

* Add basic PostNL sensor (WIP)

* Update PostNL sensor

* Bump version

* Small updates to PostNL package based on feedback

* Remove unused import

* Pass api to sensor

* Refactor based on feedback

* Update based on feedback

* Fix feedback

* Clean up

* Bugfiix

* Bugfix

* SCAN_INTERVAL fix

* Remove unused import

* Refactor for new wrapper implementation

* Update postnl package requirement

* Change throttle logic

* Update package version

* Add new line

* Minor changes

* Change refresh time to 30 minutes

* Update requirements_all.txt

python_openzwave update config service (#12060)

* update python-openzwave to 4.1.0

* add service which updates the configuration files from github

* 0.4.3

Add unique_id to zwave node entity (#14201)

* Add unique_id to zwave node entity

* Wait 30s before adding zwave node if its unique_id is not ready

* Use only node_id in unique_id. Update name, manufacturer, and product attributes on node update.

Add prereqs for HomeKit Controller (#14172)


Restores switch state, case the switch is optimistic (#14151)

* Add restore_state to optimistic switch

* no need to schedule update

* test added

* lint

* new async syntax

* lint

Issue/add template fans (#12027)

* add template fan

* add-template: address PR comments

* add-template: remove unused import

* add-template: revert async_track_state_change change

* add-template: use yield from

* Revert "add-template: use yield from"

This reverts commit 1e053714a7c75c29367e3d04cf52161ebfaabba1.

* add-template: use yield

* add-template: remove unused import

* add-template: remove async_add_job usages

* use components

* add-template: use async/await

* add-template: fix style

* add-template: remove str()

* address pr comments

* fix style

HomeKit - Climate: power state on/off support (#14082)

* add power state  support on off
* Added check for current operation mode
* Extended 'set_heat_cool'
* Added tests

Demo Sensor - Added device_class support (#14269)


Re-enable eliqonline requirement (#14265)


Add fetching camera thumbnails over websocket (#14231)

* Add fetching camera thumbnails over websocket

* Lint

Allow fetching media player covers via websocket connection (#14233)

Lint
Fix ZWave light brightness (#14261)

* Fix ZWave light brightness
* The brightness should always be an integer
* Changed to round

Update issue templates
Update issue templates
Update issue templates
Update issue templates
Remove feature request
Color fixes for Wink lights (#14263)


fix check config not working after #14211 (#14259)


Issue Template Fix CRLF (#14283)


Upgrade attrs to 18.1.0 (#14281)


Update HAP-python to 2.0.0 (#14278)

* Fixed async (added 'async_add_job' and 'add_job')

* Driver status

* Use pyhap category constants

* Changed 'set_broker' to 'set_driver'

* Changed loader method names

* Use 'serv.configure_char'

* Use 'self.set_info_service'

* Use 'self.add_preload_service'

* Fix hound issue

* Updated HAP-python to 2.0.0

Upgrade holidays to 0.9.5 (#14274)


Homekit: Changed device_class requirement Humidity Sensor (#14277)


HomeKit: Support triggered state for alarm_control_panel (#14285)


Fix filter sensor missing window_size argument (#14252)

* missing window_size argument

* test throttle filter configuration

Upgrade astral to 1.6.1 (#14297)


BOM Weather throttle fix (#14234)


Publish attributes unconditionally (#14179)

* Publish attributes unconditionally

Because the attribute publish command was previously hidden behind `if val:`, falsy values like False and 0.0 weren't being published, thereby making Statestream -- particularly in the case of booleans, where the first True would be retained indefinitely -- a completely worthless indicator of state.

* Change bool test to False to confirm falsy values pass

Sensor device classes (#14282)

* Added light device class, moved device classes to const

* Removed unnecessary icons

* Replace 'lux' with 'lx'

* Fix comment

* Changed device_class name

Matrix Chatbot (#13355)

* Add first version of the Matrix bot

* It's a stupid but necessary change…

* Dont list it twice

* All hail the linter!

* More linter-pleasing

* Use the correct user ID

* Add expression commands

* Add tests for new validators

* Fix room alias handling

* Wording

* Defer setup

* Simplify commands

* Handle exceptions

* Update requirements

* Review

* Move login back to constructor

* Fix review comments

deCONZ add new device without restart (#14221)

* Add new device without restarting hass

* Remove debug prints

* Fix copy paste error

* Fix comments from balloob
Add tests to verify signalling with new added devices

* Fix hound comments
Add test to verify when new sensor is added

* Fix tests

* Unload entry should unsubscribe all deconz dispatchers

* Make sure mock setup also creates unsub in hass data

* Fix copy paste issue

* Lint

Add alarmdotcom sensor status (#14254)

* bump to match Xorso/pyalarmdotcom#9

* Load additional status attributes

* missed a spot

Add domain to labels and count state changes to Prometheus (#14253)

* Add domain to labels

* Count state changes

Add support for max_volume (#13822)

* onkyo: add support for max volume range

* onkyo: make flake8 happy

* onkyo: fix PEP8 D205 on line 181

* onkyo: use range for max_volume configuration

* onkyo: fix line too long

Refactor ImageProcessingFaceEntity (#14296)

* Refactor ImageProcessingFaceEntity

* Replace STATE_UNKNOWN with None

Onkyo: SUPPORT_VOLUME_STEP (#14299)


Add All-Linking capabilities (#14065)

* Setup all-linking service

* Remove extra line

* Remove linefeed and tab escape chars

* Add services delete_all_link, load_all_link_database and print_all_link_database

* Check if reload is set

* Confirm entity is InsteonPLMEntity before attempting to load or print ALDB

* Debug load and print ALDB

* Debug print aldb

* Debug print_aldb

* Get entity via platform

* Track Insteon entities in component

* Store entity list in hass.data

* Add entity to hass.data

* Add ref to hass in InsteonPLMEntity

* Pass hass correctly to InsteonPLMBinarySensor

* Fix reference to ALDBStatus.PARTIAL

* Print ALDB record as string

* Get ALDB record from memory address

* Reformat ALDB log output

* Add print_im_aldb service

* Remove reference to self in print_aldb_to_log

* Remove reference to self in print_aldb_to_log

* Fix spelling issue with load_all_link_database service

* Bump insteonplm to 0.9.1

* Changes from code review

* Code review changes

* Fix syntax error

* Correct reference to cv.boolean and update requirements

* Update requirements

* Fix flake8 errors

* Reload as boolean test

* Remove hass from entity init

Update translations

Update frontend to 20180505.0

Merge branch 'master' into dev

Version bump to 0.69.0b0

Version bump to 0.70.0.dev0

Add unique_id to MQTT switch (#13719)


zha: Bump to zigpy 0.1.0 (#14305)


Add missing 'sensor' to ABODE_PLATFORMS (#14313)

This fixes missing light, humidity, temperature sensors from abode component.
Fix module names for custom components (#14317)

* Fix module names for custom components

* Also set __package__ correctly

* bla

* Remove print

Add debounce to move_cover (#14314)

* Add debounce to move_cover

* Fix spelling mistake

Converted SABnzbd to a component (#12915)

* Converted SABnzbd to a component

* fixed async issues

* Made sabnzbd scan interval static. More async fixes.

* Sabnzbd component code cleanup

* Skip sensor platform setup if discovery_info is None

Revert custom component loading logic (#14327)

* Revert custom component loading logic

* Lint

* Fix tests

* Guard for infinite inserts into sys.path

fix(hbmqtt): partial packets breaking hbmqtt (#14329)

This issue was fixed in hbmqtt/issues#95 that was released in hbmqtt 0.9.2
Update netdisco to 1.4.1

Update netdisco to 1.4.1

Add missing 'sensor' to ABODE_PLATFORMS (#14313)

This fixes missing light, humidity, temperature sensors from abode component.
Add debounce to move_cover (#14314)

* Add debounce to move_cover

* Fix spelling mistake

Fix module names for custom components (#14317)

* Fix module names for custom components

* Also set __package__ correctly

* bla

* Remove print

Revert custom component loading logic (#14327)

* Revert custom component loading logic

* Lint

* Fix tests

* Guard for infinite inserts into sys.path

fix(hbmqtt): partial packets breaking hbmqtt (#14329)

This issue was fixed in hbmqtt/issues#95 that was released in hbmqtt 0.9.2
Version bump to 0.69.0b1

Ignore more loading errors (#14331)


Ignore more loading errors (#14331)


Version bump to 0.69.0b2

Adds unique ID to Roku for entity registry inclusion (#14325)

* Adds unique ID to Roku for entity registry inclusion

* Owner-requested changes

Update hitron_coda.py to fix login for Shaw modems (#14306)

I have a Hitron modem provided by Shaw communications rather than from Rogers as the Docs specify for this device_tracker but it seems like the api/code is all the same except that the login failed due to the password being passed as "pws" instead of "pwd". Making that one character change allowed HASS to read the connected device details from my Hitron modem. If this difference is actually one that stands between the Rogers-provided Hitron modems and the Shaw-provided variant, I am happy to create another device-tracker file for the Shaw modem. I just figured I would go with the simplest solution first.
Add sensors for BMW electric cars (#14293)

* Add sensors for electric cars

* Updates based on review of @MartinHjelmare

* Fix Travis error

* Another fix for Travis

Add more homematicip cloud components (#14084)

* Add support for shutter contact and motion detector device

* Add support for power switch devices

* Add support for light switch device

* Cleanup binary_switch and light platform

* Update comment

add 2 devices (#14321)

* add 2 devices

io:RollerShutterUnoIOComponent
io:ExteriorVenetianBlindIOComponent

* add 2 devices

* Update tahoma.py

* Fix hounci-bot violation

* Fixed Travis CI build failure

./homeassistant/components/cover/tahoma.py:83:13: E125 continuation line with same indent as next logical line

* Fixed Travis CI build failure

E125 continuation line with same indent as next logical line

* Fixed Travis CI build failure

E127 continuation line over-indented for visual indent

* Fix indent

* Change check

Gogogate2 0.1.1 (#14294)

* Gogogate2 - bump version

Uses latest version of library which ensures commands to device are idempotent

* Update requirements_all

* Expose sensor temperature

* update version

* import attribute

* Set temperature

* Remove temperature attribute

Removed temperature attribute until it can be re-implemented as a separate sensor.

* Update ordering

* Fix copy-&-paste issue

Snips: Added slot values for siteId and probability (#14315)

* Added solt values for siteId and probability

* Update snips.py

* Update test_snips.py

Fix Insteon PLM coverage

Add help for conversation/process service (#14323)

* Add help for conversation/process service

* Add logging to debug text received when service is called

* Move conversation to specific folder

Fix BOM weather '-' value (#14042)


Make sure zwave nodes/entities enter the registry is proper state. (#14251)

* When zwave node's info is parsed remove it and re-add back.

* Delay value entity if not ready

* If node is ready consider it parsed even if manufacturer/product are missing.

* Add annotations

Improving icloud device tracker (#14078)

* Improving icloud device tracker

* Adding config validations for new values

* Adding config validations for new values

* Moving icloud specific setup to platform schema. Setting default in platform schema.

Adds useful attributes to RainMachine programs and zones (#14087)

* Starting to add attributes

* All attributes added to programs

* Basic zone attributes in place

* Added advanced properties for zones

* Working to move common logic into component + dispatcher

* We shouldn't calculate the MAC with every entity

* Small fixes

* Small adjustments

* Owner-requested changes

* Restart

* Restart part 2

* Added ID attribute to each switch

* Collaborator-requested changes

Waze Travel Time: optional inclusive/exclusive filters (#14000)

* Waze Travel Time: optional inclusive/exclusive filters

Added optional `inc_filter` and `excl_filter' params that allow to refine the reported routes: the first is not always the best/desired. A simple case-insensitive filtering (no regular expression) is used.

* fix line lenght

* fix spaces

* Rename var

* Fix typo

* Fix missing var

Bump frontend to 20180509.0

Ignore NaN values for influxdb (#14347)

* Ignore NaN values for influxdb

* Catch TypeError

Bump frontend to 20180509.0

Ignore NaN values for influxdb (#14347)

* Ignore NaN values for influxdb

* Catch TypeError

Version bump to 0.69.0b3

Add zone 3 for Onkyo media player (#14295)

* Add zone 3 for Onkyo media player

* CR Updates

* Fix travis lint errors

Support control of away mode and hold mode in Venstar component. Correctly detect humidifiers. (#14256)

* Implement support for away mode and hold mode in Venstar component

* Fix Venstar humidifier capability detection

* Add option to configure humidifier control in Venstar component

* style fix: add missing space and resolve pylint issues

* Remove quotes

Upgrade keyring to 12.2.0 and keyrings.alt to 3.1 (#14355)


debug++ for multiple volume controls (#14349)

Be less noisy for those who have more volume controls than one, mentioned in #13022.
Backend tweaks to make authorization work (#14339)

* Backend tweaks to make authorization work

* Lint

* Add test

* Validate redirect uris

* Fix tests

* Fix tests

* Lint

script/lint: Ensure there are files to test with pylint (#14363)


Update .coveragerc (#14368)


Fix binary_sensor async_update (#14376)


Add local auth provider (#14365)

* Add local auth provider

* Lint

* Docstring

Update to sensibo 1.0.3 with better error reporting (#14380)


Fix binary_sensor device_state_attributes (#14375)


Remove domain expiry sensor (#14381)


Bump frontend to 20180510.1

Add support for pressure sensors (#14361)


Add "framerate" parameter to generic camera (#14079)

* add "framerate" parameter to generic camera

* fix lint

Rewritten HomeKit tests (#14377)

* Use pytest fixtures and parametrize
* Use async
Remove domain expiry sensor (#14381)


Version bump to 0.69.0

Update sensor state before adding device (#14357)


Make mysensors component async (#13641)

* Make mysensors component async

* Use async dispatcher and discovery.
* Run I/O in executor.
* Make mysensors actuator methods async.
* Upgrade pymysensors to 0.13.0.
* Use async serial gateway.
* Use async TCP gateway.
* Use async mqtt gateway.

* Start gateway before hass start event

* Make sure gateway is started after discovery of persistent devices
  and after corresponding platforms have been loaded.
* Don't wait to start gateway until after hass start.

* Bump pymysensors to 0.14.0

Adds facebox (#14356)

* Adds facebox

* Update .coveragerc

* Remove facebox

* Add test of faces attribute

* Add event test

* Adds more tests

* Adds tests to increase coverage

* Rename MOCK_FACES to MOCK_FACE

* Adds STATE_UNKNOWN

more detailed error message (#14385)


Allow HomeKit name to be customized (#14159)


Merge pull request #14392 from home-assistant/rc

0.69
Xiaomi Aqara: Add new cube model (sensor_cube.aqgl01) (#14393)


Bump pycmus version (#14395)

This commit bumps the pycmus version used by the cmus component. There
was a bug in the previous version used, 1.0.0, when running in local
mode. This was caused by a mtreinish/pycmus#1 and also was reported in
the home-assistant forums (but not as an issue):

https://community.home-assistant.io/t/cant-install-cmus-component/7961

Version 0.1.1 of pycmus fixes this issue so it should work properly for
users running cmus and home-assistant on the same machine.
Fix name of tox pylint env (#14402)


Fix waiting for setup that never happens (#14346)


Use None as initial state in zha component (#14389)

* Return None if state is unknown

* Use None as initial state

Bump PyXiaomiGateway version (#14412)


Fix waiting for setup that never happens (#14346)


Version bump to 0.69.1

Merge pull request #14413 from home-assistant/rc

0.69.1
Homekit test cleanup (#14416)


Upgrade PyXiaomiGatewa to 0.9.3 (#14420) (Closes: #14417)


Update pylint to 1.8.4 (#14421)


Bring back typing check. Meanwhile just for homeassistant/*.py (#14410)

* Bring back typing check. Meanwhile just for homeassistant/.py

* Change follow-imports to silent. Add a few more checks.

Look at registry before pulling zwave config values (#14408)

* Look at registry before deciding on ID for zwave values

* Reuse the new function

Add Bulgarian to Google TTS (#14422)


Remove extra quotes from docstrings (#14431)


Spelling, grammar etc fixes (#14432)

* Spelling, grammar etc fixes

* s/an api data/data of an api/

Invoke pytest instead of py.test per upstream recommendation, #dropthedot (#14434)

http://blog.pytest.org/2016/whats-new-in-pytest-30/
https://twitter.com/hashtag/dropthedot
Fix fan service description (#14423)


Clean up some Python 3.4 remnants (#14433)


Remove universal wheel setting (#14445)

* Home assistant should not build a universal wheel since we don't
  support Python 2.
Upgrade requests_mock to 1.5 (#14444)


Upgrade pyota to 2.0.5 (#14442)

* Use constants

* Upgrade pyota to 2.0.5

Upgrade python-telegram-bot to 10.1.0 (#14441)


Upgrade Sphinx to 1.7.4 (#14439)


Upgrade youtube_dl to 2018.05.09 (#14438)


Upgrade distro to 1.3.0 (#14436)


Add priority and cycles to LaMetric (#14414)

* Add priority and cycles to LaMetric

Priority can be "info", "warning" (default), or "critical" and
cycles is the number of times the message is displayed. If cycles
is set to 0 we get a persistent notification that has to be dismissed
manually.

* Fix for schema and style

* Fix for style

Allow qwikswitch sensors as part of devices (#14454)


Bump requirement to pydeconz v38 (#14452)


Add SpaceAPI support (#14204)

* Add SpaceAPI support

* Changes according PR comments

* Add tests

* Remove print

* Minor changes

Use ATTR_NAME from const.py (#14450)


zha: Fix cluster class check in single-cluster device type (#14303)

zigpy now allows custom devices, which might mean that devices have cluster
objects which are not instances of the default, but may be instances of
sub-classes of the default. This fixes the check for finding single-cluster
device entities to handle sub-classes properly.
Upgrade pygatt to 3.2.0 (#14447)


Add support for direction to fan template (#14371)

* Initial commit

* Update and add tests

Samsung Family hub camera component (#14458)

* add familyhub.py camera

* fix import and REQUIREMENTS

* add to coveragerc

* fix formatting to make houndci-bot happy

* ran scripts/gen_requirements_all.py

* use CONF_IP_ADDRESS

* Revert "ran scripts/gen_requirements_all.py"

This reverts commit 3a38681d8a084e6d4811771ae7a18819477885bc.

* fix library name

* add missing docstrings and enable polling

* Sort imports

Fix key error upon missing node (#14460)

* This is needed after gateway ready message generates an update while
  persistence is off, or while the gateway node hasn't been presented
  yet.
Bump lakeside version (#14471)

This should fix a couple of issues with T1013 bulbs, and also handle
accounts that contain unknown devices.
Minor Wink fixes (#14468)

* Updated Wink light supported feature to reflect what features a given light support.

* Fix typo in wink climate

Don't poll the Samsung Family hub camera (#14473)


Optimistic MQTT light (#14401)

* Restores light state, case the light is optimistic

* lint

* hound

* hound

* Added mqtt_json

* hound

* added mqtt_template

* lint

* cleanup

* use ATTR

Remove simplepush.io (#14358)


Add Konnected component with support for discovery, binary sensor and switch (#13670)

* Add Konnected component with support for discovery, binary sensor, and switch

Co-authored-by: Eitan Mosenkis <eitan@mosenkis.net>

* Use more built-in constants from const.py

* Fix switch actuation with low-level trigger

* Quiet logging; Improve schema validation.

* Execute sync request outside of event loop

* Whitespace cleanup

* Cleanup config validation; async device setup

* Update API endpoint for Konnected 2.2.0 changes

* Update async coroutines via @OttoWinter

* Make backwards compatible with Konnected < 2.2.0

* Add constants suggested by @syssi

* Add to CODEOWNERS

* Remove TODO comment

Make Feedreader component more extendable (#14342)

* moved regular updates definition to own method to be able to override behaviour in subclass

* moved filter by max entries to own method to be able to override behaviour in subclass

* event type used when firing events to the bus now based on variable to be able to override behaviour in subclass

* feed id introduced instead of url for storing meta-data about the feed to be able to fetch the same feed from different configs with different filtering rules applied

* keep the status of the last update; continue processing the entries retrieved even if a recoverable error was detected while fetching the feed

* added test cases for feedreader component

* better explanation around breaking change

* fixing lint issues and hound violations

* fixing lint issue

* using assert_called_once_with instead of assert_called_once to make it compatible with python 3.5

BMW code cleanup (#14424)

* Some cleanup for BMW sensors

* Changed dict sort

* Updates based on review and Travis

Don't add a url to built-in panels (#14456)

* Don't add a url to built-in panels

* Add url_path back

* Lint

* Frontend bump to 20180515.0

* Fix tests

Added temperature (apparent) high/low, deprecated max/min (#12233)


Improve handling of offline Sonos devices (#14479)


"unavailable" Media players should be considered off in Universal player (#14466)

The Universal media player inherits the states of the first child player that is not in some sort of "Off" state (including idle.) It was not considering the "unavailable" state to be off. Now it does.
Added option to invert aREST pin switch logic for active low relays (#14467)

* Added option to invert aREST pin switch logic for active low relays

* Fixed line lengths

* Changed naming and set optional invert default value.

* Fixed line length

* Removed default from get

Use "Returns" consistently to avoid being treated as section (#14448)

Otherwise, by side effect, results in error D413 by recent pydocstyle.
Add HomeKit support for fans (#14351)


Add stdout and stderr to debug output for shell_command (#14465)


Update frontend to 20180516.0

Bump frontend to 20180516.1

New Sensor FinTS (#14334)



Update hitron_coda.py (#14506)

missed a typo that wasn't caught with testing since I don't have a Rogers router.
Konnected component follow up (#14491)

* make device_discovered synchronous

* small fixes from code review

* use dispatcher to update sensor state

* update switch state based on response from the device

* interpolate entity_id into dispatcher signal

* cleanup lint

* change coroutine to callback

Adjust LimitlessLED properties for running effects (#14481)


Bump locationsharinglib to 2.0.2 (#14359)

* Bump locationsharinglib to 2.0.2

* Bump locationsharinglib to 2.0.2

Update frontend to 20180518.0 (#14510)

* Update frontend to 20180517.0

* Update requirements

* Bump frontend to 20180518.0

Feedreader configurable update interval and max entries (#14487)


Fix probability_threshold in binary_sensor.bayesian (#14512) (Closes: #14362)



Flux bug fix (#14476)

* Simplify conditionals.

* Send white_value on service call.

* Remove extra blank line

* Further simplification of conditionals

* Requested changes

* Do not call getRgb if not needed

* Update log message

Show warning if no locations are shared (fixes #14177) (#14511)



Add code to HomeKit lock (#14524)


Set pytz to >=2018.04 (#14520)


Add Homematic IP RotaryHandleSensor support (#14522)

* Add Homematic IP RotaryHandleSensor support

HmIP-SRH was in the RotaryHandleSensor class and threw errors that LOWBAT and ERROR could not be found (they are LOW_BAT and SABOTAGE).

* Revert REQUIREMENTS change

Update HAP-python to 2.1.0 (#14528)


Fix some ISY sensors not getting detected as binary sensors (#14497)

Sensors that were defined via sensor_string were not getting properly identified as binary sensors when they had a uom defining them as binary (the other three methods of detecting binary sensors worked though.)
Update mychevy to 0.4.0 (#14372)

After 2 months of being offline, the my.chevy website seems to be
working again. Some data structures changed in the mean time. The new
library will handle multiple cars. This involves a breaking change in
slug urls for devices where these now include the car make, model, and
year in them.

Discovery has to be delayed until after the initial site login to get
the car metadata.
Set certifi to >=2018.04.16 (#14536)


Bump frontend to 20180518.1

Merge branch 'master' into dev

Version bump to 0.70.0b0

Upgrade aiohttp to 3.2.1 (#14517)

* Upgrade aiohttp to 3.2.1

* Upgrade async_timeout to 3.0.0

* Update the order of the requirements

Upgrade youtube_dl to 2018.05.18 (#14519)


Upgrade keyring to 12.2.1 (#14521)


Upgrade restrictedpython to 4.0b4 (#14537)


Bump pyvera version (improve stability of poll loop). (#14540)


Bump frontend to 20180519.0

Bump frontend to 20180519.0

Version bump to 0.70.0b1

Fix sensor name (fixes #14535) (#14541)


Add support to ignore a xiaomi aqara gateway (#14428)


Wait for future mysensors gateway ready (#14398)

* Wait for future mysensors gateway ready

* Add an asyncio future that is done when the gateway reports the
  gateway ready message, I_GATEWAY_READY.
* This will make sure that the gateway is ready before home assistant
  fires the home assistant start event. Automations can now send
  messages to the gateway when home assistant is started.
* Use async timeout to wait max 15 seconds for ready gateway.

* Address comments

Pushed to version 0.7.2 of denonavr (#14551)


Add auto discovery for nanoleaf aurora lights (#14301)

* auto discovery added for nanoleaf aurora lights

* changes requested by review

* visual indentation

* line too long

* hide autocreated config

zha: Don't poll switch devices (#14560)


zha: Add metering sensor (#14562)


zha: Set default binary_sensor state to false (#14553)


Homekit style cleanup (#14556)

* Style cleanup

* Sorted imports
* Harmonized service calls

* Test improvements

* Small update

Add IlluminanceMeasurementSensor to ZHA (#14563)

* add IlluminanceMeasurementSensor

* address review comment

* Fix whitespace error during merge

zha: Bump to zigpy-xbee 0.1.1 (#14566)


Update frontend to 20180521.0

Update frontend to 20180521.0

fix nanoleaf aurora lights min and max temperature (#14571)

* fixed nanoleaf aurora lights min and max temperature

* review changes

Wait for future mysensors gateway ready (#14398)

* Wait for future mysensors gateway ready

* Add an asyncio future that is done when the gateway reports the
  gateway ready message, I_GATEWAY_READY.
* This will make sure that the gateway is ready before home assistant
  fires the home assistant start event. Automations can now send
  messages to the gateway when home assistant is started.
* Use async timeout to wait max 15 seconds for ready gateway.

* Address comments

Homekit style cleanup (#14556)

* Style cleanup

* Sorted imports
* Harmonized service calls

* Test improvements

* Small update

fix nanoleaf aurora lights min and max temperature (#14571)

* fixed nanoleaf aurora lights min and max temperature

* review changes

Version bump to 0.70.0b2

Fix ISY moisure sensors showing unknown until a leak is detected (#14496)

* Fix ISY leak sensors always showing UNKNOWN until a leak is detected

Added some logic that handles both moisture sensors and door/window sensors

* Handle edge case of leak sensor status update after ISY reboot

If a leak sensor is unknown, due to a recent reboot of the ISY, the status will get updated to dry upon the first heartbeat. This status update is the only way that a leak sensor's status changes without an accompanying Control event, so we need to watch for it.

* Fixes from overnight testing

State was checking the incorrect parameter, and wasn't calling schedule update

* Remove leftover debug log line

* Remove unnecessary pylint instruction

* Remove access of protected property

We can't cast _.status directly to a bool for some unknown reason (possibly with the VarEvents library), but casting to an int then bool does work.

Bump insteonplm version to fix device hanging (#14582)

* Update inteonplm to 0.9.2

* Change to force Travis CI

* Change to force Travis CI

Update pyhomematic to 0.1.43 (#14583)

* Update __init__.py

*…

HydrelioxGitHub added a commit to HydrelioxGitHub/home-assistant that referenced this pull request Jun 21, 2018

Add Alfawise Humidifier as fan component
Correct pylint error

Add extra attributes for device scanner, Nmap and Unifi (IP, SSID, etc.) (#13673)

* Start of development

* Add extra attributes from unifi scanner

* Store IP of the device in the state attributes with nmap

* Allow not defining get_extra_attributes method in derived classes

Fixed Capsman data not being used (#13917)


Broadlink Sensor - switch to connection-less mode (#13761)

* Broadlink Sensor - switch to connection-less mode

Solved the issue with broadlink sensor that occurs when short connection loss with RM2/3 is present on poor WiFi networks.

* Update broadlink.py

* Update broadlink.py

* Update broadlink.py

* Update broadlink.py

* Update broadlink.py

* Update broadlink.py

* Update broadlink.py

Add support for new platform: climate.modbus (#12224)

* Added support for a new platform: climate.modbus

* Made changes based on code review.

* Made changes based on code review

* Made changes that were recommended in the pull request review.

* Fixed spacing line 144

* Added docstrings for the added helper functions.

* Fixed set_temperature() function to use a variable local to the function for the target temp.

* Fixed lint formatting error

* Modified logic when checking the target temperature, as well as fixing the setup_platform function

Hive R3 update (#13357)

* Rebase

* Update version number to 0.2.14

* Remove Blank Line

* Added period to docstring

* Update Tox Fix

* Removed Lines

Updated foobot_async package version (#13942)

Fix #13886
Update pyhydroquebec to 2.2.2 (#13946)


Upgrade alpha_vantage to 2.0.0 (#13943)


Update pyfido to 2.1.1 (#13947)


Cleanup on exit (#13918)

* Cleanup on exit

* lint

* version bump

* pymediaroom version bump

* address @kellerza comment

* avoid None in the _name

Upgrade somecomfort to 0.5.2 (#13940)


Add data entry flow helper (#13935)

* Extract data entry flows HTTP views into helper

* Remove use of domain

* Lint

* Fix tests

* Update doc

Xiaomi MiIO Device Tracker: Unused variable removed  (#13948)

* Unused variable removed and pinning added to be in sync with all xiaomi_miio components

* requirements_all.txt updated

Implement play media to set a channel based on (by priority): (#13934)

- exact channel number
 - exact channel name
 - similar channel name temp
Update of python-mpd2 (#13921)


Add AVM fritzbox smarthome component (#10688)

* initial commit

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* fix failed flake8 tests

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* add fritzhome files to .coveragerc

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* fix wrong module import

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove too general exception

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* incorporate review comments

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove blank line

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* fix wrong import

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* fix issue with operations

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* incorporate review comments

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove unused attributes

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* adapt to supported_features

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* change checking of kwargs to canonical way

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove unused self._state

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* Don't overwrite the platform domain

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* Remove parenthesis from import without line break

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* Do not pass hass to the components on init

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* Remove check for available in current_operation

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* Remove redundant logging message

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* Add blank line between standard and hass imports

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* Use states from base climate component

Also add the new state STATE_MANUAL to the base.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* add reconnect when access failed

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* add device specific attributes

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* group the imports from the same module

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* change domain data to fritz instance

This let us use the fritz instance to reconnect from platform without accessing
protected attributes.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* fix typo

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* rename platform from fritzhome to fritzbox

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* Add device_state_attributes

Add attributes to have compatiblity to fritzdect.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* add support for multiple fritzboxes

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* fix pylint issues

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* fixed pyfritzhome version

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* fix import

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* fix component name in requirements_all.txt

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* upgrade pyfritzhome to 0.3.7

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* rename platform/component also in .coveragerc

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* use DEFAULT_HOST when no host is in dict

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* add config schema for dict

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove check

The check since since the config scheme takes case.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* add check for empty devices

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* use standard attribute from base class

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove STATE_MANUAL from operation list

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove set DEFAULT_HOST

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* don't pass hass to the SwitchDevice

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove unsed DEFAULT_HOST

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* refactored device attributes

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* add info output if no fritzbox is configured

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* small fixes according review comment

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove unneeded default value

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove non required code from try..except block

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* line break for line that is too long

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

* remove too many empty lines

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>

Adds SigFox sensor (#13731)

* Create sigfox.py

* Create test_sigfox.py

* Update .coveragerc

* Fix lints

* Fix logger message string

* More lints

* Address reviewer comments

* edit exception handling

* Update sigfox.py

* Update sigfox.py

* Update sigfox.py

* Update sigfox.py

Upgrade aiohttp to 3.1.3 (#13938)


Upgrade youtube_dl to 2018.04.16 (#13937)


Added FB messenger broadcast api to notify.facebook component (#12459)

* Added ability to use FB messenger broadcast api. use 'BROADCAST' keyword for first target in the facebook notifiy component to enable.

* Added ability to use FB messenger broadcast api. use 'BROADCAST' keyword for first target in the facebook notifiy component to enable.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Added ability for broadcast messaging for facebook messenger notify platform.

* Update facebook.py

* Update facebook.py

* Update facebook.py

* Update facebook.py

Added web view for TTS to get url (#13882)

* Added web view for to get url

* Added web view for TTS to get url

* Added web view for TTS to get url

* Added web view for TTS to get url

* Fixed test

* added auth

* Update __init__.py

Update frontend to 20180417

Add services for bmw_connected_drive (#13497)

* implemented services for bmw remote services

* added vin to attributes of tracker
* moved component to new package
* added service description

* fixed static analysis warnings

* implemented first set of code reviews

* removed locking related services

* fixed static analysis warnings

* removed excess blank lines

* refactoring of setup() to resolve warning
"Cell variable bimmer defined in loop (cell-var-from-loop)"

* added missing docstring

* added service to update all vehicles from the server

* implemented changes requested in code review

* added check if invalid vin is entered

Fix call to parent broadlink switch (#13906)

* Broadlink switch, fixes issue #13799

* slugify

Bump deCONZ requirement to v36 (#13960)


Bumped pypollencom to 1.1.2 (#13959)

* Bumped pypollencom to 1.1.2

* Updated requirements_all.txt

Fix Gogogate2 'available' attribute (#13728)

* Fixed bug -  unable to set base readaonly property

* PR fixes

* Added line

Fix so it is possible to ignore discovered config entry handlers (#13741)

* Fix so it is possible to ignore discovered config entry handlers

* Improve efficiency

Prevent vesync doing I/O in event loop (#13862)


Fix #13846 Double underscore in bluetooth address (#13884)


Fix race condition for component loaded before listening (#13887)

* Fix race condition for component loaded before listening

* async/await syntax

Missing property decorator added (#13889)


Fix call to parent broadlink switch (#13906)

* Broadlink switch, fixes issue #13799

* slugify

Import operation modes from air humidifier (#13908)


Upgrade pyqwikswitch to 0.71 (#13920)

Upgrade somecomfort to 0.5.2 (#13940)


Update pyhydroquebec to 2.2.2 (#13946)


Update pyfido to 2.1.1 (#13947)


Bumped pypollencom to 1.1.2 (#13959)

* Bumped pypollencom to 1.1.2

* Updated requirements_all.txt

Version bump to 0.67.1

Revert "Upgrade pyqwikswitch to 0.71 (#13920)"

This reverts commit 6fa60c464bb012c73f03b9b3ea69d82539d7c8f5.

Merge pull request #13975 from home-assistant/rc

0.67.1
Bump skybellpy version to 0.1.2 (#13974)


Fix typo an coding style (#13970)


Params of the send command can be a list now (#13905)


Support basic covers with open/close/stop services HomeKit (#13819)

* Support basic covers with open/close/stop services
* Support optional stop
* Tests
Colorlog windows fix (#13929)

* Fix colorlog on windows

Modified the way logging is initialized to fix two things.
1. If the import of `colorlog` fails the logs will still be formatted
   using the expected HASS log format.
2. Ensure that `logging.basicConfig` is called AFTER `colorlog` is
   imported so that the default handler generated will be writing to the
   wrapped stream generated when `colorama` is initialized.  This allows
   colored logging to work on Windows.

Added support for a `--log-no-color` command line switch in the event
that someone just wants to disable colored log output entirely.

* Fix line lengths

* Switch default value

deCONZ migrate setup fully to config entry (#13679)

* Initial working config entry with discovery

* No need for else

* Make sure that imported config doesnt exist as a config entry

* Improve checks to make sure there is only instance of deconz

* Fix tests and add new tests

* Follow upstream changes
Fix case when discovery started ongoing config entry and user completes setup  from other path it was possible to complete discovered config entry as well

* Add test to make sure link doesn't bypass any check for only allowing one config entry

* Dont use len to determine an empty sequence

* Cleanup

* Allways get bridgeid to use as unique identifier for bridge

Alexa thermostat fails to properly parse 'value' field for climate (#13958)

* Fix thermostat payload issue

* fix test payload

* style issue

* handle both string and value object

renaming icons (#13982)

* renaming icons

* remove mdi:robot-vacuum

* fix other vacuums

Version bump to 20180418.0

Fix for Lokalise backend misinterpretation of keys (#13986)

The Lokalise server has a bug that the internal portion of key
references was misinterpreted as a symfony key, and was getting auto
converted by the convert placeholders feature. Since we don't use this
we're turning it off to work around the bug.
Bump locationsharinglib to 1.2.1 (#13980)

* Bump locationsharinglib to 1.2.1

*  Bump locationsharinglib to 1.2.1

Support for multiple MAX!Cube LAN gateways added (#13517)


Add additional receiver for Onkyo zone 2 (#13551)


Add blackbird media player component (#13549)


Add support for Sensirion SHT31 temperature/humidity sensor (#12952)


Useless code removed (#13996)


Add Homematic HmIP-SWO-PR weather sensor support (#13904)


Disable ebox requirement (#14003)

* Disable ebox requirement

* Lint

Update frontend to 20180420.0

Upgraded miflora library to version 0.4.0 (#14005)


Log an error instead of raising an exception (#14006)


Tibber available  (#13865)

* Tibber available

* Tibber available

* Tibber

* Tibber

Upgrade pylutron-caseta to 0.5.0 to reestablish connections (#14013)

* Upgrade pylutron-caseta to 0.5.0 to reestablish connections

* Upgrade pylutron-caseta to 0.5.0 in requirements_all.txt

Add sensor device classes (#14010)


Merge branch 'dev' into rc

Version bump to 0.68.0b0

Qwikswitch binary sensors (#14008)


Pollen.com: Added attributes on top 3 allergens (#14018)


Expose the condition code on condition sensors (#14011)

* expose the condition code on condition sensors

* :lipstick:

* like thisss duh

* add test for condition_code

* It’s a string

upgrade rfxtrx lib,  dimming support for Lighting3 (#14026)


HomeKit Alarm Control Panel Code Exception Fix (#14025)

* Catch exception for KeyError
* Use get and added test
Add Accuracy to Google Location Sharing (#14039)

* Update locationsharinglib to 1.2.1 and add accuracy.

* Change indents to match HA style

bump gogogate2 version (#14044)

* bump gogogate2 version

* Update - requirements_all

device_tracker.ubus: catch ConnectionError (#14045)

When an OpenWrt device monitored via ubus is offline, this causes the
log to be flooded with several exceptions. Avoid this by catching
requests.exceptions.ConnectionError in addition to
requests.exceptions.Timeout.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Show a notification when a config entry is discovered (#14022)

* Show a notification when a config entry is discovered

* update comment

* Inline functions

* Lint

Revert cast platform polling mode (#14027)


Handle HomeKit configuration failure more cleanly (#14041)

* Handle HomeKit configuration failure more cleanly

Add support for handling cases where HomeKit configuration fails, and give
the user more information about what to do.

* Don't consume the exception for a homekit.UnknownError

If we get an UnknownError then we should alert the user but also still
generate the backtrace so there's actually something for them to file in
a bug report.

Update device classes for contact sensor HomeKit (#14051)


deCONZ use forward entry setup (#13990)

* Use forward entry setup with light platform

* Move sensor to forward entry setup

* Use forward entry setup with binary sensors

* Use forward entry setup with scene platform

* Remove import of unused functionality

* Move deconz setup in to setup entry
Create initial negative tests for setup entry

* Fix hound comment

* Improved tests

* Add test for scene platform

* Add test for binary sensor platform

* Add test for light platform

* Add test for light platform

* Add test for sensor platform

* Fix hound comment

* More asserts on sensor types

Order the output of the automation editor (#14019)

* Order the output of the automation editor

* Lint

Bump pyEight version to update API & reduce connection issues (#14058)


Bump locationsharinglib to 1.2.2 (#14070)

* Bump locationsharinglib to 1.2.2

* Bump locationsharinglib to 1.2.2

Correct config validation and device init

Upgrade broadlink lib (#14074)


Remove excessive debugging in webostv module (#14056)


Bump frontend to 20180425.0

Bump frontend to 20180425.0

Qwikswitch binary sensors (#14008)


Order the output of the automation editor (#14019)

* Order the output of the automation editor

* Lint

HomeKit Alarm Control Panel Code Exception Fix (#14025)

* Catch exception for KeyError
* Use get and added test
Revert cast platform polling mode (#14027)


Handle HomeKit configuration failure more cleanly (#14041)

* Handle HomeKit configuration failure more cleanly

Add support for handling cases where HomeKit configuration fails, and give
the user more information about what to do.

* Don't consume the exception for a homekit.UnknownError

If we get an UnknownError then we should alert the user but also still
generate the backtrace so there's actually something for them to file in
a bug report.

Update device classes for contact sensor HomeKit (#14051)


Version bump to 0.68.0b1

Support new Xiaomi Aqara device model names and LAN protocol 2.0 (#13540)


Add devices to Tahoma (#14075)


New sensor domain expiry (#14067)

* domain expiry

* domain expiry

* domain expiry

* scan interval

* change host to domain

Modify weather components for "new" frontend card (#14076)

* Enable weather condition for all forecasts (OWM)

* Remove entity_picture from BR

* Remove summary texts from Dark Sky

* Update test_darksky.py

Add Sonos device attribute with grouping information (#13553)


Re-implement HomematicIP cloud to async (#13468)

* Recode to async version of homematicip-rest-api

* Remove blank line

* Cleanup of access point status class

* Fix to loong line

* Fix import errors

* Bugfix missing wait the _retry_task for sleep command

* Update comment

* Updates after review

* Small updates of logging and property name

* Fix DOMAIN and revert back to lowercase snakecase strings

* Fix intention and tripple double quotes

* Fix travis build

* Remove unnecessary state attributes

* Fix optional name in configuration

* Further reduction of state attributes

Fix timezone issue when calculating min/max values in tibber #14009 (#14080)

* fix timezone issue in tibber #14009

* remove debug print

Update pyhomematic to 0.1.42 (#14095)

* Updated pyhomematic to 0.1.42

* Updated pyhomematic to 0.1.42

Updated list of AWS regions for Amazon Polly (#14097)

Fixes #14052
Adds update file_path service to local_file camera (#13976)

* WIP: Add update_file service to local_file camera

* Add event on update

* Update local_file.py

* Update services.yaml

* Fix indent

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update local_file.py

* Update test_local_file.py

* Update local_file.py

* Adds file_path to device_state_attributes

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update local_file.py

* Update test_local_file.py

* fixed test_update_file_path

* Update local_file.py

* Update test_local_file.py

* Update test_local_file.py

* Update services.yaml

* Update local_file.py

* Update local_file.py

* Update test_local_file.py

* Update local_file.py

Bump frontend to 20180426

Bump frontend to 20180426

Version bump to 0.68.0b2

Zone component config entry support (#14059)

* Initial commit

* Add error handling to config flow
Change unique identifyer to name
Clean up hound comments

* Ensure hass home zone is created with correct entity id
Fix failing tests

* Fix rest of tests

* Move zone tests to zone folder
Create config flow tests

* Add possibility to unload entry

* Use hass.data instead of globas

* Don't calculate configures zones every loop iteration

* No need to know about home zone during setup of entry

* Only use name as title

* Don't cache hass home zone

* Add new tests for setup and setup entry

* Break out functionality from init to zone.py

* Make hass home zone be created directly

* Make sure that config flow doesn't override hass home zone

* A newline was missing in const

* Configured zones shall not be imported
Removed config flow import functionality
Improved tests

Improve MQTT topic validation (#14099)

* Improve MQTT topic validation

* Fix test

* Improve length check

Improve precision of Hue color state (#14113)


Upgrade broadlink lib (#14074)


Fix timezone issue when calculating min/max values in tibber #14009 (#14080)

* fix timezone issue in tibber #14009

* remove debug print

Updated list of AWS regions for Amazon Polly (#14097)

Fixes #14052
Version bump to 0.68.0

Change Eufy brightness handling (#14111)

Eufy device state isn't reported if the bulb is off, so avoid stamping on
the previous values if the bulb isn't going to give us useful information.
In addition, improve handling of bulb turn on if we aren't provided with a
brightness - this should avoid the bulb tending to end up with a brightness of
1 after power cycling.
Change Eufy brightness handling (#14111)

Eufy device state isn't reported if the bulb is off, so avoid stamping on
the previous values if the bulb isn't going to give us useful information.
In addition, improve handling of bulb turn on if we aren't provided with a
brightness - this should avoid the bulb tending to end up with a brightness of
1 after power cycling.
Merge pull request #14124 from home-assistant/rc

0.68
Fix the optional friendly name of the Yeelight (Closes: #14088) (#14110)


Update QNAP lib to 0.2.6; handle null temps gracefully (#14117)

There's one particular QNAP model which sometimes return empty/null temperatures
for certain disks. This commit ensures that this model can be integrated with HASS
without causing KeyErrors or other exceptions - if this edge case is hit, the
sensor will simply show `0` instead.
Support Xiaomi Mijia Bluetooth Wireless Temperature and Humidity Sensor (#13955)


Upgrade colorlog to 3.1.4 (#14132)


Move RainMachine to component/hub model (#14085)

* Moves RainMachine to component/hub model

* Updated requirements

* Updated coverage

* Hound violations

* Collaborator-requested changes

* Small formatting updates

* Removed references to remote API

* Collaborator-requested changes

* Collaborator-requested changes

* Fixed attribution

Add support for light sensors with 'lx' unit to HomeKit (#14131)

* add support for light sensors with lx unit

* add test for light sensor with 'lx' unit

Upgrade restrictedpython to 4.0b3 (#14140)


Logitech Pop support for emulated_hue component (#12833)

* Update hue_api.py

add dummy group handler for logitech-pop

* Update __init__.py

add HueGroupView for logitech pop

* Update __init__.py

removed whitespace on blankline

* fix line limit and space

* fix indents

* fix more docstring and formatting issues.

* fix more whitespace issues

* Fix pylint issue

Bump pyvizio to 0.0.3 (#14147)

* Bumping pyvizio version

* Bump pyvizio version

System log: make firing event optional (#14102)

* Syste log: make firing event optional

* Add test

* Lint

* Doc string

Fix color setting of tplink lights (#14108)


Upgrade pylast to 2.2.0 (#14139)


Upgrade sqlalchemy to 1.2.7 (#14138)


Upgrade tapsaff to 0.2.0 (#14137)


Upgrade python-telegram-bot to 10.0.2 (#14144)


Upgrade youtube_dl to 2018.04.25 (#14136)


Clean up HomeKit accessory information characteristics (#14114)

* Update accessory information characteristics
* Add firmware revision characteristic
Upgrade psutil to 5.4.5 (#14135)


Fixed datetime values (#14153)


deluge-components-update (#14016)


Light mqtt_json: Add HS color support (#14029)

* Light mqtt_json HS color support

* Lint

* Catch float ValueError

Convert more files to async/await syntax (#14142)

* Move more files to async/await syntax

* Attempt Work around pylint bug

Using lazytox :P

Disable eliqonline requirement (#14156)

* Disable eliqonline requirement

* Disable pylint import error

Fix Python 3.6 compatibility for HomeKit controller (#14160)

Python 3.6's http client passes an additional argument to _send_output,
so add that to the function definition.
deCONZ allow unloading of config entry (#14115)

* Working but incomplete

* Remove events on unload

* Add unload test

* Fix failing sensor test

* Improve unload test

* Move DeconzEvent to init

* Fix visual under-indentation

Upgrade netdisco to 1.4.0 (#14152)


Add precipitation to OpenWeatherMap forecast (#13971)

* add initial precipitation support

* move attr to component

* remove blank line

* add forecast attributes to platform and update demo

* add tests

* break long lines

* calc lower temp correctly

* move all new attributes to component

* convert temp low only when existing

Allow transitioning to colour temp for tradfri (#14157)


Add mitemp_bt to coverage

Another coverage fix

Added update_interval to maxcube (#14143)


Revert Hue color state to be xy-based (#14154)


zha: Support remotes/buttons (#12528)


Upgrade numpy to 1.14.3 (#14187)


Improve chromecast disconnection logic (#14190)

* Attempt Cast Fix

* Cleanup

Added CONF_IP_ADDRESS to HomeKit (#14163)


Do not sync entities with an empty name (#14181)


Fix poorly formatted automations (#14196)


Updating darksky default update interval to 5 mins (#14195)

With Darksky allowing only 1000 API requests per day, 2 minutes retry seems to be bit closer to running over the limit and actually it did for 5 days in my account. Hence proposing a change to 5 minutes to keep the API happy and also it doesn't hurt to check the weather for every 5 mins than 2 mins someone lives in Jupiter :-P
Fix TypeError on round(self.humidity) (fixes #13116) (#14174)

* Fix TypeError on round(self.humidity)

Some weather platforms postpone the first data fetch for a while on init. As a result round(self.humidity is called before it is assigned a value, producing an error. This is a fix for that.

* Rewrite to avoid false negative evaluation

As per the suggestion from @OttoWinter, rewrite to avoid matching e.g. 0.0 as false.

Fix color setting of tplink lights (#14108)


Improve precision of Hue color state (#14113)


Revert Hue color state to be xy-based (#14154)


Fix Python 3.6 compatibility for HomeKit controller (#14160)

Python 3.6's http client passes an additional argument to _send_output,
so add that to the function definition.
Added CONF_IP_ADDRESS to HomeKit (#14163)


Do not sync entities with an empty name (#14181)


Improve chromecast disconnection logic (#14190)

* Attempt Cast Fix

* Cleanup

Fix poorly formatted automations (#14196)


Version bump to 0.68.1

Disable eliqonline requirement (#14156)

* Disable eliqonline requirement

* Disable pylint import error

Merge pull request #14199 from home-assistant/rc

0.68.1
Add room hint support to Google Assistant cloud (#14180)


Update CODEOWNERS (#14214)


Fixes #14169 (Upgrade pyupnp-async to 0.1.0.2) (#14210)

* Fixes #14169 (upstream version bump)

* bump pyupnp-async version

zha: Clean up binary_sensor listener registration/state updates (#14197)

- Instead of registering listeners in the entity __init__, do it in
   async_added_to_hass to avoid errors updating an entity which isn't fully
   set up yet
 - Change from schedule_update_ha_state to async_schedule_update_ha_state
HomematicIP cloud: Add logic to check accesspoint connection state (#14203)

* Add logic to check accesspoint connection state

* lint

* changes as per @balloobs comments.

* pylint fix

Foundation for users (#13968)

* Add initial user foundation to Home Assistant

* Address comments

* Address comments

* Allow non-ascii passwords

* One more utf-8 hmac compare digest

* Add new line

Allow easy extension of websocket API (#14186)

* Allow easy extension of websocket API

* Lint

* Move panel test to frontend

* Register websocket commands

* Simplify test

* Lint

Change the divisor for total consumption output (#14215)

According to my observations, the "switch_energy" value displayed by Pyfritzhome is the sum of Wh over the last week since measurement.
As a result, the correct divisor for representing output as kWh would be 1000 instead of 10000.
Upgrade mypy to 0.590 (#14207)


Template Sensor add device_class support (#14034)

* Template Sensor Device Class Support

* Lint

* Add tests

Add more parameters for DSMR sensor (#13967)

* Add more parameters for DSMR component

* Add suiting icon for power failure

* Add suiting icon for swells & sags

* Fix tab indentation -> spaces

* Fix too long lines (PEP8)

Support setting explicit mute value for Panasonic Viera TV (#13954)

* Use module's methods instead of API calls

* Use module's methods instead of API calls for media commands

Allow to set a desired update interval for camera_proxy_stream view (#13350)

* allow to set a desired update interval for camera_proxy_stream view

* lint

* refactor into a seperate method.
Keep the handle_async_mjpeg_stream method to be overridden by platforms
so they can keep proxying the direct streams from the camera

* change descriptions

* consolidate

* lint

* travis

* async/await and force min stream interval for fallback stream.

* guard clause. Let the method raise error on interval.

* is is not =

* what to except when you're excepting

* raise ValueError, remove unnecessary 500 response

panasonic_viera: Provide unique_id from SSDP UDN, if available (#13541)


Custom component loading cleanup (#14211)

* Clean up custom component loading

* Fix some tests

* Fix some stuff

* Make imports work again

* Fix tests

* Remove debug print

* Lint

Buienradar improvements: continuous sensors and unique ID's (#13249)

* Force update continuous sensors when new measurement available.

* Added unique ID's based on coordinates, sensor type and client name.

* Fixed over-indentation (hound review)

* Revert "Added unique ID's based on coordinates, sensor type and client name."

This reverts commit 3345e67a155c7953afc42c1b1b676616a7a77e56.

* Fix lint errors.

* Re-added unique ID's based on location.

* Removed wrong error logging.

* Removed creating UUID from unique id

* Lint

add volumio discovery (#14220)

* add volumio discovery

* add missing library

* Update volumio.py

Converts RainMachine to hub model (part 2) (#14225)

* Converts RainMachine to hub model (part 2)

* Small style adjustments for consistency

* Moving MAC calculation to one-time call in component

* Removing unneeded attribute

* Bumping Travis

* Lint

Add MQTT Sensor device_class (#14033)

* Add MQTT Sensor device_class

* Add test

Allow independent control of white level on flux_led component (#13985)

* Allow independent control of white level on flux_led component.

Also preserve brightness on color change.

* Limit white value support to RGBW mode.

* Requested changes.

* Correct liniting issues

* Formatting

Add Social Blade Sensor (#14060)

* Adding Dominion Energy Sensor

* Update : remove white spacves and set the update time to be daily

* Update : update spacing as per hound suggestions, Move imports

* Update :  Fix  Travis CI build errors

* Update Documentations on method levels

* Update Documentations on method levels

* Update Documentations on method levels

* Add Exception Handeling if login failed, add PLATFORM_SCHEMA

* Add Exception Handeling if login failed, add PLATFORM_SCHEMA

* Add Exception Handeling if login failed, add PLATFORM_SCHEMA

* Update dominionenergy.py

* Adding Selenium to requirements_all.txt

* Checking the username/password while setup

* Checking the username/password while setup

* removing extra white space

* Update : Adding the Platform only if credentials works

* Update : Add PlatformNotReady exception

* Update : Add PlatformNotReady exception

* Update .coveragerc

* Remove change

* Adding USCIS component

* Adding Line after the class DOC

* Update : Extract USCIS logic code to Component

* Update : Extract USCIS logic code to Component

* Adding CURRENT_STATUS

* Change Error handling, remove date from attributes

* Update the Version for USCIS

* Add Social Blade Sensor

* Update class documentation

* Update coverage and requirements_all

* Update : houndci error with intent

* Update : Add coverage

* Update uscis.py

* Add comments

* Add comments

* Delete dominionenergy.py

* Update requirements_all.txt

* Update .coveragerc

* Update .coveragerc

* Update .coveragerc

* Update : update after code review

* Fix remaining issues

UPnP code cleanup (#14235)

* missing async calls

* lint

* cleanup

Improve config schema of the blackbird component (#14007)

* Import moved, return values removed and redundant log message removed

* Improve config schema of the blackbird component

* Tests updated

* Handle updated

* Schema fixed

Fix Hue color state for missing xy (#14230)


Add support for tracking devices on Netgear access points (#13331)

* Netgear: add support for tracking devices on access points

* Netgear: add SSL support and autodetection

WUnderground unique ids (#13311)

* WUnderground unique_id

* Remove async_generate_entity_id

* Lint

* Address comment

Add PostNL sensor (Dutch Postal Services) (#12366)

* Add basic PostNL sensor (WIP)

* Update PostNL sensor

* Bump version

* Small updates to PostNL package based on feedback

* Remove unused import

* Pass api to sensor

* Refactor based on feedback

* Update based on feedback

* Fix feedback

* Clean up

* Bugfiix

* Bugfix

* SCAN_INTERVAL fix

* Remove unused import

* Refactor for new wrapper implementation

* Update postnl package requirement

* Change throttle logic

* Update package version

* Add new line

* Minor changes

* Change refresh time to 30 minutes

* Update requirements_all.txt

python_openzwave update config service (#12060)

* update python-openzwave to 4.1.0

* add service which updates the configuration files from github

* 0.4.3

Add unique_id to zwave node entity (#14201)

* Add unique_id to zwave node entity

* Wait 30s before adding zwave node if its unique_id is not ready

* Use only node_id in unique_id. Update name, manufacturer, and product attributes on node update.

Add prereqs for HomeKit Controller (#14172)


Restores switch state, case the switch is optimistic (#14151)

* Add restore_state to optimistic switch

* no need to schedule update

* test added

* lint

* new async syntax

* lint

Issue/add template fans (#12027)

* add template fan

* add-template: address PR comments

* add-template: remove unused import

* add-template: revert async_track_state_change change

* add-template: use yield from

* Revert "add-template: use yield from"

This reverts commit 1e053714a7c75c29367e3d04cf52161ebfaabba1.

* add-template: use yield

* add-template: remove unused import

* add-template: remove async_add_job usages

* use components

* add-template: use async/await

* add-template: fix style

* add-template: remove str()

* address pr comments

* fix style

HomeKit - Climate: power state on/off support (#14082)

* add power state  support on off
* Added check for current operation mode
* Extended 'set_heat_cool'
* Added tests

Demo Sensor - Added device_class support (#14269)


Re-enable eliqonline requirement (#14265)


Add fetching camera thumbnails over websocket (#14231)

* Add fetching camera thumbnails over websocket

* Lint

Allow fetching media player covers via websocket connection (#14233)

Lint
Fix ZWave light brightness (#14261)

* Fix ZWave light brightness
* The brightness should always be an integer
* Changed to round

Update issue templates
Update issue templates
Update issue templates
Update issue templates
Remove feature request
Color fixes for Wink lights (#14263)


fix check config not working after #14211 (#14259)


Issue Template Fix CRLF (#14283)


Upgrade attrs to 18.1.0 (#14281)


Update HAP-python to 2.0.0 (#14278)

* Fixed async (added 'async_add_job' and 'add_job')

* Driver status

* Use pyhap category constants

* Changed 'set_broker' to 'set_driver'

* Changed loader method names

* Use 'serv.configure_char'

* Use 'self.set_info_service'

* Use 'self.add_preload_service'

* Fix hound issue

* Updated HAP-python to 2.0.0

Upgrade holidays to 0.9.5 (#14274)


Homekit: Changed device_class requirement Humidity Sensor (#14277)


HomeKit: Support triggered state for alarm_control_panel (#14285)


Fix filter sensor missing window_size argument (#14252)

* missing window_size argument

* test throttle filter configuration

Upgrade astral to 1.6.1 (#14297)


BOM Weather throttle fix (#14234)


Publish attributes unconditionally (#14179)

* Publish attributes unconditionally

Because the attribute publish command was previously hidden behind `if val:`, falsy values like False and 0.0 weren't being published, thereby making Statestream -- particularly in the case of booleans, where the first True would be retained indefinitely -- a completely worthless indicator of state.

* Change bool test to False to confirm falsy values pass

Sensor device classes (#14282)

* Added light device class, moved device classes to const

* Removed unnecessary icons

* Replace 'lux' with 'lx'

* Fix comment

* Changed device_class name

Matrix Chatbot (#13355)

* Add first version of the Matrix bot

* It's a stupid but necessary change…

* Dont list it twice

* All hail the linter!

* More linter-pleasing

* Use the correct user ID

* Add expression commands

* Add tests for new validators

* Fix room alias handling

* Wording

* Defer setup

* Simplify commands

* Handle exceptions

* Update requirements

* Review

* Move login back to constructor

* Fix review comments

deCONZ add new device without restart (#14221)

* Add new device without restarting hass

* Remove debug prints

* Fix copy paste error

* Fix comments from balloob
Add tests to verify signalling with new added devices

* Fix hound comments
Add test to verify when new sensor is added

* Fix tests

* Unload entry should unsubscribe all deconz dispatchers

* Make sure mock setup also creates unsub in hass data

* Fix copy paste issue

* Lint

Add alarmdotcom sensor status (#14254)

* bump to match Xorso/pyalarmdotcom#9

* Load additional status attributes

* missed a spot

Add domain to labels and count state changes to Prometheus (#14253)

* Add domain to labels

* Count state changes

Add support for max_volume (#13822)

* onkyo: add support for max volume range

* onkyo: make flake8 happy

* onkyo: fix PEP8 D205 on line 181

* onkyo: use range for max_volume configuration

* onkyo: fix line too long

Refactor ImageProcessingFaceEntity (#14296)

* Refactor ImageProcessingFaceEntity

* Replace STATE_UNKNOWN with None

Onkyo: SUPPORT_VOLUME_STEP (#14299)


Add All-Linking capabilities (#14065)

* Setup all-linking service

* Remove extra line

* Remove linefeed and tab escape chars

* Add services delete_all_link, load_all_link_database and print_all_link_database

* Check if reload is set

* Confirm entity is InsteonPLMEntity before attempting to load or print ALDB

* Debug load and print ALDB

* Debug print aldb

* Debug print_aldb

* Get entity via platform

* Track Insteon entities in component

* Store entity list in hass.data

* Add entity to hass.data

* Add ref to hass in InsteonPLMEntity

* Pass hass correctly to InsteonPLMBinarySensor

* Fix reference to ALDBStatus.PARTIAL

* Print ALDB record as string

* Get ALDB record from memory address

* Reformat ALDB log output

* Add print_im_aldb service

* Remove reference to self in print_aldb_to_log

* Remove reference to self in print_aldb_to_log

* Fix spelling issue with load_all_link_database service

* Bump insteonplm to 0.9.1

* Changes from code review

* Code review changes

* Fix syntax error

* Correct reference to cv.boolean and update requirements

* Update requirements

* Fix flake8 errors

* Reload as boolean test

* Remove hass from entity init

Update translations

Update frontend to 20180505.0

Merge branch 'master' into dev

Version bump to 0.69.0b0

Version bump to 0.70.0.dev0

Add unique_id to MQTT switch (#13719)


zha: Bump to zigpy 0.1.0 (#14305)


Add missing 'sensor' to ABODE_PLATFORMS (#14313)

This fixes missing light, humidity, temperature sensors from abode component.
Fix module names for custom components (#14317)

* Fix module names for custom components

* Also set __package__ correctly

* bla

* Remove print

Add debounce to move_cover (#14314)

* Add debounce to move_cover

* Fix spelling mistake

Converted SABnzbd to a component (#12915)

* Converted SABnzbd to a component

* fixed async issues

* Made sabnzbd scan interval static. More async fixes.

* Sabnzbd component code cleanup

* Skip sensor platform setup if discovery_info is None

Revert custom component loading logic (#14327)

* Revert custom component loading logic

* Lint

* Fix tests

* Guard for infinite inserts into sys.path

fix(hbmqtt): partial packets breaking hbmqtt (#14329)

This issue was fixed in hbmqtt/issues#95 that was released in hbmqtt 0.9.2
Update netdisco to 1.4.1

Update netdisco to 1.4.1

Add missing 'sensor' to ABODE_PLATFORMS (#14313)

This fixes missing light, humidity, temperature sensors from abode component.
Add debounce to move_cover (#14314)

* Add debounce to move_cover

* Fix spelling mistake

Fix module names for custom components (#14317)

* Fix module names for custom components

* Also set __package__ correctly

* bla

* Remove print

Revert custom component loading logic (#14327)

* Revert custom component loading logic

* Lint

* Fix tests

* Guard for infinite inserts into sys.path

fix(hbmqtt): partial packets breaking hbmqtt (#14329)

This issue was fixed in hbmqtt/issues#95 that was released in hbmqtt 0.9.2
Version bump to 0.69.0b1

Ignore more loading errors (#14331)


Ignore more loading errors (#14331)


Version bump to 0.69.0b2

Adds unique ID to Roku for entity registry inclusion (#14325)

* Adds unique ID to Roku for entity registry inclusion

* Owner-requested changes

Update hitron_coda.py to fix login for Shaw modems (#14306)

I have a Hitron modem provided by Shaw communications rather than from Rogers as the Docs specify for this device_tracker but it seems like the api/code is all the same except that the login failed due to the password being passed as "pws" instead of "pwd". Making that one character change allowed HASS to read the connected device details from my Hitron modem. If this difference is actually one that stands between the Rogers-provided Hitron modems and the Shaw-provided variant, I am happy to create another device-tracker file for the Shaw modem. I just figured I would go with the simplest solution first.
Add sensors for BMW electric cars (#14293)

* Add sensors for electric cars

* Updates based on review of @MartinHjelmare

* Fix Travis error

* Another fix for Travis

Add more homematicip cloud components (#14084)

* Add support for shutter contact and motion detector device

* Add support for power switch devices

* Add support for light switch device

* Cleanup binary_switch and light platform

* Update comment

add 2 devices (#14321)

* add 2 devices

io:RollerShutterUnoIOComponent
io:ExteriorVenetianBlindIOComponent

* add 2 devices

* Update tahoma.py

* Fix hounci-bot violation

* Fixed Travis CI build failure

./homeassistant/components/cover/tahoma.py:83:13: E125 continuation line with same indent as next logical line

* Fixed Travis CI build failure

E125 continuation line with same indent as next logical line

* Fixed Travis CI build failure

E127 continuation line over-indented for visual indent

* Fix indent

* Change check

Gogogate2 0.1.1 (#14294)

* Gogogate2 - bump version

Uses latest version of library which ensures commands to device are idempotent

* Update requirements_all

* Expose sensor temperature

* update version

* import attribute

* Set temperature

* Remove temperature attribute

Removed temperature attribute until it can be re-implemented as a separate sensor.

* Update ordering

* Fix copy-&-paste issue

Snips: Added slot values for siteId and probability (#14315)

* Added solt values for siteId and probability

* Update snips.py

* Update test_snips.py

Fix Insteon PLM coverage

Add help for conversation/process service (#14323)

* Add help for conversation/process service

* Add logging to debug text received when service is called

* Move conversation to specific folder

Fix BOM weather '-' value (#14042)


Make sure zwave nodes/entities enter the registry is proper state. (#14251)

* When zwave node's info is parsed remove it and re-add back.

* Delay value entity if not ready

* If node is ready consider it parsed even if manufacturer/product are missing.

* Add annotations

Improving icloud device tracker (#14078)

* Improving icloud device tracker

* Adding config validations for new values

* Adding config validations for new values

* Moving icloud specific setup to platform schema. Setting default in platform schema.

Adds useful attributes to RainMachine programs and zones (#14087)

* Starting to add attributes

* All attributes added to programs

* Basic zone attributes in place

* Added advanced properties for zones

* Working to move common logic into component + dispatcher

* We shouldn't calculate the MAC with every entity

* Small fixes

* Small adjustments

* Owner-requested changes

* Restart

* Restart part 2

* Added ID attribute to each switch

* Collaborator-requested changes

Waze Travel Time: optional inclusive/exclusive filters (#14000)

* Waze Travel Time: optional inclusive/exclusive filters

Added optional `inc_filter` and `excl_filter' params that allow to refine the reported routes: the first is not always the best/desired. A simple case-insensitive filtering (no regular expression) is used.

* fix line lenght

* fix spaces

* Rename var

* Fix typo

* Fix missing var

Bump frontend to 20180509.0

Ignore NaN values for influxdb (#14347)

* Ignore NaN values for influxdb

* Catch TypeError

Bump frontend to 20180509.0

Ignore NaN values for influxdb (#14347)

* Ignore NaN values for influxdb

* Catch TypeError

Version bump to 0.69.0b3

Add zone 3 for Onkyo media player (#14295)

* Add zone 3 for Onkyo media player

* CR Updates

* Fix travis lint errors

Support control of away mode and hold mode in Venstar component. Correctly detect humidifiers. (#14256)

* Implement support for away mode and hold mode in Venstar component

* Fix Venstar humidifier capability detection

* Add option to configure humidifier control in Venstar component

* style fix: add missing space and resolve pylint issues

* Remove quotes

Upgrade keyring to 12.2.0 and keyrings.alt to 3.1 (#14355)


debug++ for multiple volume controls (#14349)

Be less noisy for those who have more volume controls than one, mentioned in #13022.
Backend tweaks to make authorization work (#14339)

* Backend tweaks to make authorization work

* Lint

* Add test

* Validate redirect uris

* Fix tests

* Fix tests

* Lint

script/lint: Ensure there are files to test with pylint (#14363)


Update .coveragerc (#14368)


Fix binary_sensor async_update (#14376)


Add local auth provider (#14365)

* Add local auth provider

* Lint

* Docstring

Update to sensibo 1.0.3 with better error reporting (#14380)


Fix binary_sensor device_state_attributes (#14375)


Remove domain expiry sensor (#14381)


Bump frontend to 20180510.1

Add support for pressure sensors (#14361)


Add "framerate" parameter to generic camera (#14079)

* add "framerate" parameter to generic camera

* fix lint

Rewritten HomeKit tests (#14377)

* Use pytest fixtures and parametrize
* Use async
Remove domain expiry sensor (#14381)


Version bump to 0.69.0

Update sensor state before adding device (#14357)


Make mysensors component async (#13641)

* Make mysensors component async

* Use async dispatcher and discovery.
* Run I/O in executor.
* Make mysensors actuator methods async.
* Upgrade pymysensors to 0.13.0.
* Use async serial gateway.
* Use async TCP gateway.
* Use async mqtt gateway.

* Start gateway before hass start event

* Make sure gateway is started after discovery of persistent devices
  and after corresponding platforms have been loaded.
* Don't wait to start gateway until after hass start.

* Bump pymysensors to 0.14.0

Adds facebox (#14356)

* Adds facebox

* Update .coveragerc

* Remove facebox

* Add test of faces attribute

* Add event test

* Adds more tests

* Adds tests to increase coverage

* Rename MOCK_FACES to MOCK_FACE

* Adds STATE_UNKNOWN

more detailed error message (#14385)


Allow HomeKit name to be customized (#14159)


Merge pull request #14392 from home-assistant/rc

0.69
Xiaomi Aqara: Add new cube model (sensor_cube.aqgl01) (#14393)


Bump pycmus version (#14395)

This commit bumps the pycmus version used by the cmus component. There
was a bug in the previous version used, 1.0.0, when running in local
mode. This was caused by a mtreinish/pycmus#1 and also was reported in
the home-assistant forums (but not as an issue):

https://community.home-assistant.io/t/cant-install-cmus-component/7961

Version 0.1.1 of pycmus fixes this issue so it should work properly for
users running cmus and home-assistant on the same machine.
Fix name of tox pylint env (#14402)


Fix waiting for setup that never happens (#14346)


Use None as initial state in zha component (#14389)

* Return None if state is unknown

* Use None as initial state

Bump PyXiaomiGateway version (#14412)


Fix waiting for setup that never happens (#14346)


Version bump to 0.69.1

Merge pull request #14413 from home-assistant/rc

0.69.1
Homekit test cleanup (#14416)


Upgrade PyXiaomiGatewa to 0.9.3 (#14420) (Closes: #14417)


Update pylint to 1.8.4 (#14421)


Bring back typing check. Meanwhile just for homeassistant/*.py (#14410)

* Bring back typing check. Meanwhile just for homeassistant/.py

* Change follow-imports to silent. Add a few more checks.

Look at registry before pulling zwave config values (#14408)

* Look at registry before deciding on ID for zwave values

* Reuse the new function

Add Bulgarian to Google TTS (#14422)


Remove extra quotes from docstrings (#14431)


Spelling, grammar etc fixes (#14432)

* Spelling, grammar etc fixes

* s/an api data/data of an api/

Invoke pytest instead of py.test per upstream recommendation, #dropthedot (#14434)

http://blog.pytest.org/2016/whats-new-in-pytest-30/
https://twitter.com/hashtag/dropthedot
Fix fan service description (#14423)


Clean up some Python 3.4 remnants (#14433)


Remove universal wheel setting (#14445)

* Home assistant should not build a universal wheel since we don't
  support Python 2.
Upgrade requests_mock to 1.5 (#14444)


Upgrade pyota to 2.0.5 (#14442)

* Use constants

* Upgrade pyota to 2.0.5

Upgrade python-telegram-bot to 10.1.0 (#14441)


Upgrade Sphinx to 1.7.4 (#14439)


Upgrade youtube_dl to 2018.05.09 (#14438)


Upgrade distro to 1.3.0 (#14436)


Add priority and cycles to LaMetric (#14414)

* Add priority and cycles to LaMetric

Priority can be "info", "warning" (default), or "critical" and
cycles is the number of times the message is displayed. If cycles
is set to 0 we get a persistent notification that has to be dismissed
manually.

* Fix for schema and style

* Fix for style

Allow qwikswitch sensors as part of devices (#14454)


Bump requirement to pydeconz v38 (#14452)


Add SpaceAPI support (#14204)

* Add SpaceAPI support

* Changes according PR comments

* Add tests

* Remove print

* Minor changes

Use ATTR_NAME from const.py (#14450)


zha: Fix cluster class check in single-cluster device type (#14303)

zigpy now allows custom devices, which might mean that devices have cluster
objects which are not instances of the default, but may be instances of
sub-classes of the default. This fixes the check for finding single-cluster
device entities to handle sub-classes properly.
Upgrade pygatt to 3.2.0 (#14447)


Add support for direction to fan template (#14371)

* Initial commit

* Update and add tests

Samsung Family hub camera component (#14458)

* add familyhub.py camera

* fix import and REQUIREMENTS

* add to coveragerc

* fix formatting to make houndci-bot happy

* ran scripts/gen_requirements_all.py

* use CONF_IP_ADDRESS

* Revert "ran scripts/gen_requirements_all.py"

This reverts commit 3a38681d8a084e6d4811771ae7a18819477885bc.

* fix library name

* add missing docstrings and enable polling

* Sort imports

Fix key error upon missing node (#14460)

* This is needed after gateway ready message generates an update while
  persistence is off, or while the gateway node hasn't been presented
  yet.
Bump lakeside version (#14471)

This should fix a couple of issues with T1013 bulbs, and also handle
accounts that contain unknown devices.
Minor Wink fixes (#14468)

* Updated Wink light supported feature to reflect what features a given light support.

* Fix typo in wink climate

Don't poll the Samsung Family hub camera (#14473)


Optimistic MQTT light (#14401)

* Restores light state, case the light is optimistic

* lint

* hound

* hound

* Added mqtt_json

* hound

* added mqtt_template

* lint

* cleanup

* use ATTR

Remove simplepush.io (#14358)


Add Konnected component with support for discovery, binary sensor and switch (#13670)

* Add Konnected component with support for discovery, binary sensor, and switch

Co-authored-by: Eitan Mosenkis <eitan@mosenkis.net>

* Use more built-in constants from const.py

* Fix switch actuation with low-level trigger

* Quiet logging; Improve schema validation.

* Execute sync request outside of event loop

* Whitespace cleanup

* Cleanup config validation; async device setup

* Update API endpoint for Konnected 2.2.0 changes

* Update async coroutines via @OttoWinter

* Make backwards compatible with Konnected < 2.2.0

* Add constants suggested by @syssi

* Add to CODEOWNERS

* Remove TODO comment

Make Feedreader component more extendable (#14342)

* moved regular updates definition to own method to be able to override behaviour in subclass

* moved filter by max entries to own method to be able to override behaviour in subclass

* event type used when firing events to the bus now based on variable to be able to override behaviour in subclass

* feed id introduced instead of url for storing meta-data about the feed to be able to fetch the same feed from different configs with different filtering rules applied

* keep the status of the last update; continue processing the entries retrieved even if a recoverable error was detected while fetching the feed

* added test cases for feedreader component

* better explanation around breaking change

* fixing lint issues and hound violations

* fixing lint issue

* using assert_called_once_with instead of assert_called_once to make it compatible with python 3.5

BMW code cleanup (#14424)

* Some cleanup for BMW sensors

* Changed dict sort

* Updates based on review and Travis

Don't add a url to built-in panels (#14456)

* Don't add a url to built-in panels

* Add url_path back

* Lint

* Frontend bump to 20180515.0

* Fix tests

Added temperature (apparent) high/low, deprecated max/min (#12233)


Improve handling of offline Sonos devices (#14479)


"unavailable" Media players should be considered off in Universal player (#14466)

The Universal media player inherits the states of the first child player that is not in some sort of "Off" state (including idle.) It was not considering the "unavailable" state to be off. Now it does.
Added option to invert aREST pin switch logic for active low relays (#14467)

* Added option to invert aREST pin switch logic for active low relays

* Fixed line lengths

* Changed naming and set optional invert default value.

* Fixed line length

* Removed default from get

Use "Returns" consistently to avoid being treated as section (#14448)

Otherwise, by side effect, results in error D413 by recent pydocstyle.
Add HomeKit support for fans (#14351)


Add stdout and stderr to debug output for shell_command (#14465)


Update frontend to 20180516.0

Bump frontend to 20180516.1

New Sensor FinTS (#14334)



Update hitron_coda.py (#14506)

missed a typo that wasn't caught with testing since I don't have a Rogers router.
Konnected component follow up (#14491)

* make device_discovered synchronous

* small fixes from code review

* use dispatcher to update sensor state

* update switch state based on response from the device

* interpolate entity_id into dispatcher signal

* cleanup lint

* change coroutine to callback

Adjust LimitlessLED properties for running effects (#14481)


Bump locationsharinglib to 2.0.2 (#14359)

* Bump locationsharinglib to 2.0.2

* Bump locationsharinglib to 2.0.2

Update frontend to 20180518.0 (#14510)

* Update frontend to 20180517.0

* Update requirements

* Bump frontend to 20180518.0

Feedreader configurable update interval and max entries (#14487)


Fix probability_threshold in binary_sensor.bayesian (#14512) (Closes: #14362)



Flux bug fix (#14476)

* Simplify conditionals.

* Send white_value on service call.

* Remove extra blank line

* Further simplification of conditionals

* Requested changes

* Do not call getRgb if not needed

* Update log message

Show warning if no locations are shared (fixes #14177) (#14511)



Add code to HomeKit lock (#14524)


Set pytz to >=2018.04 (#14520)


Add Homematic IP RotaryHandleSensor support (#14522)

* Add Homematic IP RotaryHandleSensor support

HmIP-SRH was in the RotaryHandleSensor class and threw errors that LOWBAT and ERROR could not be found (they are LOW_BAT and SABOTAGE).

* Revert REQUIREMENTS change

Update HAP-python to 2.1.0 (#14528)


Fix some ISY sensors not getting detected as binary sensors (#14497)

Sensors that were defined via sensor_string were not getting properly identified as binary sensors when they had a uom defining them as binary (the other three methods of detecting binary sensors worked though.)
Update mychevy to 0.4.0 (#14372)

After 2 months of being offline, the my.chevy website seems to be
working again. Some data structures changed in the mean time. The new
library will handle multiple cars. This involves a breaking change in
slug urls for devices where these now include the car make, model, and
year in them.

Discovery has to be delayed until after the initial site login to get
the car metadata.
Set certifi to >=2018.04.16 (#14536)


Bump frontend to 20180518.1

Merge branch 'master' into dev

Version bump to 0.70.0b0

Upgrade aiohttp to 3.2.1 (#14517)

* Upgrade aiohttp to 3.2.1

* Upgrade async_timeout to 3.0.0

* Update the order of the requirements

Upgrade youtube_dl to 2018.05.18 (#14519)


Upgrade keyring to 12.2.1 (#14521)


Upgrade restrictedpython to 4.0b4 (#14537)


Bump pyvera version (improve stability of poll loop). (#14540)


Bump frontend to 20180519.0

Bump frontend to 20180519.0

Version bump to 0.70.0b1

Fix sensor name (fixes #14535) (#14541)


Add support to ignore a xiaomi aqara gateway (#14428)


Wait for future mysensors gateway ready (#14398)

* Wait for future mysensors gateway ready

* Add an asyncio future that is done when the gateway reports the
  gateway ready message, I_GATEWAY_READY.
* This will make sure that the gateway is ready before home assistant
  fires the home assistant start event. Automations can now send
  messages to the gateway when home assistant is started.
* Use async timeout to wait max 15 seconds for ready gateway.

* Address comments

Pushed to version 0.7.2 of denonavr (#14551)


Add auto discovery for nanoleaf aurora lights (#14301)

* auto discovery added for nanoleaf aurora lights

* changes requested by review

* visual indentation

* line too long

* hide autocreated config

zha: Don't poll switch devices (#14560)


zha: Add metering sensor (#14562)


zha: Set default binary_sensor state to false (#14553)


Homekit style cleanup (#14556)

* Style cleanup

* Sorted imports
* Harmonized service calls

* Test improvements

* Small update

Add IlluminanceMeasurementSensor to ZHA (#14563)

* add IlluminanceMeasurementSensor

* address review comment

* Fix whitespace error during merge

zha: Bump to zigpy-xbee 0.1.1 (#14566)


Update frontend to 20180521.0

Update frontend to 20180521.0

fix nanoleaf aurora lights min and max temperature (#14571)

* fixed nanoleaf aurora lights min and max temperature

* review changes

Wait for future mysensors gateway ready (#14398)

* Wait for future mysensors gateway ready

* Add an asyncio future that is done when the gateway reports the
  gateway ready message, I_GATEWAY_READY.
* This will make sure that the gateway is ready before home assistant
  fires the home assistant start event. Automations can now send
  messages to the gateway when home assistant is started.
* Use async timeout to wait max 15 seconds for ready gateway.

* Address comments

Homekit style cleanup (#14556)

* Style cleanup

* Sorted imports
* Harmonized service calls

* Test improvements

* Small update

fix nanoleaf aurora lights min and max temperature (#14571)

* fixed nanoleaf aurora lights min and max temperature

* review changes

Version bump to 0.70.0b2

Fix ISY moisure sensors showing unknown until a leak is detected (#14496)

* Fix ISY leak sensors always showing UNKNOWN until a leak is detected

Added some logic that handles both moisture sensors and door/window sensors

* Handle edge case of leak sensor status update after ISY reboot

If a leak sensor is unknown, due to a recent reboot of the ISY, the status will get updated to dry upon the first heartbeat. This status update is the only way that a leak sensor's status changes without an accompanying Control event, so we need to watch for it.

* Fixes from overnight testing

State was checking the incorrect parameter, and wasn't calling schedule update

* Remove leftover debug log line

* Remove unnecessary pylint instruction

* Remove access of protected property

We can't cast _.status directly to a bool for some unknown reason (possibly with the VarEvents library), but casting to an int then bool does work.

Bump insteonplm version to fix device hanging (#14582)

* Update inteonplm to 0.9.2

* Change to force Travis CI

* Change to force Travis CI

Update pyhomematic to 0.1.43 (#14583)

* Update __init__.py

*…

@home-assistant home-assistant locked and limited conversation to collaborators Sep 5, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.