Blog

2021.9.0: More energy, USB discovery, template ❤️

Last release we introduced Home Energy management, and we are so happy with all the reactions and response we have received ❤️! In this version we have added some much requested features to make it even more useful, also a lot more integrations now have support for it ⚡️.

Personally I also really like the new long term statistics and statistics card introduced last release, and I’m really happy that in this release we will be able to use it for a lot more sensors.

Enjoy another great release! Be sure to tune into the 2021.9 Release Party on YouTube later today (9:00 PM CET) to learn more about this release!

Home Energy Management updates

Last release, we introduced the new Home Energy management features into Home Assistant and we are happy to see you like it!

We have seen quite a few people sharing their Energy dashboards on socials like Facebook and Twitter, which is really awesome. Share a screenshot of your dashboard and your story too!

In this release, the story continues! Here is what we have in store for you:

View energy usage over a period of time

The first iteration of the Energy Dashboard showed a single day at the time. Great! But what if you want to see how you did this week? Or month? Heck, a year even?!

Well, now you can! In the top right of the dashboard, you can now select the grouping period you want to see: Day, Week, Month or Year.

Screenshot of the new Energy Dashboard period selection Screenshot of the new Energy Dashboard period selection.

The arrow buttons allow you to browse through those periods. For example, when selecting a period of a month to display, the arrow buttons will take you a whole month back/forward in the view.

Keeping track of your gas usage

In some countries, homes are connected to gas. The gas is being used to heat water, cook and for heating the house. If you have a home that is connected to gas, we have some great news for you!

Maybe you noticed it already in the previous screenshot, as of this release, we have added support for monitoring your gas usage.

Screenshot of the new Energy Dashboard monitoring gas usage Screenshot of the new Energy Dashboard monitoring gas usage.

In certain countries, the gas meters have a standardized way of reading out the gas usage locally or provide this information via the electricity meter. For example, in the Netherlands, Belgium and Luxembourg you could use the SlimmeLezer to obtain your gas usage.

Support for home batteries

Having solar panels is a great way to generate electricity to power your home. However, where do you store energy generated by your solar panels that you don’t need right now?

Well, for many, the solution resides in a, high capacity, home battery to store electricity for use when the sun can’t provide it (e.g., during the night).

Numerous have requested this feature, and therefore we now have added support for home batteries to the Home Assistant energy management.

Animation of a home battery as part of the energy distribution Animation of a home battery as part of the energy distribution.

Added support for many more integrations

When releasing a feature such as the Home Energy management, we understand you want to use and play with it right away. And while we had prepared and updated a lot of integrations to be ready when we first launched, there were still many in need of an update.

As a result, we have been flooded by requests to add support to virtually all integrations that didn’t had it yet… :) Many of those requests have been fulfilled in this release.

For example, the Kostal Plenticore Solar Inverter, PVOutput, Fronius, SolaX Power, Growatt, Solar-Log, YouLess, Emoncms, Modbus, and many more have added support for all the energy goodness.

If you are a custom integration developer who wants to add support, be sure to check out our developer blog to catch up with the latest changes.

Long term statistics unlocked for all sensors

In the previous release, we introduced long term statistics for sensors, including a beautiful Lovelace card that goes with it. However, in the previous release we had limited this feature to temperature, humidity, power and energy related sensors.

As of this release, we unleashed the long term statistics for all sensors!

Screenshot of a statistics graph showing the luminosity in the garden versus the front of my house Screenshot of a statistics graph showing the luminosity in the garden versus the front of my house.

Long term statistics applies to all integrations that indicate their sensors support those. Luckily a lot have already done so.

USB Discovery

Thanks to @bdraco, Home Assistant can now discover USB devices and the integrations that work with that device. This makes setting up things like Z-Wave or Zigbee with Home Assistant an actual breeze now!

For example, if you plug in your new Nortek HubZ USB stick into the machine running Home Assistant, it will discover and notify you about it.

Screenshot of a discovered USB device compatible with Z-Wave JS Screenshot of a discovered USB device compatible with Z-Wave JS.

Now it is just a single click on the “Configure” button to set up the Z-Wave JS integration and done! Super nice!

Support for USB discovery has currently been added to the Z-Wave JS and ZHA integrations.

Z-Wave JS Updates

If you are a Z-Wave siren/doorbell owner, you probably know how frustrating it was to wait for Home Assistant to add entity support for the Sound Switch CC (Command Class). This is caused by the blazing fast speed the upstream Z-Wave JS project is moving forward at; Often much faster than Home Assistant is able to keep up with.

It also might be that Home Assistant cannot (or is likely not to) support the specific command class you care about; Nevertheless, that shouldn’t stop you from being able to create automations for those devices!

In this release, we have introduced the new zwave_js.value_updated automation trigger type which will allow you to trigger an automation off of any Command Class value that Z-Wave JS supports!

