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

0.50 #8685

Merged
merged 120 commits into from
Jul 29, 2017
Merged

0.50 #8685

merged 120 commits into from
Jul 29, 2017

Conversation

balloob
Copy link
Member

@balloob balloob commented Jul 28, 2017

Last Wednesday we released Hass.io, an operating system to take care of all the updating hassles that come with running home automation at home and so much more. This is a major milestone for Home Assistant as it is our first step to offering a fully integrated solution using a bring your own hardware approach.

The launch has been crazy successful. The 20 minute introduction video by BRUHAutomation already has 12.5k views in just 4 days with no less than 150 comments.

Hass.io will be a great foundation for bigger and better integrated features. Stay tuned.

Adding the power of voice to integrations

This release has completely revamped the way how we deal with voice integrations. We turned Home Assistant into a platform to write voice apps, no matter where the processing of the voice happens. This can be done by Alexa, Google Assistant or in the Home Assistant user interface.

We are super excited about the new functionality and hope that it will trigger a new type of applications and systems to be built on top of Home Assistant. To demo all this new functionality, we've included a new shopping list component. As a user you can add any item to the shopping list with your voice and also ask what is on your shopping list.

# Example configuration.yaml entry
shopping_list:

To make testing these applications easier, we've updated the conversation component. The component will now allow sentences to be configured that hook directly into the new voice functionality. Combined with the new interface it will allow for some great interactions!

https://www.youtube.com/watch?v=Ij0zDF3qwmE

History improvements

@OverloadUT has been recently spending a lot of time on optimizing the history database queries. This release includes PR #8632, the first in a list of improvements that he is working on. This PR greatly improves requests for single entities by using an optimized query for this use case.

The performance change in some of his tests shows this change to be about 300x faster (30 seconds to 0.1 seconds!) (There is no theoretical upper limit due to the issue with multi-entity queries getting worse the longer the current recorder run has been going.)

Xiaomi integration

Yes, it has happened! After being in beta for a while, the Xiaomi support is now available to all. @danielhiversen did an amazing job and we now support sensors, switches, lights and covers.

Velbus integration

Another awesome integration is that of the Velbus home automation system which has been contributed by @thomasdelaet. It integrates their sensors, covers, fans, lights and switches.

New Platforms

Breaking Changes

alexa:
snips:
apiai:

intent_script:
  LightKitchen:
    speech:
      type: plain
      text: I did the work, yay.
    card:
      type: simple
      title: Lights Card
      content: I have turned on the lights.
    action:
      service: light.turn_on
      data:
        entity_id: light.kitchen

conversation:
  intents:
    LightKitchen:
      - The kitchen is magic

All changes

balloob and others added 30 commits July 13, 2017 10:19
* Use pip install --user if venv not active

* Set PYTHONUSERBASE to deps directory, when installing with --user
  option.
* Reset --prefix option to workaround incompatability when installing
  with --user option. This requires pip version 8.0.0 or greater.
* Require pip version 8.0.3.
* Do not delete deps directory on home assistant upgrade.
* Fix local lib mount and check package exist.

* Update and add tests

* Fix upgrade from before version 0.46

* Extract function to get user site

* Add function(s) to package util to get user site.
* Use async subprocess for one of the functions to get user site.
* Add function to package util to check if virtual environment is
  active.
* Add and update tests.

* Update version for last removal of deps dir

* Address comments

* Rewrite package util tests with pytest

* Rewrite all existing unittest class based tests for package util as
  test functions, and capitalize pytest fixtures.
* Add test for installing with target inside venv.
* Make aiolifx modules easily available

* Use aiolifx features_map for deciding bulb features

Also move the feature detection out of Light so it is available even
during the initial detection.

* Move each LIFX light type to a separate class

* Simplify AwaitAioLIFX

This has become possible with recent aiolifx that calls the callback even
when a message is lost.

Now the wrapper can be used also before a Light is added though the register
callback then has to become a coroutine.

* Refactor send_color

* Add support for multizone

This lets lifx_set_state work on individual zones.

Also update to aiolifx_effects 0.1.1 that restores the state for individual
zones.
* Make it available during state paused.

* Don't adjust for media_position_updated_at. I.e. do as vlc, sonos etc
  so that returned position is the position at the time of
  media_position_updated_at, not now.
* Remove km from visibility, add visibility_distance

* Fix line length

* Fix trailing space and line break indentation

* Indentation

* More whitespace
* Radarr sensor fix for issue #8250

* Radarr sensor fix for issue #8250
* Import and use the function from pip instead of defining it
  ourselves.
* Fix tests.
* Bump to KNXIP 0.5

* Updated requirements file
* Add components concept

* Lint

* Raise ImportError if component not found
* Add bind_hass to components

* Add bind_hass to group
* Fix TP-Link device tracker regression since 0.49

This regression was introduced by #8322.

Fix is to utf encode the password like the other TP-Link backends do.

* Fix linting issue introduced in previous commit

Commit in question: 677f3fb
* Rewrite persistent notification creation

* Update components.is_on to use auto loading

* Fix two hass parameters
* Added additional attributes to OwnTracks device_tracker

* Added missing space after :
* Update dlib_face_detect.py

* fix lint

