0.35: Text-to-speech, VLC, Flic, netdata

5000 stars on GitHub, 2000 people in our chatroom and over a million monthly page views. I don’t think we could wish for a better place to be at the end of 2016. Feels like an early Christmas present! Our early one for you is 0.35. It’s not a single thing inside a nice wrapping, more like several little gifts inside the 0.35 box.

This will be the last release of 2016 as our developers are taking a well deserved break. We will be back in 2017!

Text-to-speech

With the addition of a text-to-speech component by @pvizeli we have been able to bring Home Assistant to a whole new level. The text-to-speech component will take in any text and will play it on a media player that supports to play media. We have tested this on Sonos, Chromecast, and Google Home.

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

Call for help with HASSbian (our Raspberry Pi image)

In an effort to make Home Assistant, we’re planning to extend the things that people can do out of the box with HASSbian, our Raspberry Pi image. As you might know, the image is currently maintained by @Landrash. However he also spends a lot of time on improving the docs and helping out with a ton of other things.

So if you know your Linux-foo and would love to contribute to open source, join the developer chat and take a stab at one of our open issues.

VLC media player, Broadlink, and GPSLogger

Let you control VLC media player and play sound on connected speakers.

This Broadlink switch platform allow to you control Broadlink RM2 Pro and RM mini IR+RF devices. This Broadlink sensor platform adds support for Broadlink RM2 and A1 Devices.

The GPSLogger now also supports attributes as the speed, direction, altitude, provider, and activity.

All changes

Release 0.35.1 - December 18

Some issues have been reported with TTS that will be addressed by 0.35.1. The TTS component had issues linking the media player to the right media file if you were using Docker or SSL certificates. This can be fixed by exposing to your HTTP config what URL you use for hosting Home Assistant:

http:
  base_url: example.duckdns.org
  • Fix exit hanging on OS X with async logging (@balloob)
  • Fix text-to-speech clearing cache (@pvizeli)
  • Allow setting a base API url in HTTP component (@balloob)
  • Fix occasional errors in automation (@pvizeli)

Release 0.35.2 - December 19

  • When base url specified, do not combine it with server_port (@balloob)

Release 0.35.3 - December 23

  • Fix issue with voicerrs and post api (@pvizeli)
  • Fix async component update on service calls (@pvizeli)
  • Fix async log handle do not close (@pvizeli)
  • Fix nest component with various KeyError exceptions (@technicalpickles)

If you need help…

…don’t hesitate to use our Forum or join us for a little chat. The release notes have comments enabled but it’s preferred if you use the former communication channels. Thanks.

Reporting Issues

Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.


0.34: New Remote component, Websockets, Sonarr, GPSLogger

Here we go… 0.34. Let’s call it the “Santa Claus” release. Rudolph was faster than expected and there’s lot’s of goodies on the sleigh. Of course, more work on async programming done by @pvizeli and @balloob, new components, new platforms, major improvements, and much more.

GPSLogger

The work of @dainok let’s you use your Android device, with the Geolocation feature enabled, to track itself using GPS or WiFi networks with the GPSLogger app. GPSLogger can use multiple sources: the passive one just get the latest Android known location, without activating GPS sensors or scanning for WiFi networks.

Remote component

The brand new remote component made by @iandday will simplify the integration of all kinds of remote control units. The first platform for Harmony is included in this release.

HomeMatic

The HomeMatic component has received some updates worth mentioning:

  • Additional services
    • reconnect: Reconnect to your CCU/Homegear without restarting Home Assistant.
    • set_dev_value: Manually control a device, even if it’s not supported by Home Assistant yet.
  • Support for multiple HomeMatic hosts
  • Support for HomeMatic Wired (most devices) and HomeMatic IP (a few devices)
  • Various improvements and fixes, especially for HM-Sec-Key (KeyMatic)

The support for multiple hosts is a result of allowing mixed configurations with wireless, wired, and IP devices. This has the drawback of making the update a breaking change (along with the renamed set_value service). However, the benefits and possibilities gained will be worth it.

Websocket API

This release includes a new websockets based API by @balloob to power the next generation of Home Assistant frontends. The current frontend has been partly migrated to use it and will be further migrated in the future.

All changes

Release 0.34.1 - December 4

This release has a bunch of bug fixes including a big one: emulated_hue will now work with Google Home! We usually reserve patch releases for small bug fixes but we considered this more impactful bug fix so important that we’re including it now instead of having people wait two weeks.