In order to leverage this trigger type in the UI, you will have to use device automations, but if you are writing your automations in YAML, you can use the trigger directly.

That’s not all for Z-Wave JS integration, we have more to share!

  • Tired of your child flipping that switch that’s fully automated? Use the new select entity for the Protection Command Class to disable local access.
  • Don’t want to specify the tone and volume every time you activate your siren? Now you have access to the default volume via a number entity and the default tone via a select entity.
  • We’ve made zwave_js.* services more flexible: They now support area IDs and group entities as inputs!
  • We’ve made basic CC values directly controllable by moving them from using sensor entities to become number entities instead.

New template entities: Number and Select

Yes! We have new platforms you can utilize using the template integration!

Thanks to @raman325 you can now template your own select and number entities! This unlocks quite the potential for creating some advanced user interfaces :)

As an example says more than a thousand words, here are two examples that both are based on a WLED LED strip. It can be used to extract features from the WLED strip into their own entities.

# Example number entity that represents the effect speed on a WLED LED strip
# between 0 and 100%, translating it from an 0 to 255 scale.
template:
  number:
    - name: "Example number: WLED effect speed"
      state: "{{ (( state_attr('light.wled', 'Speed') / 255) * 100) | round }}"
      min: 0
      max: 100
      step: "{{ 1 }}"
      set_value:
        service: wled.effect
        target:
          entity_id: light.wled
        data:
          speed: "{{ (255 / 100) * value }}"
# Example select entity that extracts effects from a light.
# When you change the selected option, the effect of the light changes.
template:
  select:
    - name: "Example select: WLED effect"
      state: "{{ state_attr('light.wled', 'effect') }}"
      options: "{{ state_attr('light.wled', 'effect_list') }}"
      select_option:
        service: light.turn_on
        target:
          entity_id: light.wled
        data:
          effect: "{{ option }}"

Oh! And they can also be used with the new trigger templates! Check out the documentation for all options available.

New template functions for areas

Two new template functions have been added, making working with areas in YAML (when using templating) a little bit easier.

  • area_id("value") returns the area ID for a given value. The value can be a device ID, entity ID, or area name. This function can also be used as a filter.

    example: "{{ area_id('light.living_room_tv') }}"
    example: "{{ area_id('Garden Shed') }}"
    example: "{{ trigger.entity_id | area_id }}"
    
  • area_name("value") returns the area name for a given value. The value can be a device ID, entity ID, or area ID. This function can also be used as a filter.

    service: notify.frenck
    data:
      title: "Motion detected!"
      message: >-
        Motion has been detected in the {{ area_name(trigger.entity_id) }} area.
    

Thanks @raman325!

Other noteworthy changes

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

  • @balloob added a lot more validations to the energy configuration UI and added more warning/error messages. @ludeeus made them look good by adding a beautiful new styling for these kind of messages.
  • Home Assistant offline and missed generating its energy/long statistics? Not anymore! Home Assistant will now catch up on start, thanks @emontnemery!
  • Thanks to @bdraco, camera images can now be scaled to a resolution that fits the device/screen you are looking at; Additionally, they only update when visible. This makes cameras usable in any bandwidth situation.
  • The Shelly integration now supports transitions for lights! Thanks @bieniu!
  • Yeelight now supports local push (instead of polling), awesome @starkillerOG!
  • @emontnemery upgraded DSMR to support Swedish smart energy meters! Nice!
  • For Yamaha MusicCast, @micha91 has unlocked the Media Browser features!
  • The Rainforest Eagle will now provide pricing data if that is available, thanks @balloob!
  • @giannello added the ability to ask your Google Home where your vacuum cleaner is :)
  • If you use the shopping list feature of Home Assistant, you can now remove all completed items at once using a service call. Thanks, @GrumpyMeow!
  • @bdraco Added a new advanced feature for HomeKit, allowing to forward device events to HomeKit, unlocking the ability to trigger HomeKit automations or scenes.
  • Thanks to @ludeeus, we can now use different brand images in the UI when it is in dark mode.
  • If you have a Sonos speaker, you can now modify the bass & treble level using a service call, thanks @Tigger2014!
  • Utility Meter cycles are now super flexible with the new cron patterns option, nice @dgomes!
  • Bond now provides new services to start/stop increasing/decreasing the brightness of a light. Thanks @bdraco!

New Integrations

We welcome the following new integrations this release:

Integrations now available to set up from the UI

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

Release 2021.9.1 - September 2

Release 2021.9.2 - September 3

Release 2021.9.3 - September 4

Release 2021.9.4 - September 6

Release 2021.9.5 - September 8

Release 2021.9.6 - September 11

Release 2021.9.7 - September 18

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 →

Supervisor update

Renaming snapshot to backup

“Snapshot” is a term that we have been using in the Supervisor since the beginning, but it’s not very descriptive for those that do not know what it is. Over the next few weeks, we will start using “backup” in all our software and documentation.

The functionality of it does not change, this is just a rename to make it more understandable.

Supervised installations

Note

Having a supervisor does not make it a supervised installation, Home Assistant Operating System also has this, the information below does not apply to Home Assistant Operating System.

While we try not to break supervised installations, we do have a few things we need to change. These adjustments you have to manually apply to your installation. Without these adjustments you will start to see warnings in your logs, and your installation will eventually be marked as unsupported.

If you are interested to make changes required on supervised installations more maintainable, have a look at the blog on the developer site.

As an alternative to doing these adjustments, you can migrate your installation to Home Assistant Operating System.

Bullseye

Two weeks ago Debian 11 (Bullseye) was released. The upcoming version of the Supervisor will recognize that version as a supported Operating System. This means that if you are running Home Assistant Supervised, you can start upgrading that.

Support for the previous version (Debian 10 (Buster)) is now deprecated and will be removed in the first version of the Supervisor after the 4 months grace period. This means that within the next 4 months you need to update to Debian 11.

Environment variables

There are a few environment variables that you have to add in order to make the Supervisor work properly with newer versions of the Supervisor. These variables have to be added to the run command for the Supervisor container, on most installations this is a script called from a service file.

  • SUPERVISOR_SHARE - The path to the directory for the Supervisor data files, typically /usr/share/hassio.
  • SUPERVISOR_NAME - The name of the supervisor container, typically hassio_supervisor
  • SUPERVISOR_MACHINE - The machine you are using. For a list of machine types, have a look here

OS Agent

Recently, we created an OS Agent. OS Agent allows for better communication between the host OS and the Supervisor which will enable new features. You can find the installation instructions for OS Agent in its GitHub repository.

If you you are interested we have also just published a blog on the developer site.


Energy Management in Home Assistant

TL; DR: We’re adding energy management and it’s awesome. Created two products to read out electricity meters: SlimmeLezer for P1 ports & Home Assistant Glow for activity LEDs. Upgraded most of the existing energy integrations to be compatible.

The world is in a climate crisis. Global warming is a reality and the weather is getting unpredictable. Our way of living needs to change, at all levels. I am worried that the climate crisis is something that the world is going to try to solve too late and after irreversible damages have already been done.

So with Home Assistant we want to do our part to help take on the climate crisis, and help you do the same. One part of fighting the climate crisis is making sure our homes are energy efficient and use low-carbon energy sources.

Starting today, Home Assistant is adding official support for home energy management. Our energy management will help users monitor the energy usage, transition to sustainable energy and save money.

Diagram how both home automation and energy management use the same data. Home automation and energy management are built on top of knowing what devices are doing

Energy management and Home Assistant in context

Bill Gates was recently interviewed by Marques Brownlee (MKBHD) and talked about how intelligent homes are needed to make smart cities. And how all of this starts with energy management in the home. The interview is 3 minutes and worth watching:

Home Assistant won’t have all the answers when it comes to energy management, at least not right away. But we have two key things going for us that makes us the perfect platform to choose for your energy management:

The first is that we’re completely open. This means that with Home Assistant, anyone can use the source or its collected data and build anything with it. We already see this happening: the European federation of citizen energy cooperatives is using Home Assistant to build energy management software tailored for communities. We are part of a rich ecosystem with many different approaches, all connected with Home Assistant.

The second thing is that we have a passionate and global community that wants to make their homes the best it can be. A community that revolves around building and sharing their own hardware and software to be able to achieve their goals. Through experimentation and iteration we will be able to improve energy management over time to fit our needs – there are no investors to satisfy.

When it comes to your home, Home Assistant is the best platform to manage it and figure out what works and what doesn’t.

Read on →

2021.8.0: Feel the energy ⚡️

Happy August! ☀️

Home Assistant Core 2021.8 is here, and this is the release I have been looking forward to for months! There is so much exciting new stuff in here: I don’t know where to start.

The most exciting part is the new main focus that is added to Home Assistant:

Home Energy management.

A massive deal for a lot of people, no matter if you are doing it for environmental reasons or simply to save a buck or two (or both 😬). Knowing that moving forward, it will be an additional focus, I think, is amazing.

But besides the Energy management stuff, I’m also excited about the side effects of it. A lot of things created for Energy, are also re-usable for other things! That is how we roll, right?

We get long-term statistics, new super nice and fast graphs, and a new layout option for Lovelace. All the building blocks are available for customization and re-use. I am looking forward to seeing how they are going to be put to use.

Anyways, enjoy the release! And don’t forget the drop by the release party on YouTube later today (9:00 PM CET).

../Frenck

Matthias de Baat joins Nabu Casa

Let start by announcing that Matthias de Baat is joining the team at Nabu Casa to work on Home Assistant as a UX-designer.

UX stands for “User Experience”, which is Matthias’ area of expertise and what he will be working on improving. His goal is to make Home Assistant easier to use and accessible for everyone. He will be setting up design processes and tooling, doing user research and making designs.

If you are interested in joining the Home Assistant user research group, you can show your interest by filling in this Google Form that Matthias has prepared.

Welcome Matthias! Excited to have you on board!

But wait! There is more!

[Otto Winter][@ottowinter], the founder of ESPHome, will be joining Nabu Casa during his summer break as well! Welcome Otto! This summer is going to be fantastic!

Home Energy Management!

This feature is a big thing; A start of something new. Home Assistant is going to provide you insight into your energy usage.

But this needs more than just a paragraph in the release notes, this needs its own blog! So, at this point, stop reading the release notes (momentarily) and read the blog Paulus has written about this:

Read the blog about the new Home Energy Management features of Home Assistant

Long term statistics

Storing sensor data for a more extended period using the recorder, can make your database grow pretty fast (especially if you have sensors that update a lot!).

In the previous releases, we’ve worked towards improving this situation and laid down the groundwork for tracking statistics in the database; We are making it widely available this release!

Integrations can now hint Home Assistant about the type of value the sensor represents, allowing us to process and store that data in a more efficient way. Every hour, we calculate things like mean, min/max values, or the difference created that hour and store just that result in our long-term statistics.

These statistics is what partly powers the new Energy dashboard, however, they can be used for anything else: Introducing the Lovelace statistics graph card.

Screenshot of the new Lovelace statistics graph card Screenshot of the new Lovelace statistics graph card.

This card can make beautiful graphs, allowing you to make graphs for any of your stored long-term statistical data. It can render as a line or bar chart. Bars are suited for metered entities that have a summed value. Lines are perfect to display the mean, min and max of the entity.

The support for long-term statistics is limited at this moment. We are expecting to open it up for more measurements in the upcoming releases while more integrations are adding support for these new measurement types.

Sidebar view

The default layout you see in Lovelace (which we generally all use), is called the “masonry” layout. We also have a panel view/layout that stretches a single card to the whole view. This release brings in a brand new view layout: Sidebar.

This new sidebar view has two columns, a wide one and a small one on the right. It is perfect for displaying larger cards like graphs (like that nice new statistics graph card), or maps. While having some additional smaller cards with information on the side.

The new Energy dashboard uses this new view layout, but of course, made available for use in other Lovelace dashboards as well.

Screenshot of new Lovelace sidebar view layout Screenshot of new Lovelace sidebar view layout.

Gauge card now has needle mode

A nice little addition to the Lovelace gauge card: Needle mode!

Instead of showing a value and filling it partially, in needle mode, it will show the full gauge but point out the value with a needle. And, if you add severity to your gauge card configuration, it will always be shown.

Screenshot of the Gauge card in needle mode with severity configured Screenshot of the Gauge card in needle mode with severity configured.

These settings are available straight from the Lovelace UI editor; More information and examples can be found in the Gauge card documentation.

Currency core setting

To support the display of financial values, we’ve added a new setting to Home Assistant that allows you to define the currency Home Assistant should use in cases it relies on your input.

You can find this new currency setting in the general settings of Home Assistant.

This setting is used for the cost calculation of the new energy features.

Siren

The last release, we introduced the select entity, this release, we introduce the siren entity! 🚨

Thanks to @raman325 for adding this noisemaker to the family! He also implemented the first integration to add support for Sirens: the Z-Wave JS integration. So, if you have a Z-Wave enabled Siren, you can now control it.

Locking, Unlocking and Jammed

Locks in Home Assistant can be a little bit smarter as of today, thanks to @bdraco. Besides the locked & unlocked states, support for locking, unlocking and jammed has been added.

Support for these new states has been added to the August, HomeKit Controller and template integrations. Additionally, HomeKit, Alexa and Google Assistant have been made compatible and aware for these states as well.

Scripts/Automations/Templates

Some new features landed for script, automations and templates this release.

This

When an automation or script is triggered to run, a new variable is available: this. This variable contains the state object of the automation or script running and allows you to access information about the automation directly. Thanks, @r-t-s!

Device template functions

If you like to write YAML automations manually, are using templates, and require device IDs or device information, than you know those IDs are hard to find and the device information is not available at all.

@raman325 added some new template functions that can be helpful when working with devices.

  • device_entities(device_id) returns a list of entities associated with a given device ID (can also be used as a filter).
  • device_attr(device_or_entity_id, attr_name) returns the value of attr_name for the given device ID or entity ID.
  • is_device_attr(device_or_entity_id, attr_name, attr_value) returns whether the value of attr_name for the given device ID or entity ID matches attr_value.
  • device_id(entity_id) returns the device ID for a given entity ID (can also be used as a filter).

Thanks for these powerful new features!

Other noteworthy changes

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

  • Thanks to @firstof9, Z-Wave JS now has support for transitions with lights!
  • More Z-Wave JS improvements by @raman325. He added support for device triggers and conditions. Thanks!
  • You can now assign a unique ID to light, cover and media player groups, allowing you to manage them from the Home Assistant frontend and assign them to an area!
  • The motionEye integration now has support for motion detection, thanks @dermotduffy
  • ZHA can now work with Formaldehyde and VOC level sensors, thanks @Adminiuga
  • @posixx added a new feature for integration that provide alarm panels; those integrations can now update to support Vacation mode!
  • Rainbird now has a service to change the rain delay, thanks @Kr0llx!
  • If you are using BMW Connected Drive, @EddyK69 added a lot of trip sensors.
  • Sonos snapshots now behave, are more robust and work as expected. Additionally, support for controlling crossfade has been added, thanks @jjlawren!
  • WLED now supports controlling the new playlists features introduced in WLED 0.13.
  • @farmio added support for KNX lights that use HS-colors, thanks!
  • And @joncar added support for transitions to LiteJet lights, awesome!
  • If you have MFA on your Tesla account, thanks to @BreakingBread0, the integration now supports that.
  • When using the Netatmo integration, you can now control the schedule it should be using with a select entity. Thanks, @cgtobi!
  • @janiversen added more data types to modus and added array write to the turn on/off capabilities of Modbus switches, fans and lights.
  • Advantage Air now has temperature sensors for each zone, thanks @Bre77!
  • Gree Climate now has switches to support more modes, thanks to @cmroche!
  • You can now remove holidays from the workday sensor by name instead of date. This is useful for holidays they don’t have a fixed date each year. Thanks @matthewgottlieb!
  • HomeKit will not auto-recreated TVs when sources are out of sync. One thinsg less to worry about, thanks @bdraco
  • @jbouwh has drastically reworked and extended the Humidifier support for the Xiaomi Miio integration. Amazing job!

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.8.1 - August 4

Release 2021.8.2 - August 5

Release 2021.8.3 - August 6

Release 2021.8.4 - August 8

Release 2021.8.5 - August 9

Release 2021.8.6 - August 10

Release 2021.8.7 - August 15

Release 2021.8.8 - August 18

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 →

2021.7: A new entity, trigger IDs and script debugging

Happy July, which means Home Assistant Core 2021.7!

An interesting release, with a bunch of little goodies to make things easier in creating automations, scripts and doing templating. Those are things that in general, make me very happy. Mainly because, well, I use Home Assistant to automate 😁

Also, we are saying “hi!” 👋 to a new type of entity, which is really exciting and I can’t wait to see how that is being put to use in the future.

Lastly, I want to give a shout-out to @klaasnicolaas! He has been an intern with Nabu Casa for the last months. Besides doing the community highlights, he has been working on some awesome stuff that will land in upcoming Home Assistant releases.

His internship is now over, and he passed with a nice grade. Yet, he could not leave without a little present as it seems. He contributed the Forecast.Solar integration, bringing in energy production forecasting for your solar panels. Really cool!

Alright, that’s it! Enjoy the release!

../Frenck

New entity: Select

In this release, we welcome the select entity to the Home Assistant family. The select entity is a close relative of the dropdown helper (also known as input_select).

The difference is that while the input select is configured and managed by you, the select entities are provided by integrations.

This means integrations can now provide entities that give a choice. Either in the Lovelace UI, but also via automations using services, and via the Google Assistant.

Screenshot of a select entity, providing a choice from a list of options Screenshot of a select entity, providing a choice from a list of options.

Some integrations started implementing the first select entities as of this release. MQTT & KNX made it available for use, WLED uses it to provide controls on selecting and activating a user preset, and with Rituals Perfume Genie you can now change the room size for your diffuser.

Trigger conditions and trigger IDs

If you are creating some complex automations in YAML, you might be familiar with this. Consider a big automation, with a whole bunch of triggers. But how would you know which of those triggers actually triggered the automation?

You can now assign an id to your triggers that is passed into automation when triggered, allowing you to make decisions on it.

automation:
  - alias: "Trigger IDs!"
    trigger:
      - platform: state
        id: "normal"
        entity_id: binary_sensor.gate
        state: "on"
      - platform: state
        id: "forgotten"
        entity_id: binary_sensor.gate
        state: "on"
        for:
          minutes: 10
    ...

The above example triggers the same automation twice, when the gate opens and when the gate is left open for 10 minutes (probably forgotten). Each trigger has its own ID.

Now introducing the new trigger condition! So you can add a condition on which trigger fired the automation.

automation:
  - alias: "Trigger IDs!"
    ...
    action:
      ...
      - condition: trigger
        id: "forgotten"
      - service: notify.frenck_iphone
        data:
          message: "Someone left the gate open..."

You can use the trigger condition in all places where all the other conditions work as well, including things like choose from a group of actions.

Rather use the UI to create and manage your automations? No problem! These new features have been added to the automation editor as well!

Screenshot of using a trigger condition in the automation editor Screenshot of using a trigger condition in the automation editor.

Script debugging

In Home Assistant Core 2021.4, we added the ability to debug automations. In this release, we’ve made these same powerful tools available for scripts!

So, this helps for the next time you are wondering: Why didn’t that script work? Or why did it behave as it did? What the script is going on here?

Screenshot of using the new script debugger on my office announce script Screenshot of using the new script debugger on my office announce script.

The above screenshot shows a previous run of a script, using an interactive graph for each step in this script; with the path it took highlighted. Each node in the graph can be clicked to view the details of what happened on each step in the script sequence.

Referencing other entities in triggers and conditions

A small, but possibly helpful, change to our script and automations. You can now reference other entities for the above/below values of numeric state triggers and conditions. Both sensors and number entities can be used.

For example, you can now trigger an automation if the outside temperature is higher than the temperature inside.

automation:
  - alias: "Notify to close the window"
    trigger:
      - platform: numeric_state
        entity_id: sensor.outside_temperature
        above: sensor.inside_temperature
    action:
      - service: notify.frenck_iphone
        data:
          message: "Close all windows, it is warm outside!"

The numeric state conditions supports the same.

Additionally, the time conditions now support a similar thing using other sensors that provide a time in the before and after options. Time triggers added support for that already in a previous release.

Working with dates in templates

If you ever tried to work with dates in templates, you probably know that that is hard. And honestly, that will never go away, times, dates and timezones are complex little beasts.

However, we realized that the hardest part of using date & times with templates is converting the state of a sensor or text to a datetime. This release adds a small template method to help with that: as_datetime.

It can be used as a filter or as a method. Here is an example of calculating the number of days until my drivers’ license expires:

{{ (states('sensor.drivers_license') | as_datetime - now()).days }} days

Series version tags for Docker containers

If you are using the Home Assistant Container installation method, we recommend using a specific version tag; however, that means you need to update the version tag each time we release a new patch version of Home Assistant.

Thanks to @kmdm, as of this release, we also provide a series version tag that always points to the latest patch version of that release, in addition to all existing tags we already provide.

docker pull ghcr.io/home-assistant/home-assistant:2021.7

The 2021.7, will contain the latest July release, even if that is actually version 2021.7.2.

Other noteworthy changes

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

  • Z-Wave JS got quite a few updates this release:
    • A new zwave_js.multicast_set_value is available, allowing to issue a set value command via multicast. Thanks, @raman325!
    • Each node now has a status sensor available and can be pinged using the new zwave_js.ping service. Added by @raman325.
    • The Z-Wave JS configuration panel now has a “Heal Network” button, thanks @cgarwood!
    • Z-Wave JS Server connection can now be re-configured from the Z-Wave JS configuration panel, added by @MartinHjelmare.
    • Z-Wave JS logs can now be downloaded, thanks @raman325!
  • The Google Assistant integration now has support for fan speed percentages and preset modes. Thanks, @jbouwh!
  • @jbouwh didn’t stop there and added fan preset mode support to Alexa too!
  • The Philips TV integration now supports Ambilights, added by @elupus.
  • Yamaha MusicCast integration now supports grouping services, thanks @micha91!
  • @raman325 added a whole bunch of sensors to the ClimaCell integration!
  • WLED now supports local push. Updates are now instantly both ways. Also, the master light can be kept and added support for controlling user presets.
  • Setting up Xiaomi devices has gotten way easier! There is no need to do difficult things to get the tokens. Instead, Home Assistant can now extract the tokens from a Xiaomi Cloud account. Thanks, @starkillerOG!
  • More Xiaomi updates, @jbouwh added support for fan percentage-based speeds and preset modes.
  • @RenierM26 added a lot of new services to the Ezviz integration, thanks!
  • Tibber had quite a few improvements and now provides a power factor sensor, added by @Danielhiversen!
  • Google Translate TTS now supports the Bulgarian language, thanks @hristo-atanasov!
  • If you have a SmartTube, you can now reset your reminders, thanks @mdz!
  • KNX had quite a lot of updates and added support for XY-color lights, thanks @farmio.
  • @OttoWinter added support for presets, custom presets and custom fan modes for climate controls in ESPHome. Awesome!
  • Nuki now has a service to enable/disable continuous mode, thanks @anaisbetts!
  • @cgomesu added quantiles to Statistics integration, thanks!
  • The Home Assistant login page now better support password manager, thanks, @rianadon!

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.7.1 - July 8

