Blog

Home Assistant Companion for Android 1.6 and 1.7

Over the last week, we’ve released some awesome new features and improvements to Home Assistant Companion for Android. I wanted to take a moment to highlight some of the recent things that we introduced in 1.6 and 1.7.

Actionable notifications

Now you can define action buttons to attach to a notification dynamically. When you click one of those buttons, an event is fired back to Home Assistant so you can take action based on the button chosen.

Here’s an example to check with a user if they want to close the garage door after it has been left open for 30 minutes:

automation:
  - alias: "Notify apps when the garage door opens"
    trigger:
      platform: state
      entity_id: cover.garage_door
      from: "closed"
      to: "open"
      for: ‘0:30:00’
    action:
      service: notify.mobile_app_robbies_pixel_5
      data:
        message: "The garage has been left open"
        data:
          image: https://www.home-assistant.io/images/merchandise/shirt-frontpage.png
          actions:
            - action: "close_garage" # The key you are sending for the event
              title: "Close Garage Door" # The button title

  - alias: "Close the garage when notification action is tapped"
    trigger:
      platform: event
      event_type: mobile_app_notification_action
      event_data:
        action: close_garage
    action:
      service: cover.close_cover
      target:
        entity_id: cover.garage_door

After adding these automations, whenever your garage door remains open for 30 minutes, your device will get a notification that looks like this:

A notification showing an open garage

When you press that close garage button… your garage will close!

We are planning to expand notifications over the next few versions to continue to match the existing functionality available in the iOS app. That includes things like sending text back to Home Assistant and critical alerts.

Requesting location updates via notification

You can now send a notification with just the message request_location_update and once it reaches your device, it will update its current location in Home Assistant. Be careful using this too much though, as it can drain your battery.

Sensors

New in version 1.7, we have added the first sensors to the app. For now, you will find the following new sensors:

  • Battery percentage
  • Battery state
  • Current Wi-Fi network information

We plan to keep expanding sensors in the near future to add things like cellular status and more.

Docs

Thanks to a few dedicated volunteers and a mad dash, we have a newly refreshed docs website. It’s using the latest version of Docusaurus, which means it’s got a new coat of paint and even dark mode support. So much easier on the eyes!

In addition to the tooling updates, we’ve also begun documenting Android and iOS differences. Keep an eye out for the Android and Apple logos to denote what works where.

Over time we plan to bring Android and iOS as close together, in terms of features and the ways they interact with Home Assistant, as much as possible. To allow using both platforms in the same way, so that users who are using both platforms, or switching platforms, can use them without any modifications.

Finale

In addition to the highlights above, we’ve also killed an impressive amount of bugs. Thanks goes to JBassett, KBerstene, quthla and neopilou for their work on all of the above.

Enjoy the new release! Don’t forget to leave a rating if you like the app, it will help other users find the app.

Get it on Google Play


Community Highlights: 2nd edition

Thank god, it’s Friday! For most of us, it means we can tinker with our Home Automation projects again 😃

The second edition of the Community Highlights is here to provide you a fresh source of inspiration this weekend. And, if that is not enough, upgrading to the latest release of Home Assistant Core 0.105 is definitely a recommendation for your list. It introduces tons of new shiny features for you to play with.

So, what changes did you make to your Home Assistant setup this week?

DIY Smart Candles

For starters, if you are looking for a cool DIY project, 3ATIVE shared a YouTube tutorial on how to make sweet little smart candles that work with Home Assistant.

The code for this project is shared on GitHub: Smart-Candles.

Thanks balloob, for submitting this suggestion 👍

Vanlife: Home Assistant on the Road

Creative use of Home Assistant; we’ve seen quite a few vehicles in the past being fitted with Home Assistant (including boats). Zane Claes (aka Technically Wizardry), shares his story on building a vanlife van with a touch of home automation magic.

In the past few months on the road, he built out a Home Assistant installation that’s geared to work in a car/vehicle. A full blog post explains how he integrated with On-Board Diagnostics (OBD) to read out the status of the van, implemented a dash camera (that doubles as a security camera), temperature sensors and the monitoring cellular internet usage.

