0.104: Sentry, Signal Messenger, IntesisHome, Sure Petcare, KEF

The first release of the new decade! Happy New Year!

We are starting this new year with a packed release! So let us dive in!

Improved entity handling on startup

We are now restoring all entities, stored in the registry, on Home Assistant startup.

During the startup of Home Assistant, all your configured integrations are loaded. Each of those integrations results in one or more devices and entities. However, there was a catch!

The loading of some integrations could take a while, which caused some entities not to be available immediately. Sometimes, this affected multiple things, like missing devices in HomeKit/Google/Alexa or those big red boxes in our Lovelace UI. We are sure, at some point, we’ve all experienced that.

As of this release, all these entities, if registered in our entity registry, will be restored as “unavailable”. That allows other parts of our system to use them immediately, solving a lot of common issues during startup.

These restored entities can be differentiated from normal “unavailable” entities by an additional state attribute added to those entities: “restored”.

Screenshot of a removing an unavailable entity Screenshot of a removing an unavailable entity.

As a result, entities will no longer “disappear”, so restored and unavailable entities are removable, as shown in the screenshot above. Please note that, if an integration provides an unavailable entity, the providing integration needs to be removed first, or else, those entities can not be deleted.

Ignore discovered devices & services

Got that one device that gets discovered over and over again?

It is now possible to ignore a specific discovered device with a single click!

Screenshot of a discovered Hue bridge Screenshot of a discovered Hue bridge.

It requires the integration to be updated to support this. For this release, the Hue, Axis, deCONZ, WLED and HomeKit integrations are updated to support this new feature.

Reload all the input things & bye generated groups

All input_* integrations now have a reload service to reload your YAML configuration for these integrations, without the need to restart Home Assistant.

Furthermore, time to say bye-bye, to all generated entity groups (group.all_*). Chances are, you have never heard of those because they were hidden. However, if you rely on those groups for your automations, you need to adjust those automations. Check out the backward-incompatible changes section for more information.

Add a device to Lovelace

We added a button to the device page to add all entities of a device to Lovelace in a blip! Home Assistant suggests cards based on the type of entities the device provides so that you can add them to a view of your choice instantly.

If you are using Lovelace in YAML mode, you still can use this new feature. The generated YAML can be copied and pasted into your configuration file.

Screenshot of a card suggestion for a light device Screenshot of a card suggestion for a light device.

This same functionality is also added to the unused entities page of Lovelace.

Multi-select entity management

Entity management has never been easier; It now allows for changing multiple entities at once. Select multiple entities and remove, enable or disable them with one click.

Screenshot of the entities configuration page with multi selection Screenshot of the entities configuration page with multi selection.

ZHA configuration panel improvements

@dmulcahey did a lot of work on the ZHA config panel this release.

The navigation for the ZHA configuration panel has been redesigned to provide a better user experience on mobile and desktop.

As part of the redesign, full Zigbee group management has been added, allowing you to create and manage Zigbee groups right from the UI.

Screenshot of the ZHA configuration panel Screenshot of the ZHA configuration panel.

In a future releases, the ability to bind devices directly to groups, will be added as well.

Removing your Lovelace configuration

Want to start your Lovelace configuration from scratch? Or go back to the automatically generated Lovelace interface?

Now you can by clearing the Lovelace configuration in the raw configuration editor and saving it.

Screenshot of the remove Lovelace confirmation dialog Screenshot of the remove Lovelace confirmation dialog.

In other news

Meanwhile, HassOS 3.8 got released!

Besides the release of HassOS 3.8, the first beta version of HassOS 4.0 is now available as well. This beta release adds support for Hardkernel’s ODROID-N2!

The ODROID-N2 is a great and powerful alternative for the Raspberry Pi.

Custom now playing poster Lovelace card

Brad Crc made this impressive demo of setting up a custom now playing poster card in Lovelace floor plans. This allows you to show currently playing media in your floor plan!

Bas showing his Lovelace theme on his setup

Bas Nijholt kept seeing his own theme popping up on Reddit, so he decided it was time for him to show off his Lovelace dashboard, featuring this lovely theme.

I keep seeing my own theme on Reddit, so now it's my turn! [OC] from r/homeassistant

His theme is publicly available on GitHub and so is his config.

New Integrations

New Platforms

If you need help…

…don’t hesitate to use our very active forums or join us for a little chat.

Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template, that is helping us a lot!

Read on →

Celebrate the holidays with open standards

It’s been a busy week with a lot of announcements around IoT standards, so I thought I would do a quick round up of them, and how it might impact Home Assistant users.

New IoT standard announced

As it’s been a while, the industry has announced yet a new effort to create a new IoT standard called Project Matter (formally called: ‘Connected Home over IP’). I think that there are a few interesting bits to this standard:

The standard will be royalty-free. This is big, as it means that it will be easy for companies to build products. Take, for example, Homekit, which is a great IP-based local standard. Homekit has strict licensing and royalties, which prevented it from widespread adoption.

The new standard specification will be written in conjunction with building an open source implementation of the standard. Once it’s all finished, we’ll be able to integrate this implementation into Home Assistant.

Finally, Apple, Google and Amazon are seriously involved, even contributing their own IoT standards to help bootstrap this specification. This significantly increases the odds of them also integrating it into their products. Since their products are everywhere, it means that more companies might incorporate the standard and it can get widespread adoption.

But don’t hold your breath. Developing a standard takes time. They aim for a draft to be released at the end of 2020. And that’s just the specification. Not any of the devices built with it. If (and that’s a big IF) everything works out, expect this standard to get into your home in 2022.

Read on →

HassOS 3 released! Raspberry Pi 4 support

A bit behind the original timeline, but we happy to announce, we’ve released version 3 of Hass.io Operating System: HassOS. Just in time for Christmas!

TL;DR; A quick summary of the changes:

  • Official RPi4 support
  • Linux LT 4.19
  • Buildroot LT 2019
  • USB-boot capabilities for the RPi3
  • SMS integrations with USB/GSM modem
  • Qemu Agent support
  • Optimized kernel for virtual appliances
  • Improved automatic disk expansion
  • Initial foundation for offloading the data partition

Raspberry Pi

We now officially support the Raspberry Pi 4 on this stable version of HassOS! The Raspberry Pi 4 is a great and powerful device to get you started on Hass.io and Home Assistant.

@rbray89 worked hard on this release to add the very often requested USB boot support! Please note, this is currently limited to RPi3 devices. Carefully read how the USB boot works and be aware of the limited supported hardware.

Hypervisors / Running HassOS on a Virtual Machine

The HassOS image for virtual appliances did get some useful updates as well. We have optimized the Linux kernel to support more virtual hardware.

We have now included the QEMU Agent in HassOS. So if you are running on a Hypervisor that is QEMU based (e.g., Proxmox or Libvirt), you now have a lot more information in your Hypervisor control panel, proper shutdown support and improved support for backing up/snapshotting your virtual machine.

Finally, the automated disk expansion got some updates. So if you need more disk space in your virtual appliance, add it in your Hypervisor and HassOS automatically pick it up at the next boot.

We want to emphasize that running Hass.io as a virtual machine is the only supported method to run Hass.io on a virtualized system. We’ve lately seen some funky tutorials on how to run Hass.io inside a container like Docker or LXC, which we DO NOT recommend, you will end up having issues.

How to update to HassOS 3

If you are already running HassOS, you have the full flavor of Hass.io, and thus, all the comfort it has to offer, making this upgrade a breeze!

To update via the user interface, go to the Home Assistant frontend, click on Hass.io in the sidebar to go into the Hass.io panel. Next, click on the System tab and press the UPDATE button in the “Host system” panel. In case the update isn’t showing up yet, push the RELOAD button on the “Hass.io supervisor” box first, which makes your system look for updates instantly.

Another option is to use our powerful CLI, that is shipped with the SSH add-on. Run the following command to trigger the upgrade: hassio os update --version 3.7.

Update 2019-12-18

After some confusion about the statement of supporting virtual environments and running Hass.io on top of a custom Linux; so let’s clarify it.

The supported ways to run Hass.io are documented here

This also includes running Hass.io on Linux using the Generic Linux installer, which is a supported method.

Hass.io runs partly on your local machine, but for most parts inside multiple containers. All installation types we list, respect this.

If you run VMWare, ProxMox or other virtualization environments, you can use the HassOS OVA/VMDK to run a virtual machine with. Or, if you like to use a Ubuntu VM, that will work with the supported generic Linux installer.

We DO NOT support any kind of LXC hacks like listed here: https://github.com/whiskerz007/proxmox_hassio_lxc. These setups try to put everything inside a single container, which will cause you issues. Hass.io is not designed to run fully inside a containerized system, like LXC.

We hope this clarifies our earlier statement.

0.103: Happy Holidays, Service calls, StarLine, GeoNet NZ and Proxmox

Here it is! Home Assistant 0.103 is released, which is the last major release for this year. For the final stretch of this year, we’ve focussed on cleaning things up. This release contains many things that were still in progress (e.g., due to Hacktoberfest), lots of bugfixes; mainly things that help to improve the stability and experience of Home Assistant.

We wish you happy holidays! As always, we skip a release cycle at the end of the year, making this the final, major release of 2019. This gives all of us time to enjoy the holidays with our families as well. The first release of 2020, will be on 15 January.

Furthermore, we’d like to take the opportunity to thank all of our contributors, no matter how small or big the contribution; code, documentation, issue reporting, beta testing, supporters in our forum and chat. We salute and thank you and wish you the best for the new decade, as we are entering 2020! ❤️


Service’s have been moved to their respective integration namespaces

For 0.103, an extensive cleanup has been taken place around the names of the services. We realize this affects many users; therefore, we made sure all these changes are in this release. This change was driven by @raman325, who did an excellent job of completing this in time for 0.103.

We used to have services that were placed inside other domains, which wasn’t always the case, and therefore inconsistent. So, for example, the service to add an item to Todoist was actually a service call under the calendar domain: calendar.todoist_new_task.

This release, all services that were not placed correctly, are moved into their respective integration domain. So, for the above example of calendar.todoist_new_task, has been renamed to todoist.new_task.

We hope this brings a more streamlined experience to the use of services, for now, and in the future. For a complete list of old vs. new service names, a table as been added to the release notes, below.

Moving imports of Python packages

Internally, Home Assistant uses a lot of Python packages, that our integrations are using. In the past weeks, the locations where all those imports take place, was changed. This does not directly resonate with your system and is mainly an internal cleanup.

A big shout out to the following contributors that together are responsible for making hundreds of contributions the past weeks to help us out:

[@Bouni], @briglx, @djpremier, @exxamalte, @javicalle, @Michsior14, [@Misiu], @mnigbur, [@Quentame], @springstan, @thaohtp, @tulindo

Thank you so much!

Python 3.6 support is deprecated

Since version 0.101, support for Python 3.6 has been deprecated. We are currently working on Python 3.8 support, which is expected soon.

Therefore, this release marks the last release, which supports Python 3.6.

If you haven’t upgraded your system to Python 3.7 yet, it is recommended to do so, to ensure you can keep using Home Assistant in the future.

If you are using Docker or Hass.io, you don’t have to worry about this, since we provide a matching and working Python version for you.

Frenck Joins Nabu Casa

As announced during the State of the Union 2019, Frenck has joined Nabu Casa.


We gave some love and attention to the automation editor, fixing some bugs and adding some useful features.

Natural language improvements

We add area support for automations that you create with natural language, and we try to pick the right area or device for you if you mentioned the name.

So you can now say: “Turn the lights on in the living room”, and it adds all the light devices of your living room to the automation. By clicking Choose individual devices, you can add or remove devices.

Screenshot of the result of the above query Screenshot of the result of the above query.

YAML support

You can now edit every individual trigger, condition or action as YAML. This makes it possible even to do very complicated automations in the automation editor and allows you to copy parts of your automation quickly.

Screenshot of the automation YAML editor Screenshot of the automation YAML editor.

Rearrange actions

We also added the ability to rearrange your actions, so you don’t have to start all over when you want to add a delay between 2 service calls. Talking about the service call action, that has now an entity picker to help you search for the right one.

Screenshot of automation actions Screenshot of automation actions.

In other news

New Integrations

The following integrations are added in this release:

New Platforms

The following platforms have been added to existing integrations:

Backward-incompatible changes

If you are an existing user, make sure to read the this section before upgrading, this helps you understand the changes and avoids having issues during an upgrade.

Updated Service Names

All services for use in Home Assistant are moved to their integration naming space.

The list below shows service calls and platforms which have been moved to their own integrations - @raman325

  • Local File: camera.local_file_update_file_path -> local_file.update_file_path (#28890)
  • Elk-M1 Controller: alarm_control_panel.elkm1_* -> elkm1.* (#29128)
  • Neato: vacuum.neato_custom_cleaning -> neato.custom_cleaning (#29148)
  • Envisalink: alarm_control_panel.envisalink_alarm_keypress -> envisalink.alarm_keypress (#29126)
  • IFTTT: alarm_control_panel.ifttt_push_alarm_state -> ifttt.push_alarm_state (#29129)
  • AlarmDecoder Alarm: alarm_control_panel.alarmdecoder_alarm_toggle_chime -> alarmdecoder.alarm_toggle_chime (#29127)
  • Econet: water_heater.econet_* -> econet.* (#29149)
  • APNS: notify.apns_* -> apns.apns_* (#29165)
  • Facebox: image_processing.facebox_teach_face -> facebox.teach_face (#29151)
  • HTML5: notify.html5_dismiss -> html5.dismiss (#29145)
  • Lifx: light.lifx_* -> lifx.* (#29136)
  • Mill: climate.mill_set_room_temperature -> mill.set_room_temperature (#29132)
  • Todoist: calendar.todoist_new_task -> todoist.new_task (#29131)
  • Wink: lock.wink_* -> wink.* (#29137)
  • Wemo: fan.wemo_* -> wemo.* (#29135)
  • Bluetooth: device_tracker.update -> bluetooth_tracker.update (#29161)
  • Demo: device_tracker.randomize_device_tracker_data -> demo.randomize_device_tracker_data (#29164)
  • iCloud: device_tracker.icloud_* -> icloud.* (#29144)
  • Blackbird: media_player.blackbird_set_all_zones -> blackbird.set_all_zones (#29112)
  • Bluesound: media_player.bluesound_* -> bluesound.* (#29111)
  • Channels: media_player.channels_* -> channels.* (#29139)
  • Epson: media_player.epson_select_cmode -> epson.select_cmode (#29113)
  • Monoprice: media_player.monoprice_* -> monoprice.* (#29099)
  • Songpal: media_player.songpal_set_sound_setting -> songpal.set_sound_setting (#29143)
  • Soundtouch: media_player.soundtouch_* -> soundtouch.* (#29140)
  • Squeezebox: media_player.squeezebox_call_method -> squeezebox.call_method (#29141)
  • Xiaomi Miio: *.xiaomi_miio_* -> xiaomi_miio.* (#29134)
  • Xiaomi Miio: *.xiaomi_* -> xiaomi_miio.* (#29134)
  • Yamaha: media_player.yamaha_* -> yamaha.* (#29142)

Other backward-incompatible changes

  • Mobile App - Loading the Mobile App no longer causes the Cloud integration to be loaded. If you relied on this, add cloud: to your configuration.yaml. - (@balloob - #29373) (mobile_app docs)

  • Samsung TV - The behavior for next and previous track commands for Samsung TVs has changed. Before the change, the Samsung TV integration reacted to the two above commands sending the KEY_FF and KEY_REWIND commands. While watching TV programs, those two commands do nothing. After the change, the entity sends the KEY_CHUP and KEY_CHDOWN commands instead, thus allowing the user to change the channel using the media player standard Lovelace interface. The user doesn’t need to change anything in the configuration. - (@tulindo - #28213) (samsungtv docs)

  • Wake on LAN - The configuration key mac_address: was renamed to mac: to be in sync with the service. (@fabaff - #28830) (wake_on_lan docs)

  • PulseAudio Loopback Switch - The default port was incorrectly set to 4712, however, the official documentation states that the default port is 4713. Therefore, the port has been changed and all previously configured switches now need to listen to port 4713. - (@springstan - #28857) (pulseaudio_loopback docs)

  • Z-Wave - This changes the primary command class for z-wave thermostats in discovery schemas from COMMAND_CLASS_THERMOSTAT_SETPOINT to COMMAND_CLASS_THERMOSTAT_MODE. This will cause a typical dual setpoint thermostat to be correctly represented as a single entity. - (@oandrew - #27040) (zwave docs)

  • Transmission - Added host field to add_torrent service in order to support multiple Transmission instances. (@engrbm87 - #28653) (transmission docs)

  • Opentherm Gateway - Adds device support. This change breaks enabled sensor and binary_sensor entities, which are now disabled by default and can be re-enabled through the Devices panel. It also breaks entity_id of the climate entity in some configurations. The entity_id is now based on the gateway_id rather than the configured name to guarantee uniqueness. - (@mvn23 - #28722) (opentherm_gw docs)

  • Intent - If you use the built-in intents for shopping list, cover or light, you need to add intent: to your configuration.yaml. - (@balloob - #29280) (conversation docs) (cover docs) (light docs) (shopping_list docs)

  • Emulated Hue - As previous entityid were not Hue compliant, emulated_hue_ids.json will need to be cleared out and devices re-discovered and configured in Alexa / Google Home. This is a necessary growing pain to move the integration forward in a Hue-compliant fashion. - ([@NobleKangaroo] - #28317) (emulated_hue docs)

  • Miflora - Values for an unresponsive device aren’t reported any more as if they were valid, so it’s possible to send an alert. - (@ferbar - #29276) (miflora docs)

    Example configuration YAML:

    - id: plant_unreachable
      alias: "plant unreachable"
        - entity_id: sensor.plant_moisture
          for: 01:00:00
          platform: state
          to: unavailable
  • Entity ID - It is no longer possible to target all entities by not passing both entity_id and area_id to your service data. This feature was previously deprecated and has been printing warnings. The correct way to target all entities is to set entity_id: all - (@balloob - #29178)

  • Heatmiser Thermostat - The Heatmiser integration has been updated to the latest version of the heatmiserV3 library, meaning less code inside HA, and more leverage on the library. The current version of the Heatmiser integration went out of date with the introduction of voluptuous. This has now been fixed, but it breaks the old config syntax slightly. See the updated docs for the new config format. - (@andylockran - #29006) (heatmiser docs)

Release 0.103.1 - December 18

Release 0.103.2 - December 19

  • Fix dependency installation recursinog (@balloob)

Release 0.103.3 - December 20

Release 0.103.4 - December 22

Release 0.103.5 - December 28

Release 0.103.6 - January 6

If you need help…

…don’t hesitate to use our very active forums or join us for a little chat.

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.

Read on →

Sonos shutting down local voice option Snips

It’s that time of the year. The time when it’s cold outside, it’s cozy and warm inside, we’re spending time with friends and family, and time for big companies to drop local accessible technology (2015, 2018).

On November 20, 2019, Sonos announced that they had acquired Snips earlier that month. Snips was a popular option for people to get local voice control in their homes.

In the same month of the acquisition, Snips has announced that they are shutting down their console for users. The console allows users to train their system with custom sentences and intents. By shutting this down, it is no longer possible to make any changes to your local Snips system.

Screenshot of the post to announce shutting it down. Announcement on the Snips forums.

What is actually worse, is that it looks like they are not shutting down their console completely, they are just shutting down public access. They could support users, but actively decide not to do so. It seems like they don’t want us to know this, as they have edited their announcement on the forums.

Edit history shows they removed the word public access. Edit history of the announcement shows they removed the words "public access to".

Voice control, powered by Snips, might show up in future Sonos devices. However, Sonos is not accessible to many people out there. The customizations will also be lost according to Patrick Spence, the CEO of Sonos, in an interview with Variety:

“We are not building an ask-anything assistant,” Spence said. Instead, the goal of the acquisition was to build something a lot more music-specific.

Bad move by Sonos

A very bad move by Sonos. This is not a world in which it’s Sonos vs. Google vs. Amazon. It is not even a fight just about smart speakers, it is a fight about if the audio system in our house is local and private, or not.

By taking Snips off the table, there is one less option for local voice control. These users will now look for alternatives, which will include cloud options.

Technology often ends up with a winner takes all. Sonos has just made a better case for its competitors, again.

What the local home needs

Audio is an essential part of our homes. We want to play music, be notified of events (i.e., doorbell) and we want to be able to use our voice to control our devices. A system that provides this, needs to run locally and be accessible via an open API.

Sonos could be this system, they have great hardware that works together nicely. However, they are keeping their API tightly controlled, making it impossible for a user to build on top of it.

It is a choice. They could keep the Snips console open to the public, open up their modern local API and embrace the community that cares about local control. Nevertheless, they choose to work against it.

So Sonos, why are you?

Home Assistant for everyone

With Home Assistant, we want to help people live their life, while helping out in the background. I wrote about this in 2016 when I detailed my view on the perfect home automation. We’ve been working towards this ever since.

In 2019 we focused on “Make It Easier” (see State of the Union for details). We made Home Assistant easier to use, configure and to contribute to. Every time we make it easier, we become accessible to more people. There is still a ton we can make easier, and that’s great because 2020 is around the corner and we need things to do :-)

During Thanksgiving, Home Assistant made it to #1 on Hacker News, a social news website focusing on computer science and entrepreneurship. The comments had lots of users chiming in with their positive experiences. One comment stood out to me and I wanted to share it:

Just wanted to say that my life as a quadriplegic would be 13.4 million percent more crap without Home Assistant. Being quadriplegic and having something as open as Home Assistant is absolutely amazing, I have automated absolutely everything in the house and home assistant has not choked once.

Couple that with one of the friendliest communities for newbies I have come across in a long time and you have something really awesome.

I've been using it for a couple of years, I have tried all the other open source alternatives but nothing really comes close for me. I'm actually fiddling with my installation right now as it were.

I cannot plug my phone in to charge it up myself obviously, so I am writing a little automation that will check who is in the house and announce through the speakers my phone needs charging up or send them a text message if I have their phone number when my mobile phone charge gets below 20%.

Totally cool beanz and I am totally serious about how much easier this makes my life as a quadriplegic.

escapologybb on Hacker News

This is just great. I love how this user can live a more comfortable life. It’s really motivating.

I also really like the first reply to the above comment. It highlights how we tend to judge things from our perspective and that our perspective might not paint the whole picture.

Thanks for your comment. I came to this discussion with my blinkers on, so to speak, pre -judging how I need less automation in my world, and you give concrete evidence how someone's "meh" can be balanced by untold advantages (13.4 million, in fact) of such a system.

Thanks for making me eat humble pie and broadening my views. Sometimes more tech is helpful indeed.

Ps: The way you're applying it is creative and awesome too!

cmroanirgo on Hacker News

As Home Assistant grows and evolves, let’s make sure we don’t judge the additions and changes based on just our own perspective and needs. Think about how it can help other (potential) Home Assistant users. It’s our goal that a privacy-focused home automation platform is within everyone’s reach, regardless of background, location or income.


State of the Union 2019: Recap

On November 13, 2019, 150 Home Assistant community members gathered at ING in Amsterdam for the Home Assistant State of the Union 2019.

That evening, Paulus Schoutsen (founder Home Assistant) and Pascal Vizeli (founder hass.io) presented what Home Assistant is up to, why we’re doing what we’re doing and what we got planned.

Video of the event is embedded below (it starts at 7:12):


The State of the Union could not have been possible without the time and energy of the following people:

  • ING for hosting us once again ❤️
  • Erik-Jan Riemers for organizing – Rockstar ⭐️
  • Frenck for managing the livestream
  • Arjan Vroege for assisting the team


We’re #10 open-source project in the world

GitHub posted their State of the Octoverse, listing Home Assistant as the tenth biggest project in the last year based on the number of contributors.

This is especially impressive because all the other things on the list are related to, or maintained by billion dollar companies.

Top 10 biggest open-source projects.Top 10 biggest open-source projects.

Home Assistant around the world ❤️

Improved Scenes

In Home Assistant 0.102 we’re launching a new scene editor. We’re also adding two scene services scene.apply and scene.create. First one allows you to apply a scene without prior defining it, the second one allows you to create a scene on the fly.

iOS app

@robbiet480 has submitted the new and updated iOS app to the app store and it will be available soon.

Source code

Android app

We have released a new Android app! Download it here. It’s being developed by @CedrickFlocon and we’re already seeing a ton of other contributors jump in. Awesome!

Source code

OAuth2 Account Linking

We’ve made it easier in Home Assistant for integrations to use OAuth2 account linking. This is available starting Home Assistant 0.102. Somfy is the first partner to use it.

It works using a small cloud service provided by Home Assistant Cloud. It is available to all users for free, no cloud account necessary.

Check the updated developer documentation if you want to add OAuth2 account linking to an integration.

Teamed up with Almond: privacy-preserving virtual assistant

We’ve teamed up with the Stanford Open Virtual Assistant Lab to bring Almond to Home Assistant users. Almond has been upgraded with Home Assistant integration and users can now talk to Almond via the Lovelace UI.

You can run this standalone, as a hass.io add-on or via a version hosted in the cloud by Stanford.

Short description of what Almond is.Short description of what Almond is.

For more information, check the announcement blog.

Ada, voice assistant powered by Home Assistant

We have introduced a new project called Ada. Ada is a voice assistant that outsources all processing to the speech-to-text (new!), conversation and text-to-speech integrations in Home Assistant. You can pick your own providers for each integration.

You can run this standalone or as a hass.io add-on.

For more information, check the announcement blog.

Source code.

Architectural overview of Ada.Architectural overview of Ada.

Voice for Home Assistant Cloud

Nabu Casa has introduced a new beta service providing speech-to-text and text-to-speech services to Home Assistant Cloud subscribers powered by Azure Cognitive Services. This will make it easy to get started with Ada or use it to send spoken notifications to speakers in your house.


We’ve been working with the Open Z-Wave developers on a new solution that will allow us to migrate to the new Open Z-Wave 1.6 relase and make it easier to stay up to date in the future.

We’re expecting to launch an MVP soon. This effort is driven by @cgarwood.

Source code

Frenck is joining Nabu Casa

Frenck will be joining Nabu Casa as the fourth employee working full-time on Home Assistant.

“If I could describe my dream job, it would be being a full-time open source developer; Helping the world to become a better place by dedicating my time & knowledge to create & innovate open source software solutions. Allowing everybody on this earth the privilege to enjoy those things for free.”    – Franck Nijhof (Frenck) on frenck.dev

Create automations using your voice

We have been able to leverage Almond’s neural network to allow users to generate automations using natural language. This means that you can now create an automation by telling Home Assistant to “turn on the lights when I get home” and we’ll convert it to the appropriate automation in Home Assistant.

Source code.

Screenshot of the create automation dialog. Screenshot of the create automation dialog.

Share the love ❤️

Home Assistant is the community and the community is Home Assistant. Help us spread the Home Assistant love, help others and share your knowledge on YouTube, blogs and other media.

Almond & Ada: privacy-focused voice assistant


  • Teamed up with Almond, available in Home Assistant 0.102.
  • Introducing Ada, voice assistant powered by Home Assistant integrations. Available as Hass.io add-on.
  • New beta speech-to-text and text-to-speech service for Home Assistant Cloud subscribers.

Voice assistants are a great way to interact with your house, ask a quick question, set a timer or control your devices. The more an assistant knows about you, your home and its other inhabitants, the better it is able to help you.

Today’s available virtual assistants work great, but they have a big problem: They store your data in the cloud, don’t provide APIs to allow other companies to build products on top and are run by companies whose core business is building profiles on their users to help serve ads and product suggestions.

The backbone to our homes needs to be one that keeps data local and has APIs allowing other companies to build on top. Innovation happens when many different people, with many different backgrounds, do many different experiments until we find something that sticks. This cannot be left to a single company.

Recently we got in touch with the Open Virtual Assistant Lab at Stanford University. In the last four years, they have been working on a virtual assistant named Almond. And it’s a perfect match for Home Assistant.

Read on →

0.102: Official Android App, Almond, Scene editor

Home Assistant 0.102 is here ! It’s been quite the trip as we hosted our annual State of the Union last week, which took a lot of energy away from our release. This doesn’t mean that we don’t have anything to share, just that the notes might be a little less polished.

First, we had our State of the Union at the ING office in Amsterdam! It was great. You can watch it back on YouTube or keep an eye out for the blog post coming soon that will summarize all the announcements.

Alright, so what’s new? A lot.

Android App released!

At the State of the Union we announced that we have released the initial version of the official Home Assistant Android app. It’s still a work in progress, but the basic version already works.

It’s been developed by @CedrickFlocon and the source is available on GitHub. We’ve already seen some other developers step in, so that’s great! Keep it coming.

Read on →

0.101: Airly, Apprise, Sinch, Solar-Log, Microsoft Teams


It is almost the end of Hacktoberfest, and boy, it was a good one. We had a total of 1318 PRs merged in the last month. And most of them are in this release!

We had: 154 authors on home-assistant 184 authors on home-assistant.io 30 authors on home-assistant-polymer

A lot of thanks to all the contributors!

API Password and trusted networks

It is no longer possible to make authenticated requests using trusted networks or by appending ?api_password=X to the URL. You will now first need to get an authentication token and use that token to make requests.

These features were deprecated in Home Assistant 0.90 and 0.91 (released around April 2019). It was initially planned to be dropped in Home Assistant 0.96 (released July 17, 2019).

The support of configuring the auth providers for API Password and Trusted Networks via the HTTP configuration is also removed. It now needs to be configured in the auth provider section (docs).

Direct authentication meant that you could make an authenticated request without a bearer token by making the request from a trusted network or appending ?api_password=X to the URL.

These features are still available as authentication providers (docs).

You can use Long-Lived Access Tokens that can be created in the fronted on your profile page. These tokens will not expire and can be added in the header of the request. See the developer documentation for more info.

Screenshot of the Long-Lived Access Tokens interface in the profile page. Screenshot of the Long-Lived Access Tokens interface in the profile page.

Or you can use a webhook-based-integration. A webhook is a unique hard to guess URL that can be used to send data to Home Assistant. Requests made to webhooks do not need authentication. Your webhook should be available from the internet, if you have a cloud subscription, the cloud will take care if this. You can find the cloud webhook URLs on your cloud configuration page.


As you may have already read, we’ll be sunsetting Hassbian.

Hassbian was a superset of Raspbian optimized for Home Assistant. With limited time from the developers and easier alternatives as Hass.io it is time to sunset Hassbian.

A big thank you to all those who worked on Hassbian - specifically @landrash, who was the primary driver of this for so long, and @ludeeus.

For more info, read the blogpost

Device automations

This release includes improved support for alarms, covers, locks and sensors. A “for” option was added in release 0.100 which allows you to specify triggers for when a certain device has been in a certain state for a period of time, in this release we added support for it in the automation editor.

Screenshot of a device trigger with duration. Screenshot of a device trigger with duration.


A lot has happened on the frontend; we had a ton of Hacktoberfest PRs that added localization to the frontend and made our user experience better. A special shout out to @springstan who did a lot of localization work, we now have the biggest part of our UI translatable!

Thanks a lot to all the contributors!

We now have our own confirmation dialogs thanks to @timmo001! No more ugly browser modals.

Screenshot of a confirm dialog when restarting Home Assistant. Screenshot of a confirm dialog when restarting Home Assistant.

In the last release, we changed all the JSON inputs to YAML inputs, this release we add a code editor to all the YAML and Jinja2 inputs. This makes it a lot easier to read and write YAML.

Screenshot of the service dev tools with YAML editor. Screenshot of the service dev tools with YAML editor.

The entity registry is now also migrated to a datatable so you can easily search and sort your entities so it is easier to find the one you are looking for.

Screenshot of the entity registry data table. Screenshot of the entity registry data table.

We improved the device picker in automations, you can now search them and see in what area the device is.

Screenshot of the device picker. Screenshot of the device picker.

mdonoughe added support the activate scene action in the automation editor.


Check the Lovelace changelog for all changes.

In other news

New Integrations

New Platforms

Release 0.101.1 - October 31

Release 0.101.2 - November 1

Release 0.101.3 - November 5

If you need help…

…don’t hesitate to use our very active forums or join us for a little chat.

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.

Read on →