Home Assistant OS Release 6

four minutes reading time
Home Assistant OS Release 6 Logo

Home Assistant OS 6.0 stable is available now!

Highlights:

  • OS Agent for better OS integration with Supervisor

  • Support for additional Wi-Fi and Bluetooth devices

  • Smaller virtual machine disk images

  • Improved: Generic x86-64 system support

Table of contents

Operating System Changes

OS Agent

Operating System release 6 comes with a new, Go written daemon called OS Agent. This allows the Supervisor to access more aspects of the OS. One such aspect is to move the data to an external data disk or wipe data to start over without reinstalling. Note however that at this point, the required logic in the Supervisor and Frontend is still being developed.

Under the Hood

Under the hood, the OS was updated to the latest upstream Linux 5.10 kernel as well as Buildroot 2021.02.1. The latest Buildroot release brings tons of new software versions along with bug and security fixes. Some key components which received an update were systemd 247 and the Docker Container Engine 20.10.6.

Other Changes

  • The short name of the OS used throughout the software stack was renamed to “haos”. From a users perspective not much changes, but it leads to new file names.
  • The Home Assistant CLI is now started on tty1 instead of the login prompt. The HA CLI banner shows the IP and other device information without the need to attach a keyboard to login.
  • The default shell of the root user is now the Busybox ash. This allows to use scp and similar tools using SSH.
  • The system start is now delayed until the system time has been synchronized with an NTP server. This avoids connection issues to SSL/TLS enabled servers when the system time is off. In practice, the delay should only be a few seconds. The system proceeds with startup after 90s in case the NTP server was not reachable (e.g. if no Internet connectivity is available).

Device Support

Raspberry Pi

All Raspberry Pi versions were updated to use the Linux Kernel 5.10 from the Raspberry Pi team, just like Raspberry Pi OS. The latest Bluetooth firmware for CYW43455 (Raspberry Pi 3 B+/4) with security fixes is now part of the Raspberry Pi images.

Generic x86-64

In Home Assistant OS 6 the board/image “Intel NUC” was renamed to “Generic x86-64”. Existing “Intel NUC” installation will automatically migrate to the “Generic x86-64” image on update.

Already with OS 5 the “Intel NUC” image was usable for most UEFI capable x86-64 systems. With the rename that fact is emphasized. Home Assistant OS is open to changes to add drivers to extend support for other x86-64 platforms. However, keep in mind that we don’t have access to all x86-64 hardware, so support for devices is on a best effort basis.

Other Changes:

  • The Intel IGC network driver supports Intel network cards such as I225-LM/I225-V used on some newer Intel NUC devices.

  • With Home Assistant OS 6 the latest version of the Barebox bootloader 2021.05.0 which fixes boot from hard disks larger than 2TB.

  • The ACPI kernel driver for Thinkpad devices is enabled.

Open Virtualization Appliance

The virtual disk images are now built from a sparse file as source, which leads to smaller effective disk image sizes. Disk images are now also distributed in the more common zip file format (except the qcow2 images which are mostly used on Linux, they continue to be in the xz compression format).

By default, the image now has a serial console enabled which is useful to access Home Assistant OS on headless host systems.

Additional Wi-Fi and Bluetooth Device Support

Ralink rt27xx/rt28xx/rt30xx, as well as Realtek 87xx/88xx devices, are now supported on boards that don’t have onboard Wi-Fi/Bluetooth. This is also true for the OVA image for virtualized environments (when using hardware passthrough functionality). For the OVA image, also Intel firmwares are now part of the image so that Intel Wi-Fi/Bluetooth devices can be used in passthrough mode as well.

Homematic IP Support

@jens-maus contributed OS support for Homematic/Homematic IP dual-stack support for RPI-RF-MOD or HM-MOD-RPI-PCB devices. This together with the RaspberryMatic CCU Add-On offers the full functionality of RaspberryMatic embedded in Home Assistant.

Google Coral PCIe AI Accelerator Support

@ryddler enabled the driver for Google Coral PCIe TPU devices. This allows to use Google Coral Mini PCIe Accelerator or M.2 Accelerator on all boards supporting PCIe.

That’s all Folks! Now go out and update!


Community Highlights: 24th edition

two minutes reading time

The 24th edition of the Home Assistant Community Highlights! Some interesting things popped up around our community, which we thought was worth sharing.