To make the fix backwards compatible (it is a patch release after all) you will have to add two new configuration option to emulated_hue to have it work with Google Home:

emulated_hue:
  type: google_home
  # This is important. Sadly, Google Home will not work with other ports.
  listen_port: 80

We are working on a better solution for 0.35.

Release 0.34.2 - December 5

  • Fix Nest interpreting Celsius as Fahrenheit and converting it (@balloob)
  • Fix Nest sensor platforms throwing errors (@technicalpickles)
  • Frontend will now always show persistent_notification and configurator entities even if not part of the active view (@balloob)
  • Fixed media player cards taking up unnecessary space (@balloob)

Release 0.34.3 - December 6

  • Fix Hook connections (@dasos)
  • Fix random websocket connections (@balloob)
  • Fix Google Home sometimes not finding our emulated_hue (@jawilson)
  • Fix EnOcean config validation (@rubund)

Release 0.34.4 - December 7

  • Fix InfluxDB without authentication (@balloob)
  • Fix Kodi without authentication (@balloob)
  • Fix incorrect caching of /api/error_log (@armills)
  • Fix incorrect ordering of service calls which could cause delays between turning on multiple entities (@balloob)
  • Fix Nest Climate temperature issues (@technicalpickles)

Release 0.34.5 - December 12

Backward-incompatible changes

  • The HomeMatic component now uses a different syntax for hosts and the set_value service has been renamed.
  • All RFXtrx sensors will get a new entity ID.
  • The frontend now uses websockets. If you run a server in front of Home Assistant, you will have to update your config (example nginx)
  • Nest contains changes which will require your attention.

If you need help…

…don’t hesitate to use our Forum or join us for a little chat. The release notes have comments enabled but it’s preferred if you use these communication channels. Thanks.

Reporting Issues

Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.


0.33: New Calendar component, Wink thermostats and Cisco IOS

For this release we put a lot of focus on finishing our async upgrade and fix a bunch of bugs in the process.

But a new release wouldn’t be awesome if it didn’t had some new goodies and this release is no different. This release includes a new calendar component by @mnestor. It comes now with Google Calendar support, which should allow you to automate things based on your calendar events!

Changes

Release 0.33.1 - November 20

Release 0.33.2 - November 22

Release 0.33.3 - November 23

  • Update Yr.no entities every hour (@kellerza)
  • Bump Netdisco to 0.7.7 (fixes discovery on Synology)
  • Fix discovery race condition (most obvious in Wemo) (@balloob)

Release 0.33.4 - November 24

  • Set executor pool size to 10 (as intended) (@pvizeli)

This should fix occasional performance problems that some people have reported.

Backward-incompatible changes

  • We have included a fix that impacts how we generate entity ids. This only impacts devices with accented characters. Instead of being stripped out, they are now replaced with the non-accented version. So now Tèst Mörê will become test_more instead of tst_mr.
  • Command line switches will now use the specified object ID for their entity ID instead of basing it off the name.

Reporting issues

Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.


0.32: Hacktoberfest, InfluxDB sensor, Error reporting, and Weather

Another two weeks have passed and we are pleased to present Home Assistant 0.32.

Hacktoberfest

The Hacktoberfest is over now. Home Assistant made the 2nd and the 3rd place out of almost 30’000 participating repositories with a total of 528 pull requests closed - that’s an average of 17 pull requests a day! Thanks to all the contributors but also to the team of reviewers. This wouldn’t been possible without you 👏 .

Improved error reporting

This release has improved the reporting when a config validation error occurs. Thanks to @kellerza you will now get a persistent notification added to your UI when this happens.

Asynchronous

This release contains the first asynchronous sensor and camera platforms. @pvizeli and @fabaff ported most of the “internal” sensors to async programming. We hope that you will enjoy the new speed.

@balloob and @pvizeli worked a lot on the improvement of the core itself.

Weather component

For a long time we have had a bunch of weather sensors but it’s getting better: There is now a Weather component. Sorry, not much more to tell right now. The plans are to create a weather UI element and to improve the initial implementation.

All changes

Release 0.32.1 - November 6

We’ve added a warning to 0.32 to catch platforms accidentally slowing down Home Assistant. Our aim is to fix these quickly when reported, so here is 0.32.1 with all reported platforms fixed.

  • Fix Sonos doing I/O inside the event loop (@pvizeli)
  • Fix Radiotherm doing I/O inside the event loop (@balloob)
  • Fix camera MJPEG streams when using HTTP 1.0 (@balloob)