* Update dlib_face_detect.py
data may be None if twitter data property unconfigured:
  File "/opt/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/notify/twitter.py", line 63, in send_message
    media = data.get(ATTR_MEDIA)
* Remove deprecated automation keywords

* Remove retired test case

* Remove retired keyword
The citibykes API returns "null" as value for empty_slots on some
stations (see #8527). This causes the component to not process the data.

This is fixed by accepting None as valid data. The row in the frontend
is left empty if "null" was returned by the service.

fixes #8527
* Return a 0 temperature value when none is found

It's well documented that these TRVs will only return the current temperature
for a short time after the actuator has moved. This means that, usually, they will
not return the current temperature. Setting a non-value here causes errors in the logs
and for the TRV to not show on the dashboard at all

* Fix lint issue
bgehrich and others added 3 commits July 27, 2017 22:33
* Update zwave.py to work with updated OpenZwave library

Update zwave.py to work with updated OpenZwave library

* Update zwave.py

* Update zwave.py

* Update to fix garage door openers

Update to fix garage door support for latest version of openzwavelib

* Update to cover.zwave list of states

Update to cover.zwave to provide list of states based on dev version of
openzwave lib

* Some values not saved

* Formatting fix

* Formatting fix

* Variable typo

* Formatting fix

* Formatting

* Variable Update

Variable Update and properties added

* Formatting fixes

* Formatting Fix

* Update test case for door states

* Formatting / Testing process fix

* Formatting

* Formatting / Test Fixes

* Variable rename

* Added members to CoverDevice

* Removed un-needed else

* Formatting

* Formatting

* Variable name changes and const updates

* Changed variable names to cover_state
* Added constains into const.py
* Updated to change the main state on the cover device

* Fixes

* Formatting fixes

* Formatting/Variables

* Formatting

* Variable fixes

* Import update

* Formatting  / Variables

* Update test for new states

* Revert state changes

* Test fix

* Variable Fix

* Formatting

* Variable typo

* Missing constant

* Variable fix

* Requested changes

* Added is_opening
* Added is_closing
* Updated test based on changes

* Formatting

* Changed cover_state back to _state

* Formatting and variable fixes

* Test fixes

* Formatting and variable touchup

* Formatting

* Optimizations

* Add new cover features to demo

* Add tests for demo cover closing/opening

* Remove unused STATE_STOPPED

* Add tests for new zwave cover values
@balloob balloob requested a review from emlove as a code owner July 28, 2017 09:38
@mention-bot
Copy link

@balloob, thanks for your PR! By analyzing the history of the files in this pull request, we identified @capellini, @fabaff and @postlund to be potential reviewers.

@andrey-git
Copy link
Contributor

Would it be possible to include home-assistant/frontend/pull/358 in 0.50? (Would require another frontend update)

Copy link
Contributor

@emlove emlove left a comment

Choose a reason for hiding this comment

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

We might need to see if we can disable codeowners for release PRs somehow.

@w1ll1am23
Copy link
Contributor

@balloob Not sure what the process is to get things added to the release info, but figured I would make some requests here.

Can the information from #8208 be added basically the part about access_token being removed. Maybe linking to the updated documentation?

Also can #8607 get added to the release? With a note that users can enable local control but it is still experimental? Local control is disabled by default. I will try to get the documentation PR opened for local control today.

@diplix
Copy link
Contributor

diplix commented Jul 29, 2017

i think #8632 is a huge improvement and should be mentioned explicitly. it makes the History Statistics Sensor usable — finaly! for the first time i can use serveral of these sensors, without blocking HA startup for minutes with SQL queries.

@balloob
Copy link
Member Author

balloob commented Jul 29, 2017

@w1ll1am23 you can add PRs to a milestone. I've added your PR to the milestone and will make sure to cherry-pick it before the release.

@balloob
Copy link
Member Author

balloob commented Jul 29, 2017

@diplix done!

@w1ll1am23
Copy link
Contributor

@balloob #8208 is a breaking change as well, users using access_token will no longer be able to do so.

@balloob
Copy link
Member Author

balloob commented Jul 29, 2017

@w1ll1am23 make sure you add those labels when you create a PR and it will be categorized automatically.

@w1ll1am23
Copy link
Contributor

@balloob Thanks, I'll make sure to do that next time. Sorry for the trouble.

@balloob
Copy link
Member Author

balloob commented Jul 29, 2017

No trouble, I'm glad you're paying attention to this PR so we caught it in time.

Generating this list is all automated, so that's why labels matter: https://github.com/home-assistant/hass-release

balloob and others added 2 commits July 29, 2017 10:50
* Shopping List: edit name / complete status

* Change ID to be UUID based
* Support for Wink local control
@balloob balloob merged commit e13fd05 into master Jul 29, 2017
@balloob balloob deleted the release-0-50 branch July 29, 2017 20:28
@emlove
Copy link
Contributor

emlove commented Jul 29, 2017

Z-Wave Barrier Command Class Breaking Change:
The Home Assistant Z-Wave Cover implementation has been updated to support the latest development version of OpenZWave. If you are currently applying a workaround to your OpenZWave installation to support the barrier command class, you'll need to make sure you update your workaround to the latest development version of OpenZWave.

@home-assistant home-assistant locked and limited conversation to collaborators Dec 11, 2017
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.