HASSbian 1.1 - The Toy-box

Tonight I’m happy to announce a new release of the our Raspberry Pi image, HASSbian 1.1 - The Toy-box.
Why Toy-box you wonder? Because it encompass the changes pretty well.

Changes from previous image are big and small but lets start with the interesting things.


A set of script written to add extra functionality to your Raspberry Pi installation. This scripts are run as the pi user and installs a set of tools or packages. Currently includes:

  • Install Libcec. Adds local HDMI-CEC support.
  • Install Mossquitto. Installs the latest Mosquitto package and client tools from the Mosquitto projects official repository. Now includes websocket support.
  • Install OpenZWave. Installs OpenZWave and prepares for using a USB or GPIO ZWave controller.
  • Install Samba. Installs the Samba packages and shares your configuration over smb to be available to edit on any computer without the need for separate file transfer software. This share is unsecured and its usage is not recommended if your installation is publicly available.

All of these scripts are available in the directory /home/pi/hassbian-scripts/. This directory is actually a cloned git repository that’s cloned on first boot and can be updated to the latest release with ease after. To update the hassbian-scripts directory execute the following command as the pi user.

cd hassbian-scripts
git pull

To use any of the hassbian-scripts, execute the following command as the pi user. Here we use the libcec script as an example.

sudo ./hassbian-scripts/install_libcec.sh

For more information about these scripts have a look a the hassbian-scripts repository.

Spring cleaning

With this image there also quite a bit of cleaning of the base system and the script that generates our Raspberry Pi image.

  • Update pi-gen. Our build script has been upgraded to follow the Raspbian image closer. This image is basically a Raspbian lite image with Home Assistant, dependencies and a small set of changes to the base system.
  • Removed Mosquitto. Not as bad as it sounds since it’s installation has been move to one of our new hassbian-scripts.
  • Added rng-tools. Let’s your HASSbian installation use the hardware support in the Raspberry Pi for entropy generation.
  • Added avahi-daemon package. Your Raspberry Pi should now be available at hassbian.local.
  • Added htop. User friendly interactive process monitor.
  • Added tmux. A great terminal multiplexer that makes working with the command line over ssh easier.
  • Added the homeassistant user to the dialout group. Simplifies use of hardware such as ZWave USB controllers that requires this permission.

On the horizon

There’s of course more on the horizon and there’s even more plans and wishes for how this image will function in the future. On the close horizon from @Landrash there a few more script in the works and for tellstick, emulated_hue and for controlling Home Assistant.

To follow discussions about the development of the HASSbian image or to contribute join our Discord chat server.

To get started with the new image, check out the installation instructions in the getting started section.

Smart Baby Monitor

One of the hardest part of being a parent is keeping a constant eye on the baby to make sure that the baby is doing well. Thus, it is not surprising that baby monitors are one of the fastest growing baby product category. However, many of the baby monitors available on the market are rather dumb and expect the parents to keep looking at the video stream or listen to the audio. This how-to will help you create a smart baby monitor on a budget and integrate it with Home Assistant. Instead of relying on the poor quality baby monitor speakers, we use our existing speakers (eg. Sonos). We can also send notifications (with pictures) to avoid constant monitoring of the feed.

Obviously, you can use the setup as a general purpose surveillance system to monitor noise in the whole house.

Read on →

0.37: Face detection, Coffee, Wink

No stats, no numbers, and alike this time. Ok, just one number: 0.37. We are back on track with our bi-weekly release cycle. Beside some organizational changes is this release shipping again cool features and new integrations. Please keep an eye on the “Breaking changes” section because there are also massive improvements for some platforms and components.


As announced, the new Governance requires for developers to sign the CLA. Code of Conduct, Contributor License Agreement, and proper Licensing will to protect all involved parties in the Home Assistant eco-system from users and community members to contributors.

Face recognition using the Microsoft Face API

@pvizeli has been on a roll with the image processing integrations. This time it’s the Microsoft Face API. This means that now it will be possible to train the API with the people you want to recognize and send images from your camera to the API as another source of automation.

Want to play a personalized tune when someone enters the house? It is now possible 😎

Improved camera security