Do you want to share something for the next edition? Information on how to share.

./Klaas
Intern on Home Assistant Energy

Blueprint of the week


I think this situation is familiar to many parents: your children who get out of bed too early and who you would like to learn when it is the right time to get out of bed.

This week’s blueprint is that of koosvanw, who created a blueprint for the above situation that works with a light that can change color and where the brightness can also be adjusted. Try it out! Read more about it on the community forum or install this automation in your instance with a click on the My button!

Threedy card


Do you have a 3D printer and are you not quite sure how to display it in a beautiful way in your Lovelace dashboard? Then try this card from dangreco, which works well in combination with octoprint.

ESPHome weather station


Have you always wanted to build a weather station in your garden? Then try the ESPHome variant of hugokernel, it is quite extensive with many measuring options.

Garage fingerprint


This week we also came across something cool that was shared on our subreddit page. For example, you could open a garage door by means of geofencing from your phone or with an NFC tag. But Nhminer has tried another option, namely opening with a fingerprint sensor 😲

Do you want to know more about it? Then also check this forum topic.

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!


2021.6: A little bit of everything

87 minutes reading time

A little bit of everything. That is probably the best way to describe this release. It is a packed release, with a lot of small new features everywhere!

Sonos got quite a bit of love, Hue now supports push updates, the UI has a lot of usability tweaks, MQTT added quite a few attributes, themes can now support modes… seriously, I can go on forever with this list.

So, no new big features (something might be cooking for the next release…), but a nice release that has something for everybody. Definitely worth scanning the all changes section for your favorite integrations.

../Frenck

Support for custom Dark mode themes

Previously, all themes automatically used our light theme as the base to build on. As of today, themes can be based on our default dark theme as well!

Not only that, @spacegaier added support for themes that can support both a Dark & Light mode in a single theme! This allows Home Assistant to select the dark or light mode of your custom theme automatically.

Screenshot of a custom theme supporting both light & dark mode Screenshot of a custom theme supporting both light & dark mode.

If you are a theme developer, you can find more information on how this works in the frontend documentation.

Oh, and of course, all your existing themes will still just work as before.

Collapsed attributes

Some entities provide quite a few attributes and those show up in the user interface. Most of the time, you don’t need to those and often contain technical data that only confuse or clutter.

To unclutter the more information entity dialog from these attributes a bit, the attributes will now show up collapsed into a bar and can be revealed with a click.

Screen recording of the collapsible entity attributes Screen recording of the collapsible entity attributes.

Time format settings

A couple of releases back, we added the possibility to select the number format that Home Assistant uses when showing numbers. Awesome! But… what about the formatting of time?

That question was raised a lot that release and many of you requested the same feature for time formatting, for example, if one prefers a 24-hour format.

Well, you can thank @spacegaier for this one:

Screenshot of new time format setting Screenshot of new time format setting.

You can find this new setting in your user profile.

Disable polling updates on any integration

One returning feature request, for many integrations, is adding controls for tuning the polling interval an integration uses.

For example, if an integration has an API that needs to be paid for and you don’t need too many updates, it can be a cost saver to use a slower polling interval.

Another often requested example is things like battery-powered devices, or maybe a device you only want to poll during the day and not during the night.

This release, we add support for disabling polling on every integration via the integration system options; for ALL integrations.

Screenshot of the system options of an integration showing the disable polling option Screenshot of the system options of an integration showing the disable polling option.

Wait? Disable polling?! Yes :)

So, there are many different requests on, for example, changing polling rates (also known as scan interval), but also requests for polling on a schedule, or, only based on other input (e.g., triggered by a motion sensor).

Therefore, we decided to provide the maximum flexibility for any use case you can come up with. Disabling polling makes Home Assistant stop polling automatically. However, you can use the homeassistant.update_entity service on those entities to trigger a poll for information.

This means, once you’ve disabled polling for an integration, you can create automations and completely customize when you poll that integration from that point on. All based on your own schedule, conditions or triggers.

Network integration

This release adds a new Network integration, created by @bdraco, to help other Home Assistant integrations to get the right information about your network.

It also provides you a single place to tell Home Assistant about your network. It is an advanced feature and thus will only show up if you have advanced mode enabled on your user profile.

You probably don’t need to change these settings, by default, Home Assistant will auto-detect the right configuration. However, if you have a more complex network configuration, with multiple network adapters or VLANs, you can now select the interface Home Assistant integrations should use.

