🏡 Open source home automation that puts local control and privacy first.
Go to file
Giuseppe 9ea0c409e6 Improve NetAtmo sensors update logic (#14866)
* Added a "last update" sensor that could be used by automations + cosmetic changes

* Improved the update logic of sensor data

The platform is now continuously adjusting the refresh interval
in order to synchronize with the expected next update from the
NetAtmo cloud. This significantly improves reaction time of
automations while keeping the refresh time to the recommended
value (10 minutes).

* Linting

* Incorporated the advanced Throttle class to support adaptive
throttling, as opposed to integrating it in the core framework.

Following code review, it was suggested to implement the
specialised Throttle class in this platform instead of making a
change in the general util package. Except that the required change
(about 4 LoC) is part of the only relevant piece of code of that
class, therefore this commit includes a full copy of the Throttle
class from homeassistant.util, plus the extra feature to support
adaptive throttling.

* Cosmetic changes on the introduced "last updated" sensor

* Alternate implementation for the adaptive throttling

Ensure the updates from the cloud are throttled and adapted to the
last update time provided by NetAtmo, without using the Throttle
decorator. Similar logic and similar usage of a lock to protect
the execution of the remote update.

* Linting
2018-07-10 12:30:48 +02:00
.github Tweak about the requirements 2018-06-01 23:33:04 +02:00
docs Remove swagger file (#14762) 2018-06-02 08:29:38 -04:00
homeassistant Improve NetAtmo sensors update logic (#14866) 2018-07-10 12:30:48 +02:00
script Add HomematicIP Cloud Config Flow and Entries loading (#14861) 2018-07-06 17:05:34 -04:00
tests Expire auth code after 10 minutes (#15381) 2018-07-10 11:20:22 +02:00
virtualization Fix typo in Docker files (#15256) 2018-07-02 07:02:09 +02:00
.coveragerc Add Cloudflare DNS component. (#15388) 2018-07-09 23:11:54 +02:00
.dockerignore Docker cleanup. (#8226) 2017-06-30 08:07:33 -07:00
.gitattributes Fix line endings [skipci] (#12333) 2018-02-11 23:07:28 -08:00
.gitignore Add script to run monkeytype typing on test suite (#14440) 2018-06-21 15:06:05 +02:00
.hound.yml Add .hound.yml 2016-11-13 11:34:09 -08:00
.ignore Include .ignore file for search utilities (#5290) 2017-01-16 22:52:53 -08:00
.isort.cfg Add isort configuration (#15278) 2018-07-03 09:47:14 +02:00
.travis.yml Add python 3.7 to travis and tox (#14523) 2018-07-07 10:48:02 -04:00
CLA.md Update LICENSE.md and CLA.md to reflect the new Apache 2.0 license 2017-01-28 12:12:34 -08:00
CODEOWNERS Add sensor.nsw_fuel_station component (#14757) 2018-06-14 13:56:04 +02:00
CODE_OF_CONDUCT.md Add organization docs 2017-01-22 16:21:20 -08:00
CONTRIBUTING.md Fix guide link in CONTRIBUTING.md (#13272) 2018-03-16 21:13:32 +01:00
Dockerfile Add Iperf3 client sensor (#14213) 2018-05-24 09:25:27 +02:00
LICENSE.md Update LICENSE.md and CLA.md to reflect the new Apache 2.0 license 2017-01-28 12:12:34 -08:00
MANIFEST.in Consolidate frontend (#9915) 2017-10-24 19:36:27 -07:00
README.rst Remove links to gitter (#9155) 2017-08-27 11:30:26 +02:00
pylintrc Fix pylintrc section order and option placements (#15120) 2018-06-25 12:55:03 -04:00
requirements_all.txt Bump frontend to 20180710.0 2018-07-10 12:01:52 +02:00
requirements_docs.txt Upgrade Sphinx to 1.7.5 (#14764) 2018-06-02 08:31:43 -04:00
requirements_test.txt Upgrade pytest to 3.6.3 (#15332) 2018-07-07 11:06:49 +02:00
requirements_test_all.txt Bump frontend to 20180710.0 2018-07-10 12:01:52 +02:00
setup.cfg Revert some changes to setup.py (#15248) 2018-07-01 11:48:54 -04:00
setup.py Add python 3.7 to travis and tox (#14523) 2018-07-07 10:48:02 -04:00
tox.ini Add python 3.7 to travis and tox (#14523) 2018-07-07 10:48:02 -04:00

README.rst

Home Assistant |Build Status| |Coverage Status| |Chat Status|
=============================================================

Home Assistant is a home automation platform running on Python 3. It is able to track and control all devices at home and offer a platform for automating control.

To get started:

.. code:: bash

    python3 -m pip install homeassistant
    hass --open-ui

Check out `home-assistant.io <https://home-assistant.io>`__ for `a
demo <https://home-assistant.io/demo/>`__, `installation instructions <https://home-assistant.io/getting-started/>`__,
`tutorials <https://home-assistant.io/getting-started/automation-2/>`__ and `documentation <https://home-assistant.io/docs/>`__.

|screenshot-states|

Featured integrations
---------------------

|screenshot-components|

The system is built using a modular approach so support for other devices or actions can be implemented easily. See also the `section on architecture <https://home-assistant.io/developers/architecture/>`__ and the `section on creating your own
components <https://home-assistant.io/developers/creating_components/>`__.

If you run into issues while using Home Assistant or during development
of a component, check the `Home Assistant help section <https://home-assistant.io/help/>`__ of our website for further help and information.

.. |Build Status| image:: https://travis-ci.org/home-assistant/home-assistant.svg?branch=master
   :target: https://travis-ci.org/home-assistant/home-assistant
.. |Coverage Status| image:: https://img.shields.io/coveralls/home-assistant/home-assistant.svg
   :target: https://coveralls.io/r/home-assistant/home-assistant?branch=master
.. |Chat Status| image:: https://img.shields.io/discord/330944238910963714.svg
   :target: https://discord.gg/c5DvZ4e
.. |screenshot-states| image:: https://raw.github.com/home-assistant/home-assistant/master/docs/screenshots.png
   :target: https://home-assistant.io/demo/
.. |screenshot-components| image:: https://raw.github.com/home-assistant/home-assistant/dev/docs/screenshot-components.png
   :target: https://home-assistant.io/components/