Blog
0.110: Speed! OpenZWave beta, HomeKit Cameras, ONVIF, Calendars
Do you know how excited I am for bringing you Home Assistant Core 0.110?
Would you believe me, if I told you I’ve been upgrading my personal Home Assistant production instance to the latest development version almost every day?
Well, better believe it, it is how I started my day for the last 3 weeks. It felt like opening new presents and enjoying amazing improvements every day.
Today, we are shipping it all to you, as one big package. 🎁
This is definitely one of the bigger releases of Home Assistant on all levels. Speed improvements to both the frontend and backend, lots of usability improvements, 12! new awesome integrations and an insane amount of major updates to existing ones.
Enjoy the release!
../Frenck
Icons
In Home Assistant Core 0.109, we made the frontend lighter and faster, this release takes it a step further.
The way icons are loaded is updated. With the ever-growing Material Icons set, it was necessary to update the way we handle icons to make sure our application continues performing.
The Material Icons are now split in chunks, so the frontend does not have to load all the icons if you just need one; besides that, we no longer store the icons in the DOM but in a database.
This saves a lot of memory and thus makes the Home Assistant frontend even more leaner and faster!
Honestly, it is not just icons… A lot is optimized to make the frontend faster this release. It is now snappier than ever!
Integrations grouping, searching & custom logos
@timmo001
We also grouped the entries by integration now, this means we no longer show multiple cards for the same integration, but show a list of the names if there are multiple entries.
If you click the entry, it will show that entry in the card. This makes it easier to keep an overview of all your integrations.
Screenshot of the integrations page.
Oh! We’ve also made the icons and logos available for custom integrations!
Screenshot of the HACS integration with its icon shown.
OpenZWave integration now in beta
This release features the new OpenZwave integration. It has been in testing as a custom integration by the community since last December and is now ready for a wider audience.
It is still early days for this integration, though; not all platforms and devices are supported yet and the setup process has prerequisites that raise the accessibility bar. See our documentation for the current requirements and instructions.
If you want to give it a shot, you should be comfortable with setting up custom add-ons and MQTT. There is no migration from the current Z-Wave integration yet, this is still to come.
The plan is to add more platforms in the future, making it super simple to set up the integration. Stay tuned.
There is currently no plan to deprecate the existing Z-Wave integration. But the hope is that the new integration, in the future, will offer a simpler, more stable and more feature-rich experience than the current Z-Wave integration.
Thanks go out to the community that has been testing the custom integration
and provided very valuable data to allow us to catch bugs and support more
devices. A special thanks to @cgarwood
Every discovered integration can be ignored
An often reported issue/request feature is to allow any discovered item to be ignored. Most integrations supported that already, but some didn’t.
As of 0.110, we have a new development rule requiring an integration to support ignoring discovered items; and for 0.110, we have upgraded all integrations that didn’t support it yet!
Result: Any discovered item, can be ignored.
Screenshot of showing ignorable integrations.
Calendar panel
Thanks to @zsarnett
It shows you all items of the calendars you select in a month, week or day view. There is also a calendar card for Lovelace in the making.
Screenshot of the Calendar panel.
Weather card
We got a lot of feedback about the updated weather card of the last release, we listened to feedback and added some features. You can now theme the colors of the new icons, and you can even completely replace them with another image.
You can also set the attribute you want to show as the secondary information.
Screenshot of the updated weather card.
Check the documentation for more information.
Internal & External URLs
There are many cases where an integration needs the URL/link to your Home Assistant instance. For example, to set up a webhook, communicate audio files or camera streams to an Amazon Alexa or Google Assistant device.
We used to have a base_url
setting to deal with those cases, but that wasn’t
always sufficient. Some integrations require specific requirements for that
setting, which could lead to conflicting or impossible settings.
It often resulted in broken TTS, streaming issues for camera’s or issues with casting. This release addresses this issue by introducing two new settings in Configuration -> General.
Screenshot of the URLs configuration.
If you want to set those via YAML, homeassistant:
main configuration has now
a external_url
and internal_url
setting.
These settings allow you to override the URLs Home Assistant uses when communicating on your internal network versus the outside world. Please note, that these are overrides. By default, Home Assistant will try to figure this out on its own.
If you have a Home Assistant Cloud subscription, integrations can now also leverage that. This will reduce the amount of, often complex, configuration needed.
After upgrading to 0.110, you can delete base_url
from your configuration
as Home Assistant will automatically migrate that setting for you on upgrade.
Support for “not” conditions in automations
When an automation triggers, one can use conditions to check if the set actions of an automation should be run. Conditions, however, always take the positive approach: If “something” equals or is “this”.
As of this release, the conditions now have support for specifying if a condition (or set of conditions) should “not” match. This can be helpful for devices or entities that have multiple states, but you actually only want to ensure it is not just that one state.
Screenshot of the automation editor with a "not" condition.
This feature has been added to the automation editor, but is also available for writing automations in YAML:
# Example automation
alias: "Turn kitchen lights off when alarm is armed."
trigger:
- platform: state
entity_id: alarm_control_panel.home_alarm
condition:
- condition: not
conditions:
- condition: state
entity_id: alarm_control_panel.home_alarm
state: disarmed
action:
- service: light.turn_off
target:
entity_id: light.kitchen
HomeKit
@bdraco
HomeKit can now be configured and set up from the Home Assistant frontend, and even allows you to set up multiple instances! This allows one to bypass the maximum amount of devices a single HomeKit gateway supports by adding multiple. Using multiple, will also allow you to bypass the 1 TV per bridge limit on HomeKit.
Ready for this? Home Assistant Core 0.110 now has camera support for HomeKit!
And if that wasn’t enough already, the HomeKit integration now sends out more information as HomeKit accessory information. So besides the entity id, which was already present, you can also see which integration (and its name) provided the accessory in HomeKit.
Screenshot from HomeKit. Left: accessory information, Right: Camera support.
ONVIF
The ONVIF integration did get lots of love from @hunterjm
And that is not all… It now leverages more features of the ONVIF protocol: pull point subscriptions. This means that events from ONVIF will now show up in Home Assistant as well. So, if your ONVIF compatible camera supports things like motion, object or sound detection, those will be available now!
Screenshot of an ONVIF camera in Home Assistant.
Supervisor
Have you seen the new supervisor UI? @ludeeus
Screenshot of the Supervisor panel.
Some add-ons are now also marked “advanced” and are only visible when you’ve enabled advanced mode on your user profile.
Other noteworthy changes
-
It took a while, as many adjustments had to be made. This is the first release supporting Python 3.8 🎉!
-
Quite a few optimizations to make Home Assistant go faster. One of the major changes is that Home Assistant will now set up all configured integration instances in parallel during startup. Some startup speed reported improvements from 82 seconds before this change and 28 seconds after this change. That is a huge improvement!
-
The info page in the development tools now shows more information about your set up. Including the name for your installation method. It will tell you if you run Home Assistant, Home Assistant Supervised or Home Assistant Core.
-
@MartinHjelmare
added a new detection method for integrations that potentially harm Home Assistant during runtime. We can now detect if an integration tries to close Home Assistant’s (shared) HTTP client. If this happens, it will be prevented and write an error message to your log, similar to how the I/O detection does it (released in 0.109). -
The ISY994 got a major upgrade! While it has quite a few backward-incompatible changes, it is now available via the UI and many bug are squashed. Thanks @shbatm
!
New Integrations
- Add numato integration (@clssn
- #33816 ) (numato docs) (new-integration) - Add zwave mqtt (@MartinHjelmare
- #34987 ) (zwave_mqtt docs) (new-integration) - Add Home Connect integration (@DavidMStraub
- #29214 ) (homeconnect docs) (new-integration) - Add BleBox integration (@gadgetmobile
- #32664 ) (blebox docs) (new-integration) - Add devolo home control (@2Fake
- #33181 ) (devolo_home_control docs) (new-integration) - Add agent_dvr integration (@ispysoftware
- #32711 ) (agent_dvr docs) (new-integration) - Add Universal Powerline Bus (@gwww
- #34692 ) (upb docs) (new-integration) - Add Flick Electric NZ integration (@ZephireNZ
- #30696 ) (flickelectric docs) (new-integration) - Add BSBLan Climate integration (@liudger
- #32375 ) (bsblan docs) (new-integration) - Add Zerproc integration (@emlove
- #35477 ) (zerproc docs) (new-integration) - Add wiffi integration (@mampfes
- #30784 ) (wiffi docs) (new-integration) - Add forked_daapd integration (@uvjustin
- #31953 ) (forked_daapd docs) (new-integration)
New Platforms
- Add Xiaomi miio Alarm Control Panel (@starkillerOG
- #32091 ) (xiaomi_miio docs) (new-platform) - Config flow for hunterdouglas_powerview (@bdraco
- #34795 ) (hunterdouglas_powerview docs) (new-platform) - Add battery sensors to hunterdouglas_powerview (@bdraco
- #34917 ) (hunterdouglas_powerview docs) (new-platform) - Add zwave_mqtt sensor platform (@cgarwood
- #35135 ) (zwave_mqtt docs) (new-platform) - Add zwave_mqtt light platform (@MartinHjelmare
- #35337 ) (zwave_mqtt docs) (new-platform) - Universal Powerline Bus Scene support (@gwww
- #35401 ) (upb docs) (new-platform) - Add Climate Platform Support to ISY994 (@shbatm
- #35440 ) (isy994 docs) (new-platform) - ONVIF Event Implementation (@hunterjm
- #35406 ) (onvif docs) (new-platform) - Support BleBox sensor (@gadgetmobile
- #35374 ) (blebox docs) (new-platform) - Add binary sensor platform to zwave_mqtt (@marcelveldt
- #35519 ) (zwave_mqtt docs) (new-platform)
Integrations now available to set up from the UI
The following integrations are now available via the Home Assistant UI:
-
Blink, done by @fronzbot
-
HomeKit, done by @bdraco
-
Hunter Douglas PowerView, done by @bdraco
-
Lutron Caséta, done by @chrisaljoudi
-
Mill, done by @Danielhiversen
-
ONVIF, done by @hunterjm
-
Pi-hole, done by @shenxn
-
Tibber, done by @Danielhiversen
-
Tuya, done by @ollo69
-
Universal Devices ISY994, done by @shbatm
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
[On hold] Deprecating Home Assistant Supervised on generic Linux
[Update May 26]
New blog post published with next steps.
[Update May 10]
We’ve been overwhelmed with the many reactions. We realize our communication has been poor on this subject, for which I want to apologize. We do not collect data and so can’t always judge the impact of our decisions.
We’re going to put the deprecation plan on hold for now. Anyone running this installation method today can continue running this. We will offer more clear information in the future.
We’re going to investigate how we can maintain the supervised installation on generic Linux.
Furthermore, we are going to make sure that supported installation guides are properly documented.
Paulus
TL;DR: Home Assistant Supervised (also known as Home Assistant on Generic Linux) installation method is no longer supported.
There are currently three different ways of installing Home Assistant:
- Home Assistant: our operating system running either directly on a supported device like the ODROID N2, Raspberry Pi 4, Intel NUC or a virtual machine.
- Home Assistant Supervised: an installation of core + supervisor that are hosted on a generic Linux installation.
- Home Assistant Core: our Python core application running in a Python virtual environment or a Docker container.
The benefit of running the Supervisor is that you are able to keep Home Assistant up to date from within Home Assistant, and easily install add-ons that are pre-configured to be able to integrate with Home Assistant.
The Supervisor is an extremely complicated program that interacts with a wide range of applications and components in the host operating system. Examples are Docker containers, DNS, sound and USB hardware sticks that users want to use with Home Assistant. The Supervisor is controlled from Home Assistant which allows us to create a full home automation hub experience.
The Home Assistant operating system is made with the bare minimum that the Supervisor needs to run and makes sure it does not get in the way of the Supervisor: the system is fully managed by the Supervisor.
Some users still wanted to be able to control the host operating system, and so a generic installer was introduced that could install Home Assistant Core and Supervisor on a generic Linux system, like Debian or Ubuntu.
However, when people run it on top of their own system, things can go wrong. And in fact, it’s quite complex to maintain it on generic Linux. Installing is fine, everyone can follow a tutorial, but after that when things break, people come to us, not the author of the tutorial. And this workload keeps growing, to a problematic extent.
Home Assistant OS and Supervisor are being maintained by Pascal. He started them 3,5 years ago and has been maintaining this first in his spare time, later as a full-time employee of Nabu Casa.
Building the operating system and the supervisor is a complex task that requires specific expertise. Sadly after 3,5 years, there are still no other contributors to help. This has resulted in his responsibilities outgrowing what one can expect from a full-time employee.
Nabu Casa was founded to make the development of Home Assistant sustainable. To be able to maintain a healthy work/life balance and to avoid developer burn-out that is, unfortunately, common in the open source world.
In an effort to reduce Pascal’s constraints we’re per direct no longer supporting the generic Linux installation method. It will no longer be mentioned in the documentation. We have archived the repository. If you are willing to maintain it, feel free to fork it. Issues that result from using this will be ignored or closed when reported to us.
Open Source & Community
Just as with our recent decision to limit the usage of YAML in some cases, Home Assistant will keep choosing health over features. Open source is not about us having to support every feature anyone on the internet can think of. Open source means that anyone can do that themselves and choose to share this or not.
There are still tons of ways of installing Home Assistant, there are still tons of features and customizations possible.
Frequently Asked Questions
How do I run Home Assistant while still keeping control over the operating system?
We offer a virtual machine image of Home Assistant. These images can be used on e.g., VMWare, VirtualBox and Proxmox, and also on NAS systems that support running a VM as most modern NAS systems do. Using these provided images will give you the full supported Home Assistant experience.
You can find virtual machine images here.
I run on a platform that doesn’t support VMs and I still want to keep control over the operating system.
To do this we recommend running Home Assistant Core in Docker. You will lose out on the easy updates, system management and pre-configured apps (add-ons) from the UI. However, you are still able to run the full beating heart of the Home Assistant home automation platform.
All applications that are available as Home Assistant add-ons are also available as third-party Docker containers. You will be responsible to configure them to work with Home Assistant Core yourself.
I know what I am doing. Can I still use the generic Linux installer?
Yep, the archived repository is still there. You can also fork it and change things. But there is no official resource to visit when things break.
I am currently running Home Assistant Supervised. Now what?
Everything will continue to work as-is. Bugs won’t be fixed and you should consider migrating to one of the other methods. If you are migrating to a virtual machine, you can make a snapshot in the Supervisor panel and restore that in your new installation.
[Edit May 9, 16:19] Removed paragraph from Open Source & Community as it was insinuating.
0.109: New integrations page and weather card, frontend lost weight.
Last week we wrote about the future of YAML. It raised quite a
bit of additional questions, so Phil
Click here to listen to the Podcast
Home Assistant Core 0.109!
This release ships a lot of work that is not directly visible for the eye. We have seen a lot of bug fixes, stability improvements and quality improvements, which is really awesome! There’s more to this than meets the eye.
A new integration configuration page
Let’s start with something visible to the eye. As part of our configuration layout overhaul, we started work on the integration page. The screen now shows cards for every configured integration, and links to a filtered device and entities pages instead of providing its own detail page with devices, options and entities.
All options are now on the same card. And, you can now also rename an already set up integration instance.
Screenshot of the new integration page.
Don’t the new logos look beautiful? A big thanks to all the people, who
have been working hard to complete our collection of logos and icons
Thanks to everybody for contributing, that is amazing! Special thanks to these
champs who did most of the heavy lifting: @adrianmihalko
As for the next steps in future releases; we will add search, group multiple entries of the same integration and add specific functions for integrations like ZHA.
New weather card
To accompany our new weather row design, @zsarnett
Screenshot of the new weather forecast card.
Weight loss for the frontend
The Home Assistant has a translations system, which is great since it allows one to use Home Assistant in the language one prefers.
However, it came with a performance penalty. All translations were downloaded each time. All of them. This is, of course, highly inefficient. With all the new frontend features added and the integrations that now comes to the UI, it slowly is becoming a bigger issue.
For this release, @balloob
Did you know you can help out translating Home Assistant?
There is no need to learn git or anything. It can be done straight from your browser! Read more about helping out translating Home Assistant on our developers website.
Detection of blocking I/O in the event loop
This is a bit technical, but some things happening in Home Assistant, like fetching data from an API or website, can lock up Home Assistant for a small moment, if not done correctly. Until now, this has been hard to detect.
This release adds logic in the core of Home Assistant that is able to detect if an integration does one of those blocking calls and writes a messages to the logs.
Screenshot of an example log entry.
If you see such a message in your logs, please report the issue on our
GitHub
By addressing these issues, we are able to greatly improve the performance, responsiveness and stability of Home Assistant.
Other noteworthy changes
-
@timmo001
Added the possibility to search in the Lovelace card picker.
Screenshot of the search added to the card picker.
-
There is now MQTT debug information on the device page of an MQTT device, awesome work @emontnemery
! -
@frenck
re-introduced support for transitions in scenes. Both the scene.turn_on
andscene.apply
services now accept atransition
option to make your scene transition on lights look smooth as butter. An example use is added to the documentation. -
HomeKit got love from @bdraco
. He has been squashing bugs, improving the overall stability and added support for Vacuums. Also, pairing with HomeKit now shows the easy to scan QR code, which makes it easier to set up. -
@Kane610
really went out into making the UniFi integration perfect. A lot of adjustments and improvements. Thanks! -
The iRobot Roomba integration now supports Braava too! Thanks @shenxn
!
New Integrations
- Add OpenERZ API integration (@misialq
- #30441 ) (openerz docs) (new-integration) - Support for pi4ioe5v9xxxx I2C IO expanders (@antonverburg
- #28847 ) (pi4ioe5v9xxxx docs) (new-integration) - Add device tracking support for the Arris TG2492LG router (@vanbalken
- #30972 ) (arris_tg2492lg docs) (new-integration) - Add Atag One thermostat integration (@MatsNl
- #32361 ) (atag docs) (new-integration)
New Platforms
- Add cover platform to Dynalite (@ziv1234
- #32594 ) (dynalite docs) (new-platform) - Add notify function for BMW Connected Drive (@gerard33
- #33484 ) (bmw_connected_drive docs) (new-platform) - Add Lightwave TRV (@ColinRobbins
- #31665 ) (lightwave docs) (new-platform)
Integrations now available to set up from the UI
The following integrations are now available via the Home Assistant UI:
-
Bravia TV, done by @bieniu
-
Flu Near You, done by @bachya
-
Flume, done by @bdraco
-
FRITZ!Box, done by @escoand
-
Islamic Prayer Times, done by @engrbm87
-
National Weather Service, done by @MatthewFlamm
-
Panasonic Viera, done by @joogps
-
Roomba, done by @Cyr-ius
-
Synology DSM, done by @Quentame
-
Tado, done by @bdraco
-
Totalconnect, done by @austinmroczek
-
Vera, done by @vangorra
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
The future of YAML
Recently, comments and questions in the community have been posted, about the announcement of integrations becoming available via the frontend and the removal of YAML support from some of them.
This raises questions and opinions that need addressing. It mainly comes down to this single question:
“Is YAML going away?”
The answer to this question is: “No!, but…”
Realizing you may not like that loose answer and, in that case, you are possibly looking for a hard and simple “NO” answer to this question. However, things are a bit more complicated.
This blog post aims to bring more clarity to this question, so everybody knows why things are the way they are right now and what to expect for the future of configuring Home Assistant.
Enabling configuration via the UI
Before talking about YAML, let’s explain the reasoning behind all the UI features introduced.
The Home Assistant project has grown at a ludicrous rate in the last few years. Being one of the few solutions to provide a local home automation platform, that puts privacy first, has gathered interest from all kinds of people on this planet.
In the beginning, Home Assistant was a small project; aimed at developers and the tech-savvy. With the growth of privacy concerns, but also the growth in the availability of IoT devices in our homes in general, the project gained traction; attracting lots of new community members that are not always the tech-savvy types.
This is great, but that also means we need to adjust, to make it usable for everybody. We want everybody to enjoy what we all have been enjoying already. No matter your level of experience.
Considering that, enabling and empowering people with managing their Home Assistant instance via the user interface is needed. Not just for the lesser tech-savvy, since it also brings convenience, that even many technically capable users enjoy and prefer.
Goal: Making things easier.
The goal of making it easier is currently the main focus.
Backward-incompatible changes
We all dislike them, those backward-incompatible changes when a new release is published. We all scan the release notes hoping you are not affected by any of them in that release.
There is a big upside on using configuration via the UI: Home Assistant manages that configuration part for you and handles the upgrades and migrations. Virtually removing the chances of hitting a breaking change, we all hate just as much.
Shareability & Security
This is a screenshot of one of the slides,
showed during the State of the Union 2019
Presentation slide showed during the State of the Union 2019.
We all like to share our experiences, and thus parts of our configurations.
GitHub is full of repositories
This is great! Sharing ideas, providing inspiration for all of us!
There is a great downside to this, which is privacy and security. There are a lot of things we don’t want to share. For example, our passwords, sensitive (personal) information or (historical) data.
A bit more technical, but integrations using OAuth2 as the authentication method to integrate with, for example, a service like Somfy don’t need to store the username/password at all.
Both YAML & UI
Home Assistant is moving towards a better separation of YAML configuration
versus configuration done in the UI. This is already partly showing in things
like zones, Lovelace and the recently introduced “Helpers”
(also known as the input_*
integrations in YAML).
Zones can be configured via the UI and via YAML (even at the same time!). Both configuration sources will be loaded by Home Assistant when considering the configured zones and both can be changed on the fly without restarting Home Assistant.
For the future, Home Assistant will be moving towards that concept more and more. This allows anybody to use the method they prefer.
In these cases, YAML support has been extended and improved by adding features like reloading and by removing parts that mess with your YAML files.
We are still an open-source project
Home Assistant is an open-source project and relies on contributors adding those amazing integrations, maintaining them and extending their functionality to make them even more capable.
Those contributors do this in their free spare time, for which we all are eternally grateful. It is their work that enables Home Assistant to do what it can right now. It is what automates your home.
So what about integrations that remove YAML support?
Some contributors have decided to remove the YAML support to reduce their maintenance and support burden. The amount of energy that needs to be put in (to maintain both capabilities) can be too much and is complex. We have to understand and accept that. If we do not do that, a contributor could simply stop contributing.
Unfortunately, such a move creates backward-incompatible changes and often leads to a few pretty de-motivating comments, towards the contributor and the project in general. This is harmful to everybody, as the contributors get demotivated or, even worse, don’t want to implement new features or create a breaking change.
This halts our project goals, slows down innovation and induces the risk of losing contributors and maintainers. In the end, leads to a greater loss for everybody.
The future of YAML
So, with all of the above set context: What is the future of YAML?
As of today, ADR-0010
- Any new integration that communicates with devices and/or services, must use configuration via the UI. Configuration via YAML is only allowed in very rare cases, which will be determined on a case by case basis.
- Existing integrations that communicate with devices and/or services, are allowed and encouraged to implement configuration via the UI and remove YAML support.
- We will no longer accept any changes to the YAML configuration for existing integrations that communicate with devices and/or services.
So what stays available in YAML in the end?
All other integrations that do not communicate with a device and/or service, are configured via YAML or via Storage Collections (these enable both YAML and UI capabilities used by, e.g., Lovelace and zones). Examples of these other integrations:
- Integrations that integrate transports. These integrations allow users to define their own protocol, e.g., MQTT, serial, GPIO.
- Integrations that process Home Assistant data and make this available to other integrations, e.g., template, stats, derivative, utility meter.
- Integrations that provide automations, e.g., automation, device_sun_light_trigger, alert.
- Integrations that help controlling devices and services, e.g., script, scene.
- Integrations that expose Home Assistant data to other services, e.g., Google Assistant, HomeKit.
This ADR is set to remove confusion and questions for everybody, builds upon the goals that have been set out (as presented during the State of the Union), and sets the guidelines for our contributors to work with. This ADR brings clarity for us all.
Myth-busting
In the raised concerns and comments across the community, some comments have been found multiple times. Please note, these are not exact quotes, as we don’t want to address anybody personally.
-
“Making backups became harder!”
Using the Home Assistant snapshot feature, this is not an issue. However, if you do manual backups on a system that runs just Core, you need to make sure to back up the
.storage
folder as well (which hopefully you’re already doing). Otherwise, there is no difference. -
“It is harder to test my configuration if integration does not support YAML”.
YAML configuration testing is often done to see if a specific YAML configuration is still valid against (newer versions of) Home Assistant. With integrations set up via the UI, this is not a concern, since Home Assistant ensures the data structure is compatible between versions and migrates it for you.
-
“I like to use a private git repository where I store all my data in, including my sensitive data, since it is not public. Without YAML this is not possible.”
This is actually not true, the
.storage
folder contains all Home Assistant managed configuration files in JSON format, which in those cases, can be stored and versioned in a git repository.
Is YAML going away?
No!
Not for the things we like to share publicly. It will also remain available for the advanced features we currently cannot provide a UI for. The goal is not phasing out YAML, the goal is to make the best home automation platform in the world that is easy to use for everybody. Enabling users of all experience levels, to enjoy this wonderful hobby we all share and allowing everyone to focus on what matters most: automating our homes.
Closing with the YouTube recording of the State of the Union 2019, starting at the part discussing this.
Special Home Assistant Podcast episode
A special edition of the Home Assistant Podcast has been put out.
In this episode, Phil
0.108: Logos, Area Pages, Lovelace Entity Card, Lovelace Map History
Before we talk about anything that matches the title of this blog post:
On behalf of everybody working on the Home Assistant project, we hope you, your family and loved ones are safe and remain healthy during this pandemic. Our thoughts are with everyone that has been deeply affected by the current situation.
Stay strong, keep distance from each other, wash your hands and stay safe.
❤️
We made it all up to 0.107.7 the previous release, 7! patch releases.
Some have noticed and commented on the fact we do a lot more patch releases the past months, which is correct. This is not because everything was shipped in a broken state, but we are trying to ship any bug fix to you as soon as possible! Just so you don’t have to wait 3 weeks for something to get fixed.
So let’s talk about the elephant in the room: Home Assistant Core 0.108!
Martin Hjelmare & Ashton Lafferty join Nabu Casa
We want to start by announcing Martin Hjelmare
Martin is a core team member for a long time, and initially started out contributing to the project by his work on the MySensors integration back in Home Assistant 0.11 (2016)! Most contributors to Home Assistant, will know Martin for his endless patience on the incredible code reviews he does.
Furthermore, Ashton Lafferty (cogneato) has been working some hours for Nabu Casa, to help out with things like support. Most of you probably know him from that already, as he is very active in helping out on our Discord server.
We are happy to announce that Ashton will now join Nabu Casa full-time as well!
Congratulations Martin and Ashton! 🎉
Integration logos & icons
We have created a new repository
In 0.108, we made a start on using the content from this repository in the Home Assistant frontend. The device information page got a layout update and the integrations page as well.
These pages will now show the icons and logos matching the integration.
Device information page showing the Hue logo.
Looking for a way to contribute to the Home Assistant project?
We still are missing a lot of images; So we are
calling out for help
Many integrations now available to set up from the UI
It is absolutely amazing to see all the upgraded integrations this release! Many contributors have gone out and added support to a lot of integrations to allow them to be configured via the Home Assistant frontend.
Not all of them were ready in time for this release; nevertheless, the list is amazing already:
-
Freebox, done by @Quentame
-
Monoprice, done by @OnFreund
-
Roku, done by @ctalkington
-
Doorbird, done by @bdraco
-
Elk-M1 Control, done by @bdraco
-
Logitech Harmony, done by @bdraco
-
MyQ, done by @bdraco
-
Network UPS Tools (NUT), done by @bdraco
-
NuHeat, done by @bdraco
-
Rachio, done by @bdraco
Yes, @bdraco
Lovelace Map history
Maybe not very useful during home quarantine, but a very cool feature for when
we are allowed to get out of our homes again.
@Hoytron
Screenshot of the map card with history.
New Lovelace card: Entity
@zsarnett
Screenshot of the entity card.
Area configuration page
We added an overview page for your areas. On this page you can see all the devices in the area, but also the automations, scenes and scripts that affect that area.
Screenshot of the area config page.
Horizontal stack now handles different heights better
When creating a Horizontal stack, the cards in the stack don’t always line up nicely. This has been adjusted. Horizontal stacks now deal better with the difference in heights of the cards on the stack.
Before and after screenshot for the Horizontal Stack improvements.
Other noteworthy changes
-
“Alexa, show the front door camera.” 😲 Alexa now has support for Cameras, thanks @ochlocracy
! -
Selecting your default Lovelace dashboard has been moved to the user profile page.
-
A lot of configuration pages are migrated to data tables, this means you can now search in your automations, scenes, scripts, users and areas.
-
Lovelace cards in panel views can now also be edited with the UI editor.
-
The graph from the sensor card is now also available as a footer for the entities and entity card.
-
The Markdown card has a new
user
variable that can be used to display the currently logged in user. -
With the ZHA Zigbee integration, Zigbee groups now dynamically create entities for lights, switches and fans that are grouped together. This enables near-simultaneous control over a large group of lights allowing them to turn on or off at the exact same time. Thank you @dmulcahey
! -
Cameras added using the ONVIF integration now automatically use the still images provided by the camera, instead of Home Assistant generating one. Nice work @roleoroleo
! -
WLED got quite a few internal upgrades, has added new Wi-Fi sensors and now has a service to control the effects of your WLED device.
-
Docker images for Home Assistant are now using Jemalloc, to reduce memory fragmentation and speed up memory allocation. So, less memory and generally a faster Home Assistant.
New Integrations
- Add Powerwalls integration (@bdraco
- #32851 ) (powerwall docs) (new-integration) - Add Nexia thermostat support (Trane / American Standard) (@bdraco
- #32826 ) (nexia docs) (new-integration) - Add pvpc electricity prices integration (@azogue
- #32092 ) (pvpc_hourly_pricing docs) (new-integration) - Add support for Bosch BMP280 Sensor (@belidzs
- #30837 ) (bmp280 docs) (new-integration) - Add Nextcloud Integration (@meichthys
- #30871 ) (nextcloud docs) (new-integration) - Add integration for Schluter (@prairieapps
- #31088 ) (schluter docs) (new-integration) - Add Internet Printing Protocol (IPP) integration (@ctalkington
- #32859 ) (ipp docs) (new-integration)
New Platforms
- Add support for nexia automations (@bdraco
- #33049 ) (nexia docs) (new-platform) - Add support for occupancy/vacancy groups in Lutron Caseta component (@swails
- #33032 ) (lutron_caseta docs) (new-platform) - Fire events for hue remote buttons pressed (@azogue
- #33277 ) (hue docs) (new-platform) - Add binary sensor for myq gateway connectivity (@bdraco
- #33423 ) (myq docs) (new-platform)
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
0.107: Multiple Lovelace Dashboards, adds helpers, new media player card
George F. Will
Well, George, we don’t agree: Announcing the release of Home Assistant Core 0.107!
This release brings a crazy amount of awesome new features and beautiful improvements to the frontend.
Bye old State UI
As announced with 0.105, the old States UI is now removed from Home Assistant. If you are using Home Assistant for a year or less, you might not have an idea what it is, since the “new” Lovelace UI has been the default. It is the UI we used before Lovelace.
If you are up for a flashback, maybe it is worth reading the release notes for Home Assistant 0.7 were the revamped (and now removed) States UI was originally announced. Now exactly 100 releases later, it is time to say goodbye to the states UI that has been with us for a long, long time…
As we announced the deprecation of the old States UI in 0.105, not everybody seemed to be that happy about it. So we surveyed to see what one would miss from States UI and learned that it is mostly used as an overview of all entities (besides having a nice layout that can be made in Lovelace).
In this release, we bring you a Lovelace solution for that and added a bit more…
Hello multiple Lovelace dashboards
You are now able to create multiple Lovelace configurations, called: Lovelace Dashboards!
You can have a dashboard with your main layout, one that is auto-generated (like the old State UI), one for experimenting, one for admins, one for your wall-mounted tablet, etc.
And, yes, you can even mix and match multiple YAML mode managed Lovelace Dashboard, UI managed Lovelace Dashboards and auto-generated Lovelace Dashboards at the same time.
Screenshot of the new Lovelace configuration panel.
Each dashboard can be added to the menu sidebar as well, with a configurable title and icon. Furthermore, it is possible to limit access to a dashboard to admin users only.
An unlimited amount of dashboards can be created right from the UI in the new
Lovelace configuration panel, and YAML dashboards can be set up in
configuration.yaml
, see the documentation.
This awesome new feature comes with a deprecation if you use Lovelace in
manual YAML mode: You need to move the resources
section from
your ui-lovelace.yaml
to the lovelace:
section in configuration.yaml
.
It is not a breaking change yet; we still load them from the previous location
if we didn’t find anything in the lovelace:
section, however, this fallback
is being removed in a future version.
If you manage your Lovelace via the frontend, we automatically migrate your resources. Please note that resources are not in the raw Lovelace configuration editor anymore, but in the Lovelace configuration panel.
New media player card
@zsarnett
It is inspired by the media control widget in Android and changes color based on the artwork of the played media. We think it looks absolutely gorgeous!
Screenshot of the new Media Control Card.
Helpers Configuration Panel
When you create advanced automations, you often need a helper. Like a toggle,
to save a state, or another input field. Until now, you always had to define
them in YAML and are known as the input_*
fields/integrations.
We now have a UI to add and manage these Helper elements; this allows non-expert users, or anybody that prefers the frontend to manage their system, to also access this functionality.
Screenshot of a helper configuration dialog.
Thanks @Adminiugainput_*
YAML
configuration without restarting Home Assistant.
Improvements to Lovelace editing experience
@zsarnett
Screen recording of the new card picker and stack editor.
Other noteworthy changes
-
@Misiu
added a UI to set the visibility per user for views. - Data tables, for example, the Entities configuration panel, are now lightning fast! Even on mobile 🚀.
- The logbook had some speed improvements, thanks @KapJI
! -
@bdraco
just went all-in on the August integration, making it a top-notch integration! Awesome job there! - Initial support for HomeKit enabled televisions and support for occupancy sensors was added by @Jc2k
. -
@tulindo
added support for newer SamsungTV models. - Alexa now supports starting and cancelling timers, thanks to @Tho85
.
New Integrations
- Add platform Ezviz (@BaQs
- #30378 ) (ezviz docs) (new-integration) - Add Avri waste collection sensor (@timvancann
- #31134 ) (new-integration) - Add Tankerkoenig integration (@guillempages
- #28661 ) (tankerkoenig docs) (new-integration) - Add QVR Pro integration (@oblogic7
- #31173 ) (qvr_pro docs) (new-integration) - Add edl21 component for SML-based smart meters (@mtdcr
- #27962 ) (edl21 docs) (new-integration) - Add IamMeter integration (@lewei50
- #30465 ) (iammeter docs) (new-integration) - Add griddy integration (@bdraco
- #32591 ) (griddy docs) (new-integration)
New Platforms
- Add Config flow to august (@bdraco
- #32133 ) (august docs) (new-platform) - Add Dynalite switch platform (@ziv1234
- #32389 ) (dynalite docs) (new-platform) - Add support for MELCloud Air-to-Water devices (@vilppuvuorinen
- #32078 ) (melcloud docs) (new-platform)
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
Community Highlights: 5th edition
Time for the fifth enactment of the Community Highlights!
We’ve received quite a few recommendations, but also closely monitored social media and found some gems to share again!
Controlling 7! marine aquariums with Home Assistant
Let’s start with showcasing a highly unusual, but impressive, Home Assistant setup.
It is shared on our Facebook group
Those are some big views Kevin! I bet you will be happy with the new Lovelace features that are coming in Home Assistant Core 0.107. It will help you to trim down that a bit, into multiple Lovelace Dashboards (now in beta, sneak peak?).
Click here to check out Kevin’s post on our Facebook group.
Thanks, Walt_H for sending in this item! 👍
Live energy consumption screen
Energy saving is good for the environment (and your wallet). However, to do that,
you have to become aware of your actual usage. /u/Lau-ie
shared his energy
consumption screen on our subreddit
This gives insight into the current usage, but also in the usage & costs of the consumed energy of the last 24 hours.
New energyconsumption screen, still tweaking it.from r/homeassistant
Do you actively monitor your energy usage? What does your dashboard look like?
A DIY smart magnetic key holder
And here is one from James Callaghan
My mind goes crazy at the number of problems a single sensor can solve. For me, this was for reassurance using @****home_assistant****
— James Callaghan #Microsoft (@jamescallaghan) March 9, 2020but when you think how this could be applied elsewhere concierge services to those with memory issues etc.. #smarthome #inclusivity #accessibility #IoT pic.twitter.com/sirygbCE7p
Consumer Reports: Open call for non-resident technologist fellows
Consumer Reports is an American non-profit organization that does independent, (product) testing and research for consumers to provide truth, transparency and fairness. Their results are published in a monthly magazine and on their website.
The Consumer Reports Digital Lab offers paid, non-resident fellowships to study the effects of connected (IoT) products and services. They welcome anyone interested in public technology research to apply for the fellowship.
If you are interested in this, more information can be found here:
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:
- Twitter it! Be sure to mention @home_assistant
- Share it on our Facebook group
- Post it to our subreddit
- Tag @homeassistant
on Instagram - Or via chat, drop us a line in the #lounge at Discord
See you next edition!
0.106.3: Coronavirus integration (COVID-19), track the outbreak
In December 2019, an outbreak of a novel Coronavirus
This novel Coronavirus is spreading globally at a disturbing rate, which keeps everybody on top of the news. The media worldwide is covering the spread of the virus constantly, and a lot of people are tracking the number of cases in their country.
This special release adds the Coronavirus integration, allowing you to track the outbreak from within Home Assistant.
The Coronavirus integration
While having a meeting at Nabu Casa
So together, we started working on an integration right away. We decided to bring you a special release of Home Assistant that includes this integration.
The Coronavirus integration tracks the number of people that are confirmed with, recovered from, and deceased caused by the virus in your country, or worldwide.
The data is sourced from the Johns Hopkins University
Screenshot of the Coronavirus integration in Home Assistant.
Adding the Coronavirus integration
This integration can be configured via the Home Assistant frontend.
- Go to Configuration -> Integrations.
- Click on the
+
in the bottom right corner to add a new integration. - Search and select the Coronavirus integration form the list.
- Follow the instruction on screen to add the sensors. Either choose for adding world-wide sensors, or a specific set of sensors for your country.
If you want to track both world-wide and one or more countries at the same time, you can repeat the configuration process described above to add multiple instances of the integration.
Resources
For the latest information about the Coronavirus, be sure check the website
of the World Health Organization
Community Highlights: 4th edition
For the 4th edition, I thought it fitted to devote the community highlights to 3D!
That is actually a lie, the 3rd edition would have been much more fitting, but was hijacked by Paulus ;) At least it’s my 3rd community highlight writeup, so that counts, right?
Ready for some highly inspiring and mind-blowing 3D creations?
3D home navigation and control, using Unity
Are you sure you ready? Because Harrie de Groot created a fully navigatable 3D model of his home using Unity, accessible from within Home Assistant.
You really need to watch the video below now…
Well done, Harrie! That looks slick!
More details on his creation can be found on the Home Assistant Community Forum.
3D printed interactive floorplan
If you have been around a bit, you might have come across a screenshot of
someone with an interactive floorplan in Home Assistant. Ryan Connolly
Talking about taking things into another dimension…
A janky video of my 3d printed @home_assistant
— Ryan Connolly (@rynam0) February 26, 2020floorplan running @NervesProject on a @Raspberry_Pi pic.twitter.com/jrLyrR5TNO
Getting started with your own 3D floorplan
Ok, so the above two, rather impressive, listings might be a bit out of reach
for the most of us. Still, with some help, you could still achieve some pretty
nice looking 3D floorplans. Aaron Godfrey
In his first blog post
He followed up with two blog posting on how to achieve this:
- Tips for creating a Floorplan in Sweet Home 3D
- Creating an Interactive 3D Floorplan in Home Assistant
Bonus tip: HomeByMe
I’ve personally got recommended a tool for creating a 3D floorplan with a tool
that is generally lesser-known, but actually pretty awesome! HomeByMe

This is a result of a 3D floorplan created with HomeByMe
It works fully in the browser and I enjoyed the experience using that.
So credits where credits due: Thanks for recommending me this sweet little
gem Andrea Donno
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:
- Twitter it! Be sure to mention @home_assistant
- Share it on our Facebook group
- Post it to our subreddit
- Tag @homeassistant
on Instagram - Or via chat, drop us a line in the #lounge at Discord
See you next edition!
0.106: Light brightness stepping, better Safe Mode and person dialog
Well, hello!, Home Assistant Core 0.106! We are happy to see you 😃
A great release that improves stability, reliability and a lot of helpful additions to make everything much more friendly and easier to use. So let’s dive in!
Safe Mode improvements
In Home Assistant 0.105, we introduced Safe Mode. Our goal is to make sure Home Assistant always starts and provide you an interface to work with. No matter what.
@balloob
Screenshot of Home Assistant running in Safe Mode.
Stepping up and down the brightness of lights
Ever tried to make an automation to brighten or dim your lights? Or tried to hook up a remote to control the brightness of a light? If you have, you probably know that doing that was pretty painful and involved some additional templating to get that going.
This release just made that a lot easier. An example device automation:
Screenshot of a device automation with dimming lights.
We have also added this functionality to the light.turn_on
service. You can now change the brightness, based on the current brightness,
using the brightness_step
(-255, 255) and brightness_step_pct
(-100, 100) parameters.
Good to know, when the brightness hits 0, it will turn off the light. If the light is already off, and you step the brightness up, it will turn on. This is awesome, because if you have a rotating dimmer button (for example, an IKEA SYMFONISK), you can rotate it to change the brightness, but also turn the light on/off by just rotating it.
Person more info dialogs improvements
Persons have a new more info dialog. They now show the location of the person on the map and if the person is not in a zone, you can create a zone with the current location of that person with one click.
Screenshot of the new more info for a person.
Entities configuration panel now shows all entities
The entities configuration panel previously only contained entities that were uniquely identifiable by Home Assistant (they have a so-called: unique ID). However, those are not provided by all integrations of Home Assistant, confusing since the entities panel did not show all of your entities.
In this version, we now include all entities in the panel, giving you a nice complete overview of all available entities in your system. You can’t edit all entities, since that requires an entity to be uniquely identifiable. If an entity doesn’t have a unique ID, the pencil icon will be striked through.
Screenshot of uneditable entities in the configuration panel.
Since all entities are now available in this panel, it does not only provide you a clear overview of all the available entities; you can also make use of the “related items” feature introduced in release 0.105 to see where they are being used!
Updates to the developer tools panels
The developer tools panel also got some nice little touches. In the “Info” tab you can now find a list of all integrations you are using and the logs are now aware of the integrations as well.
Both now include links to the documentation and our GitHub issue tracker. This allows you to dive in quickly when you run into troubles with an integration.
Screenshot of the integrations list and an example log message.
Sensor card
Our sensor card has had a style update. We initially got the design from the Lovelace Mini Graph Card
Screenshot of the updated sensor card.
Other noteworthy changes
But wait… there is more! Some other smaller noteworthy changes in this release:
-
In the zone editor that was introduced in the previous release, you can now change the location of your home zone. The radius of the home zone cannot be changed yet (we will work on that!), but you can drag the home zone on the map.
-
Also an improvement on a feature introduced in the previous release, the
state_color
option is now also available for other cards, so you can override the defaults of the cards. -
New automations now default to device automations instead of state triggers and service calls. Device automations are so much easier and clearer to create from the UI. You can, of course, still use the old triggers and actions like you are used to.
-
In the generated Lovelace we no longer include automations and battery entities. You can find these in the automation configuration panel and the battery in the device configuration page. If you want to have your automations and/or battery in your Lovelace UI, you can always take control and add them.
-
Scripts and scenes now have the ability to set a custom icon. Previously, you would have to create a customization to do this, now, you can just set them in your configuration.
scene: - name: Movies icon: mdi:movie-open entities: light.tv_back_light: state: on brightness: 125 light.ceiling: off
Custom cards
Are you the creator of an awesome custom card for Lovelace?
We have made some changes to Lovelace that might impact your custom card, so be sure to read the blog post on the developers site about this.
New Integrations
- Add Salt Fiber Box device tracker (@bjornorri
- #30986 ) (new-integration) - Add GDACS feed integration (@exxamalte
- #31235 ) (gdacs docs) (new-integration) - Add Minecraft Server Integration (@elmurato
- #30992 ) (minecraft_server docs) (new-integration) - Add MELCloud integration (@vilppuvuorinen
- #30712 ) (melcloud docs) (new-integration) - Dynalite Integration (@ziv1234
- #27841 ) (dynalite docs) (new-integration) - Add initial version of Vilfo Router integration (@ManneW
- #31177 ) (vilfo docs) (new-integration)
New Platforms
- Add totalconnect zones as binary sensors (@austinmroczek
- #28712 ) (totalconnect docs) (new-platform) - Add Tahoma lock support (@vlebourl
- #31311 ) (tahoma docs) (new-platform) - Clean up Tahoma smartlock (@vlebourl
- #31430 ) (tahoma docs) (new-platform) - Add Tado water_heater (@michaelarnauts
- #30095 ) (tado docs) (breaking change) (new-platform)
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