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.27 #2952

Merged
merged 209 commits into from
Aug 28, 2016
Merged

0.27 #2952

merged 209 commits into from
Aug 28, 2016

Conversation

balloob
Copy link
Member

@balloob balloob commented Aug 24, 2016

#0.27 is here to break eggs and take names: notifications, Hue fakery, safety and unification come to Home Assistant

This week's blog post could only be possibly described by exactly one word:

#Amazing

or maybe#supersized

Keep reading to see what #Amazing things we have in store for you this week 😄! And make sure you read all the way to the end, because I left a present down there for those committed few among you :)

But first...

Some general housekeeping

Paulus (@balloob) is on vacation in Europe this week, so you will all have to deal with me, Robbie (@robbiet480) for this release blog post. Don't worry, Paulus will be back to tearing apart your pull requests in no time :-).

Special thanks to my awesome helpers for this week's release who are looking over my shoulder to make sure I'm crossing my t's and dotting my i's: @Teagan42, @infamy and @fabaff.

For my next trick, let's hand out some...

Trophies

I felt that I had to 1-up Paulus (@balloob) somehow with his 500,000 pageviews stat he shared in the 0.26 blog post, so I pushed myself and our development community as a whole super hard the last two weeks to put a lot of love into Home Assistant to bring you not just 1, but 6 #Amazing stats for this release. As of 0.27, we have now surpassed the following milestones:

In addition,

Now that we have that great news out of the way, onto this week's release which is going to keep the #Amazing gravy train rolling right along and get to the stuff you all really are here for.

0.27

While this release is #Amazing, we had to break a few eggs (now you understand the title reference!) to make a beautiful omelette (using home automation obviously) so some platforms and components have needed to introduce breaking changes. Please make sure to read the Breaking Changes section below.

Hue Bridge Emulation

Thanks to @mgbowen we now have the functionality previously provided by @blocke's ha-local-echo built right into Home Assistant! This means that for those of you with devices that either lack or have a subpar integration with Home Assistant (looking at you Amazon Echo) you can now have a better experience by having your Home Assistant pretend to be a Hue Bridge. Personally, I have used @auchter's Haaska previously but found that it was slow to respond and sometimes failed entirely. With the new emulated_hue component, you can have local control of entities through Amazon Echo.

Notification improvements

We have some excellent upgrades to the notification system coming to you in 0.27, courtesy of me, @robbiet480.

HTML5 Push Notifications

This release adds support for HTML5 push notifications on Chrome/Firefox/Opera on both desktop and Android devices. This means that you can send a notification to your phone even your Home Assistant is not in your mobile browser. When using Chrome you can even include 2 action buttons so that you can control your Home Assistant from your phone's lock screen, allowing you to do things like sound alarms or unlock your front door, all without leaving the notification. Thanks again to me (@robbiet480) and Paulus (@balloob) for all the hard work on this!

screenshot_20160816-225335

Notification Groups

Using the new notify group platform allows you to cut down a lot of duplicate automation logic by combining multiple notification platforms and targets into a single notify service. Check out the docs for more info.

target is no longer needed

For platforms that support it, starting with the new HTML5 platform, any targets that are available will be exposed as individual services, so no more having to remember which targets to use. Please note that the existing services also still exist so you can keep using target if you wish.

Validate config before a restart

Ever restarted Home Assistant to test a config change just to find out there is a validation error? Well, not anymore! @kellerza has added a command line script that will validate your configuration as if you started Home Assistant.

$ hass --script check_config

Config validation

This release includes a big push on making sure all platforms contain proper configuration validation. This should help in getting your configuration right. Thanks to @fabaff, @pavoni, @pvizeli, @nkgilley for all the hard work on this, you all rock!

screen shot 2016-08-23 at 8 20 41 pm

FFMPEG motion / noise sensing

It's now possible to use FFMPEG to monitor a video stream and detect motion thanks to a new binary sensor platform by @pvizeli.