Release 0.32.2 - November 7

  • Move Honeywell I/O out of the event loop (@balloob)
  • Use sequential updates for non-async entities to prevent race conditions (@pvizeli)
  • Fix setting temperature in Celsius on Radiotherm CT50 thermostats (@andyat)
  • Fix PiLight config validation (@DavidLP)

Release 0.32.3 - November 11

  • Fix OpenWeather weather platform doing I/O in event loop (@lwis)
  • Fix Alarm.com doing I/O in event loop (@jnewland)
  • Fix Tellstick doing I/O in event loop (@balloob)
  • Fix KNX doing I/O in event loop (@balloob)
  • Increase warning threshold for catching platforms that do I/O (@balloob)
  • Change pilight systemcode validation (@janLo)
  • Fix Yamaha discovering already configured receivers (@sdague)
  • Fix Sonos from installing dependency each time HA was started (@pvizeli)
  • Fix Synology camera SSL and error handling (@pvizeli)
  • Fix Panasonic Viera doing I/O in event loop (@balloob)
  • Improve generic camera error handling (@kellerza)
  • Light - Flux Led Lights: allow specifying mode if light does not support white mode (@DanielHiversen)
  • Fix Rest switch default template (@pvizeli)

Release 0.32.4 - November 15

  • Fix device tracker from crashing HASS when a new device was discovered (@balloob)
  • HTTP: Fix X-Forwarded-For feature (@mweinelt)

Misc

Our website has now an additional category called “Ecosystem”. This will become the place where tools, apps, and other helper for the Home Assistant ecosystem can store their documentation or guides.

Backward-incompatible changes

  • The Yahoo Finance platform supports now multiple stock. Please adjust your configuration.
  • Deprecated components garage_door, rollershutter, thermostat, and hvac have been removed.
  • The minimum Python version on Windows has been bumped to Python 3.5.
  • The Insteon Hub integration has been disabled due to a request from Insteon.

If you need help…

…don’t hesitate to use our Forum or join us for a little chat. The release notes have comments enabled but it’s preferred if you the former communication channels. Thanks.


Explaining the Updater

On Saturday, we released Home Assistant 0.31 which includes an improved updater component that checks for new versions using the Home Assistant servers. We wanted to update the community on its rollout and answer some questions that have come up. As part of the update check anonymous information about your operating system and Python version is submitted to Home Assistant servers unless you have opted out.

Read on →

0.31: Reading you the news, some serious business, spooky hackery and a breaking Z-Wave change

Hello again friend,

How are you? Having a good day? We sure are. If you aren’t having a good day, this might cheer you up…

Every other weekend around here gets a little hectic leading to a big sigh of relief as we release a new version of Home Assistant to the world. And this time is no different. Our developer community has once again built us a beautiful new release with lots of new features and improvements. We hope you like it.

One last thing before we get going though, I should warn you… @balloob got a bit lazy this week and let me (@robbiet480) step up to the plate again to write the blog post and do the release. I guess I didn’t do such a bad job in 0.27. You’ll never know what surprises I have in store. Now that i’ve got all that stuff out of the way, let’s get started…

Stats Update

Sadly, no big amazing stats to update you with this time, but we did recently pass 7,000 commits! This release featured submissions from 45 contributors. Hopefully with the new updater component we will be able to give you some really good stats in the 0.32 blog post.

Hacktoberfest

Hacktoberfest logo

October means Hacktoberfest time and our community has really come through with some excellent improvements and additions. As of this writing, we have 194 merged and 41 open pull requests to the home-assistant repository and 209 merged/28 open pull requests submitted to the home-assistant.github.io repository. If you want to get in on the fun check out our Hacktoberfest blog post or the Hacktoberfest website. You get an awesome t-shirt for free if you have 4 pull requests merged in the month of October! We even have tasks that a non-developer can easily accomplish with a tiny bit of work. Better hurry up though, only 9 days left and most of the easy tasks are gone!

⚠️ A greatly improved updater component (Please read this!) ⚠️

This release includes an update to our updater component. The responsibility of the updater component is to check if a new version is available and notify the user if this is the case.