Release 2021.7.2 - July 12

Release 2021.7.3 - July 16

Release 2021.7.4 - July 21

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: 27th edition

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

But first I have one more announcement. My internship is (almost) over and I’m happy to say that I passed and completed it with a good grade. That also means that this community highlight is the last one from me as an intern, time will tell when the next one will appear.

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 that of bfranke1973, who has created a blueprint with which you can receive a notification when a device loses connection with the network. 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!

Love Lock Card


Do you ever accidentally turn on a light or switch? Then try the love lock card made by CyrisXD. With this, you can create a card that is locked and you can unlock it with, for example, a pin code or a simple click on the card.

Lovelace Dashboard


This week again we have a new Lovelace dashboard for the necessary portion of inspiration 😄 This time the one from swake88 who is improving his dashboard for use on a mobile device. If you want to know more about it, check out the comment part on Reddit.

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.

Statistic Tools


Home Assistant has a number of tools for working with statistics, but the question is how can you best approach this. Carlos has written a very good guide on how to get started and how to make cards that use this data.

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: 26th edition

The 26th 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

Power-up your ESPHome Projects


Speaking of interesting stuff, have you seen what cool new stuff has come to ESPHome? Read more about it in this blog.

Blueprint of the week


This week’s blueprint is that of danielbook, who created a blueprint that turns on the lights of a room based on a motion and brightness sensor. You will no longer be in the dark when you get 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!

Floor3D Card


Last time we shared a dashboard with floorplan, this time the floor3D card from adizanni, which you can use to get started with your own floorplan.

Lovelace Dashboard


This week again we have a new Lovelace dashboard for the necessary portion of inspiration 😄 This time the one from suckfail which has a dashboard with a variety of cards. If you want to know more about it, check out the comment part on Reddit.

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.

Chore Tracker


Are you tired of doing those household chores all the time, or do the kids just don’t want to unload the dishwasher? Make it more fun with the chores tracker made by djbrooks022, where you can earn points for every chore you complete!

Do you want to get started? Then find all the information 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:

See you next edition!


Power-up your ESP8266 and ESP32 projects: browser-based installation and configure Wi-Fi via Bluetooth LE

ESP8266 and ESP32 are microcontrollers made by the Chinese company Espressif. Microcontrollers are teeny tiny computers with little processor power, memory and space that can interact with sensors, send infrared commands and many other things.

With the ESP devices Espressif has achieved something formidable: their devices have Wi-Fi, are compatible with code for the popular Arduino microcontroller and they are cheap. Like, $5-including-shipping-from-China-cheap (AliExpress) or $15 for 2 on Amazon cheap. So cheap that they are the de facto standard for microcontrollers used in IoT products, both for manufacturers and creators in the DIY space.

Quindor and DrZzs playing with an ESP32-based QuinLED running WLED Quindor and DrZzs playing with an ESP32-based QuinLED running WLED (YouTube)

Microcontrollers are just computers and so are nothing without their software. Open source software like ESPHome, WLED and Tasmota allow users to turn their ESP8266 and ESP32 devices into powerful little machines that can gather information and control devices. In your home, microcontrollers are the eyes and ears while Home Assistant is the brain.

But these projects all have a common problem: it is difficult to get started. We identified three pain points:

  1. Installing the software on the microcontroller.
  2. Connecting the microcontroller to your wireless network.
  3. Configure the software on the microcontroller.

These pain points stand in the way for creators to reach a wider audience. It’s our mission to make local home automation succeed, and these projects, and all the possibilities that they unlock, are an important part of this.

Today, we are introducing some things to make using microcontrollers easier.

Using terms everybody understands

We are going to start using words that a user understands instead of forcing the technical terms on them. Terms like “firmware” and “flashing” are the correct terminology but for inexperienced users they do more harm than good. They will make the user feel uncomfortable before they even start.

So instead of “upload firmware” we’ve updated the ESPHome dashboard to talk about “installing”. We are encouraging other projects to do the same.

Things will get more technical as a user continues playing with microcontrollers. But this change might just be that little thing why they will actually continue.

ESP Web Tools: Installing projects on your microcontroller via the browser

We have created ESP Web Tools. ESP Web Tools allows project websites to offer a great onboarding by enabling users to install the software on their microcontrollers via their browser. All the user has to do is connect their microcontroller to their computer and hit the install button on the website. ESP Web Tools will automatically select the right build for your microcontroller and install it.

This works for both the ESP8266 and ESP32 and with any project for these devices. This technology is powered by Web Serial, a web standard for serial communication that is part of Google Chrome and Microsoft Edge.

ESP Web Tools Web has already been adopted as part of the onboarding by WLED and ESPEasy.

