Home Assistant 2023.9: New climate entity dialogs, lots of tile features, and template sensors from the UI!

Home Assistant 2023.9: New climate entity dialogs, lots of tile features, and template sensors from the UI!

social

Home Assistant Core 2023.9! 馃帀

Frenck is enjoying a well earned holiday, so I鈥檓 taking care of the release this month.

This month, on the 17th, it has been 10 years since Home Assistant started. We鈥檒l be preparing a special event on the Home Assistant YouTube channel to celebrate, reflect and look ahead. We will have some cool announcements too! We hope you can join us on the 17th @ 12:00 PDT / 21:00 CET!

This release is pretty packed! With some very nice updates to the UI with new entity dialogs for climate entities, and lots of tile card features. Template sensors can be created from the UI now, and for the more advanced template sensors, the ability to get data from services!
A new service to get the weather forecast, and better options to display different forecasts.

And something you will probably not see when you are already using Home Assistant: the onboarding flow is completely redesigned!

I absolutely love it!

Enjoy the release!

Bram

Don鈥檛 forget to join our release party live stream on YouTube
6 September 2023, at 12:00 PDT / 21:00 CEST!

New climate, humidifier, and water heater entity dialogs

The entity dialogs for climate, humidifier, and water heater entities got an update, and if you ask me, it looks absolutely stunning!
It now has a newly designed circular slider showing the current and target temperatures and allows you to easily swipe to the desired target temperature.
There are also dedicated buttons to change the target, so it is easy to use if you are not using a touchscreen.
It will glow in the middle to show its current action, for example when it is heating or cooling.

climate card
Screenshot of the more info dialog of a climate entity.

Lots of new tile features

The tile card gets many new features this release.

The features of a tile card are a great way to bring more functionalities directly into your dashboard, without needing to open the more info dialog.

  • HVAC mode
  • Water heater mode
  • Temperature control
  • Cover position
  • Cover tilt
  • Lawn mower commands
  • Color temperature

tile features
Screenshot of tile cards with the new features.

Lawn mower

A new entity type was added this release: the lawn mower!

You can now integrate your lawn mower into Home Assistant!
Never worry about the lawn mower when it starts raining, you can now automate the lawn mower to stop and go back when it rains.
For now, just MQTT is supported, but keep an eye out for other integrations!

lawn mower
Screenshot of the more info dialog of a lawn mower entity.

Group previews

When setting up a helper, sometimes it can be useful to see how the entity that you are creating looks while you are setting it up. That鈥檚 why we added a preview when you create or change a group helper.

It will show exactly what the entity will look like with the current settings.

And talking about groups, we also got a new group, the event group!

group preview
Screenshot of creating a sensor group.

Template sensors from the UI

We also added preview support to another helper that finally made its way into the UI, the template sensor.

From the UI you can use a template to set the state of the sensor.
You can pick a unit of measurement, set the device class, and select a state class.
Both sensors and binary sensors are supported.

This will make most of the use cases for template sensors available through the UI and one less need for YAML!

Other more advanced fields, like attributes, are unavailable from the UI. You will still have to set those up in YAML.

With the preview, you see a live update of the sensor value while writing the template.

template sensor
Screenshot of creating a template sensor.

Actions for trigger template entities

Trigger template entities can now have an action block that is executed after the trigger but before the entities are rendered.

This will allow users to fetch things like calendar events and weather forecasts using services with responses and use them in their template entities. You can even use OpenAI to set the value of your entities now!

All variables from the action block will be available in the template.

An example that checks at midnight if you have something on your calendar tomorrow and sets a binary sensor:

template:
  - trigger:
      - platform: time
        at: "00:00:00"
    action:
      - service: calendar.list_events
        target:
          entity_id: calendar.calendar
        data:
          start_date_time: "{{ today_at() + timedelta(days=1) }}"
          duration:
            hours: 24
        response_variable: events
    binary_sensor:
      - name: Calendar events tomorrow
        state: "{{ events.events is defined and events.events | count > 0 }}"

Weather forecast service

We added a new service for weather entities, weather.get_forecast, that responds with the weather forecast.