It used to be that this component would check with PyPi (the Python package manager) to see if a new update was available. This had a couple of problems:

  1. We are unable to do a slow rollout
  2. We are unable to show the user extra information (like a link to a changelog or the release date)
  3. We are unable to warn users for critical security updates

So to work around these problems, we decided to start hosting the version check service ourselves. Since we had to get some infrastructure spun up anyway, we figured we would take it a step further. Which leads me to this bit of the update (the most important part):

What you need to know (the important bit!)

Remember how I mentioned that up there in the title that there is some serious business in this release? Well, we also added some basic analytics to the updater component which get sent to the server and stored so that we get a better idea of our user base.

Each Home Assistant instance running the updater component will generate a unique ID (based on UUIDv4) that will be used for the updater to be able to differentiate between instances. This UUID will be stored in your config directory in a file called .uuid.

Opting out

There are two ways to opt-out. The first way is by using the new opt_out option for the updater. This way the updater will continue to check for updates, but no information about your system will be shared with us.

updater:
  reporting: false

You can also disable the updater component entirely by removing updater: from your configuration.yaml although we would not suggest you do this as you would miss any critical updates.

Finally, you can also reset your unique identifier by deleting the .uuid file and restarting Home Assistant.

Data stored on the Home Assistant update server

Here is what my production Home Assistant instance looks like from the server side:

Name Description Example
arch CPU Architecture x86_64
distribution Linux Distribution name (only Linux) Ubuntu
docker True if running inside Docker false
os_name Operating system name Darwin
os_version Operating system version 10.12
python_version Python version 3.5.2
timezone Timezone America/Los_Angeles
user_agent User agent used to submit analytics python-requests/2.11.1
uuid Unique identifier 10321ee6094d4a2ebb5ed55c675d5f5e
version Home Assistant version 0.31.0
virtualenv True if running inside virtualenv true

In addition to the above collected data, the server will also use your IP address to do a geographic IP address lookup to determine the city that you are from. To be extremely, extremely clear about this bit: The Home Assistant updater does not: store your IP address in a database and also does not submit the location information from your configuration.yaml.

Geo-lookup on my IP resolves to Oakland with latitude/longitude pointing at the geographical center of the city.

The server also adds two timestamps to the data: the original date your instance UUID was first seen and the timestamp of the last time we have seen your instance. This gives us the following extra data:

Name Description Example
first_seen_datetime First time instance ID was submitted 2016-10-22T19:56:03.542Z
geo_city GeoIP determined city Oakland
geo_country_code GeoIP determined country code US
geo_country_name GeoIP determined country name United States
geo_latitude GeoIP determined latitude (of the city) 37.8047
geo_longitude GeoIP determined longitude (of the city) -122.2124
geo_metro_code GeoIP determined metro code 807
geo_region_code GeoIP determined region code CA
geo_region_name GeoIP determined region name California
geo_time_zone GeoIP determined time zone America/Los_Angeles
geo_zip_code GeoIP determined zip code 94602
last_seen_datetime Most recent time instance ID was submitted 2016-10-22T19:56:03.542Z

This data is held in the highest security. The update system runs in a secured Amazon Web Services account owned by me (@robbiet480). I personally have 5 years of experience with complex AWS deployments and have an extensive security background. I have audited the entire system and made sure to take every step to protect the data, including limiting who has access (just @balloob and myself). While not directly personally identifiable we absolutely understand some users hesistance to giving this information out. Please understand that we are only collecting this information to better understand our user base to provide better long term support and feature development then is currently possible.

We currently have no plans to publicly expose any of this information. If we did do such a thing in the future we would of course notify you in advance. It must also be stated that we will never sell or allow the use of this information for non-Home Assistant purposes.

We thank you for understanding why we are collecting this data and hope that you leave the feature enabled but fully understand if you feel uncomfortable with this.

This section was updated on October 24 to be more clear about geo-lookups being on the city level. See original version.

Now, back to the fun stuff…

Good evening. I’m Ron Burgundy and here’s what happening in your world tonight.

Home Assistant got a crazy idea recently that it couldn’t do enough already and wanted to challenge itself even more. I really don’t understand how it came up with this kooky idea, but it now thinks that its newest hobby should be a minor career in journalism.

0.31 adds support for the brand spanking new Alexa Flash Briefing API, allowing you to get updates from Home Assistant anytime you ask Alexa to read your flash briefing. What’s the use case you ask? Well, now when I wake up in the morning and get my flash briefing, Home Assistant adds this to the end of it for me:

Drive time with traffic is 35 minutes. There is an UberPOOL that will cost $11.52, estimated to be 2 minutes away, for a total of 37 minutes. BART is currently estimated to take 29 minutes. You should take BART, as it is estimated to be faster by 8 minutes.

Now I know how to best get to my real job (no, Home Assistant is not my real job, it does seem like it sometimes though) every morning. Obviously not the best home automation example, but I think you get the idea. I could see this being used to tell you any major events that happened in your home overnight or reading you your hyperlocal weather report. Thanks to the audio support you could even replace all of the default Alexa Flash Briefing sources with your own news feeds. Home Assistant supports both text and audio content as well as displaying data in the Alexa app. I also want to point out that unlike the existing Skill integration, the Flash Briefing API does not require HTTPS (but you should still be using HTTPS if possible). For more information, check out the new docs.

You stay classy, San Diego. (It's funny, because balloob lives in San Diego))

Major breaking Z-Wave changes ahead

A rather nasty Z-Wave issue was discovered recently by @lukas-hetzenecker. There was a somewhat large chance that if you had multiple of the same model Z-Wave device they may both try to use the same entity IDs. To fix the issue the internal Z-Wave index is now appended to the end of all Z-Wave entity IDs.

What this means for all you Z-Wave users is that you will need to update your configurations to reflect the change. I personally have quite a few (17) Z-Wave devices and went through the process this week. Here’s what I had to do:

  • Update customizations
  • Update groups
  • Update my zwave.customize section
  • Update my Alexa skills that used old entity IDs
  • Because I use emulated_hue with Alexa and emulated_hue uses the entity ID as a unique identifier I also had to remove all Z-Wave devices from Alexa and re-add them.

Your todo list may be a little different from mine, I just wanted to outline the steps I took to give you an idea of what you need to think about. It’s not a very hard process, especially when using global find and replace in Sublime Text but did take me about 20 minutes to complete.

This is super annoying, I know, especially since we had said in 0.12 that Z-Wave IDs should hopefully never change again, but we are now forced to eat those words. I will state again that Z-Wave IDs shouldn’t change in the future but obviously we see how that went. To sum up on this section… sorry but it had to happen.

All changes

Release 0.31.1 - October 24

  • Identify special character encoding error in YAML files (@kellerza, @lwis)
  • iOS app component bug fixes (@robbiet480)
  • Fix a spelling problem on user-facing error (@robbiet480)
  • YAML includes will ignore dirs/files prefixed with . (@lwis)

Backward-incompatible changes

  • The HTTP component now takes a different format for authenticating IPs
  • Configuration format has changed for Proximity
  • The Arduino platform are now covered by the configuration check. Please check the documentation to see how.
  • The Z-Wave entity ID change mentioned above

If you need help…

…don’t hesitate to use our Forum or join us for a little chat. The release notes have comments enabled but it’s preferred if you the former communication channels. Thanks.

Until next time

Thanks for reading all of the above, especially since this week was a pretty long post. We should be back with a new post around November 5th announcing the arrival of 0.32.

– Robbie


0.30: More Async, HASSbian, Digital Ocean, statistics, REST

Yes, after only nine days comes 0.30. Don’t worry, we will try to keep our usual release cycle and not start to release every day.

We guess that you already know: The Raspberry Pi image is available now. For Hassbian, @Landrash has combined the most essential parts for a Home Assistant setup in an easy-to-use image for the Raspberry Pi device family. Hassbian is quite young, thus we are looking forward to receive feedback, issue report, and suggestions to improve it.

A large amount of resources of the development are still focusing on the effort to move Home Assistant further to asynchronous programming. It’s a labor-intensive task, comes with segmentation faults, and unstable instances when certain combinations of sensors are used. The benefit will be more speed in the near future.

To reduce the run-time of your tests, @balloob did a lot of tweaking. For now the RFXtrx tests are excluded which cut the needed time for running on your Pull Request in half.

Documentation

All configuration sample entries are now minimized. This should help to avoid problem for starters and newbies as they only get what’s needed and not a full sample with all optional entries. If there is an issue with an entry in your configuration.yaml file the error message will provide you an URL that point to the documentation.

As soon as the Hacktoberfest started there were a lot of incoming Pull Requests for the documentation. A huge “Thank you” to all participants. Especially, we would like to give a cookie to @hillaryfraley. She created around a dozen Pull Requests so far and didn’t only fix typos but complete sections. The Hacktoberfest is still on-going and we are looking forward to get more Pull Requests.

Statistics

With the statistics sensor we would like to introduce a new sensor that is similar to the template sensor or the trend sensor. This sensor is consuming values from another sensor and is doing some statistical analysis of the data. Over a group of samples is the average/mean, the min/max, the total, the standard deviation, and the variance calculated which can be used in your automation rules. If the source is a binary sensor then the state changes are counted.

As the results are processed on-the-fly you still need to use the data from your database for an in-depth analysis of your stored information. Check the latest notebook for doing statistics with your Home Assistant database.

REST! We don’t…

There was a lot of work done on our implementation which are working with RESTful APIs. @w1ll1am23 extended the aREST platforms to display if an aREST unit is available or not. The aREST implementations are now covered by the configuration check as well. Please check the Backward-incompatible changes section for more details.

The REST sensor supports now HTTP authentication (basic and digest) and custom headers. This will allow you to access resources which are protected. This sample sensor will access GitHub and retrieve the latest release number while by-passing the rate limit for non-authenticated requests.

sensor
  - platform: rest
    resource: https://api.github.com/repos/home-assistant/home-assistant/releases/latest
    username: YOUR_GITHUB_USERNAME
    password: YOUR_GITHUB_ACCESS_TOKEN
    authentication: basic
    value_template: "{{ value_json.tag_name }}"
    headers:
      Accept: application/vnd.github.v3+json
      Content-Type: application/json
      User-Agent: Home Assistant REST sensor

Misc

  • GitHub released with a recent update a review feature. This will give you more control over your comments while you review an open Pull Request.
  • Thanks to @robbiet480 we are now running mention-bot. It will help you when you create a new Pull Request to identify potential reviewers.
  • The Home Assistant Community Forum has now an additional section called “Installation”.

All changes

Release 0.30.1 - October 8

  • Device Tracker known_devices.yaml validation is now more accepting (@kellerza)
  • Handle X10 light numbers greater than 9 (@mtl010957)
  • Fix command line covers without a template (@roidayan)

Release 0.30.2 - October 12

  • Handle Volvo’s with dashes in their name (@molobrakos)
  • Fix some html5 push notification configuration options were discarded after first use (@T3m3z)
  • Fix Homematic device name with autodiscovery (@pvizeli)
  • Make ‘pin’ optional for zigbee device config (@flyte)
  • Fix when sending a notification to a service with target attached (i.e., notify.html5_unnamed_device_2) the target was not submitted to the platform as a list causing iteration over every character in the string. (@robbiet480)
  • Fix for Slack targets (@fabaff)
  • Fix for Pushover targets (@Nixon506E)

Backward-incompatible changes

  • All deprecated condition options from automation have been removed (deprecated since May and have printed warnings to your console):
    • use_trigger_values is gone. You have to copy your triggers to conditions and adjust for the correct config.
    • condition_type is gone. Use condition: or instead.
    • To specify the type of a condition, use condition: instead of platform:.
  • The Forecast.io was renamed to Dark Sky. Replace your - platform: forecast with - platform: darksky.
  • The aREST configuration between the sensor and the switch platform was aligned.

If you need help…

…don’t hesitate to use our Forum or join us for a little chat. The release notes have comments enabled but it’s preferred if you the former communication channels. Thanks.


Participating in Hacktoberfest

Home Assistant will join this year for Hacktoberfest, an event organized by DigitalOcean and GitHub to support and celebrate open source. The idea is that open source projects like Home Assistant will gather a bunch of entry-level bugs, features and documentation enhancements and that you, a current or future contributor, will fix them. If you submit four pull-requests during the month of October you will have earned yourself a limited edition Hacktoberfest T-shirt!

Why contribute to Home Assistant:

  • Written in Python3 with 94% test coverage
  • Active and helpful community
  • Friendly to new contributors

Resources to get started:

Are you not a programmer but still want to contribute to Home Assistant? Check out our list of entry-level issues for the Home Assistant website.

Hacktober fest logo


We have a Raspberry Pi image now

Today we’re happy to announce our brand new Raspberry Pi image! It is based on Raspbian Lite combined with HASS so we decided to call it Hassbian.

This image comes pre-installed with everything you need to get started with Home Assistant right away.

To get started, check out the installation instructions in the getting started section or watch the latest video by BRUHAutomation:

Under the hood

It’s based on Raspbian Lite and generated with a fork of the same script that builds the official Raspbian images. For installation of HASS it follows the same install instructions as the Manual installation. Please note that this project has no association with the Raspberry Pi foundation or their projects.

On first boot the latest release of Home Assistant will be installed and can be reached after 3~5 minutes. Pre-installed on this image is the MQTT broker Mosquitto, Bluetooth support and settings for the homeassistant account to use the GPIO pins of the Raspberry Pi. Mosquitto is not activated by default.

As it is today there is no pre-compiled Z-Wave support but it can be installed by following the Getting started instructions for Z-Wave.

Happy Automating!


0.29: 🎈 Async, SleepIQ, OpenALPR, EmonCMS, stocks, and plants

Two weeks ago, September 17 marked our 3 year anniversary. In this time Home Assistant managed to grow from a simple script that turned on my lights when the sun set to a kick ass open source project with the best community an open-source project could wish for. This release contains features, bug fixes and performance tweaks by a total of 50 different people! We have also managed to cross the 1000 forks on GitHub. Talking about momentum!

This is a big release as we’ve completely overhauled the internals of Home Assistant. When I initially wrote Home Assistant, still figuring out the ins and outs of Python, I went for an approach that I was familiar with for an application with many moving parts: threads and locks. This approach has served us well over the years but it was slower than it needed to be, especially on limited hardware.

This all changed when @bbangert came around and took on the tough job to migrate the core over to use asynchronous programming. He did an amazing job and I am happy to say that the initial port has been done and is included in this release! On top of that, we have been able to keep our simple and straightforward API at the same time. We are still in the process of migrating more and more components over to the asynchronous API, so expect more speedups and awesome features in the upcoming releases.

SleepIQ and OpenALPR

There now is support for two new super cool things: Beds and license plates. @technicalpickles created a SleepIQ component that let you monitor the sensor data of your bed. @pvizeli has added license plate recognition based on OpenALPR! This means that you can now be notified about which car is parked on your driveway or in your garage. I also would like to use this opportunity to give a big shoutout to @pvizeli for being such an awesome member of our community. He joined us at the end of June and has helped crush bugs and add awesome features ever since (65 pull requests already!).

Configuration validation

On the voluptuous front we have also made great progress. We were able to fully remove the legacy config helpers and have migrated 323 of the 346 components and platforms that needed migrating! This does mean that for some components the configuration has slightly changed, make sure to check out the backward-incompatible changes section at the bottom for more info. Thanks everybody for reviewing the Pull requests, testing the changes, and reporting issues.

Delayed Release

As you might have noticed, this release has been delayed by 5 days. This was due to a rare, difficult to reproduce problem with the Python interpreter. A huuuuge thanks to all the people that have helped countless hours in researching, debugging and fixing this issue: @bbangert, @turbokongen, @lwis, @kellerza, @technicalpickles, @pvizeli, @persandstrom and @joyrider3774. I am grateful to have all of you as part of the Home Assistant community.

Hide automation rules

Since 0.28 automation rules can be reloaded directly from the frontend.

All changes

Hotfix 0.29.1 - September 29

Hotfix 0.29.2 - September 29

Hotfix 0.29.3 - September 29

Hotfix 0.29.4 - September 30

Hotfix 0.29.5 - September 30

Hotfix 0.29.6 - October 1

  • Fix segmentation fault (@bbangert) 🎉
  • Fix nested templates in data_template would incorrectly get cached (@balloob)

Hotfix 0.29.7 - October 5

  • Fix handling SIGTERM and SIGHUP signals (fixes Systemd restart issues) (@pvizeli)

Backward-incompatible changes

  • The template methods now and utcnow have been changed from variables to methods. To get the current time replace now with now().
  • yahooweather default name is now yweather. Also min and max temperature are now correctly called Temperature Min and Temperature Max.
  • ffmpeg is now a component for manage some things central. All ffmpeg_bin options have moved to this compoment from platforms.
  • Config has changed for X10 lights.
  • For Wink, make sure your config only contains the access token as in the docs.
  • Nest sensor ‘mode’ has been renamed to ‘operation_mode’

If you need help…

…don’t hesitate to use our Forum or join us for a little chat. The release notes have comments enabled but it’s preferred if you the former communication channels. Thanks.