Skip to content
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

Initializing statistics sensor with data from database #9753

Merged
merged 4 commits into from Oct 8, 2017

Conversation

ChristianKuehnel
Copy link
Contributor

@ChristianKuehnel ChristianKuehnel commented Oct 8, 2017

Description:

Previously the statistics sensor depended of reading new data to populate the list of measurements. So you had to wait a while before you had valid data after a restart. With this this change the data is now populated from the database (recorder component) so that you immediately have new data after a restart.

Pull request in home-assistant.github.io with documentation (if applicable):
home-assistant/home-assistant.io#3559

Example entry for configuration.yaml (if applicable):

So nothing new here, just take a sensor with a numeric stats that has some states stored in the database:

sensor:
  - platform: statistics
    entity_id: <some entity id>

Checklist:

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.

Copy link
Contributor

@andrey-git andrey-git left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix the tests please

.filter(States.entity_id == self._entity_id.lower())\
.order_by(States.last_updated.desc())\
.limit(self._sampling_size)
states = reversed(execute(query))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Won't this block the executor thread?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. I'm calling this with hass.async_add_job from the constructor so from my understanding of async this should not be blocking.
  2. If you're refering to the execute-function: It returns a list anyway not a generator. So from my understanding were fine here: https://github.com/home-assistant/home-assistant/blob/6e1785173fd670c9a57a2fd7d6dd468945597d20/homeassistant/components/recorder/util.py#L52-L73
  3. It's working on my machine ;-)

@@ -41,6 +42,8 @@
DEFAULT_SIZE = 20
ICON = 'mdi:calculator'

DEPENDENCIES = ['recorder']
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding recorder as dependency is a breaking change.

Most people using the statistics sensor probably have it enabled anyway.
If recorder is enabled it is initialized first anyway.

We should either mark the change as breaking or add code that skips _initzialize_from_database in case recorder is not enabled.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the second option better:

  1. How can i find out, if the recorder is enabled?
  2. Should the DEPENDENCIES stay as they are? Or do I have to also wrap that in some checks?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if 'recorder' in hass.config.components

You should remove recorder from DEPENDENCIES, otherwise it will force-load it.

Could you test such setup and make sure recorder doesn't get loaded?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, Thx 😃 ! It, works like a charm:

  • If recorder is not configured, it's not loaded. I checked this in the log file.
  • If recorder is configured (e.g. via history), the statistics are initialized with the data from the database.

New patch is on the way...

.limit(self._sampling_size)
states = execute(query)
_LOGGER.debug("statelog1: %d",len(states))
_LOGGER.debug("statelog2: %s",[s.state for s in states])

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing whitespace after ','

.order_by(States.last_updated.desc())\
.limit(self._sampling_size)
states = execute(query)
_LOGGER.debug("statelog1: %d",len(states))

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing whitespace after ','

@@ -88,27 +91,34 @@ def __init__(self, hass, entity_id, name, sampling_size, max_age):
self.min = self.max = self.total = self.count = 0
self.average_change = self.change = 0

if 'recorder' in self._hass.config.components:
#only use the database if it's configured

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

block comment should start with '# '

@andrey-git
Copy link
Contributor

(Just to make sure)
@pvizeli does the async code looks OK to you?

Copy link
Member

@fabaff fabaff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This requires an update of the docs as the mode of operation has changed.

@ChristianKuehnel
Copy link
Contributor Author

@fabaff Just added documentation: home-assistant/home-assistant.io#3559

Copy link
Member

@fabaff fabaff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks 🐦