You can read Zane’s full blog post here:

https://www.technicallywizardry.com/iot-cars-vans-home-automation/

He also made his Home Assistant configuration publicly available on GitHub.

Thanks, Robbie Trencheny & cgtobi for sending in this item in! 👍

An auto-generating Lovelace UI theme

Dwain Scheeren shared a preview of his Lovelace theme on the Home Assistant Community Forum. The cool think about this theme, is that it automatically generates itself!

Unfortunately, the source code for this isn’t available yet, however, Dwain wrote on the forums that he is planning on releasing it soon. We are looking forward to that, Dwain!

You can follow the development of this theme on the dedicated topic for it on our Community Forum.

Visualizing everything in Grafana

Ivana Huckova had a Hack Day at Grafana (the company she works for) and decided to work on her home to visualize everything (in Grafana, of course).

Click on the tweet above to see the full thread of all tweets she did that day.

Oh, Ivana? Did you know we have Grafana available as an add-on? You can find it in the Home Assistant add-on store.

Got a tip for the next edition?

Have you seen (or made) something awesome, interesting, unique, amazing, inspirational, unusual or funny, using Home Assistant?

Click here to send us your Community Highlight suggestion.

Also, don’t forget to share your creations with us via Social Media:

See you next edition!


0.105: Safe mode, Headers & Footers, New Zones Editor, Garmin, Sighthound

In case you have missed it, we decided to change the names we use here at Home Assistant, you can read all about it in this blog post.

Therefore, this is release 0.105 of the Home Assistant Core!

The old “States UI” is now deprecated

In June 2018, we released Home Assistant 0.72, which introduced Lovelace. It became our official default user interface in January 2019, with the release of Home Assistant 0.86.

This means, it is now over a year ago that Lovelace was officially introduced as a replacement for the states UI, so it is time to say goodbye to the old states UI. This release deprecates it and in version 0.107, the states UI will be removed from Home Assistant completely.

If you are not using Lovelace yet, we advise you to switch to it today. Lovelace is, by default, almost the same as old states UI with the bonus of a lot of flexibility, if you want it.

In addition to this, all configuration options for the States UI are deprecated as well. Please be sure to read the backward-incompatible changes to see if you have options that need to be removed from your configuration.

Safe mode

We are humans, and we do make typos. However, if we make a typo in our configuration, we might end up with Home Assistant being completely unreachable. That really is not helpful. You lose access to Home Assistant and have to do a deep dive via other methods to find out: Why did this happen?

This release introduces a “Safe mode” for Home Assistant. If during startup, Home Assistant has problems reading your configuration (for whatever reason), it will still continue to start using bits and pieces from the configuration of the last time it did start.

When this happens, Home Assistant will start in “Safe mode”. In this mode, nothing is loaded, but it does give you access to the Home Assistant frontend, settings and add-ons (for example, the VSCode or Configurator add-on). This gives you the possibility to correct the issue and restart Home Assistant to re-try.

Screenshot of Home Assistant started in safe mode Screenshot of Home Assistant started in safe mode.

Please note, that this feature isn’t perfect yet, and only works if Home Assistant was able to start successfully, after upgrading to this release, at least once.

We believe this feature makes Home Assistant more robust, easier to use and more forgiving, even if you made a mistake.

Revamped Supervisor panel

Remember we used to have a Hass.io panel? Well, with the new naming for Home Assistant, it has been renamed to the Supervisor panel.

So @ludeeus has been busy! He rewrote the entire Supervisor panel to match our current frontend technologies and added some really slick new visual elements to it.

Thanks, @ludeeus, it looks incredible!

Screenshot of the revamped Supervisor panel Screenshot of the revamped Supervisor panel.

The new icons on the add-ons really make the add-on dashboard & store stand out. Also, new status indicators on the add-on cards make it easy to spot add-ons that need to be upgraded, or in case of visiting the add-on store, are installed already.

Please note, you need to be running Home Assistant Core 0.105 to see the new icons.

Configuration panel changes

In this release, we started the overhaul of the configuration panel. We have accumulated a lot of functionality in the configuration section in the last releases; now, it is time to bring it all together.

In upcoming releases, we will make changes to make things easier to find and connect the different elements with each other, making it easier to navigate around. For now, we implemented configuration sections, a new tabbed UI, as well as some visual tweaks.

Also updated, the device page to show the automations, scripts, and scenes a device is used in and added the ability to create new ones with the device easily.

Screenshot of the new device info page Screenshot of the new device info page.

In the more info dialog of entities, we changed the settings button to open the entity settings dialog, and added a related tab as well! This allows you to can see what device, integration, area, scenes, scripts, automations, entities, and groups belong to that entity.

For scenes, scripts and automations that are created in the UI, an edit button is added, right in the more info dialog so you can easily edit it without searching for it.

Header & Footer for the entities card

Two new types are added to the entities card, a header and a footer. At this moment, we have two options for these, an image and buttons.

It allows you to create some very cool looking cards, but also provides you the option to put buttons in the bottom of the card. Very useful for buttons that activate scenes, for example.

Screenshot of the new header and footer for entities card Screenshot of the new header and footer for entities card.

Improved zones editor

A brand new zone editor! You can no longer find your zones in the integration list, but they moved to their own section in the configuration panel.

In this new editor, you can move your zones with drag and drop and even change the size of your zones by dragging the circle.

Adding, and removing zones or changing the name of a zone, is now easier than ever.

Screenshot of the zones editor Screen recording of the zones editor.

The new editor will only work for zones that are created in the UI, zones that are set up in configuration.yaml are read-only. Additionally, if you define zones in your YAML configuration, please be aware that setting a name is now required.

As an extra added bonus, a new service was added: zone.reload. This service allows you to reload your zone configuration without restarting Home Assistant.

Icons no longer change color based on state

A change that is not really apparent at first, but you probably notice it sooner or later.

The entities card no longer changes the colors of icons based on states, except for lights.

Reasoning comes from a request, to make icons to become yellow for all types when an entity is active, and not for just a few entity types. However, this would get out of control very quickly, as shown in the screenshot below.

Yellow icon color on everything, isn't the solution either Yellow icon color on everything, isn't the solution either.

So, that is why we disabled it, by default, for all entity types, except lights. However, we did add a new option: state_color. Using this option, you can decide if you want to old behavior back, add it to more entity types or maybe even disable it for lights too!

Other cards will now display icons from more domains with an active color.

Other Lovelace and frontend improvements

There is a lot more done on Lovelace, more than we can mention, some other highlights:

  • In generated mode, entities that start with the name of the area or group they are in will be shown without the name of the area or group. So if you have a light named “Living room lights” that is in the area “Living room” they will be shown as “lights” in a card with the header “Living room”.

  • We no longer show device_tracker entities in generated mode. We advise you to bind one or more device trackers to a person that will be shown in the UI.

  • We added many accessibility features to Lovelace; you can navigate almost everything with the tab key. We will continue to work on this so that people with disabilities can also enjoy Home Assistant.

For a full list of changes, see the Lovelace changelog.

Even more frontend improvements:

  • Logbook panel is a lot quicker
  • Maps no longer fit zones, but only entities
  • ZHA panel now supports binding devices to groups
  • Ability to add new areas on the device page
  • Material Design Icons are updated to v4.8.95
  • A lot, like a really large amount, of bug fixes!

In other news

This section is now empty, but don’t be sad! The in “In other news” section now has its own dedicated blog post, which we will put out regularly:

Want to read the first edition? Community Highlights, first edition!

Have you seen (or made) something awesome, interesting, unique, amazing, inspirational, unusual or funny, using Home Assistant? Send us your Community Highlight suggestion, so that we can include it in the next blog post.

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.

Read on →

Community Highlights, first edition!

Back in 2015 and in 2016, we tried starting a series of blog posts called “Community Highlight”, a few times, a blog post appeared about the amazingly awesome stuff our community does with Home Assistant.

Recently, that idea was picked up again by adding an “In Other News” section to the release notes on each Home Assistant release. However, the development pace of Home Assistant is high! As a result, that section is always hidden all the way down somewhere in those release notes. A bit unfortunate, since there is so much cool stuff to be found!

