🏡 Open source home automation that puts local control and privacy first.
Go to file
Anders Melchiorsen fee89d8d16 LIFX: avoid rare NoneType errors (#9054)
* Get full multizone state during registration

We used to rely on the periodic update to get the state of each zone, only
establishing the number of zones during registration. This resulted in errors
if the current state was needed for a partial color change before the first
async_update happened.

Now we do a full update before adding the light. Thus async_update can no
longer assume device.color_zones to be defined and must instead use the
response message to decide the total number of zones.

* Insist on getting the initial state

If a response to the initial state query is lost we used to just carry on.
This resulted in type errors when we next tried to access the undefined state.

After this commit the light is not added before we have the full state.

This scenario mostly happens when something is misbehaving and the type errors
were actually useful in figuring out what happend. So an error message is
logged in their place.

* Remove lint
2017-08-20 20:29:54 +02:00
.github Use H2 headers to split up the different sections (#6183) 2017-02-23 12:58:18 -08:00
docs Update links.html 2017-05-24 14:47:22 -07:00
homeassistant LIFX: avoid rare NoneType errors (#9054) 2017-08-20 20:29:54 +02:00
script Block dependencies that depend on enum34 (#8698) 2017-08-04 23:06:10 -07:00
tests Adds London_air component (#9020) 2017-08-19 11:05:16 +02:00
virtualization Block dependencies that depend on enum34 (#8698) 2017-08-04 23:06:10 -07:00
.coveragerc Add Abode home security component (#9030) 2017-08-20 16:55:48 +02:00
.dockerignore Docker cleanup. (#8226) 2017-06-30 08:07:33 -07:00
.gitignore Add RainMachine switch platform (#8827) 2017-08-08 09:49:25 +02:00
.gitmodules Update links 2016-04-12 14:18:18 +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
.travis.yml Disable Python 3.6-dev while it's broken 2017-07-02 11:52:24 -07: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 Fix CODEOWNERS z-wave team name (#8400) 2017-07-07 17:00:14 -07:00
CODE_OF_CONDUCT.md Add organization docs 2017-01-22 16:21:20 -08:00
CONTRIBUTING.md Fix spelling error and update link (#8869) 2017-08-06 21:18:44 +02:00
Dockerfile Block dependencies that depend on enum34 (#8698) 2017-08-04 23:06:10 -07: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 [packaging] Include LICENSE.md in tarball (#6514) 2017-03-10 19:59:38 +00:00
README.rst Update README.rst 2017-07-24 07:53:14 -07:00
pylintrc Add support for using credstash as a secret store (#8494) 2017-07-24 08:59:10 -07:00
requirements_all.txt Add Abode home security component (#9030) 2017-08-20 16:55:48 +02:00
requirements_docs.txt Upgrade sphinx-autodoc-typehints to 1.2.1 (#8783) 2017-08-02 14:15:00 +02:00
requirements_test.txt Upgrade mypy to 0.521 (#8692) 2017-07-28 23:22:56 -07:00
requirements_test_all.txt Update ffmpeg to 1.7 to fix severals problems (#9029) 2017-08-18 00:51:52 +02:00
setup.cfg Expose isort preferences for tools. (#4481) 2016-11-27 14:33:30 -08:00
setup.py Upgrade aiohttp to 2.2.5 (#8828) 2017-08-04 23:14:05 -07:00
tox.ini Block dependencies that depend on enum34 (#8698) 2017-08-04 23:06:10 -07: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
.. |Join the chat at https://gitter.im/home-assistant/home-assistant| image:: https://img.shields.io/badge/gitter-general-blue.svg
   :target: https://gitter.im/home-assistant/home-assistant?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
.. |Join the dev chat at https://gitter.im/home-assistant/home-assistant/devs| image:: https://img.shields.io/badge/gitter-development-yellowgreen.svg
   :target: https://gitter.im/home-assistant/home-assistant/devs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
.. |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/