After a security audit by Stephen O’Conner, he found that our source for randomly generated access tokens for camera feeds were reasonable predictable and could be brute force attacked in 2.5 weeks. A fix has been included in this release that uses the system provided random number generator for maximum randomness and rotates the keys every 10 minutes to reduce the window in which a brute force attack can happen.

Although the old method is not insecure, the new method is a lot more secure. Upgrading to the latest version is encouraged.

New customization options

@Andrey-git has added some great new options to the customize functionality. It is now possible to specify customizations as a wildcard for entities or for a specific domain.

Major Wink and HDMI-CEC improvements

@w1ll1am23 did an amazing job fixing a ton of bugs and issues with the Wink integration. Biggest improvement is that it now is able to automatically refresh the authentication tokens. This means that if you have your email address and password in your configuration.yaml file, no client_id and client_secret are needed, and token which was generated with the generator located in the Wink documentation.

The new Wink support will cause renaming of all the binary sensors and will also create new sensors for devices that weren’t previously detected or supported in the older version.

Thanks to @konikvranik the HDMI-CEC integration got a huge update with a lot of improvements. This update should make it easier to work with HDMI-CEC and give you more control.

First Coffee Maker supported

@stu-gott has added support for the first coffee maker in Home Assistant: Mr. Coffee Smart Optimal Brew. Happy brewing!

All changes

New platforms/components


  • Script: Fix script release (@balloob)
  • Camera - Amcrest: Add support for direct MJPEG streams from Amcrest cameras (@colinodell)
  • Sensor - Miflora: Removing throttle decorator (@freol35241)
  • Notify - Lannouncer: Fix get_service method (@mKeRix)
  • Sensor - WAQI: Add station parameter to waqi sensor (@whhsw)
  • Sensor - USPS: Absolute path to save cookie used by USPS sensor (@tchellomello)
  • Nest: Fix python-nest release number (@Danielhiversen)
  • Keyboard remote: Improve support (@MrMep)
  • Device tracker - VolvoOnCall: Fix timedelta (@pvizeli)
  • Climate - eq3btsmart: Expose away attribute (@rytilahti)
  • Remote: Reserve a test port for broken API to fix race (@armills)
  • Climate - Ecobee: Made target temperature sensitive to auto mode (@Duoxilian)
  • Configuration: Fix load_yaml default value (@balloob)
  • Notify - Facebook: Fix encoding error (@Danielhiversen)
  • Emulated_hue: Add upnp_bind_multicast option, default type to Google, and persist emulated hue IDs (@hoopty, @balloob)
  • Docker: Install phantomjs in Docker container (@jnewland)
  • Media player - MPD: Add listing and selection of available MPD playlists (@partofthething)
  • Media player - Denon AVR: Denon improvements (@glance-)
  • Light - x10.py: Improved x10 state monitoring (@martst)
  • Sensor - DSMR: TCP, reconnecting and V4 CRC support (@aequitas)
  • Media player - Yamaha.py: Fix Yamaha doing I/O in event loop (@balloob)
  • Device tracker UPC: Make upc more robust (@pvizeli)
  • Climate - Generic thermostat: Update (@MrMep)
  • Device tracker - Xiaomi.py: Xiaomi Mi Router token refresh (@RiRomain)
  • Camera - MJPEG: Support still image for thumbmail (@pvizeli)
  • Sensor - ZAMG: Updated valid station id list (@HerrHofrat)
  • Light - ISY994: Not overwrite state_attributes (@rmkraus)emul-hue
  • Light - Zwave: Use only supported features for devices (@turbokongen)
  • Media player - Kodi: Support for volume stepping (@armills)
  • Media player- roku: Use is_screensaver, update IDLE state, and use device name (@robbiet480, @xhostplus)
  • Switch - HDMI-CEC: Support for devices and commands (@konikvranik)
  • Lock - Zwave: Improvements to Zwave lock platform (@turbokongen)
  • TTS: Invalidate broken file cache entries (@stu-gott)
  • Light - Hue: Improvements (@robbiet480)
  • TTS - YandexTTS: Added speed and emotion to Yandex TTS (@lupin-de-mid)
  • Light - tellstick.py: Tellstick light fix (@stefan-jonasson)
  • Switch - insteon_local.py: only check for devices when not defined in config (@craigjmidwinter)
  • Notify - Twitter: Allow direct messaging to user (@fabaff)
  • Fan - MQTT: Don’t set a speed when fan turns on (@robbiet480)
  • Config: Allow easier customization of whole domain, entity lists, globs (@andrey-git)
  • Sensor - Homematic: Update device support (@danielperna84)
  • Binary sensor - ISS: Add location to attributes and option to show position on the map (@fabaff)
  • Media player - Kodi: Add SSL configuration option (@ecksun)
  • Sensor - WAQI: Add missing particle value (@fabaff)
  • Wink: Support for python-wink 1.0.0 (@w1ll1am23)
  • Binary sensor - RPi GPIO: Add a small sleep before reading the sensor (@snagytx)
  • Sensor - USPS: Add name to configuration (@happyleavesaoc)
  • Sensor - Miflora: Remove throttle decorator from miflora platform (@freol35241)
  • Device tracker - asuswrt.py: Add IPv6 support when parsing neighbors (@leppa)
  • iOS: Discover notify.ios when iOS component loads (@robbiet480)
  • Homematic: Add MAX shutter contact class (@jannau)
  • Sensor - Darksky: Added forecast support (@nordlead2005)
  • Switch - Pilight: Implement echo config option (@janLo)
  • Core: Support customize in packages (@kellerza)
  • Switch - Flux: Allow disabling setting the brightness (@rytilahti)
  • Media player - Sonos: Add is_coordinator, set coordinator after join/unjoin, and no empty image (@pvizeli, @andrey-git, @robbiet480)
  • Climate: Hold mode (@Duoxilian)
  • Switch - TPlink: No longer doing I/O in event bus (@balloob)
  • Light - Insteon local: Improve Insteon configuration (@craigjmidwinter)
  • Emulated Hue: Emulated Hue “host-ip” fails to bind when running in docker without --net=host (@jeremydk)
  • Climate - EQ3 BT smart: Add reporting for availability (@rytilahti)

Bugfix: @balloob, @fabaff, @freol35241, @pvizeli, @Danielhiversen, @tdickman, @armills, @rytilahti, @EarthlingRich, @asbach, @happyleavesaoc, @robbiet480, @colinodell, @joopert, @dale3h, @pavoni, @jaharkes, @MartinHjelmare, @mezz64, @jabesq, and you if you are missing in this list.

Release 0.37.1 - February 2

  • Do not reject alphanumeric IDs for PiLight (@DavidLP)
  • Fix broken Hue discovery (@DanielHiversen)
  • Fix Amcrest (@tchellomello)
  • Fix Telldus Live dim level error on startup (@molobrakos)
  • Fix Sonos group coordinators (@pvizeli)
  • UPC Connect: Parse XML outside event loop (@pvizeli)
  • Fix Netatmo SSL issue with VPN URL (@jabesq)
  • Homematic: Fix bug with UNREACH device state/restore and variables not updating (@pvizeli)
  • Sonos: Prevent duplicate entries in favorite list (@pvizeli)
  • Fix Schlage Connect deadbolt integration via Z-Wave (@turbokongen)
  • Prevent infinite loop in crossconfigured mqtt event streams (@aequitas)
  • Fix Hue lightgroups failing on startup (@tboyce1)

Breaking changes

  • A major breaking change in the emulated_hue component means that unless you set type: alexa before starting up the newer Home Assistant version you will lose all devices that Alexa has discovered and will need to re-add them as well as create new groups.
  • The platform of the ISS integration was change to binary_sensor. Please check the platform documentation.
  • The Roku media uses now a new format for the entity IDs.
  • OpenALPR is no longer a component. It’s now a platform for Image processing.
  • Due to massive improvements of the Wink integration, the names of your binary sensors will change and new devices can show up.
  • The MySensors component now requires all persistence file paths to be set if any is set by the user. This is to avoid name conflicts for the paths. If no path is set Home Assistant will set all paths for you.
  • The Sonos service sonos_group_players was removed. Use now sonos_join for this function.
  • TTS cache have change for the last time. Files use now also an option hash as part of the name. If you want to use the cache, it need to be renamed or cleared, new created. E. g. HASH_LANG_PLATFORM.xxx -> HASH_LANG_OPTIONS_PLATFORM.xxx, replace OPTIONS with - on exiting platforms.

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.

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 →


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 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 \

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

Breaking 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.


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:

  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.


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.


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:

  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

Breaking 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.