Previously you would have to look at the forecast attribute of a weather entity to get the forecast, now this can be done by calling a new service, weather.get_forecast, that will respond with the forecast.
You can also specify what type of forecast you want. Do you want to see the forecast by day or do you want to know it for every hour? This means you no longer need separate entities for every forecast type, but it can all be done in 1 entity.

All weather integrations are updated to support this new service.

get forecast service
Screenshot of service developer tools showing the weather forecast service.

If an entity supports multiple forecasts, you can choose which forecast you want to see in the more info dialog.
In the weather card in your dashboard, you can also now pick what kind of weather forecast you want to show in that card.

weather more info
Screenshot of the weather more info dialog.

With this change, the forecast attribute of the weather entity is deprecated, and will be removed in Home Assistant Core 2024.3.

This will make it possible to have on-demand forecasts, that update when you want them to, instead of them being updated all the time.
It will also make the system faster; all state data gets sent to your browser or mobile app every time it is opened so the frontend has the latest states of your entities. The forecast attribute makes the state of weather entities very big, causing everything to be loaded slower.

While the way to access this data has changed and may impact your automations, you will not experience any loss in functionality. Even with this change, rest assured that the forecast cards in your dashboard will still work, they will now just use the service to retrieve the forecast data asynchronously instead of reading it from the state attribute. The end result is that your dashboards will load faster, and the frontend will be leaner.

You can use the newly added action part of a template entity to fetch the forecast and use it in your template:

template:
  - trigger:
      - platform: time
        at: "00:00:00"
    action:
      - service: weather.get_forecast
        target:
          entity_id: weather.home
        data:
          type: daily
        response_variable: forecast
    binary_sensor:
      - name: Is it going to rain?
        state: "{{ forecast.forecast[0].precipitation > 0 }}"

Onboarding

While it is certain that Home Assistant is a great tool once you understand how it works, one part that was often overlooked is its associated learning curve.
We are now actively working to flatten that curve so that you can get more from your home faster and simpler.
This release shows the first result of that effort, a new onboarding flow.

Something you probably have not seen for a while, but we gave our onboarding a fresh new look! It is shortened to get users in Home Assistant as fast as possible, so they can enjoy tinkering with their home faster!

onboarding
Screenshot of the onboarding screen.

Other noteworthy changes

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

  • Enphase Envoy has gotten a lot of love this release, ensure it works
    perfectly with the latest firmware available. Thanks @bdraco and @cgarwood!
  • The Shelly integration now supports the Shelly Gas Valve addon. Thanks @bieniu!
  • @starkillerOG added zoom buttons and AI detection delay time controls to
    the Reolink integration. Nice!
  • You can now set separate damping factors for morning and evening in the
    Forecast Solar integration. Thanks @joostlek!
  • @Kane610 added a restart device button to the UniFi integration. Thanks!
  • The Tomorrow.io integration now reports humidity and dew point in its weather
    forecasts. Thanks @lymanepp!
  • Support for soil moisture sensors was added to the Gardena integration.
    Thanks @elupus!
  • @timmo001 added a power service to the System Bridge integration. Thanks!
  • If you change your password, you will be asked if you want to logout everywhere.
  • The file and image upload elements have been revamped.
  • You can now sort the options of an input select entity. Thanks @karwosts!
  • Local Bluetooth has been optimized and is now faster, thanks @bdraco!

New integrations

We welcome the following new integrations in this release:

This release also has a new virtual integration. Virtual integrations are stubs that are handled by other (existing) integrations to help with findability. These are new:

Need help? Join the community!

Home Assistant has a great community of users who are all more than willing
to help each other out. So, join us!

Our very active Discord chat server is an excellent place to be
at, and don鈥檛 forget to join our amazing forums.

Found a bug or issue? Please report it in our issue tracker,
to get it fixed! Or, check our help page for guidance for more
places you can go.

Are you more into email? Sign-up for our Building the Open Home Newsletter
to get the latest news about features, things happening in our community and
other news about building an Open Home; straight into your inbox.

Breaking changes


Visto en