Everything New In Home Assistant 2023.4!

Home Assistant 2023.4 has new cards and UI elements for dashboards, better Android features, a Windows App and loads of template features!

Everything New In Home Assistant 2023.4!

We are already into April of 2023 😲 Hopefully you managed to survive the onslaught of April Fools Day jokes..

Something that isn’t an April Fools joke, however, is the brand new Home Assistant release of 2023.4! This release includes multi-server support, template macros, new template functions and some new dashboard upgrades!

Let's get into it!

Video

Release Notes

2023.4: Custom template macros, and many more new entity dialogs!
New tile card features for alarms & fans. Create your own reusable Jinja2 template macros. Brand new entity information dialogs for covers, fans, and alarms. And even more database scalability impr...

Even More Dialogues!

A few months ago, the team behind Home Assistant introduced a new design language and started to roll out new cards and UI elements using that design. Since then, they've continued to add more features and expand the use of this design across the platform.

One of the latest updates includes new dialogue options for alarms, covers, and fans. Specifically, the Tile Card has been updated to support Alarm entities, allowing users to toggle alarm modes with a clean interface that shows the buttons for each mode.

Tile Card with Alarm Features

If you choose to bring up the "more info" dialogue, you'll see that the design has been revamped in the new style. If you disarm the alarm, a popup for the keypad will appear, which is a nice improvement over the old keypad that was always on display.

Alarm "More Info" dialogue

In addition to Alarm entities, the Tile Card now also supports fans. When you add a fan to the Tile Card, you'll see controls for fan speed, which can be either individual buttons or a percentage slider depending on how your fan works. Once again, the "more dialogue" option will provide a consistent control option.

Finally, covers have also received an update with a new dialogue that matches the design language used throughout Home Assistant. The Tile Card already had support for covers, but now the more info dialogue has been updated to change depending on which options are available for your cover. For example, if you have a cover with tilt or up/down options, those will be reflected in the dialogue:

Multi-Server Support on Android

The Android Home Assistant app now supports multiple servers natively in the app, just like the iOS app!

This feature allows users to change between different Home Assistant servers all in the same app, without having to log out and log in each time. This is particularly useful if you have multiple servers such as one at your house and one at your parents' house, a summer house, camper van, or maybe you are like me, and have a test server.

You can add this through the Companion App settings, and once done a 3 finger swipe from the right side will switch servers, or you can go into the settings to activate a specific one:

Windows 11 App

There is also a new native app for Windows 11 that can be downloaded through the Amazon app store.

This app allows users to collect sensors and interact with their Windows PC through an official Windows app, although it is still in preview mode and may have some bugs.

Improved Templating

This release also includes several new templating options, with one of the most notable features is the support for Macros in Templates.

This allows users to create repeatable and reusable templates that can be used throughout Home Assistant. This is done by adding a *.jinja file inside of a new "custom_templates" folder inside of the Home Assistant config folder (needs manually created with a restart). Once done, you can create templates like this:

{% macro is_temp_low(entity_id) %}
{% set threshold = 23.0 | float %}
The low point threshold is {{threshold}}
{{ (states(entity_id) | float < threshold) | iif('Temperature is low', 'Temperature is OK') }}!
{% endmacro %}

And then use the macro like this:

{% from 'utils.jinja' import is_temp_low %}
{{ is_temp_low('sensor.office_temperature') }}

#Outputs:
The low point threshold is 23.0
Temperature is low!

Additionally, there are three new functions available in templates!

The first function checks if an entity is hidden or not with:

{{ is_hidden_entity('sensor.door_sensor_device_temperature') }}

# Outputs true if hidden or false if not.

The second function returns a list of all configured areas in your home:

{{ areas() }}

# Returns a list of configured areas

The third function tests if an entity has an unavailable or unknown state:

{{ has_value('sensor.aqara_thermostat_temperature') }}

# Returns true or false

Finally, break and continue are now supported inside of for loops, making for loops more efficient.

Blueprint Selectors!

If you are a blueprint maker, there is now a new selector that lets you provide a fixed value, such as an enabled status. You can also better filter device and entity filters by passing in a list of filters rather than a single condition, as was previously the case.

Other Notable Improvements

There are also other improvements to note of course, such as:

  • Improved Reolink integration, which includes more sensors, settings, and controls for Reolink devices
  • Spotify integration now supports podcast playback
  • Locks are now supported with the Matter integration
  • TP-Link Omada integration supports updating of entities.
  • Even more!

Breaking Changes

There are several breaking changes in this release, but none of them appear to be major. They are mostly older deprecated items or minor changes that have been previously warned about. It is always a good idea to review these changes and check any that might be applicable to you before updating.

Till next time...