2024.1: Happy automating!

Happy New Year! 🍾

We wish you, and all the loved ones around you, all the best for 2024! 🥂

I cannot think of a better way to start the new year: Home Assistant Core 2024.1! 🎉

This release is fairly small, as expected; we are just coming out of the holiday season. However, it does contain some nice improvements and features to be excited about and a stunning total of 13 new integrations!

My favorite: the automation editor changes. It had quite a bunch of user interface tweaks. Most are focused on making it friendlier and easier to use for new and long-term users, making it quicker to find the right trigger, condition, or action.

I greatly like this improved experience, and I hope you do too!

Enjoy the release!

../Frenck

Don’t forget to join our release party live stream on YouTube 3 January 2024, at 12:00 PST / 21:00 CET!

Automation editor improvements

The automation editor got some love for this release, with many small improvements to make it easier for both new and long-time users.

As there are many small improvements, let’s go over them individually.

PS: One quick note: all changes are UI changes, meaning that these changes do not affect the underlying automation configuration. All your existing automations will continue to work as they did before.

Improved empty automations dashboard

If you start with Home Assistant, visiting the automations dashboard would result in an empty page. That is not very helpful if you see this for the first time. So, we’ve improved that!

You are now greeted by the little automation robot that explains what an automation is and references to the documentation that can help you get started.

Screenshot showing an empty automations dashboard, explaining what automations are.

A small but effective improvement to help new users get started. We have also applied this same improvement to the scripts and scenes dashboards.

Guidance when creating a new automation

When starting a new automation from scratch, you used to be greeted by some, possibly, new terminology and almost a blank page with some buttons to add triggers, conditions or actions. As a new user, this immediately imposes a challenge: what do I need to do?

You guessed it: We have slightly improved that. We have changed the big headers to be more descriptive and less technical. We have also added some help text to explain each section, including examples of what they can be used for.

Screenshot showing descriptions on what each section in an automation is and can be used for.

Don’t worry; we’ll hide the explanation once you add elements to the sections to keep the overview of existing automations as clean as possible.

Building blocks

You might have noticed in the screenshots above the conditions and actions have a new button next to them: + Add building block.

Selecting these new buttons allows you to add logical elements to your automation or scripts, like And, Or, If-then, Choose, etc.

These used to be mixed in with the conditions and actions but now have their own dedicated button. It makes it easier to find them and declutters the list of conditions and actions.

Screenshot showing the new dialog that allows you to add logical building blocks to automations.

Notice how this now opens up a dialog? A dialog gives us more space to describe what each building block does and room for a search box to find the one you need.

Improved trigger, condition & action buttons

The bigger change can be found in the buttons to add a trigger, conditions, or actions to your automation. This change was not just aimed at new users but also long-time users.

All these buttons are used to give a dropdown that allows you to select the type of trigger, condition, or action you want to add. This dropdown has been replaced by a new dialog similar to the one we just saw for the building blocks.

Like the building block, it describes what each trigger, condition, or action does. These descriptions are important, as they help you understand what they do.

Screenshot showing the new add trigger dialog, which displayed the most common triggers first.

If you add an element, we will first show you the most used triggers/conditions/actions by our community. We now have all others neatly grouped. For actions, we took it a step further and unified them with service calls.

Unified actions

If you have been using Home Assistant for a while, you are probably familiar with the “service call”-action that you can add to your automation. But, honestly, what is a “service call”? It is a bit of a technical term that is especially confusing for newer users. You just want to turn on a light, right?

This release unifies those “service calls” with all other actions, meaning there is no “service call” anymore; that layer has been refactored from the UI. Instead, you add an action and select the action you want to take, for example, turn on a light.

Screenshot showing the new add action dialog, which now shows all possible actions, including services.

This means that if you add an action, you see all actions (including all service calls), categorized, with description, and searchable! Being able to search through all available actions is a huge improvement.

Screenshot showing the new add action dialog utilizing the search function to find whatever you need.

By default, just like with the triggers and conditions, we show you the most used actions first and the actions for the entities you have on your system. All others are neatly grouped by integration in the Other actions section.

Screenshot showing the new add action dialog that neatly groups all other actions that integrations provide.

Description & due date support for to-do list items

The to-do list integration keeps getting better and better. This release adds support for descriptions and due dates!

If the integration you are using supports it, you can now add descriptions to each task on your list. It fully supports the Markdown markup to add links, bold text, etc. If due dates (or due date + time) are supported, you can set these.

Screenshot showing the new to-do item dialog, where you now can set a description and a URL.

As shown in the screenshot above, there is a whole new dialog to adjust your to-do item. But this is not the only change. The list itself has been improved as well.

Screenshot showing the improve to-do dashboard, showing descriptions and highlighting overdue items.

It is much cleaner, all big text boxes are gone, and each item is nicely formatted, including an excerpt of the description and the due date. If the due date is overdue, it will be highlighted.

New entity type: Valve

A brand new entity type has been added to Home Assistant: Valve!

Integrations can use this entity type to expose valves, such as a valve on a radiator, pool, sprinkler system, and main house gas or water line.

Screenshot showing a valve entity in the Home Assistant UI.

Currently, the Shelly integration supports it and now provides a valve entity for the Valve addon for Shelly Gas. Additionally, support for it has been added to MQTT, and the valve entities also work with Amazon Alexa and Google Assistant.

Tip: Do you have a switch entity that controls a valve? You can now change the entity type to valve in the entity settings.

Swappable current/target on thermostat & humidifier cards

By popular demand, the thermostat and humidifier cards now support setting current temperature/humidity as the primary information to show on the card.

You can enable the show current temperature as primary information option in the card, which will result in the target temperature being swapped with the current temperature in the card.

Screenshot showing two thermostat cards. One has the setpoint as a primary temperature, the other the current temperature.

New card features

Last year, we saw many new features added to the cards, so let’s start the new year with some more!

@Quentame added the climate fan mode card feature. This feature can be used with both the thermostat and the tile card:

Screenshot showing the new fan mode card feature that can be used on the tile and thermostat cards.

Also new is the update actions card feature. This addition by @piitaya allows you to add buttons to a card to trigger update actions when pressed.

Screenshot showing the new update card feature the can be used on the tile card.

Other noteworthy changes

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

  • Two brand new template functions have been added this release: median and statistical_mode. Thanks, @TheFes!
  • @bieniu added support for the brand new Shelly 3rd generation devices to the Shelly integration. Nice!
  • A long-time shutdown bug has been fixed: You can now run automations triggered when Home Assistant shuts down. This could, for example, be used to send yourself a notification when that happens. Thanks, @tetele!
  • Created your own fan controller using ESPHome? You can now add preset modes to it! Thanks, @mill1000!
  • The ping integration now has the option to configure the number of seconds that must elapse before considering a disconnected device “not at home”. Awesome, @jpbede!
  • Looking for the ZAMG integration? It has been renamed to GeoSphere Austria. Thanks, @killer0071234!
  • Got one of those Sonos amps? @jjlawren added support for the subwoofer crossover setting to the Sonos integration. Nice!
  • @tkdrob added support for the new calendar entity to the Radarr integration. So you can see the release schedules straight from Home Assistant. Awesome!
  • You can now configure the minimal number of samples the trend helper uses. It allows you to make it less sensitive when there is not that much data. Thanks, @jpbede!
  • Got cold toes in bed? @kbickar to the rescue! He added support for foot warmers to the SleepIQ integration. Nice!

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. The following virtual integrations have been added:

Integrations now available to set up from the UI

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

Release 2024.1.1 - January 5

Release 2024.1.2 - January 6

Release 2024.1.3 - January 12

Release 2024.1.4 - January 19

Release 2024.1.5 - January 20

Release 2024.1.6 - January 30

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’t 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.

Backward-incompatible changes

Blink

The service calls of Blink have been adjusted. This affects blink.trigger_camera, blink.save_video and blink.save_recent_clips.

This change will require these service calls to be updated with a target for the camera and by removing name from data of the blink service calls.

For example, service call before 2023.11:

service: blink.save_video
data:
  name: Front door
  filename: test.mp4

Service call after 2023.11 and before 2024.1:

service: blink.save_video
data:
  device_id: 87dc3b85c18ee84f8c322a95e8230eb2
  name: Front door
  filename: test.mp4

New service call:

service: blink.save_video
target:
  entity_id:
    - camera.front_door
data:
  filename: test.mp4

The blink.send_pin service now uses an integration/configuration entry selector:

Example service call before 2023.11:

service: blink.send_pin
data:
  pin: "1234"

Service call after 2023.11 and before 2024.1:

service: blink.send_pin
data:
  pin: "1234"
  device_id: 87dc3b85c18ee84f8c322a95e8230eb2

New service call:

service: blink.send_pin
data:
  config_entry_id: a1bee602deade2b09bc522749bbce48e
  pin: "1234"

The blink.blink_update service is deprecated and will be removed in 2024.7.0. Use the homeassistant.update_entity service instead.

(@mkmer - #105413) (documentation)

Home Assistant shutdown event

The event key in the (undocumented) trigger data for the homeassistant trigger platform is now the string shutdown for a homeassistant trigger configured to fire on shutdown instead of an Event object.

(@tetele - #91165) (documentation)

Modbus

Setting swap: none has been removed from the Modbus configuration. It is identical to omitting it: swap:.

(@janiversen - #104713) (documentation)

PrusaLink
  • The printer state now contains several new statuses, most importantly “attention”, which always needs your intervention.
  • Firmware 4.7.0 is now the minimum version for Prusa XL and MK4.
  • Firmware 5.1.0 is now the minimum version for Prusa Mini since 4.7.x and 5.0.x aren’t available for the Mini.

(@Skaronator - #103396) (documentation)

Reolink

The Reolink Infrared lights in night mode entity has been migrated from the light to the switch domain.

This means the entity ID also changed, and automations and dashboards may need to be adjusted to use the new entity ID.

If you want to go back to the light domain, use the switch_as_x “Show as” option on the new Infrared lights in night mode switch entity and select light.

(@starkillerOG - #105916) (documentation)

Shelly

The minimum supported firmware version for generation 1 devices is 1.11.0 (2021-07-15). The minimum supported firmware version for generation 2 devices is 1.0.0 (2023-08-03).

You must update your devices to the firmware versions listed or newer.

(@bieniu - #105384) (documentation)

If you are a custom integration developer and want to learn about breaking changes and new features available for your integration: Be sure to follow our developer blog. The following are the most notable for this release:

All changes

Of course, there is a lot more in this release. You can find a list of all changes made here: Full changelog for Home Assistant Core 2024.1