Screenshot of new Home Assistant Network settings in the general configuration Screenshot of new Home Assistant Network settings in the general configuration.

Please note that this is a new feature that needs to be implemented/used by other integrations. At this point, not all integrations will honor these settings yet.

Other noteworthy changes

There is much more juice in this release; here are some of the other noteworthy changes this release:

  • The Modbus has been receiving lots and lots of love from @janiversen, a big shout out to him for continuously improving it for the past weeks!
  • The Hue integration now supports push updates! Blazing fast response times if you are using that platform.
  • @balloob and @bdraco have been working on replacing date/time/timezone handling in Home Assistant. Right on time.
  • All services, for all integrations, now have updated information for their service calls. This means all service calls now have a nice new UI. Amazing job @tkdrob!
  • Support for the new colors modes is slowly expanding. This release Elgato, Z-Wave JS, KNX and MQTT have added support.
  • Sonos got some love from @mountainsandcode, @AaronDavidSchneider and @jjlawren. A lot of fixes and improvements, but also added support for controlling the state of the hardware buttons and controlling your Sonos alarms!
  • The developer state tools, now shows the name of the entity additional to the entity ID. Searching/filtering the list now supports wildcards (*). Thanks, @spacegaier!
  • Thanks to @PeteBa, there is now a recorder.purge_entities service that allows you to purge data from the recorder database for specified entities.
  • Watson TTS has added a bunch of new voices to choose from, thanks @demikl!
  • Ding dong! @bdraco added support for doorbell buttons to the HomeKit Controller integration.
  • BMW Connected Drive, now provides a bunch of sensors about your last trip. Thanks, @EddyK69!
  • @emericklaw added a new feature that allows you to duplicate a scene!
  • My Home Assistant now supports linking to the Ingress interface of an add-on!
  • Light templates now have support for effects, transitions and a bunch more properties, thanks to @jacekpaszkowski!
  • VeSync now supports Etekcity light bulbs, thanks @sdrapha.
  • The universal media player now supports overriding a lot of commands! Thanks for adding that @Drafteed!
  • @mdz continues expanding the SmartTub integration adding service to change filtration settings and snoozing reminders.
  • The Elgato integration now supports the new Elgato LED strips.
  • If you are into Oracle DB, @mciupak made sure our recorder can now use that.
  • Z-Wave JS integration now shows progress when adding or re-interviewing a device. Thanks, @cgarwood!
  • The Nexia integration now also supports controlling American Standard thermostat, added by @bdraco.
  • @Drafteed added support for changing channels on your LG NetCast TV, thanks!
  • @mib1185 ensured that the UX for counters and number helpers look nice!

New Integrations

We welcome the following new integrations this release:

New Platforms

The following integration got support for a new platform:

Integrations now available to set up from the UI

The following integrations are now available via the Home Assistant UI:

Release 2021.6.1 - June 3

Release 2021.6.2 - June 4

Release 2021.6.3 - June 7

Release 2021.6.4 - June 11

Release 2021.6.5 - June 15

Release 2021.6.6 - June 20

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: 23rd edition

two minutes reading time

The 23rd edition of the Home Assistant Community Highlights! Some interesting things popped up around our community, which we thought was worth sharing.

Do you want to share something for the next edition? Information on how to share.

./Klaas
Intern on Home Assistant Energy

Blueprint of the week


This week’s blueprint is all about medication. It may happen that you forget to swallow it, what if you create an automation that sends you a message as a reminder every time? Mati24 has now made a handy blueprint for that, try it out!

Read more about it on the community forum or install this automation in your instance with a click on the My button!

Swiper card


Not enough space on your Lovelace dashboard? Then try the swiper card made by bramkragten, with which you can easily swipe through different cards in the same card frame.

Lovelace dashboard


Also this week we have a new Lovelace dashboard for the necessary portion of inspiration 😄 This time the dashboard of DoIGotSkillz, who made one for use on a tablet wall mount.

Would you also like your dashboard to be in the community highlight? Drop it on Reddit and maybe I’ll pick it out for the next edition.

Homegame


Recently we had an item about switching entities in Minecraft, well this time it’s a game again but in 2D. svendroid made a proof of concept game that you can play in the browser, you can adjust the map so that your own light entities work with it.

Demo of the 2D game

Doesn’t this also remind you of the old Pokemon games from the past? 😅

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!


Community Highlights: 22nd edition

two minutes reading time

The 22nd edition of the Home Assistant Community Highlights! Some interesting things popped up around our community, we thought was worth sharing.

Do you want to share something for the next edition? Information on how to share.

./Klaas
Intern on Home Assistant Energy

Blueprint of the week


Are you one of those who always leave the doors open?

Then this week we have a nice blueprint for you! BasTijs has made a blueprint that announces through text to speech in the house, that a door is open and only stops when the door is closed again.

Try it out! Read more about it on the community forum or install this automation in your instance with a click on the My button!

Sun card


On our Home Assistant reddit page we also encountered another nice project, namely that of AitorDB. Who made a Lovelace card that shows the position of the sun when it rises, is at its highest point and sets again.

Collapsed card


Is your Lovelace dashboard overflowing with cards and do you want to make some free space? Then try the card made by RossMcMillan92, which makes it possible to collapse entire cards and reappear as a dropdown.

Hyperion - HA bridge


You have those TVs where LEDs are mounted on the back so that the colors of the TV continue over the wall behind it, this is also called ambilight. If your TV is not equipped with this, you can also make this yourself through the Hyperion project. pimw has also written an instruction post about this on our community forum on how to connect the bridge to Home Assistant.

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!


Community Highlights: 21st edition

two minutes reading time

The 21st edition of the Home Assistant Community Highlights! Some interesting things popped up around our community, we thought was worth sharing.

Do you want to share something for the next edition? Information on how to share.

./Klaas
Intern on Home Assistant Energy

Blueprint of the week


Imagine, you are listening to music and suddenly you get a call, then of course you first want to turn the music down a bit to understand the person, what if we automate that with a blueprint!

This week’s blueprint is that of JackPoint, which will mute your media player when you receive a call and are at home. Try it out! Read more about it on the community forum or install this automation in your instance with a click on the My button!

Would you rather not have the media player muted but, for example, paused or take another action? More variants can be found on the Blueprint Exchange!

Car Telemetry


A few editions earlier we had shown the dashboard of Make_Itt_Work and it contained telemetry data from his car. The question was of course how does he do that?! Well, that question now has an answer, a video has come online with all the details.

Shower Duration


We’ve talked enough about saving energy, but using water efficiently is just as important. With the project from farstreet, which consists of some hardware and an automation, you could time how long you are in the shower and indicate with a LED light how long you have been under it.

Finished taking a shower? Then you can hear what your shower time was through a media player.

Mine Assistant


This item is especially nice for the Minecraft players, Andy has managed to switch a light in Home Assistant by means of a redstone block in Minecraft! In the Reddit post you can find more information about this project, as well code to get started yourself.

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!


Why Home Assistant doesn't have an external API for integrations

1 minute reading time

Home Assistant is the world’s largest home automation platform talking with over 1700 different devices and services. Home Assistant works with these via “integrations”.

Each integration runs inside Home Assistant. They convert the data from the device into data that Home Assistant understands and forward commands from Home Assistant back to the device. For this to work a device or service needs to have an application programming interface (API).

It is not possible for a device or service to provide lights, switches or other device types via the Home Assistant API without an integration. It can be faked, but it won’t work correctly. We explicitly did not add this feature because of interoperability.

If Home Assistant were to offer this option, devices and services would no longer be required to create an API for control – they could just implement ours. This creates vendor lock-in, locks other home automation platforms out and hurts the open Internet of Things ecosystem.

You should be able to access your data from your devices without any restrictions. Requiring a specific application to get to your data is not the solution.

Our goal is a home where all smart devices can be managed locally.

This stance will hurt us in the short term because we get less integrations. It is more work for a manufacturer to create an API and a Home Assistant integration.

In the long term the user will win. Devices with local APIs will still work 10 years from now and no one will be held hostage by vendor lock-in because some of their devices only work with Home Assistant.

Note about Home Assistant APIs: Home Assistant does have an API, just not for integrations. It allows you to access all your data in real-time. We also have a data science portal that documents how you can query the historical data stored on disk.


Easier notifications in iOS 2021.5

three minutes reading time

Notifications are a popular feature of the Companion apps, but the differences between Android and iOS made it painful to use them to their full potential. Starting with today’s release of iOS 2021.5, the vast majority of functionality is now shared across both platforms. As part of this, the notifications documentation has been extensively updated as well.

Actionable notifications

Building actionable notifications for iOS and watchOS no longer requires defining categories in advance of using them; instead, you can include the actions right in the notification. Support for macOS will be included in a future release. Categories were one of the hurdles around multi-server support, so removing them entirely solves that part!

Included in the documentation is how to migrate from categories to dynamic actions. Both are still supported in the app at this time, but categories will be removed in the future.

Below is an example script which sends an actionable notification and uses script variables, wait for trigger, and choose to decide what to run.

# In a script's `sequence` or an automation's `actions`
- alias: "Set up action variables"
  variables:
    # Including 'id' in 'action' allows us to identify this script run
    # and not accidentally trigger for other notification actions
    action_very: "{{ 'VERY_' ~ context.id }}"
    action_mod: "{{ 'MOD_' ~ context.id }}"
- alias: "Send the notification"
  service: notify.mobile_app_zac_iphone
  data:
    message: "Are you hungry?"
    data:
      actions:
        - action: "{{ action_very }}"
          title: "Very Hungry"
        - action: "{{ action_mod }}"
          title: "Moderately Hungry"
- alias: "Wait for a response"
  wait_for_trigger:
    # We wait for specific actions because we don't want to run for 
    # any action, only for a response to the one we just sent
    - platform: event
      event_type: mobile_app_notification_action
      event_data:
        action: "{{ action_very }}"
    - platform: event
      event_type: mobile_app_notification_action
      event_data:
        action: "{{ action_mod }}"
- alias: "Handle the response"
  choose:
    - conditions: "{{ wait.trigger.event.data.action == action_very }}"
      sequence:
        - service: notify.notify
          data:
            message: "⚠️ Soylent Launch Incoming"
        - service: homeassistant.turn_on
          target:
            entity_id: switch.soylent_dispenser
    - conditions: "{{ wait.trigger.event.data.action == action_mod }}"
      sequence:
        - service: notify.notify
          data:
            message: "Anyone want to grab a croissant? -Zac"

This works for both platforms without including any platform-specific logic! Other features around actionable notifications are also shared, including adding a URL to open when picking an action:

actions:
  - action: "URI"
    title: "View More"
    uri: "/lovelace/some-dashboard"

Replacing, grouping, clearing

Replacing existing notifications or threading certain notifications was another difference between platforms, and the iOS-specific versions were a bit less ergonomic, so the Android versions now work for both. You can now use the simpler tag and group keys:

- service: notify.mobile_app_<your_device>
  data:
    message: "The front door is unlocked!"
    data:
      # replace any existing front_door_lock notifications
      tag: front_door_lock
      # thread with other doors notifications
      group: doors

You can also remove an existing notification by its tag:

- service: notify.mobile_app_<your_device>
  data:
    message: clear_notification
    data:
      tag: front_door_lock

Attachments

Attachments no longer require certain categories for dynamic attachment, so you can include streaming playback of a camera for any notification:

- service: notify.mobile_app_<your_device>
  data:
    message: "Motion detected"
    data:
      entity_id: camera.outside

Specifying a non-dynamic attachment is a little easier now, allowing you to short-hand the attachment part:

- service: notify.mobile_app_<your_device>
  data:
    message: "3D Print Complete"
    data:
      image: /media/local/3dprinter/latest.jpg

You can use video, image and audio. Only image is supported on Android.

You may have noticed that iOS notifications have file limits; this release adds on-demand downloading of attachments that exceed the size limit or when requested using the lazy attachment option.

Future areas of improvement

We’re still on the lookout for places of confusion or redundancy in notifications across the iOS and Android apps. What would you like to see improved?


Community Highlights: 20th edition

three minutes reading time

Damn! We are already at the 20th edition of the Home Assistant Community Highlights! Some interesting things popped up around our community, we thought was worth sharing.

Do you want to share something for the next edition? Information on how to share.

./Klaas
Intern on Home Assistant Energy

Blueprint of the week


Recently Home Assistant has received support for the use of alarm keypads with deCONZ, which works with an alarm control panel entity and the deconz_alarm_event.

Therefore this week’s blueprint is that of Robban, with which you can use a physical (Zigbee) keypad to switch your alarm on or off.

Keep in mind: the support in deCONZ rest plugin is still in an alpha stage.

Try it out! Read more about it on the community forum or install this automation in your instance with a click on the My button!

Lovelace Dashboard


Also this week we have a new Lovelace dashboard for the necessary portion of inspiration 💡 This time it has become that of StreetInevitable5427, a beautiful Neon UI that looks so sleek that you would love to hang it on your wall 🖼️

Take also a look at the original post on Reddit. Would you like your dashboard to be in the community highlight? Drop it on Reddit and maybe I’ll pick it out for the next edition.

Browser Extension


Fresh off the press, we came across something really cool on the community forum.

bokub has made browser extensions for Chrome and Firefox with which you can display a Lovelace dashboard in your browser and thus quickly switch a light, for example.

ESPHome 1.17


A new version of ESPHome has also been released this week! 🥳

In particular, I would like to point out the new pulse_meter component, which is ideal for if you want to measure all your energy via a pulse LED on your smart meter or when you want to read what your water consumption is.

By combining measuring how many pulses there are within a time frame and the time between each pulse, you get even better accurate readings!

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!


2021.5: Stability, performance, triggers, color modes!

83 minutes reading time

Here I am again, a month later. Are you used to these monthly release cycles yet? Hello, 2021.5! Nice to see you this May!

I would say this release is a bit less feature rich compared to the previous release (which was epic, in my opinion!). But it is not a bad thing!

Some really good stability improvements have been introduced this release! Not the hot new items you want to explore immediately, but these fundamental things will really help our systems now and in the future. Making this release an upgrade that would be a smooth sail for most of us (check the breaking changes).

The most visual part changed this release can be found in the facelift that the integrations dashboard got. Oh, and the new color modes for lights is an amazing improvement as well!

May… For me, that feels like the summer is slowly trying to make its appearance and I’m looking forward to it 🕶. Do you have a summer Home Automation project figured out yet?

Oh, and don’t forget to tune into the release party live stream later today! (Spoiler alert: I’ve heard we might have a special guest, only Paulus didn’t want to tell me who it is…)

2021.5 Stream Party on YouTube: https://www.youtube.com/watch?v=bvAKUz-bmqU

../Frenck

Database upgrades & performance

There is a database upgrade in this release, but worry not as database upgrades now happen in the background and no longer prevent Home Assistant from starting. During migration, Home Assistant will prevent being restarted or stopped until the migration has been completed.

Thanks to @lmagyar and @raman325 we now can store events up to 64 characters and the recorder won’t get stuck if there is one exceeding that length.

And if you have ever had to wait for the recorder to shut down, worry no more as Home Assistant can now shut down successfully, even when the database is broken.

Talking about broken databases: if you have ever had database corruption of your SQLite database, you probably know how much of a pain it is to get things back up and running again. We recently added live recovery to allow Home Assistant to recover and start a new database when the recorder encountered corruption when saving events or states to the database. This release extends this live recovery to work during migration and purge. This also means no more waiting for a database check on unclean shutdown!

Finally, the recorder performance has been improved by reducing the write frequency.

Startup visibility - What is taking so long?

Ever wondered why starting up Home Assistant took so long?

Stop wondering, as you can now see which integration is delaying startup as the integration taking the longest time to set up is now displayed when Home Assistant is starting.

Screenshot of Home Assistant starting Screenshot of Home Assistant reporting integrations that are being set up.

And in case you missed those notifications, you can always check the information panel afterward.

Screenshot of information panel showing integration set up times Screenshot of information panel showing integration set up times.

This My button brings you right to it:

Why Home Assistant didn’t restart when I pressed the restart button?

So, why didn’t Home Assistant restart when you press the restart button? This question we have seen quite a few times and was a rather annoying occurrence that has been improved.

The restart button now provides feedback! So you know right away if a restart can’t happen because of invalid configuration, broken integration or database upgrade in progress.

We adjusted timeouts and fixed a few places where shutdown would block forever, for example, when restarting Home Assistant the configuration gets checked and there was a case that could hang in this check forever.

This means restarts are faster now! As more parts of Home Assistant now cancel/react to the shutdown procedure better than before (from the Month of What the Heck).

We also audited the top 35 integrations to make sure they stop polling on stop. Thanks for turning on analytics!

Updated look and feel for the integration dashboard

The Integrations dashboard has been updated to have a more compact look and provide more useful information.

For example, it now shows the state of the integration and in case of a failure, it will now tell you why that is.

Screenshot of the updated integrations dashboard Screenshot of the updated integrations dashboard.

Additionally, you can now recognize integrations that rely on the cloud (they show a little cloud label) and integrations that are installed as custom integration (they show a little package label).

Color modes!

We now have support for RGBWW, RGBW and many more color modes!

Previously, we relied mainly on HS (Hue Saturation) & Brightness (HSB/HSV) and colors in Home Assistant was based on that. But now, an integration can provide the actual color mode an light supports. This allows Home Assistant (and integrations) to adjust the behavior for the light better.

For example, the frontend will adjust the color picker based on the color mode of the light. The more info dialog for lights have been modernized to support this change:

Screenshot of the updated more info dialog for lights Screenshot of the updated more info dialog for lights.

Please note, that at this moment not all integrations are able to support color modes yet. However, all lights do have an nice updated UI as in the screenshot.

Trigger-based binary template sensor

In the previous release, we introduced a trigger-based template sensor. This release extends on that features by adding support for trigger-based binary sensors using templates.

Trigger-based binary sensors can also be configured with an auto_off duration. This will automatically turn a binary sensor state to off after the specified duration.

template:
  - trigger:
      - platform: event
        event_type: netatmo_event
        event_data:
          type: movement
    binary_sensor:
      - name: "Motion"
        # We use auto_off, so just set it to true on each trigger
        state: "true"
        device_class: motion
        # Automatically turn off 60 seconds after the last event
        auto_off: 60

Some other ideas:

Docker images now signed and available on the GitHub Container Registry

We are now using both DockerHub and the new GitHub Container Registry.

If you want to use the new GitHub Container Registry, just use:

ghcr.io/home-assistant/home-assistant

(Instead of homeassistant/home-assistant)

Our core images are now also signed with CodeNotary and allowing you to check the integrity of our images.

CodeNotary is a distributed Ledger solution using the immudb as a database for built-in cryptographic proof and verification.

If you are running the Home Assistant Operating System or a Supervised installation type, we already check the integrity of our distributed content. If you running the Container installation, you can install the VCN tool.

Now you can use it like so:

docker pull ghcr.io/home-assistant/home-assistant:2021.5.0
vcn authenticate --org home-assistant.io docker://ghcr.io/home-assistant/home-assistant:2021.5.0

This will tell/confirm that the image you have, is actually created and shipped by the Home Assistant project.

Other noteworthy changes

There is much more juice in this release; here are some of the other noteworthy changes this release:

  • Are you in meetings a lot? The new mutesync integration shows if you’re in a meeting and if you’re muted in Home Assistant. This will unlock some cool do-not-disturb automations.
  • We did an audit of memory leaks and fixed a couple of generic cases in our core codebase. But also fixed over 15 cases during unload/reload in popular integrations.
  • The TTS service by Home Assistant Cloud now uses an improved bitrate, making it sound even more impressive.
  • ClimaCell now supports the v4 API. So, If you’ve wanted to test it out you can now actually use it with the new API keys. Thanks @raman325!
  • If you are into templating, we now have min() and max() available as functions in Jinja templates.
  • The AdGuard integration now supports multiple instances thanks to @eifinger.
  • When viewing your logs in the frontend, the log entry will tell you if the log was created by a custom integration.
  • If you have a Sonos Move or Sonos Roam, you can now see their battery level and charging state. Thanks for that @hufman and @jjlawren.
  • Template covers now can have an opening and closing state, which was added by @bdr99, thanks for that!
  • The ZHA integration now has configuration options in the UI, allowing you to set things like default transition times for your lights. Thanks @dmulcahey!
  • The Z-Wave JS integration now allows you to re-interview a device from the UI thanks to @cgarwood.
  • @cgarwood didn’t stop there, you can now opt-in for sending Z-Wave JS telemetry to the Z-Wave JS project to help them out. This can be turned on in the Z-Wave JS configuration panel.

New Integrations

We welcome the following new integrations this release:

New Platforms

The following integration got support for a new platform:

Integrations now available to set up from the UI

The following integrations are now available via the Home Assistant UI:

Release 2021.5.1 - May 7

Release 2021.5.2 - May 10

Release 2021.5.3 - May 11

Release 2021.5.4 - May 14

Release 2021.5.5 - May 19

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 →