Learn how to add ESP Web Tools to your website

If you have an ESP32 or ESP8266 device handy, you can try it out right here:

ESP Web Tools uses code written by @MakerMelissa from Adafruit. We’re currently relying on an enhanced fork that can fit a wider range of use cases, including ours. We have a pull request open to get our changes contributed back.

ESP Web Tools website

Note: We don’t like to use technology that is not available in all browsers and cannot be made available in other ways. However, in this case the benefits outweigh the cons. We hope that Firefox and WebKit add support for Web Serial in the future.

Improv Wi-Fi: Open standard to provision Wi-Fi credentials via Bluetooth Low Energy

We have created Improv Wi-Fi. Improv Wi-Fi is a free and open standard that anyone can use to offer a user-friendly way for users to connect their devices to the wireless network.

Improv Wi-Fi logo

For open source firmware there are two popular ways of getting a device to connect to your wireless network. The device sets up a wireless network and you need to connect to it via your phone or laptop, or the user compiles the network and password into the firmware before installing it on the ESP. Both methods are difficult and error prone, they offer a bad user experience.

If you look at off-the-shelf products, you see another approach: send Wi-Fi credentials to the device via Bluetooth Low Energy (BLE). BLE allows the user to get instant feedback if something goes wrong. This technology is used in many products, but there is no open standard that is free to implement. Improv Wi-Fi is an open standard that is free to implement.

Open source projects often host their control interface as a website on the ESP device. Improv Wi-Fi supports this and when provisioning is done, the user can be redirected to a URL to finish onboarding.

Improv Wi-Fi can be used today to provision ESP32 microcontrollers running ESPHome (ESP8266 devices do not support BLE). Users will soon be able to provision devices with the Improv Wi-Fi service via the Home Assistant Android and iOS apps. All these implementations are open source and can be used in your projects.

Improv Wi-Fi is also available for the web in the form of a button that can be added to your website. This will allow users to configure and set up a device from any browser that supports Web Bluetooth.

If you’ve used the installation button in the previous section but have not yet connected it to the wireless network, you can onboard that device here:

Improv Wi-Fi website

ESPHome Dashboard: simplified and streamlined

With ESPHome users don’t program microcontrollers, they configure them. Tell ESPHome there is a temperature sensor on pin 3 of your ESP device and ESPHome will install custom software on your ESP device that makes this information available in Home Assistant.

# Example ESPHome configuration
sensor:
  - platform: dht
    pin: D2
    temperature:
      name: "Living Room Temperature"
    humidity:
      name: "Living Room Humidity"
    update_interval: 60s

Result of how it shows up in Home Assistant with the example ESPHome above

The ESPHome Dashboard has been updated with a simplified and streamlined wizard for new configurations. You now enter the name of your project and your Wi-Fi credentials and it will install it on your ESP device via the browser. After that all further updates will happen wirelessly.

ESPHome: embracing projects

We want to make it easy for creators to sell ESPHome powered products that offer a great user experience. ESPHome projects embrace local control and integrate nicely with Home Assistant, and so each extra ESPHome product that our users can buy is a win.

To make it easier to keep creators and users connected once a product is installed, projects can now add a project identifier and version to their firmware (docs). With today’s release this information will be available in the device information, logging output and the mDNS discovery info.

The goal is to integrate the projects tighter into the ESPHome dashboard by showing the project’s logo, link to the documentation and issue pages and allow installing updates.

Why we build this

Home Assistant’s mission is to make local home automation a viable alternative to cloud based solutions and accessible to everyone.

To make this mission a reality, we started the company Nabu Casa. Together with the community, Nabu Casa develops Home Assistant and ESPHome and is funded solely by people that support this mission. No investors or loans.

If you want to help fund our work, subscribe to Home Assistant Cloud.


Community Highlights: 25th edition

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

Also, keep an eye out for the ESPHome release next week Wednesday. We’re going to have some great announcements!

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 there more people who turn their lights on and off at certain times when they go on holiday?

This week’s blueprint is that of timgiwo, who created a blueprint that can repeat the behavior of your lights from the past week, so it seems like you are still 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!

Slider Button Card


Mattieha made a button card that also included a slider, so you could, for example: switch a light but also immediately adjust the brightness with the slider. Useful for those who want to keep their dashboard compact.

Floorplan Dashboard


This week again we have a new Lovelace dashboard for the necessary portion of inspiration 😄 This time the one from theone11 who has a dashboard with a floorplan, definitely recommended to take a look at the repository because there is a lot of explanation on it.

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.

Ispindel


Between the community submissions, we came across a nice project that works with ESPHome, it’s a sensor with which you can monitor your own homebrew, for example, the alcohol percentage and the temperature. Cheers Alexander! 🍻

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!


Home Assistant OS Release 6

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!