@fabaff fabaff merged commit b620c43 into home-assistant:dev Oct 8, 2017
fabaff pushed a commit to home-assistant/home-assistant.io that referenced this pull request Oct 8, 2017
@balloob balloob mentioned this pull request Oct 19, 2017
spektren added a commit to spektren/home-assistant that referenced this pull request Oct 19, 2017
* Upgrade async_timeout to 1.4.0 (home-assistant#9488)

* Bump version of abodepy (home-assistant#9491)

* Upgrade coinmarketcap to 4.1.1 (home-assistant#9490)

* Upgrade blockchain to 1.4.0 (home-assistant#9489)

* Solve Recorder component failing when using Axis component  (home-assistant#9293)

* Bump Axis requirement to v10
Fix issues related to non JSON serializable items and recorder component (8297)
Add support to configure HTTP port (8403)

* Changed local port definition to CONF_PORT

* On request config is now sent to the camera platform as well, and in order better explain what is what the old internal config is now device_config and hass own config is the only one referenced as config

* Missed to add device_config to setup in discovered device

* Bump to V12 that has got a dependency fix

* Update requirements_all

* Add port configuration to automatically discovered devices
Allow setup to pass without Axis being configured in configuration.yaml

* switch to pypi for xiaomi gw (home-assistant#9498)

* renamed add_devices to async_add_devices according to hass naming scheme (home-assistant#9485)

* renamed add_devices to async_add_devices according to hass naming scheme

* replaced some occurencies of async_add_entites to async_add_devices

* fixed unit test

* fixed unit test

* Revert "renamed add_devices to async_add_devices according to hass naming scheme (home-assistant#9485)" (home-assistant#9503)

This reverts commit a5a9707.

* LIFX: fix multi-zone color restore after effects (home-assistant#9492)

The aiolifx 0.6.0 release fixes an issue where an effect color could
remain set after stopping the effect. This only affected multi-zone
lights (i.e. LIFX Z) and only if the effect was stopped by setting
the light brightness or the color (but not both).

The aiolifx 0.6.0 release also defaults end_index to start_index+7,
so we can remove that argument.

Finally, aiolifx_effects 0.1.2 adds support for aiolifx 0.6.0.

* renamed add_devices to async_add_devices according to hass naming scheme (second try after failed home-assistant#9485) (home-assistant#9505)

* Xiaomi pycryptodome (home-assistant#9511)

* Switch to use pycryptodome for xiaomi_gw

* Bumped pyhomematic, additional device support (home-assistant#9506)

Add an optional extended description…

* abode: Bump abodepy dependency to 0.11.7 (home-assistant#9504)

* abode: Bump abodepy dependency to 0.11.7

Fixes cases where one's abode account has a nest thermostat
linked (MisterWil/abodepy#17).

* abode: Bump abodepy dependency to 0.11.7

Fixes cases where one's abode account has a nest thermostat
linked (MisterWil/abodepy#17).

* update requirements_all.txt

* abode: Set device_type in state attributes (home-assistant#9515)

This gets displayed when clicking on the binary sensors. It is
useful to distinguish different devices with the same name (e.g.
the room name) but different types.

* update xiaomi aqara lib (home-assistant#9520)

* added services.yaml integration for input_boolean (home-assistant#9519)

* added services.yaml integration to input_boolean

* added services integration for input_boolean

* removed trailing spaces

* Add reload service to python_script (home-assistant#9512)

* Add reload service

* add reload test

* Use global variable

* remove white space ....

* adjust as suggested

* remove annoying white space....

* fix travis

* fix travis, again

* rename Load_scripts to Discover_scripts

Travis complains that "Load_scripts" is an invalid name (I don't know why)

* Update python_script.py

* MQTT Binary Sensor - Add availability_topic for online/offline status (home-assistant#9507)

* MQTT Binary Sensor - Add availability_topic for online/offline status

Added topic, configurable payloads, and tests.

* Relocated state subscribe function

Moved state subscribe function to follow the state listener function.

* Fix typo within cover/knx XKNX/xknx#64 (home-assistant#9527)

* LIFX: improve performance of setting multi-zone lights to a single color (home-assistant#9526)

With this optimization we can send a single UDP packet to the light rather
than one packet per zone (up to 80 packets for LIFX Z). This removes a
potential multi-second latency on the frontend color picker.

* Update frontend

* Version bump to 0.54

* Version bump to 0.55.0.dev0

* flux led lib 0.20 (home-assistant#9533)

* Update AbodePy to 0.11.8 (home-assistant#9537)

* Update requirements_all.txt

* Update abode.py

* Bump python_openzwave to 0.4.0.35 (home-assistant#9542)

* Bump python_openzwave to 0.4.0.35

* Cleanup

* update usps (home-assistant#9540)

* update usps

* fix syntax issue

* Update AbodePy to 0.11.8 (home-assistant#9537)

* Update requirements_all.txt

* Update abode.py

* update usps (home-assistant#9540)

* update usps

* fix syntax issue

* Bump python_openzwave to 0.4.0.35 (home-assistant#9542)

* Bump python_openzwave to 0.4.0.35

* Cleanup

* Bugfix Homematic hub object (home-assistant#9544)

* Bugfix Homematic hub object

* fix hass instance

* fix state unknow if 0 states

* Fix a bunch of typos (home-assistant#9545)

s/Addres /Address /
s/Chnage/Change/
s/Converion/Conversion/
s/Supressing/Suppressing/
s/agains /against /
s/allready/already/
s/analagous/analogous/
s/aquired/acquired/
s/arbitray/arbitrary/
s/argment/argument/
s/aroung/around/
s/attibute/attribute/
s/auxillary/auxiliary/
s/befor /before /
s/commmand/command/
s/conatin/contain/
s/conection/connection/
s/coresponding/corresponding/
s/entites/entities/
s/enviroment/environment/
s/everyhing/everything/
s/expected expected/expected/
s/explicity/explicitly/
s/formated/formatted/
s/incomming/incoming/
s/informations/information/
s/inital/initial/
s/inteface/interface/
s/interupt/interrupt/
s/mimick/mimic/
s/mulitple/multiple/
s/multible/multiple/
s/occured/occurred/
s/occuring/occurring/
s/overrided/overridden/
s/overriden/overridden/
s/platfrom/platform/
s/positon/position/
s/progess/progress/
s/recieved/received/
s/reciever/receiver/
s/recieving/receiving/
s/reponse/response/
s/representaion/representation/
s/resgister/register/
s/retrive/retrieve/
s/reuqests/requests/
s/segements/segments/
s/seperated/separated/
s/sheduled/scheduled/
s/succesfully/successfully/
s/suppport/support/
s/targetting/targeting/
s/thats/that's/
s/the the/the/
s/unkown/unknown/
s/verison/version/
s/while loggin out/while logging out/

* Catch no longer existing process in systemmonitor (home-assistant#9535)

* Catch no longer existing process in systemmonitor

* Update log message

* Again line length

* Upgrade pyasn1 to 0.3.6 (home-assistant#9548)

* Add history_graph component (home-assistant#9472)

* Add support for multi-entity recent fetch of history. Add graph component

* Rename graph to history_graph. Support fast fetch without current state.

* Address comments

* GeoRSS sensor (home-assistant#9331)

* new geo rss events sensor

* SCAN_INTERVAL instead of DEFAULT_SCAN_INTERVAL

* removed redefinition CONF_SCAN_INTERVAL

* definition of self._name not required

* removed unnecessary check and unnecessary parameter

* changed log levels

* fixed default name not used

* streamlined sensor name and entity id generation, removed unnecessary parameter

* fixed issue for entries without geometry data

* fixed tests after code changes

* simplified code

* simplified code; removed unnecessary imports

* fixed invalid variable name

* shorter sensor name and in turn entity id

* increasing test coverage for previously untested code

* fixed indentation and variable usage

* simplified test code

* merged two similar tests

* fixed an issue if no data could be fetched from external service; added test case for this case

* Fixed bug with all switch devices being excluded (home-assistant#9555)

* fix usps? (home-assistant#9557)

* Added support for ARM_NIGHT for manual_mqtt alarm (home-assistant#9358)

* - Added support for ARM_NIGHT for manual_mqtt alarm

* - port "Add post_pending_state attribute to manual alarm_control_panel home-assistant#9291" to manuql_mqtt

* - port "Fixed manual alarm not re-arm after 2nd trigger home-assistant#9249" to manuql_mqtt

* - port "Add manual alarm_control_panel pending time per state home-assistant#9264" to manuql_mqtt

* - Updated test_trigger_with_specific_pending to simulate real scenario e.g. arm the system then trigger

* Various AirVisual bugfixes (home-assistant#9554)

* Various AirVisual bugfixes

* Updating requirements

* Added better logging for failed data retrieval

* Updated Arlo cameras with new attributes (home-assistant#9565)

* Allow specifying multiple ports for UPNP component (home-assistant#9560)

* Update UPNP component

* Bump dep

* Fix flakiness in test

* Update yeelight to 0.3.3. (home-assistant#9561)

Fixes basic light control in case complex transition effects were defined
on a light (possibly, externally to Home Assistant):
https://gitlab.com/stavros/python-yeelight/issues/17

* Add test cases and fix for device_defaults fire_event option. (home-assistant#9567)

* Add test cases and fix for device_defaults fire_event option.

* Also for light.

* Change docstring mood.

* Use simplepush module, enable event, and allow encrypted communication (home-assistant#9568)

* Use simplepush module, enable event, and allow encrypted communication

* Fix check

* Add DuckDNS component (home-assistant#9556)

* Add DuckDNS component

* Address comments

* Clean up OwnTracks (home-assistant#9569)

* Clean up OwnTracks

* Address comments

* MQTT Cover: Add availability topic and configurable payloads (home-assistant#9445)

* MQTT Cover - Add availability_topic for online/offline status

Added topic, configurable payloads, and tests.

* Merge branch 'dev' into mqtt-cover-availability

* Revert "Merge branch 'dev' into mqtt-cover-availability"

This reverts commit 46d2979.

* Added newline at end of test_mqtt.py

* Fixed lint issue (newline at EOF)

* Fixed lint issue (newline at EOF)

* Updated call signature for other tests

* Fixed availability message callback

* Upgrade dsmr_parser to 0.11 (home-assistant#9576)

* Added new statistic attributes (home-assistant#9433)

* Added new statistic attributes

Added new attributes:
  - Cleaning count
  - Total cleaning time
  - Total cleaning area
  - Time left to change main brush, side brush and filter

* Code corrections

Code corrections

* Remove wronge hanging indentation

* Added new attributes

ATTR_MAIN_BRUSH_LEFT
ATTR_SIDE_BRUSH_LEFT
ATTR_FILTER_LEFT
ATTR_CLEANING_COUNT
ATTR_CLEANED_TOTAL_AREA
ATTR_CLEANING_TOTAL_TIME

* Remove trailing white space

* Corrections of the unit test for new attributes

* Hound corrections

* Init self.clean_history, self.consumable_state

* Hound correction

* - Cleaning time and total cleaning time shown in minutes
- Cleaned area and total cleaned area shown in square meters
- Main brush left, side brush left, filter left time shown in hours
- Display of the unit of measurement

* Remove trailing white spaces

* Fixed wrong continued indentation

* Fixed Hound

* Fixed Hound

* Added new statistic attributes

Added new attributes:
  - Cleaning count
  - Total cleaning time
  - Total cleaning area
  - Time left to change main brush, side brush and filter

* Code corrections

Code corrections

* Remove wronge hanging indentation

* Init self.clean_history, self.consumable_state

* Hound correction

* Remove UOM

* Merge

* Init self.clean_history, self.consumable_state

* Hound correction

* Init self.clean_history, self.consumable_state

* Hound correction

* Removed double declarations

* Upgrade youtube_dl to 2017.9.24 (home-assistant#9575)

* Upgrade lyft_rides to 0.2 (home-assistant#9578)

* Increase Comed timeout since it sometimes takes a long time for the API to respond (home-assistant#9536)

* Increase Comed timeout since it sometimes takes a long time for the API to respond

* Rewrite ComEd sensor to use asyncio

* Fix whitespace and build issues

* Allow customizable turn on action for LG WebOS tv (home-assistant#9206)

* allow customizable action for webos tv turn on as not all models allow for WOL

* trying to fix the houndci-bot

* last few fixes hopefully

* I guess not

* last time!

* This is a breaking change. I have removed the build-in wake-on-lan functionality and have opted for a script which can be a wake-on-lan switch. I have also removed any reference to wol.

* hoping to fix formatting

* linter errors

* IMAP Unread sensor updated for async and push (home-assistant#9562)

* IMAP Unread sensor updated for async and push

* Implement renames suggested in review

* Use async_timeout

* Keep push capability in a variable

* Reword for Hound

* Replace emulated_hue: with emulated_hue_hidden: for consistency. (home-assistant#9382)

* Update __init__.py

* fix lint errors

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update __init__.py

Lint errors

* use get_deprecated instead to log old attr

* Updated tests to hide fan.ceiling_fan

* remove space fix lint

* Upgrade Sphinx to 1.6.4 (home-assistant#9584)

* Bump pyatv to 0.3.5 (home-assistant#9586)

* New Wink services. pair new device, rename, and delete, add new lock key code. Add water heater support (home-assistant#9303)

* Pair new device, rename, delete, and lock key code services. Also add water heater support.

* Fixed tox

* Fixes UPS MyChoice exception (home-assistant#9587)

* Fixes UPS MyChoice exception

* Added unit of measurement

* Collaborator-requested changes

* FedEx: Adds "packages" as a unit (home-assistant#9588)

* Adds "packages" as a unit

* Collaborator-requested changes

* Cleanup entity & remove warning (home-assistant#9606)

* Cleanup entity & remove warning

* Update comment

* Add OwnTracks over HTTP (home-assistant#9582)

* Add OwnTracks over HTTP

* Fix tests

* upgrade python-ecobee-api (home-assistant#9612)

* Change TP-Link Switch power statistics attribute names (home-assistant#9607)

* Migrate Alexa smart home to registry (home-assistant#9616)

* Migrate Alexa smart home to registry

* Fix tests

* Add an input_datetime (home-assistant#9313)

* Initial proposal for the input_datetime

* Linting

* Further linting, don't define time validation twice

* Make pylint *and* flake8 happy at the same time

* Move todos to the PR to make lint happy

* Actually validate the type of date/time

* First testing

* Linting

* Address code review issues

* Code review: Remove forgotten print()s

* Make set_datetime a coroutine

* Create contains_at_least_one_key_value CV method, use it

* Add timestamp to the attributes

* Test and fix corner case where restore data is bogus

* Add FIXME

* Fix date/time setting

* Fix Validation

* Merge date / time validation, add tests

* Simplify service data validation

* No default for initial state, allow 'unknown' as state

* cleanup

* fix schema

* Cover component for RFlink (home-assistant#9432)

* second try on rflink / cover

* no newline at end of file

* changed entity

* fixed comments from pvizeli

* removed :

* removed return 'unknown'

* Fixed comments from Rytilahti

* removed newline

* Reverted to None

* cleanup

* Cleanup

* Introducing support to Melnor RainCloud sprinkler systems (home-assistant#9287)

*  Introducing support to Melnor RainCloud sprinkler systems

* Make monitored_conditions optional for sub-components

*  Part 1/2 - Modified attributes, added DATA_ constant and using battery helper

* Part 2/2 - Refactored self-update hub

* Fixed change requested:
- Dispatcher signal connection
- Don't send raincloud object via dispatcher_send()
- Honoring the dynamic scan_interval value on track_time_interval()

* Inherents async_added_to_hass() on all device classes

* Makes lint happy

* * Refactored RainCloud code to incorporate suggestions.
  Many thanks to @pvizelli and @MartinHjelmare!!

* Removed Entity from RainCloud sensor and fixed docstrings

* Update raincloud.py

* Update raincloud.py

* fix lint

* Rewrite synology camera by using py-synology package (home-assistant#9583)

* - Rewrite synology camera by intruducing Api and SurveillanceStation classes to get cameras, motion settings, enable/disable motion detection, etc ...
- Synology camera now shows correct state based on is_recording and is_streaming flag. Also it now supports enable / disable motion detection and show the correct motion detection status
- Newly added Api and SurveillanceStation classes will be moved to a lib but it's here just for review

* - Updated how payload are merged with kwargs so it works with python <3.5

* - Fixed class name conflict

* - Addressed flake8 error

* - Addressed pylint error

* - Moved synology API related code to py-synology lib
- Added py-synology==0.1.1 requirement
- Removed hass from SynologyCamera constructor

* - Updated requirements_all.txt

* - renamed variable back to original

* - Sync call to retrieve camera image should be done in camera_image() instead

* - Sync call to update camera info should be done in update() instead

* - Removed unused import

* yeelight: allow turn_off transitions, fixes home-assistant#9602 (home-assistant#9605)

* Move 'voltage' to const (home-assistant#9621)

* Yamaha MusicCast: check known_hosts (home-assistant#9580)

* Yamaha MusicCast: check known_hosts

- pymusiccast: Version bump

* Update requirements

* Fixed away_mode for Ecobee thermostat. (home-assistant#9559)

* Fixed away_mode for Ecobee thermostat. Now away mode is properly turned on using indefinite away hold.

* fixed lint warnings

* fixed lint warnings

* - now it is possible to use float values for ecobee temperature holds
- fixed a bug that caused an exception when temperature hold was set in away mode
- added unit tests for ecobee thermostat

* fixed lint errors

* fixed lint errors

* Switched VeraSensor to use category ids (home-assistant#9624)

* splunk: Handle datetime objects in event payload (home-assistant#9628)

If an event contained a datetime.datetime object it would cause an
exception in the Splunk component. Most of the media_player
components do this in their `media_position_updated_at` attribute.

Use the JSONEncoder from homeassistant.remote instead of just using the
standard json.dumps encoder.

Fixes home-assistant#9590

* MQTT climate platform [continuation of home-assistant#8750] (home-assistant#9589)

* New climate platform with MQTT

* Use STATE_OFF

* Basic tests for climate.mqtt

* lint

* actualy collect coverage

* First tests and fixes

* Add possibility to receive temperature via MQTT

* Require only either sensor or mqtt topic

* Add mqtt publishing for away mode, hold mode and aux heat.

* Use configurabe on/off payloads

* Add pessimistic mode

* Initialize aux and away with False instead of None

* Remove Sensor

* Use correct scheduling method

* Move all methods to coroutines

* wunderground: fix supported language codes home-assistant#9631 (home-assistant#9633)

* removed PU, added TR language code (https://www.wunderground.com/weather/api/d/docs?d=language-support&MR=1), fixes home-assistant#9631

* add myself to codeowners (home-assistant#9642)

* raspihats: unmet dependency fix (home-assistant#9638)

* raspihats: update to 2.2.3 (deps fix)

Raspihats platform update, upstream fixed enum34 requirements, added smbus dependency
Fixes home-assistant#9547

* raspihats: update to 2.2.3, smbus-cffi dependency

Raspihats platform update, upstream fixed enum34 requirements, added smbus dependency
Fixes home-assistant#9547

* raspihats: update to 2.2.3

* raspihats: update to 2.2.3, smbus-cffi dependency

* raspihats: update to 2.2.3, smbus-cffi dependency

* raspihats: update to 2.2.3 (deps fix)

Raspihats platform update, upstream fixed enum34 requirements, added smbus dependency
Fixes home-assistant#9547

* raspihats: update to 2.2.3, smbus-cffi dependency

* Fixes broken source links in API docs (home-assistant#9636)

* Fixes broken source links in API docs

* Removes illegal blank line

* Move group services into their own YAML (home-assistant#9597)

* Move group services into their own YAML

* Fix lint

* Move persistent notification to package

* Facebook Messenger notify component: add support for sending messages to specific page user IDs (home-assistant#9643)

* arlo: Add battery level sensor (home-assistant#9637)

* arlo: Add battery level sensor

Adds a battery level sensor that monitors the battery level on
Arlo cameras.

* Fix lint issue

* Add hysteresis attribute to threshold binary sensor (home-assistant#9596)

* Added hysteresis attribute to threshold binary sensor

* Added threshold binary sensor hysteresis test case

* Changed threshold binary sensor property name to be more self explanatory

* Pulled default hysteresis value into top level declaration

* Fixed linter errors

* Fixed additional linter errors

* Move comment to docs

* Upgrade numpy to 1.13.3 (home-assistant#9646)

* Upgrade youtube_dl to 2017.10.01 (home-assistant#9647)

* Upgrade discord.py to 0.16.12 (home-assistant#9648)

* Upgrade netdisco to 1.2.2 (home-assistant#9649)

* Upgrade influxdb to 4.1.1 (home-assistant#9652)

* Upgrade influxdb to 4.1.1

* Upgrade influxdb to 4.1.1

* Upgrade googlemaps to 2.5.1 (home-assistant#9653)

* mqtt_statestream: Add options to publish attributes/timestamps (home-assistant#9645)

* Fixed bugs related to exception handling in pythonegardia. Updating package requirement accordingly (home-assistant#9663)

* Update google-api-python-client to 1.6.4 (home-assistant#9658)

* Bump abode to 0.11.9 (home-assistant#9660)

* Unit tests to improve core coverage (home-assistant#9659)

* Code coverage of logging util

* Improve async util coverage

* Add test coverage for restore_state

* get_random_string test

* Upgrade pyitachip2ir to 0.0.7 (home-assistant#9669)

* Fix typo in cancel_command description (home-assistant#9671)

"wasn't going to use it"

* Rename input_slider to input_number and add numeric text box option (home-assistant#9494)

* * Rename input_slider to input_number
* Update input_number to optionally display slider, input box, or both

* input_number support either input box or slider mode, but not both

* input_number : change service from select_value to set_value

* input_number : add test for mode setting to tests

* Properly handle an invalid end_time (home-assistant#9675)

* Support new feature to push API data to hassio (home-assistant#9679)

* Support new featuer to push API data to hassio

* Add tests & services

* Adding ignore capability to Egardia component (home-assistant#9676)

* Fix Google Calendar/oauth2client warning (home-assistant#9677)

* Fixes oauth2client warning.

* Fix permission.

* Implement DSMR5 support. (home-assistant#9686)

* Allow configuring DSMR5 protocol.

* Give good example.

* Using dev branch until released upstream.

* Update to dsmr_parser supporting v5 arguments.

* Update to latest dmsr parser, preventing exceptions thrown where warnings would suffice.

* Update even more

* Update requirements.

* Update requirements

* Add Tibber sensor (home-assistant#9661)

* Add Tibber sensor

* remove extra space

* Add recorder purge service, rework purge timer (home-assistant#9523)

* Add recorder purge service

* Recorder test to match purge config

* Removed purge timer, move service handler to setup, add service description file

* Tests for recorder purge service

* Recorder purge timer rework, add purge service parameter, tests

* Purge service schema change

* Service description change value range

* First cleanup

* Fix name of config

* Fix restore state by filter out null value row from DB query (home-assistant#9690)

* Updating clicksendaudio component based on feedback (home-assistant#9692)

* Updating clicksendaudio component based on feedback

* Updating .coveragerc - forgot to add new file clicksendaudio.py

* Refactoring of onewire sensor component (home-assistant#9691)

* HassIO replace config changes (home-assistant#9695)

* Update flow

* fix tests

* Update hassio.py

* Fixed typo in opencv (home-assistant#9697)

* [light.tradfri] async support with resource observation. (home-assistant#7815)

* [light.tradfri] Initial support for observe

* Update for pytradfri 2.0

* Fix imports

* Fix missing call

* Don't yield from add devices

* Fix imports

* Minor fixes to async code.

* Imports, formatting

* Docker updates, some minor async code changes.

* Lint

* Lint

* Update pytradfri

* Minor updates for release version

* Build fixes

* Retry observation if failed

* Revert

* Additional logging, fix returns

* Fix rename

* Bump version

* Bump version

* Support transitions

* Lint

* Fix transitions

* Update Dockerfile

* Set temp first

* Observation error handling

* Lint

* Lint

* Lint

* Merge upstream changes

* Fix bugs

* Fix bugs

* Fix bugs

* Lint

* Add sensor

* Add sensor

* Move sensor attrs

* Filter devices better

* Lint

* Address comments

* Pin aiocoap

* Fix bug if no devices

* Requirements

* RFC: Create a secrets file and enable HTTP password by default (home-assistant#9685)

* Create a secret and enable password by default

* Comment out api password secret

* Lint/fix tests

* Support for The Things Network (home-assistant#9627)

* Support for The Things network's Data Storage

* Rename platform and other changes (async and dict)

* Rename sensor platform and remove check for 200

* Update frontend

* fixed duplicate words (home-assistant#9705)

* move icon battery function from util to helpers (home-assistant#9708)

* Fix coap commit (home-assistant#9712)

* Deprecate Python 3.4 support (home-assistant#9684)

* Deprecate Python 3.4 support

* Update text

* Updating helper's icon_for_battery_level location (home-assistant#9594)

* Upgrade pyhomematic, add path setting and HM-CC-VG-1 support (home-assistant#9707)

* Bump pyhomematic, add path setting, HM-CC-VG-1 support

* Added requirement

* bump the version and catch all exceptions to avoid showing backtraces… (home-assistant#9720)

* bump the version and catch all exceptions to avoid showing backtraces but a more sane error message

* catch only BTLEExceptions, fix logging strings

* More netdata sensors (home-assistant#9719)

* Added more netdata sensors

* Changed precision on counts, packets, and uptime

* Upgrade pysnmp to 4.3.10 (home-assistant#9722)

* arlo: Add alarm control panel component (home-assistant#9711)

* arlo: Add alarm control panel component

Allows importing arlo base stations as an alarm control panel
component in HA. Lets the users configure a custom home mode since
arlo does not have a built-in home mode.

* fix lint and houndci comments

* Use async_update to update the state

Move the state updating code from state() to update() since it does
I/O.

* Do not set state in __init__

Make sure that update is called by passing the second parameter to
async_add_devices.

* Order imports and fix dos-strings

* Abode Temp, Humidity, and Light Sensor (home-assistant#9709)

* Update to 0.12.1 and sensor implementation.

* Removing unnecessary dict gets.

* Added name property to actually use the _name variable.

* Update docstring

* Arlo clean-up (home-assistant#9725)

* Fix remaining isses from home-assistant#9711

* More clean-up

* Introducing support to Travis-CI (home-assistant#9701)

* Introduced support to Travis CI

* Added Last Build Started sensor and simplified code

* Fixed logic error

* Simplified _LOGGER.debug statement

* Introduced support to Travis CI

* Added Last Build Started sensor and simplified code

* Fixed logic error

* Simplified _LOGGER.debug statement

* Renamed parameter since the repository_names expects a list

* Refactoring code to synchronous

* Simplified variables names

* Add show_on_map config option to AirVisual (home-assistant#9654)

* Removed lat/long attributes

* Linting

* Revised PR to focus on show_on_map configuration

* Move 'show_on_map' to const (home-assistant#9727)

* Bump release to 0.56.0dev (home-assistant#9726)

* [light.tradfri] Clone all of aiocoap to ensure pinned commit will be present (home-assistant#9713)

* Add andrey-git to codeowners (home-assistant#9718)

* Fix: Last Played Media Title persists in plex (home-assistant#9664)

* Fix: Last Played Media Title in plex would stay even when player was idle/off
     Primary Fix is in the "if self._device" portion.
     code in "if self._session" is a catch all but i'm not 100% if it is needed.

* Fixed lint issues with previous commit

* 1st Pass at refactoring plex refresh
Moved _media** into clearMedia() which is called in _init_ and
at start of refresh.

Removed redunant _media_* = None entries

Grouped TV Show and Music under single if rather than testing
seperately for now.

* Fixed invalid name for _clearMedia()
Removed another media_* = None entry

* Removed print() statements used for debug

* Removed unneeded "if" statement

* Event trigger nested conditions (home-assistant#9732)

* Test to supported nested event triggers

* Update event trigger to allow nested data tests

* Rewrite Alexa Smart-Home skill to v3 (home-assistant#9699)

* Rewrite Alexa Smart-Home skill to v3

* add discovery & fix brigness

* Rewrite Tests

* fix lint

* fix lint p2

* fix version

* fix tests

* fix test message generator

* Update smart_home.py

* fix test

* fix set bug

* fix list

* fix response name for discovery

* fix flucky tests

* Fix I/O in event loop by Arlo alarm control panel (home-assistant#9738)

* Make Arlo battery_level icon dynamic (home-assistant#9747)

* Make Arlo battery_level icon dynamic

* makes lint happy

* Fix for TypeError in synology camera (home-assistant#9754)

* switch.tplink, light.tplink: bump the pyhs100 version and adapt to api changes (home-assistant#9454)

* bump the pyhs100 version and fix api changes

* switch.tplink: avoid I/O during __init__

* initialize _name to None in __init__

* update requirements_all.txt for the new version

* RFC: Use bind_hass for helpers (home-assistant#9745)

* Add Helpers bind_hass functionality

* Update other helpers

* Skybell (home-assistant#9681)

* New Skybell platform with components

* Added skybell components to omit.

* Preemptively fixing lint issues (hopefully).

* Removed unused variable.

* Requested changes.

* Additional CRs

* Hopefully the last of the CR's!

* add myself to yeelight owners, too (home-assistant#9759)

* Update CODEOWNERS (home-assistant#9760)

* Adding my contributions (home-assistant#9761)

* Initializing statistics sensor with data from database (home-assistant#9753)

* Initializing statistics sensor with data from database

* fixed broken test case

* usage of recorder component is now optional, thx to @andrey-git

* added test case for initialize_from_database

* Match test requirements by full package name. (home-assistant#9764)

* yeelight: implement min_mireds and max_mireds, fixes home-assistant#9509 (home-assistant#9763)

* yeelight: implement min_mireds and max_mireds, fixes home-assistant#9509

thanks to @amelchio for pointing this out!

* remove typing infos

* Bump raincloudy version 0.0.3 (home-assistant#9767)

* Bump raincloudy version 0.0.3

* Fix logic for raincloudy status binary_sensor

* Simplified binary_sensor logic

* Simplify

* Xiaomi Smart WiFi Socket and Smart Power Strip integration (home-assistant#9138)

* Xiaomi Smart WiFi Socket and Smart Power Strip integration

* Comment updated.

* Blank line removed.

* Typo fixed.

* Version of python-mirobo bumped.

* Version of python-mirobo bumped: Lightweight API changes.

* Additional API changes.

* Library version properly pinned again.

* Platform not ready behavior fixed.
Expose the device model as sensor attribute.
Device initialized log message added. Provides device model, firmware and hardware version.

* Component renamed: switch.xiaomi_plug -> switch.xiaomi_miio

* Revise based on review: Unused code removed. Filename updated.

* fix for LocationParseError in netgear platform (home-assistant#9683)

* fix for LocationParseError in netgear platform

* added unit tests for get_scanner()

* fixed houndci-bot warnings

* fixed lint warnings

* fixed lint warnings

* fixed broken test

* removed guard clause from netgear.py
removed all discovery related code from device_tracker
removed unnecessary unit test

* removed discovery related tests

* removed unused import

* removed unused import

* Expose time module in Python Scripts (home-assistant#9736)

* Expose time module in Python Scripts

* Make dt_util available in Python Scripts

* Limit methods in time module

* Add time.mktime

* Limit access to datetime

* Add warning to time.sleep

* Lint

* Add notification platform for Rocket.Chat. (home-assistant#9553)

* Add notification platform for Rocket.Chat.

* Changes to Rocket.Chat notification platform based on feedback.

* Implement better error handling for Rocket.Chat platform.

* Return None if Rocket.Chat notify platform init fails.

* Refactor Rocket.Chat notifications.

Refactor Rocket.Chat notification platform to remove async and
simplify error handling.

* fix url

* Updating pythonegardia package requirement to .22 because of fixed bug in passing default value for parameter SSL for egardiaserver (home-assistant#9770)

* Adding myself as codeowner for egardia alarm control panel. (home-assistant#9772)

Adding jeroenterheerdt as codeowner for egardia alarm control panel.

* WIP: Fix Arlo Camera blocking IO (home-assistant#9758)

* WIP: Fix Arlo Camera blocking IO

* Accidental undo

* Linting issues

* Owner-requested changes

* Bumped pyarlo version and added Throttle

* Fix

* Update requirements_all.txt

* Tesla bug fixes. (home-assistant#9774)

* Tesla bug fixes.

* Added myself to CODEOWNERS for tesla.

* Fix off by one error in arwn platform (home-assistant#9781)

There is an off by one error that causes period exceptions. Fix this.

* missing is_closed ( rflink cover fix ) (home-assistant#9776)

* Added is_closed

* whitespaces --

* removed whitespace

* Wink dome siren support (home-assistant#9667)

* Support for Wink Dome siren/chimes

* Bump rxv library to 0.5.1 (home-assistant#9784)

This fixes some bugs with interfacing with yamaha receivers, including
closing bug home-assistant#5209.

* Communication timeout support in modbus hub. (home-assistant#9780)

* Communication timeout support in modbus hub.

Timeout parameter are taken from configuration and passed to pymodbus constructor.

* CONF_TYPE and CONF_TIMEOUT imported from const.py

* [light.tradfri] Fix transition time (home-assistant#9785)

* Fix transition time, set a default

* Wrong default

* Use int for safety

* Revert default.

* OwnTracks: Fix handler is None checking (home-assistant#9794)

* OwnTracks: Fix handler is None checking

* Update owntracks.py

* Simplify track_same_state (home-assistant#9795)

* Optimize event matcher (home-assistant#9798)

* Optimize event matcher

* Tweak order of checks

* Add a benchmark for time_changed helper

* Add state change benchmark

* fix lint

* Resolving bug that prevents ssl_verify option for Unifi device_tracker (home-assistant#9788)

* Added TODO to illustrate my intentions

* Resolved linting issue

* Resolved bool or file validation and updated tests

The tests have been updated to include mocks to assert a temp
ca cert exists as it should for the positive tests with an
additional negative test for a file not existing being tested.

* Resolved flake8 linting issues (test docstrings)

* Upgrade pyasn1 to 0.3.7 and pyasn1-modules to 0.1.5 (home-assistant#9810)

* Split map panel out into its own component (home-assistant#9814)

* Restore home-assistant-polymer pointer from home-assistant#9720 (home-assistant#9825)

* Fix ISY994 fan platform overwriting state property (home-assistant#9817)

* ISY994 platform overwrote state

* Update isy994.py

* Update isy994.py

* Wait_template - support for 'trigger.entity_id' and data_template values (home-assistant#9807)

* *Added support for use of 'trigger.entity_id' and service->data_template->script in wait_template

* * Fixed style violations

* * Fixed regular expression (_RE_GET_POSSIBLE_ENTITIES)

* * combined 'extract_entities' and 'extract_entities_with_variables'
* fixed regular expression

* * Added first test for extract_entities_with_variables

* * Added Unittests (tests/helpers/test_template.py test_extract_entities_with_variables)

* * Added Unittests (tests/helpers/test_script.py test_wait_template_variables)

* * Added Unittests (tests/components/automation/test_template.py test_wait_template_with_trigger)

* * Added Unittests (tests/components/automation/test_state.py test_wait_template_with_trigger)

* * Added Unittests (tests/components/automation/test_numeric_state.py test_wait_template_with_trigger)

* * Fixed style violations

* * Fixed style violations

* * Fixed style violations

* * Fixed style violations

* * Fixed style violations

* * Fixed style violations

* * Updated regular expression and delete whitespaces

* Adds image attribute to html5 notify (home-assistant#9832) (home-assistant#9835)

* OwnTracks: Handle lwt message (home-assistant#9831)

* OwnTracks: Handle lwt message

* Update owntracks.py

* Upgrade libnacl (home-assistant#9769)

* Upgrade libnacl to 1.6.0

* Small style updates

* Fixed reporting of vera UV sensors (home-assistant#9838)

* Update CODEOWNERS */axis.py (home-assistant#9823)

Add code owner for */axis.py

* fix climate services (missing indentation, wrongly formatted example) (home-assistant#9805)

* Run initial generation for development mode (home-assistant#9826)

* Run initial generation for development mode

* Use yarn dev

* Add service descriptions (home-assistant#9806)

* Added descriptions for services under homeassistant domain

* lint fixes

* Fixing file permissions

* Bugfix: Include MQTT schema (home-assistant#9802)

* Bugfix/9811 jinja autoescape (home-assistant#9842)

* Added autoescape kwarg to Jinja environment

* Removed extra comma

* Changed yaml.load into yaml.safe_load (home-assistant#9841)

* New PR (home-assistant#9787)

* Do not auto-install credstash (home-assistant#9844)

* Add namecheap DNS component (home-assistant#9821)

* Add namecheap DNS component

* Updates for pull-request

* remove unused import in test file

* Update .coveragerc

* Remove namecheap dns service (home-assistant#9845)

* Use the Last Seen attribute in unify (home-assistant#8998)

* Uses the Last Seen attribute in unify

* Update unifi.py

fix format

* Update unifi.py

formatting again

* update test_unifi to call CONF_CONSIDER_HOME

Updated.

* Update test_unifi.py

* Update test_unifi.py

* More unit test test

* Update where consider_home comes from.

* Update test_unifi.py

* Update unifi.py

* Update unifi.py

* Update test_unifi.py

* Update unifi.py

* Update unifi.py

* Update test_unifi.py

* fix hound

* Update test_unifi.py

* Update test_unifi.py

* Update unifi.py

* Update unifi.py

* Update test_unifi.py

* Update unifi.py

* Update unifi.py

* Update test_unifi.py

* Update unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update unifi.py

* Update unifi.py

* Update unifi.py

* Update unifi.py

* Update test_unifi.py

Fix the butcher of tests.

* Update unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update unifi.py

* Update unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update test_unifi.py

* Update unifi.py

* Update test_unifi.py

* Update unifi.py

* Update unifi.py

* Update unifi.py

* Update unifi.py

* Add CAPSman master to mikrotik presence detection (home-assistant#9729)

* Add CAPSman master to mikrotik presence detection

Automatically prefer caps-man registered clients over locally connected

* Remove blank line

* Trailing whitespace removed

* File permissions fix (home-assistant#9847)

* Fixing file permissions

* Fixing file permissions

* HassIO - TimeZone / Host services (home-assistant#9846)

* HassIO - TimeZone / Host services

* Update hassio.py

* Update test_hassio.py

* Changing name of clicksendaudio component to clicksend_tts (home-assistant#9859)

* Upgrade youtube_dl to 2017.10.12 (home-assistant#9862)

* Uptime sensor (home-assistant#9856)

* Added uptime sensor for homeassistant

* Fixed pylint and flake8 errors

* Made requested changes from PR

- Fixed stale docstrings
- Changed default state to None
- Added ability for user to use hours or days

* Fixed typo

* Added unit_of_measurement check to test

* Converted to async

- Changed tests to work with async

* Minor updates

* Darksky enhancements (home-assistant#9851)

* Correct capitalization inconsistency in DarkSky

All two-word sensors ("Precip Intensity," "Nearest Storm Bearing," etc) in Darksky uses title case for the friendly name of the sensor, with the exception of "Dew point."

* Implement UV Index in Darksky

* Fixed whitespace for Tox compliance

* Add unit for UV Index.

Per recommendation of reviewer, added 'UV Index' as a CONST in const.py, then used that const in both DarkSky and ISY994. It looks like BloomSky might also support UV Index and it should probably be standardized.

* Upgrade psutil to 5.4.0 (home-assistant#9869)

* minimal fixes in the owntracks mqtt device tracker (home-assistant#9866)

* fix UnboundLocalError when unable to parse payload, and show bad topics that cannot be parsed ok

* Update owntracks.py

* Cloud connection via aiohttp (home-assistant#9860)

* Cloud: connect to cloud

* Fix tests in py34

* Update warrant to 0.5.0

* Differentiate errors between unknown handler vs exception

* Lint

* Respond to cloud message to logout

* Refresh token exception handling

* Swap out bare exception for RuntimeError

* Add more tests

* Fix tests py34

* handle OWM API error calls (home-assistant#9865)

* Upgrade paho-mqtt to 1.3.1 (home-assistant#9874)

* Fix home-assistant#9839 (home-assistant#9880)

* Fix home-assistant#9839

* Update requirements

* Default state: STATE_UNKNOWN -> None

* Default the state to None in the constructor as well

* Upgrade python-telegram-bot to 8.1.1 (home-assistant#9882)

* update python-telegram-bot to v8.1.1

* update python-telegram-bot to v8.1.1

* Xknx improvements (home-assistant#9871)

* Issue XKNX/xknx#65 Make state_updater adjustable by config file (On/OFF)

* Issue XKNX/xknx#48 updated home assistant plugin: added support for setpoint shift

* bumped version

* added missing docstrings.

* Bumped version.

* Fixed requirements_all.txt

* added new options to PLATFORM_SCHEMA

* zha: Update to bellows 0.4.0 (home-assistant#9890)

Fixes: home-assistant#8822

* Changing clicksendaudio to clicksend_tts in .coveragerc (home-assistant#9900)

* Added super attributes to Wink binary sensors (home-assistant#9824)

* Added super attributes to Wink binary sensors

* Removed unused import.

* Dependemcy version bump. (home-assistant#9899)

Closes home-assistant#8213.
Closes home-assistant#7575.

* Update osramlightify.py (home-assistant#9905)

* Fixes (home-assistant#9912)

* Fix load of components without any config from packages (home-assistant#9901)

* Fix load of components without any config from packages

- Add 'None' to the packages config schema validation, to be able to
load components without any more configuration from yaml package files,
like `wake_on_lan`, `media_extractor` and so on.

* test the ability to load components without configuration from packages

* Fixes (home-assistant#9911)

* add last_action for xiaomi cube (home-assistant#9897)

* Added support for Denon AVR-4810. (home-assistant#9887)

* Recorder: Extra check to incoming connections which could be not sqlite3 ones (home-assistant#9867)

* Extra check to incoming connections

The incoming connection could be other than self.db_url, because
some 'custom_component' could be making these, and then, if they're not
sqlite3 connections, an error will raise because those haven't the
`dbapi_connection.isolation_level` attrib.

* lint fix

* simplify check: isinstance test only

* Fix the resource naming in the UI (home-assistant#9916)

Use proper English for the UI representation without breaking the component.

* Update xiaomi_aqara.py (home-assistant#9920)

* Fix the resource naming in the UI (home-assistant#9927)

Use proper English for the UI representation without breaking the component.

* Add transmission sensor: number of active torrents (home-assistant#9914)

* Add transmission sensor: number of active torrents

* Make variable name shorter

* Google Actions for Assistant (home-assistant#9632)

* http: Add headers key to json[_message]

* Add google_assistant component

This component provides API endpoints for the Actions on Google Smart
Home API to interact with Google Assistant.

* google_assistant: Re-add fan support

* google_assistant: Fix Scene handling

- The way I originally wrote the MAPPING_COMPONENT and the way it's actual
  used changed so the comment was updated to match that.
- Use const's in more places
- Handle the ActivateScene command correctly

* google_assistant: Fix flakey compare test

Was failing on 3.4.2 and 3.5, this is more correct anyway.

* google_assistant: Use volume attr for media_player

* Allow flexible relayer url (home-assistant#9939)

* update async_timeout from v1.4.0 tp v2.0.0 (home-assistant#9938)

* Bump py-synology to 0.1.5 (home-assistant#9932)

*  Update aioimaplib from v0.7.12 to v0.7.13 (home-assistant#9930)

* Update aioimaplib from v0.7.12 to v0.7.13

Changelog v0.7.13:
[aiolib] adds a connection lost callback [test] imapserver : added APPENDUID response for APPEND cmd [test][fix] imapserver append should add to the connected user mb [test] imapserver : more accurate building of message headers (using python email module)

* run script/gen_requirements_all.py

* A new platform for controlling Monoprice 6-Zone amplifier (home-assistant#9662)

* added implementation for monoprice 6-zone amplifier. This implementation is based on and very similar to russoun_rnet implementaion

* updated comments and cleaned up code

* updated comments and cleaned up code

* added unit tests

* removed 'name' attribute from platform schema.

* added monoprice.py to .coveragerc

* fixed lint

* fixed lint errors

* fixed lint errors

* added monoprice to requirements_all.txt

* fixed lint errors again

* implemented change requests

* fixed lint error

* added exception handling to setup_platform()

* replaced catchall with SerialException only

* added myself to CODEOWNERS

* fixed weird merge to CODEOWNERS

* Align away state tag with device_trackers (home-assistant#9884)

* Add serial sensor (home-assistant#9861)

* Add serial sensor

* Rename config variable and cancel

* Fix missing timeout for Netatmo binary sensor (home-assistant#9850)

* Fix missing timeout for Netatmo binary sensor

This fix also merges timeout and offset because there were the same thing

Signed-off-by: Hugo D. (jabesq) <jabesq@gmail.com>

* Fix lint errors

* Fix style

* Xiaomi config validation (home-assistant#9941)

* validate xiaomi config

* Update xiaomi_aqara.py

* check for valid config

* use consts

* using defusedxml ElementTree for safer parsing of untrusted XML data (home-assistant#9934)

* using defusexml ElementTree for safer parsing of untrusted XML data

* move from core dependency to platform specific dependency

* style difference: put back end of list comma in setup.py

* notify.xmpp - Add support for MUC (home-assistant#9931)

* Add support for MUC

* Fix two spaces before inline comment

* FFmpeg 1.8 (home-assistant#9944)

* Update requirements_all.txt

* Update requirements_test_all.txt

* Update ffmpeg.py

* Update ffmpeg.py

* Update yi.py

* Update onvif.py

* Update yi.py

* Changed returned attribute from "Game" to "game" (home-assistant#9945)

I noticed the steam component "game" attribute is capitalized. This should be lowercase if I'm not mistaken.

From:
        return {'Game': self._game}
To:
        return {'game': self._game}

Not sure if i'm doing this correctly... apologizes if I'm not!

* Move 'lights' to const.py (home-assistant#9929)

* Update directpy to 0.2 (home-assistant#9948)

* Update enocean to 0.40 (home-assistant#9949)

* Update hikvision to 1.2 (home-assistant#9953)

* Update fritzhome to 1.0.3 (home-assistant#9951)

* Update fritzconnection to 0.6.5 (home-assistant#9950)

* Upgraded pyhomematic (home-assistant#9956)

* Add emeter attributes (home-assistant#9903)

* Add emeter attributes.

* Remove unused attributes.

* Rework supported features so it only queries the bulb once.

* Used cached supported_features, catch errors if energy usage not reported.

* Use default clientsession to stream synology video (home-assistant#9959)

* Update requirements_test_all.txt

* Update ffmpeg.py

* Update ffmpeg 1.9 (home-assistant#9963)

* Improve SSL certs used by aiohttp (home-assistant#9958)

* Improve SSL certs used by aiohttp

* Add certifi package

* Lint

* Fix async probs (home-assistant#9924)

* Update entity.py

* Update entity_component.py

* Update entity_component.py

* Update __init__.py

* Update entity_component.py

* Update entity_component.py

* Update entity.py

* cleanup entity

* Update entity_component.py

* Update entity_component.py

* Fix names & comments / fix tests

* Revert deadlock protection

* Add tests for entity

* Add test fix name

* Update other code

* Fix lint

* Remove restore state from template entities

* Lint

* Add Toon support (home-assistant#9483)

* Added Toon support again

* Forgot about .coveragerc

* Fixed style issues

* More styling and importing fixes

* Implemented the suggestions made by @pvizeli

* The smallest fix possible

* Removed custom names for Toon states

* Fix last push with 2 outdated lines

* Removed HOME and NOT_HOME, moved to just climate states

* Bumped dependency for better handling of smartplugs that don't report power consumption

* Implemented changes as suggested by @balloob

* Rebase, gen_requirements_all.py finally working
@home-assistant home-assistant locked and limited conversation to collaborators Mar 3, 2018
@ChristianKuehnel ChristianKuehnel deleted the db_statistics branch March 18, 2018 09:22
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants