Home Assistant 2023.7: Responding services – Home Assistant

Home Assistant 2023.7: Responding services – Home Assistant


Home Assistant Core 2023.7! 🎉

The previous release was a big one, and this one is no different!

This release brings in a change to Home Assistant, which we consider to be one
of the biggest game changers of the past years: Services can now respond with
data! 🤯

It is such a fundamental change, which will allow for many new use cases and
opens the gates for endless possibilities. I’m so excited about this one!

But that is not all; there is a lot more in store for you! Some of my favorites:
The Bluetooth proxies are now lightning fast, copy ’n paste in dashboards, a new
sentence trigger, and I love that a broken automation no longer disappears
into thin air but now shows up in the UI marked as problematic.

All-in-all, a great release packed with many new features and a lot of
quality-of-life improvements.

Enjoy the release!


Don’t forget to join our release party live stream on YouTube
5 July 2023, at 12:00 PDT / 21:00 CEST!

Services can now respond

Services can now respond with data! 🎉

Yes, you read that right! This advanced feature is a huge step forward for
Home Assistant and will allow for a lot of new possibilities. It is one of the
biggest fundamental changes to Home Assistant made in the past years.

Calling a service in an automation or script was a one-way communication
to control your devices and services. For example, turn on a light, or make
an announcement on your speakers.

So, what is the use of a service responding with data? Well, it could be used to
ask for information from a device or service. For example, you could ask
Home Assistant which events are on your calendar today and use the
answer from that service call to create a notification or announcement.

Screenshot showing a response to a service call in the Home Assistant developers tools, listing waste pickup calendar events.

In this release, we have included two brand-new services to play with service responses:

  • conversation.process – This
    service allows you to ask Assist a command or question and get a response
  • calendar.list_events – This service
    enables you to ask Home Assistant for a list of events on your calendar.

If you combine those in an automation, in the morning, you could ask
Home Assistant for today’s calendar events, add things like weather information,
send it to ChatGPT using the conversation process, and ask it to summarize it
and use that response to send a notification to your phone.

@allenporter has put this all together for you in
this Blueprint:

blueprint import

This is just one example, but the possibilities are endless! It is exciting
to see what other creative use cases and new services with responses will
be added in the future!

This feature is also added to scripts!
So, you can make your scripts respond and use that response in your automations.
This is a great way to make your scripts more dynamic and flexible.

A special thanks to @allenporter, who has been responsible for building out
the larger part of this feature!

New entity dialog for Locks

We are continuing to improve the entity dialogs. This time, we have reworked
the entity dialog for locks. It looks great!

It looks similar to the entity dialog for the switch, but it has a few
extra features like asking for an unlock code and has a beautiful animation
when it is (un)locking.

Screen recording demonstrating the new lock entity dialog.

Sentence trigger

Our Assist is getting more and more powerful! This time,
we have added a new trigger to our automation editor that allows you to
trigger an automation when a sentence is said to the default Assist conversation
agent. 🤯

Screenshot of the new sentence trigger that can be used with automations.

Creating an automation based on something that is said, has never been easier.
In the above screenshot, just mentioning “what a mess” will send out the living
room vacuum to start cleaning up the mess.

Open assist action

Another one for the Year of the Voice, a brand new action for use in dashboard
cards, has been added: the Assist action!

Screenshot showing the new Assist action available in dashboard cards.

With this action, you can directly open Assist from your dashboards using,
for example, a button and even make Assist listen right away.

Screen recording of the new Assist action in use. Shows the normal action and the action that start listening immediately.

There are quite a few cases where this action can be useful. For example, if
you have a tablet mounted on the wall, you can use this action to open Assist
and start listening immediately using a single button touch.

Image entities

There is a brand new entity type in town: the image entity.

The image entity is very similar to the camera entity,
but instead of providing a live stream, it provides a single image. For example,
a QR code that provides the Wi-Fi credentials for your guest network, a weather
map, an image of the last motion detected by your camera, or just the cute cat
picture of the day!

Screenshot of a new image entity more information dialog, showing a QR code in the image.

While the camera entity provided similar functionality, we wanted to make an
entity tailored for these specific use cases. An image entity is much
more lightweight and efficient compared to the camera entity. Also, this keeps
our camera entities focused on providing actual camera feeds.

Support for this brand new entity has been added to the AVM Fritz!Box Tools
(for guest network access), and the MQTT and
Template integrations if you want to build your own.

Energy dashboard: Self-sufficiency

The energy dashboard has a new gauge, added by @TillFleisch: Self-sufficiency.

This gauge tells you how self-sufficient your home is. The more you take from
the grid, the more the value will decrease.

Screenshot showing the energy dashboard featuring the new self-sufficiency gauge.

Increasing this value can be done by lowering your consumption from the grid,
for example, by using the washing machine when the sun is shining and solar
production is high or by creating automations that turn off devices when solar
production is low. Another more drastic way is by adding more solar panels
or battery storage.

Copy ’n paste support in dashboards

In the previous release, @karwosts added the amazing copy ’n paste feature
to our automation and script editors. This release, he is back with the same
feature for our dashboards!

You can now cut, copy, and paste cards between your dashboards, views, and
even inside other nested cards. This makes it a lot easier to reorganize your

Screenshot showing the new cut and paste options available in the overflow menu of dashboards.

Just like with automations, select the card you want to cut or copy, and
when adding a new card to your dashboard, you will see a new option to paste.

When reorganizing your dashboards that use a masonry layout, it is mandatory to
understand the order of the cards across the different columns in your view.
To make that easier we now show a positional number on the card when
your dashboard is in edit mode.

Added bonus: Who needs drag ‘n drop when you’ve got click ’n …teleport?
Just kidding, of course; however, teleporting already makes things a lot easier!
Click on the positional number to enter a new position for the card.