Component clean up - thermostat & hvac -> climate. rollershutter & garage_door -> cover

Due to our wild growth we ended up with a few components that had a lot of overlapping functionality. @turbokongen took on the hard job on merging them. Thermostat and HVAC platforms are now combined under the new Climate component. Rollershutter and Garage Door platforms are now combined under the new Cover component. You can easily upgrade by just swapping out the name. For example replace thermostat with climate. The old components have been deprecated and will be removed in the near future.

A new fan component

Along with the new climate component, @Teagan42 and I (@robbiet480) decided we needed something simpler to just control a fan. Currently it has support for controlling Insteon fans. MQTT support will appear in 0.28.0. I tried to get it implemented before 0.27.0 but spent too long writing this blog post 😢.

All changes

  • Merge thermostat and HVAC components into new climate component (@turbokongen)
  • Merge rollershutter and garage door components into new cover component (@turbokongen)
  • Alarm Control Panel - Manual: Allow returning to previous state after trigger (@tobiebooth)
  • Sensor - DHT: Allow range checking (@open-homeautomation)
  • Light entities will now expose their features (@shmuelzon)
  • Sensor: Monitor HP ILO sensors on HP servers (@Juggels)
  • Sensor: Monitor Fritzbox Calls (@DavidMStraub)
  • Notify: LlamaLab Automate is now supported (@danielperna84)
  • Sensor: Serial CO2 sensors now supported (@open-homeautomation)
  • Sensor: MQTT room presence detection (@mKeRix)
  • Notify: New group platform allows grouping notify targets across platforms (@robbiet480)
  • HTML5 push notifications (@robbiet480, @balloob)
  • Weather: Wunderground now supported (@arsaboo, @Teagan42)
  • New check config script to test validity before restarting HA (@kellerza)
  • Binary Sensor: Allow monitoring a camera feed using FFMpeg (@pvizeli)
  • Cover: Z-Wave platform now supports positions (@nunofgs)
  • Device tracker: allow using Gravatar for entity picture (@robbiet480)
  • Notify: platforms with known targets will expose them as standalone services (@robbiet480)
  • Camera: MJPEG and Generic camera's can now authenticate using digest auth (@Meatz)
  • Weather: Forecast.io now can show daily temp/precip forecast values (@DavidMStraub)
  • Media Player: WebOS TV now allows customizing the sources (@roidayan)
  • Device tracker: Allow tracking devices using Bluetooth Low-Energy (@open-homeautomation)
  • Notify: Ensure Slack messages appear as correct user (@technicalpickles)
  • YAML: Secrets will look for values in all parents folders up to the config root folder (@Teagan42)
  • Camera: Generic camera now supports template support (@balloob)
  • Slack: Allow sending attachments (@technicalpickles)
  • Device Tracking: TP-Link Archer C7 5ghz devices will now also be found (@dpford)
  • Z-Wave: New rename node service added (@jnewland)
  • Wink: bug fixes (@w1ll1am23)
  • Homematic: new device support, add controller state and variable support (@danielperna84 @pvizeli, @mcdeck)
  • Allow emulating a Hue bridge to control entities (@mgbowen)

Breaking changes

  • Ecobee3 occupancy sensors have moved from sensor platform to binary sensor platform.
  • Forecast.io entity IDs are now like sensor.forecastio_temperature. Previously they were like sensor.weather_temperature. Apologies for this change, but we needed to make Forecast.io more generic now that we have many weather platforms.
  • The loopenergy sensor configuration format changed slightly, please reformat based on the revised documentation.
  • The configuration for the Sabnzbd sensor has slightly changed. The prefix type: is no longer required for monitored variables.

Deprecations

  • Using the thermostat and hvac components has been deprecated. Please migrate to the new climate component. (just change the component name, the configurations are compatible)
  • Using the rollershutter and garage_door components have also been deprecated. Please migrate to the new cover component. (just change the component name, the configurations are compatible)

Finishing up

Thanks all for sticking with me to the end. I'll be taking over a lot of Paulus's (@balloob) work while he is gone, but as I said, don't worry because he'll be back well before 0.28 comes out. Hopefully you didn't find this jovial blog post too jarring from our standard style, I just wrote a lot of this at 2am after being awake for almost 20 hours, so I'm a little loopy hahaha 😴.

Also, thanks as always to our developer contributors, documentation contributors, but most of all our users! This would've just been a script that Paulus (@balloob) used to control his lights at home if we didn't have your enthusiasm.

Feel free to let me know what you thought of this blog post and release on Gitter or my Twitter, or even the Home Assistant Twitter. Did I mention we have a brand new Facebook page that you should absolutely Like? There's a convenient Facebook Like and Twitter follow button right over there -->.

I almost forgot about your 🎁 for reading all the way to here: a 🍪! Hope you enjoy it in good health 😄.

Talk to you soon on Gitter and in your pull request comments!

  • Robbie

(p.s. To those of you that scrolled directly to the bottom to get your present, just know that you didn't earn it like the others did. 😄)

Tobie Booth and others added 30 commits August 13, 2016 12:53
* Bugfix: removed conf_platform

* Remove unused import

* Fix for wrong update
#2805)

* Implemented range checking for temperature and humidity. Out-of-range values will be ignored

* Removed unused import

* Use celsius_to_fahrenheit conversion method
* Initial work to add Chrome Push Notification support

* Remove push.js from home-assistant since it is now in Polymer

* Chrome->HTML5, general cleanup/fixes

* Make html5 generic, move manifest.json into frontend so that we can dynamically add the gcm_sender_id

* Pylint, flake8, pydocstyle frontend init

* HTML5 push fixes

* Update polymer

* Remove crypto req

* Add notify default platform.

* Fix HTML5 push

* Registration fixes

* Linting fix

* pep257 fix

* Add tests

* pep257 fix

* Update frontend
)

* Fix unknown unit of measurement for hvac and thermostat component

* Simplify
* Check for existence of system mode on Honeywell thermostats

* Return None instead of undefined

* Use getattr instead of if/else
Return to previous alarm state after trigger (#2580)
* Fix log message for deprecated temp key

* Use string formatting and pass constant variables as arguments in log
	message to show correct name of config keys.

* Fix import order
* HP ILO component

* HP ILO component

* Add Onboard Administrator sensor

* Add Onboard Administrator sensor

* Add period to first line

Fix D400 error on line 1
* Add FritzBox call monitor sensor

* Correct docstrings and suppress too few public methods warning

* Remove blank lines after docstrings

* Add blank lines after class docstrings

* Remove trailing white space

* Make daemon; add reconnect on disconnect
* Bugfix in pknx library

* Version pinned to 0.3.3
…uracy_bug3

Handle accuracy zero correctly in enter/leave events.
* Use voluptuous for time/date sensors

* Extend platform

* Remove additional checks
* Use voluptuous for exchange sensors

* Remove additional checks
* Retry sending the push for 1 day instead of failing instantly if the target is unavailable

* Add timestamp to push payload

* Correctly use the title and body fields for their intended purposes

* Add callback support

* Revert changes to frontend files.

* Add default URL which will open Home Assistant. Also put all the data into the data object of the payload so it is accessible in the browser. Without doing this, things like URL wouldnt be accessible.

* Flake8 and pylint fixes

* event->type

* Dont send the default url if actions exist

* flake8/pylint fixes again

* Update html5 tests

* Remove callbacks from this branch, will re-stage on a different branch

* Remove remnant of callbacks

* Add url to data dictionary if it exists instead of copying the entire data dictionary in

* flake8 fix
Pretty sure this is a typo ... it made finding the plist and logs a bit of a headache for me at least :)
* fix flux_update service

* fix tests

* give update service unique name

* remove unnecessary param

* Revert "fix tests"

This reverts commit 2fd7760.

* fix flux_update
@nkgilley
Copy link
Contributor

Nzbget sensor also has breaking changes.

@robbiet480
Copy link
Member

@nkgilley Can you give me a comment describing the breaking change that I can put into the notes?

@nkgilley
Copy link
Contributor

nkgilley commented Aug 26, 2016

@robbiet480

The configuration for the NZBGet sensor has also changed. base_url has been removed in favor of a required host and an optional port. The monitored_variables have also changed their names to:

article_cache: Number of cached articles.
average_download_rate: Average download rate
download_paused: Paused downloads
download_rate: Current download rate
download_size: The size to download
free_disk_space: Free disk space at the storage location of NZBGet
post_paused: Paused posts
remaining_size: Remaining size to download
uptime: Uptime of NZBGet

@robbiet480
Copy link
Member

@nkgilley These are all breaking changes or are they just deprecated? That's quite a bit of change that doesn't really belong in the release notes. Can you add a section to the NZBGet docs specifying all the changes that I can link to?

kellerza and others added 15 commits August 27, 2016 01:33
* Check config requirement fix
* Initial code for alexa_local_control.

* Added support for creating a dummy username.

* Move SSDP responses to local variables.

* Added config validation via Voluptuous.

* Modify and remove unnecessary returned emulated bridge values.

* Remove script and scene domains from default exposed domains.

* Replaced Flask with HomeAssistantWSGI.

* Fix lint errors.

* Correcting grammar and spelling in docs and comments.

* Rename alexa_local_control to emulated_hue.

* Rename emulated_hue attributes.

* Fix a bug where something marked not exposed is exposed by default.

* Make sure the UPNP responder thread cleanly stops when HASS stops.

Also fix some config loading and lint errors.

* Fixed unexposed entities still having individual state exposed.

* Started writing tests for emulated_hue.

* Fix being able to set state of non-exposed entity.

* Another test for emulated_hue.

* More tests for emulated_hue.

Also slightly simplified emulated_hue's PUT handler.

* Fix bad test, sorry :/

* Third time's the charm.

* Fix lint and value validation tests.

* Rename emulated_hue bridge name.

* Remove license and documentation from header.

* Combine two if statements.

* Style changes.

* Fixed various issues and added some constants
…ad of COMMAND_CLASS_SENSOR_MULTILEVEL. Not all devices have multilevel sensor. (#3003)
* Voluptuous for AsusWRT
* Add voluptuous config validation for mysensors
* Remove and clean up parts that are not needed for pymysensors 0.7.
* Migrate to voluptuous

* Update const.py

* Migrate to voluptuous

* Remove duplicate _LOGGER entry
* Update attr to property and default state method

* State prop is defined in parent class

* Demo platform fan

* PyDoc

* Copy-pasta artifact

* PyDoc

* Linting

* Raise error if turn_off and turn_on not implemented

* Update demo platform

* Initial unit test commit

* Readability

* Unneeded typing

* Should inherit from fan entity

* Turn off polling

* Initial oscillating flag

* Pass HASS into demo

* Typing

* Invoke set_speed instead of setting directly

* Service update

* Update demo tests

* Forgot to block after service call.

* linting

* Test to make sure not implemented is thrown

* Is On Method test

* Update const to match string

* Update services yaml

* Toggle method

* Toggle service

* Typing

* TYPE O

* Attribute check

* Type-o

* Type-o

* Put typing back

* ToggleEntity

* Linting

* Linting

* Oops

* Stale prints

* Demo support
@robbiet480 robbiet480 merged commit 7b2f0e7 into master Aug 28, 2016
@robbiet480
Copy link
Member

@nkgilley Just added a note about NZBGet to the blog post telling users to go read the docs page for all the changes.

@fabaff
Copy link
Member

fabaff commented Aug 28, 2016

Sorry, my bad. I removed the breaking change of NZBGet along the way.

@home-assistant home-assistant locked and limited conversation to collaborators Mar 17, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.