Blog

Home Assistant Governance [updated]

UPDATE JAN 28, 2017

After feedback from the community we have updated the CLA and the license that Home Assistant is distributed under. For the CLA, instead of enforcing requirements on the grants and code, we now require contributions to be licensed under the Apache 2.0 license. Special thanks to Matthew Garrett for his feedback and advice.

Starting with release 0.37, Home Assistant will re-license the current code under the Apache 2.0 license. This is the license that will be used moving forward for all projects under our organization.


The Home Assistant project and community has seen enormous growth in the last three years. Many volunteers work tirelessly everyday to give you all the awesomeness that you see today. Much more work is involved than many people realize. Beyond simply coding Home Assistant, volunteers continually maintain related projects, update documentation, post examples, author blog posts, and moderate the forums and chat. This is something that we want to keep safe and functional, even as we grow.

Starting today we are announcing a few initiatives to help protect our users, contributors and community members.

Read on →

Numbers

It’s week 3 of 2017 and great things did already happen. This is just a little recap.

  • In the OSS Metrics leaderboard we are on place 30. Within three months we moved from our starting place which was 66 in September 2016 up to the current one.
  • We were listed on Github Trending. Also, was @balloob mentioned as trending developer.
  • @balloob’s talk at the OpenIoT Summit 2016 was rated as one of the Top 5 videos of the conference.
  • We now ship over 500 components and platforms.
  • We processed over 3500 Pull requests on the main repository so far.

You may ask yourself why this is amazing. It’s amazing because we are a community-only project driven by volunteers there is no financial support, no company in the background, and no paid developers who are working on Home Assistant. Here is another “Thank you” because you are the driving force behind Home Assistant.

What more numbers? Checkout the Trivia page

– Fabian


0.36: ISS, USPS, Image processing, Insteon

Welcome to 2017 and 0.36. We are proud to announce the first release for this year. While we are still migrating parts to async but 0.36 is focusing on new features and a lot of bug fixes.

Packages

Packages are providing a new way to organize different component’s configuration parts together. With packages we offer the option to include different components or parts of configuration using any of the !include directives.

InfluxDB export

The InfluxDB component was causing problems in a wide variety of use cases. @titilambert improved our InfluxDB exporter feature. It might be that you need to run the migration script to update your InfluxDB database.

$ hass --script influxdb_migrator \
    -H IP_INFLUXDB_HOST -u INFLUXDB_USERNAME -p INFLUXDB_PASSWORD \
    -d INFLUXDB_DB_NAME

International Space Station (ISS)

No, unfortunately we are not going to space. The iss sensor is tracking the position of the International Space Station and gives you some details.

Insteon local

The support for Insteon was removed due to issues a while ago. With the insteon_local component support for Insteon is back and let one work locally with an Insteon setup.

Image processing

The new image processing component currently works with number plates. But this could level the way to integrate feature like facial recognition, motion detection, or gestures control.

All changes

Release 0.36.1 - January 17

Backward-incompatible changes

  • APNS service was moved to the notify domain. Use notify.apns_NOTIFIER_NAME instead of apns.NOTIFIER_NAME.
  • InfluxDB component has a new schema to store values in the InfluxDB database. You may require to run the influxdb_migrator script. You have to note:
    • There will not be any tags/fields named time anymore.
    • All numeric fields (int/float/bool) will be stored as float inside influx db.
    • All string fields corresponding to state attributes will be renamed as FIELDNAME_str, where FIELDNAME is the state attribute, to avoid type conflicts.
    • All string fields corresponding to a state will be renamed as state (former value).
    • Fields named value will always be stored as float.
    • Fields named state will always be stored as string.
  • TTS cache files use now the language abbreviation as part of the name. If you want to use the cache, it need to be renamed or cleared, new created. E. g. HASH_PLATFORM.xxx -> HASH_LANG_PLATFORM.xxx.

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.


Control My Christmas Tree Stats

Hello and Happy New Year!

I am not Paulus. My name is Ben. I’m the creator of the BRUH Automation YouTube channel. If you’ve ever seen any of my videos then you’ll know I love home automation and Home Assistant.

I wanted to share some exciting stats from one of my latest projects - Control My Christmas tree! For this project, I created a Home Assistant instance on a Raspberry Pi 2 that was publicly accessible via DuckDNS. Paulus was great in helping me disable several of the developer services that could have been exploited to disable the Home Assistant instance.

I added three devices to the Home Assistant instance - a Wemo Insight, Sonoff Switch (running MQTT firmware), and a DIY MQTT Digital LED strip. After adding a few 3D printed Star War decorations, the tree was ready to go!

The Christmas tree in action.

Read on →

Thank You

A year ago Home Assistant 0.10 landed. Last weekend we released 0.35. Doing 25 releases in a year is a big accomplishment by the community and each release has moved us forwards leaps and bounds. In this year alone we have seen 2800 pull requests on the main repo alone, that’s more than 7 a day!

One of the things that Jon Walker, the founder of the company I work for (AppFolio), has taught me is that the biggest advantage that you can create for yourself compared to your competitors is to release more often. Every time you release you are able to get the new features into the hands of the users and developers. The faster people start using it, the faster you get feedback on the good and bad parts and thus the faster can you evolve.

That’s why I structured Home Assistant around a two week release cycle. It makes sure that features get out fast and it also forces us to not accumulate a backlog of things to document or test properly. Every two weeks we can start fresh. This makes it easy for new people to start contributing because it’s clear when things go out and people are not afraid to miss a release.

However, being on a two week release cycle also means that the community has to rally each two weeks to make sure everything is ready to go. A lot of people are involved in making sure that all pieces are in place, to all of those: thank you! Thank you for all the time and effort you put in to make Home Assistant the best home automation software out there.

Another big thanks goes out to the developers of the Python language and all the open source libraries and tools that Home Assistant depends on. Making quality software is not a small feat and all of you can be proud of yourself.

Also a big thanks for the companies that offer their services for free to open source projects. Without these we would not be able to operate at our speed or scale. Thanks GitHub, TravisCI, CloudFlare and Discourse!

And finally thank you community for being so helpful and awesome 🙇.

We’re taking a well deserved break and we will be back again in 2017 with more awesomeness. Happy holidays!

– Paulus


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 →