Screen recording demonstrating clicking the positional number, provides a way to move a card to a different position.

Select the timezone to use/display

You can now select which timezone the Home Assistant interface should use
in your user profile. Useful when traveling or when you, for example,
manage an instance for a relative in a different time zone.

Screenshot showing a new option in the user profile, that allows you to choose if you want Home Assistant to use the server or your current timezone.

You can choose to use the timezone of your current location, or use the timezone
that your Home Assistant server is in. The Home Assistant frontend will adjust
all of the date & times to the selected timezone.

Iteration of the integrations dashboard

In the last release, we introduced new integrations dashboard & pages,
which many of you really liked. Yet, there has been some feedback, and we
have been working on improving it.

The main goal was to make it feel less busy, more familiar and consistent with
all other UI you see in Home Assistant.

Screenshot showing the latest updates and tweaks made to the integrations dashboard, making it less busy.

The cards shown are now more consistent with the rest of Home Assistant and the
full integration name and logo is now clickable. The cog, device and service
items have been removed, and the indicators for custom integrations
and cloud services are no longer overlapping the logos.

Unavailable automations and scripts

Automations and scripts are awesome! They can add a lot of comfort to your
home, making your home automation feel like magic. But they have a weird quirk:
if you made an error in their configuration, they would just disappear
from Home Assistant. 😞

This is no longer the case! 😀 If an automation or script has an error, it will
now show up as unavailable, accompanied by a red confused automation robot.

Screenshot showing the list of automations, with one broken automation in that list.

Selecting such an automation will show you the details of the error message
so you know what is going on and what to fix.

Screenshot showing the automation editor displaying a broken automation, including the error message on what is wrong.

New script dialog

When you create a new automation, you’ll get a nice dialog where you can create
a new one from scratch or use one of your imported blueprints
as a starting point.

@karwosts has now added the same dialog to our script editor! 🎉

Screenshot of the dialog shown when creating a new script, allowing you to select blueprints as well.

Being able to set up scripts from Blueprints is great, as combined with the
brand new service response feature, these
become a lot more powerful and a lot more useful for sharing!

You can find new script Blueprints for you to use in the
Blueprint Exchange on our community forum.

Lightning fast Bluetooth proxies

A great way to extend the range of Bluetooth for your Home Assistant set up
is by using Bluetooth proxies.
These Bluetooth proxies are now even faster! Like… really fast! 🚀

You can expect to see a 40-80% decrease in network traffic between
Home Assistant and the proxy device. It now bundles and sends multiple
Bluetooth advertisements in bulk, instead of sending them one by one.

Another large contributor to the speed increase is that the processing of the
advertisements is now done in Home Assistant instead of on the proxy device.
A win-win; it is faster this way and contributes to making the ESP device more
stable and reliable.

For this to work, you need ESPHome 2023.6.0 or later.

Matter updates

Quite a few significant changes have been made to the Matter integration.

The biggest change can be found in the way subscriptions are handled. Especially
on larger (Thread) networks, this will result in a much faster and more reliable
experience. This also affects startup time, which is now blazing fast (from
minutes to seconds).

Changes to connected Matter bridges are now instantly detected, so when adding
a new device to a bridge (like, for example, a connected Aqara M2 hub) the device
will show up immediately.

Last but most certainly not least: The Matter integration now supports
climate devices! 🎉

matter climate nest thermostat
A Nest Thermostat connected as a Matter climate device.

This means if you have a Nest Thermostat
(not the E or learning ones) with the latest firmware, you can now use it
directly with Home Assistant, entirely local without clouds!

Reducing the risk of running into breaking changes

Breaking changes, nobody loves them, but they are sometimes necessary to move
forward. We try to keep them to an absolute minimum, but sometimes they are

However, we do want to reduce the risk of running into them. Therefore we have
adopted a new policy for deprecating YAML integration configuration options.

We now require that a YAML configuration option is deprecated for at least 6
months before being removed. This means you won’t be running into
a hard-breaking change if you skip a release or two.

To improve this further, if possible, an automatic migration is now required
and an issue in the repairs dashboard will be raised if the deprecation applies
to your configuration.

Other noteworthy changes

There are many more improvements in this release; here are some of the other
noteworthy changes this release:

  • You can now use network storages that have guest access enabled, and support
    for older Samba versions has been added. Thanks, @ludeeus!
  • When accessing the UI of an add-on via the sidebar that hasn’t been
    started yet, it will now ask if you want to start it. Nice,
    @mdegat01 and @bramkragten!
  • The HomeKit Controller integration has been renamed to HomeKit Device;
    this makes it clearer that the integration is to integrate HomeKit devices
    into Home Assistant.
  • ESPHome now has support for Alarm Control Panels! Thanks @grahambrown11!
  • @Petro31 added support for setting upper and lower limits on the
    compensation integration. Cool!
  • Humidifiers now have an attribute for the current humidity, thanks @Shulyaka!
    @jbouwh updated the Google Assistant integration to support this. Additionally,
    he added support to the Xiaomi Miio, HomeKit Device, Tuya and MQTT integrations.
  • @piitaya updated all existing Humidifier cards to work with the above change,
    and adjusted them to be more in line with the existing climate cards. Nice!
  • The weather entity now supports more (forecast) attributes. It added support
    for apparent temperature, dew point, cloud coverage, and wind gust speed;
    Thanks, @gjohansson-ST, @vingerha, and @bieniu!
  • The Apple TV integration now supports launching apps with deep links!
    Thanks @michalmo!
  • @dougiteixeira adjusted the Derivative, Riemann sum integral,
    Threshold, and Utility Meter helper to add the helper to the source device.
    This makes them show up on the device page of the device the helper is…

Visto en