So, today, we present you: the Community Highlights, the first edition!

Technically, not the first, but we rebooted this series, right?

We hope you enjoy this, please let us know in the comments below!
Or join us for a little chat in our #lounge at Discord

../Frenck

A different take on designing your frontend

Mattias Persson showed an interesting alternative approach to the design of his Lovelace UI. It looks fabulous; we don’t even know where to start explaining, check the video below for an impression:

Mattias created a post in the Community Forum with all the details, including more screenshots, the things he used and links to his GitHub repository. Everything you’d need if you wanted to replicate this for your own use. Thanks Mattias!

Smart toilet roll holder

Com’on, we all know what it is like to be in the restroom, taking a number two, discovering that you are out of paper.

For the-berik, on our subreddit, it was reason enough to do something about it. He converted his toilet roll holder into a smart version using an ESP8266 chip, a load cell and ESPHome, allowing Home Assistant to know how many rolls of toilet paper are left on the holder.

Click on the video below to see how it works.

Smart toiletroll holder with Esphome and Homeassistant from r/homeassistant

Smart mailbox sensor, the easy way

Another one from our subreddit, where choketube shares his pride for the mailbox sensor he created. He placed a Hue motion sensor inside his mailbox that will trigger if it is opened, really smart and simple!

He demonstrates his mailbox in the video below.

Proud of my new Automation - Hue Sensor in my Mailbox from r/homeassistant

Got a tip for the next edition?

Have you seen (or made) something awesome, interesting, unique, amazing, inspirational, unusual or funny, using Home Assistant?

Click here to send us your Community Highlight suggestion.

Also, don’t forget to share your creations with us via Social Media:

See you next edition!


Changing the Home Assistant Brand

Over the last few years, we have accumulated a wide range of projects under our umbrella. We started out as a Python application (called Home Assistant) and later added an operating system (HassOS) and management system (Hass.io Supervisor) to it, to allow users to easily manage their homes, but also to provide a system that is easy to keep up to date.

These different projects all come together in Hass.io. A system that is secure, easy to keep up to date and runs the most powerful home automation platform in the world. But having Hass.io and Home Assistant has been confusing for a lot of people, especially for newcomers to our great community.

The next step in making Home Assistant simpler is by making our naming simpler. It’s our goal to make private home automation accessible to everyone. And as part of that, people need to know how to refer to it.

Home Assistant is a home automation operating system for your home. And to make this message clear, we’re renaming Hass.io to Home Assistant, and Home Assistant to Home Assistant Core.

Note: this is only about renaming projects and does not impact any functionality of any of the projects.

If you run Home Assistant today in a Docker container or run it inside a Python virtual environment, you are running “Home Assistant Core”. Home Assistant Core will forever remain a standalone application like it is today. We promise.

This name change is a huge thing! Not just a big thing we all need to get used to, but even bigger for everything that needs to be renamed! It definitely takes a couple of weeks to get the main parts re-branded.

So bear with us while we do so.

Paulus


Home Assistant Companion for Android 1.5.0

Today we’re releasing Home Assistant Companion for Android 1.5.0. This is a great release with some cool new features and new collaborators joining in on the fun!

Big thanks in this release goes to our Android lead @JBassett who has been squashing a ton of bugs, added support for the status bar to adopt the application theme and fixed finding existing Home Assistant instances on the network.

A cool new feature that has been added is a new home screen widget. Use it to quickly trigger your favorite scripts, scenes or any other service in Home Assistant. Thanks to @KBerstene for the initial implementation and @JBassett for polishing the configuration screen.

For all you people that want to run the Home Assistant app on a tablet on the wall, good news! Thanks to @neopilou there is now a new option to make the app full screen.

To get the most out of our apps for Android and iOS, check the Home Assistant Companion website.

Enjoy the new release! Don’t forget to leave a rating if you like the app, it will help other users find the app.

Get it on Google Play


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! ❤️

Cheers!

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.

Frontend

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"
      trigger:
        - entity_id: sensor.plant_moisture
          for: 01:00:00
          platform: state
          to: unavailable
      action:
    
  • 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 →