2023.2: How can I Help?

House Assistant Core 2023.2! 🎉

This launch covers the primary month of growth of 2023, and it’s setting
one heck of a excessive bar for the remainder of the 12 months! 😅

Undoubtedly, essentially the most spectacular options are associated to the
first chapter of Year of the Voice. 🎙️
It’s onerous to sum up all of this on this launch weblog, so I’m not even going
to strive doing it on this introduction, however holy mom of good houses: that is
thrilling stuff! 😮

My private favourite this launch: enormous steps into a good tighter integration
with our wonderful sister undertaking: ESPHome. Creating
and sustaining your personal safe DIY IoT gadgets simply turned lots simpler.

And since we’re speaking about awesomeness, have you ever seen the big quantity
of logos within the launch picture above? So many new integrations! 🤩

Benefit from the launch!

../Frenck

PS: Only a reminder that valentine’s day is arising. You’ll want to share the love! ❤️

Don’t overlook to join our release party live stream on YouTube 1 February 2023, at 12:00 PST / 21:00 CET!

Meet: Help!

It’s Home Assistant’s Year of the Voice, and
it’s our purpose to let customers management House Assistant in their very own language.
Along with the House Assistant neighborhood, we have now been onerous at work constructing
the inspiration for this.

At this time we such as you to fulfill:

Screenshot showing the new assist feature being used to turn on lights

Assist icon Help
means that you can use pure language to manage House Assistant. It’s powered by
Hassil and the sentences
(contributed by 112! folks) from the
Home Assistant Intents undertaking.

We imagine know-how is supposed to be performed with, and initiatives needs to be
usable as quickly as potential. Along with the neighborhood, we are able to then iterate
and refine. That’s why in the present day, we’re delivering a fundamental expertise supporting
a shocking 22! languages that work with Help.

Go forward, it’s enabled by default; simply faucet the brand new Help icon
Assist icon
on the prime proper of your dashboard to start out utilizing it.

Oh, and we’re additionally releasing some enjoyable stuff we’ve cooked up alongside the best way!
Read more about Assist and different launched voice options within the
Chapter 1: Assist blogpost
and a video presentation (including live demos) on YouTube.

Streaming historical past

Historical past playing cards now replace dwell! We now stream the state adjustments whereas they’re
taking place and replace the graphs in real-time 😲

Screenshot showing a history card presenting the power usage of a kitchen coffeemaker, updating live while brewing coffee
These historical past playing cards now present dwell energy utilization, whereas I am brewing a cup of espresso.

However this isn’t simply restricted to historical past playing cards, your
history dashboard is now dwell too!

On account of this all, we are able to now write much less continuously to the database in our
recorder. It took years of adjustments to get us so far (thanks @bdraco 🙏).
It drastically reduces useful resource utilization and will increase storage lifetimes considerably.
The beforehand launched dwell logbook and now the dwell historical past had been the
final items that made this potential.

As a side-effect, it also needs to resolve the authentication errors some folks
skilled re-opening the iOS companion app when utilizing historical past playing cards.

Grouping sensors

The group helper now helps sensors too! Sensor teams
can mix entities with a numeric state, like sensors,
number, and number helpers
entities.

Screenshot showing the process of adding a new sensor group

This characteristic is a revised, improved, and extra logical model of the
“Min/Max” integration / “Mix the state of a number of sensors” helper.
It’s seemingly we’re going to change these with this new sensor group
sooner or later.

In comparison with these beforehand talked about strategies, the sensor teams have the
extra choices to cover their member entities and the choice to disregard
sensors that presently aren’t in a numeric state (i.e., presently “unavailable”
or “unknown”).

Now even tighter built-in with ESPHome

ESPHome already works rather well with House Assistant.
But, this launch makes it even higher!

If you’re utilizing the ESPHome add-on, we have now some nice enhancements for you.
The add-on and House Assistant will now talk with one another, bringing
in lots of new options.

While you arrange a brand new gadget in ESPHome and subsequent add it to House Assistant,
they are going to have the ability to change encryption keys. Eradicating the necessity so that you can
discover, copy & paste these. Only a single click on and the setup is completed! 🚀

However that isn’t all. What is basically mind-blowing, is that the ESPHome
integration will now present replace entities when utilizing the add-on!

Screenshots, left one showing pending updates for ESPHome devices. Right one: an ESPHome device installing an update straight from Home Assistant

Proper now, the replace entities will solely point out if a tool wants updating.
Nonetheless, when the following main launch of ESPHome (2023.2) turns into out there,
it should help updating them too! Sure, at that time, you possibly can replace your
ESPHome gadgets instantly from House Assistant and even automate it!

Additionally, ESPHome is deprecating the outdated password-based authentication for its
API in favor of the safer encryption key. If certainly one of your ESPHome gadgets
remains to be utilizing a plain password, House Assistant will notify you by creating
a difficulty in your Repairs dashboard.

Screenshot showing a raised repair issue for an ESPHome device still using the deprecated API password instead of an API encryption key

We’ve additionally ready for the following launch of ESPHome (2023.2), in which you’ll
add a pleasant, extra human identify to your ESPHome gadgets. House Assistant will
choose these up, making your ESPHome gadgets look higher out-of-the-box!

Different noteworthy adjustments

There’s far more juice on this launch; listed here are among the different
noteworthy adjustments this launch:

  • Now you can add aliases to your areas too! Our new Help characteristic
    leverages this.
  • Received an vitality sensor in Wh, however you’d prefer it to be kWh? Now you can
    change the models of vitality sensors within the entity settings.
  • Every entity within the frontend has its personal shade, which relies on the present
    entity state. We now have officially added support
    for themes to customise these.
  • Essentially the most superior integration of all, obtained even higher. @Lash-L added help
    for the battery state of your Oral-B toothbrush!
  • The automations & scripts UI now help deciding on different entities for
    above/under within the numeric state situations & triggers. Thanks, @karwosts!
  • The Reolink integration now helps FLV streams, cameras may be found
    on the community, however extra importantly: binary sensors! For issues
    like movement, particular person, car detection, and… Doorbell presses!
    Thanks, @starkillerOG!
  • There’s now a service that permits for the creation of calendar occasions. So,
    now you can automate occasions to be added to your calendars! Superb, @allenporter!
  • When deciding on a number of entities from a listing within the UI, it should now exclude
    already added entities. No extra by accident added duplicates! Thanks, @piitaya!
  • @Kane610 added PoE energy sensors to the UniFi Network integrations, good!
  • The Tile card now has a vertical possibility! Nice, @TheZoker!
  • Jellyfin now works with TV reveals within the media browser. Thanks, @j-stienstra!
  • Now we have bumped the CHIP/Matter SDK model utilized by our Matter implementation
    to 1.0.0.2, which contains many fixes.
  • From the Month of “What the heck?”: Previous-style groups can now take away entities
    from the group utilizing the group.set service. Thanks, @gjohansson-ST!
  • You may need seen a Thread and an Open Thread Border Router integration
    being added to this launch. These are presently not for lively use however for
    preliminary early growth.
  • The experimental multi-pan characteristic has been enabled once more. Permitting to run
    each Zigbee and Thread utilizing the one radio present in each House Assistant
    Yellow and House Assistant SkyConnect.
  • The next integrations now reached a Platinum degree on the
    integration quality scale:

New Integrations

We welcome the next new integrations on this launch:

  • EnergyZero, added by @klaasnicolaas
    Retrieves dynamic (hourly) vitality & gasoline costs from the Dutch utility firm
    EnergyZero.

  • EufyLife, added by @bdr99
    Combine Eufy good scales over Bluetooth.

  • Everything but the Kitchen Sink, added by @emontnemery
    It is a take a look at integration, which supplies numerous odd and obscure entities.
    It may be useful for growth functions, however typically no use in any other case.

  • Google Mail, added by @tkdrob
    Offers companies to handle your Google Mail auto-response and supplies
    a notification service to ship (or draft) emails.

  • LD2410 BLE, added by @930913
    Integrates a $4 LD2410 Bluetooth mmWave sensor, which works with our
    Bluetooth proxies!

  • Mopeka, added by @bdraco
    Works together with your Mopeka BLE propane tank displays.

  • OpenAI Conversation, added by @balloob
    OpenAI integration that makes use of GPT-3 to showcase changing the House Assistant
    dialog agent. Word: It can not management something in your house.

  • Read Your Meter Pro, added by @OnFreund
    Pull in your water utilization/meter readings out of your Learn Your Meter Professional account.

  • Ruuvi Gateway, added by @akx
    Integrates the Ruuvi Gateway that reads your Ruuvi sensors.

  • SFR Box, added by @epenet
    Affords integration with the SFR broadband routers.

  • Starlink, added by @boswelja
    Starlink is a satellite tv for pc web constellation operated by SpaceX.
    Combine your Starlink dish with House Assistant.

  • Stookwijzer, added by @fwestenberg
    Stookwijzer advises wether to burn pallets or wooden, or to
    use the barbecue. This may forestall well being issues for folks within the space
    (NL solely).

  • Zeversolar, added by @kvanzuijlen
    Get energy and vitality info out of your Zeversolar photo voltaic inverter regionally.

This launch additionally has some new digital integrations. Digital integrations
are stubs which might be dealt with by different (present) integrations to assist with
findability. These are new:

Integrations now out there to arrange from the UI

The next integrations at the moment are out there by way of the House Assistant UI:

Launch 2023.2.1 – February 2

Need assistance? Be part of the neighborhood!

House Assistant has an amazing neighborhood of customers who’re all greater than keen
to assist one another out. So, be part of us!

Our very lively Discord chat server is a wonderful place to be
at, and don’t overlook to affix our wonderful forums.

Discovered a bug or problem? Please report it in our issue tracker,
to get it mounted! Or, examine our help page for steering for extra
locations you possibly can go.

Are you extra into electronic mail? Sign-up for our Building the Open Home Newsletter
to get the newest information about options, issues taking place in our neighborhood and
different information about constructing an Open House; straight into your inbox.

Breaking Modifications

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

Python 3.9 help has beforehand been deprecated and has now been eliminated.
House Assistant now requires Python 3.10 to run.

If you’re utilizing House Assistant OS, House Assistant Container, or House Assistant
Supervised set up technique, you don’t should do something. In these instances,
we deal with this all for you.

Your system has been utilizing Python 3.10 for fairly a while already.

(@frenck#85456)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

If you’re utilizing MariaDB with House Assistant recorder, please be sure
you run 10.5.17 , 10.6.9, 10.7.5, 10.8.4 (relying on which main
launch you’re utilizing). If you’re utilizing the MariaDB core add-on,
be sure to replace it to the newest model: 2.5.2.

Older variations of MariaDB undergo from a major efficiency regression
when retrieving historical past knowledge or purging the database.

(@bdraco#87040)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

A disabled situation, for instance, in an automation or script, will not
all the time be a move/True inside an OR situation. As a substitute, in these
instances, the situation will now don’t have any impact when disabled.

(@karliemeads#79718) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

For the precipitation entity, the unit was modified from mm to mm/h
(in to in/h), leading to the necessity to repair the unit for long-term
statistics. You are able to do that in Developer Instruments -> Stats.

(@bieniu#86088) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

If the language within the House Assistant settings is about to Polish, the language
of the recommendation and description attributes of the CAQI entity will change
from English to Polish.

If you’re utilizing these in your automations or scripts, you may want to regulate
them to match this alteration.

(@bieniu#85655) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

The state values of the Fitbit sensor entities will change to take away any
1000’s delimiters. For instance, 1,500 will turn out to be 1500.

In case you’re utilizing the state of those entities in automations or scripts,
it’s good to replace them to deal with the brand new state format.

(@sw-carlos-cristobal#85251) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

The scan/replace interval for water values has been restored to match the Flume
app.

To remain underneath Flume’s API limits, the gadget connection is now checked hourly,
and notifications are checked each 5 minutes.

(@bdraco#86354) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

The use_include_order YAML configuration possibility has been eliminated.

This selection was used to type the historical past on the unique historical past panel which,
is not used. Because it not has a perform and solely serves to
decelerate the response, it has been eliminated.

(@bdraco#86365) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

The IoTAWatt integration not supplies sensors with the “Accrued”
suffix. The gathered sensors have been launched to help internet vitality
export/import metering.

Newer variations of IoTaWatt present “Integrators”, which permit reaching the
identical extra effectively and with greater accuracy.

You must configure Integrators
to calculate the online vitality export and import.

(@agners#86611) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

The Matter integration now requires working Matter Server model 2.0.0.

In case you’re utilizing the Matter Server add-on to run the Matter Server,
you’ll need model 3.0.0 of the add-on.

We needed to change our vendor ID within the add-on; in consequence, all gadgets
must be recommissioned.

(@MartinHjelmare#86470) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

The states of air high quality sensors have been standardized to match House Assistant
core guidelines. This impacts two states of the sensors that NAM can present:

  • very low, which now turned very_low
  • very excessive, which now turned very_high

In case you used these states instantly in your automations, scripts, or templates;
you would wish to regulate these to match these adjustments.

(@frenck#85245) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

The Pentair ScreenLogic integration now appropriately categorizes all recognized lights.
Eradicating any lights that had been beforehand incorrectly created as swap entities
could also be vital.

(@dieselrabbit#86608) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

The beforehand deprecated YAML configuration of the Pi-hole
integration has been eliminated.

Pi-hole is now configured by way of the UI. Any present YAML configuration
has been imported in earlier releases and might now be safely eliminated out of your
YAML configuration recordsdata.

(@mib1185#84803) (documentation)


The additional state attribute “Domains blocked” has been faraway from all sensors.
It’s already uncovered as its personal devoted sensor.

In case you used the state attribute in your automations or scripts, you’d
want to regulate them to make use of the devoted sensor as a substitute.

(@mib1185#85424) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

Rainbird is now configured by way of the UI, and configuration from YAML has been
imported robotically.

Nonetheless, there are just a few notable adjustments:

  • Customized per zone overrides for irrigation time are not supported.
  • The Rain delay binary_sensor that duplicates the Rain delay time sensor
    has been eliminated. You must transfer all makes use of to the sensor worth and examine
    for a non-zero worth to get equal habits.
  • The Rain sensor that duplicates the Rain binary_sensor has been eliminated.
    It’s possible you’ll examine the binary_sensor state to get equal habits.

Additionally, the best way the “Rain Delay” is managed has modified. The Rain Delay, which
pauses irrigation for a specified variety of days, is now managed with a quantity
entity which may be managed instantly from the UI.

The prevailing service name rainbird.set_rain_delay and the Raindelay sensor
have been deprecated. Any present automations or scripts that make service
calls to rainbird.set_rain_delay will must be changed with a name
to quantity.set_value. Moreover, the present service name was up to date to
require an integration entry configuration because it beforehand had undefined
habits, so it’s endorsed to maneuver on to the brand new quantity service name.

(@allenporter#85271 #86208) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

The recorder’s default commit interval has been elevated to five seconds to
cut back disk I/O and improve storage longevity.

Because the historical past and logbook integrations each help dwell streaming, which
avoids the necessity to learn the database after the preliminary sync, there is no such thing as a
remaining core performance that wants a decrease commit interval.

The commit_interval may be adjusted
to a decrease worth within the occasion an integration has not been up to date to observe for
occasions as a substitute of studying the database and must learn the database sooner.

(@bdraco#86115) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

The beforehand deprecated renault.charge_start service has been eliminated.
Please use the devoted begin cost button entity to start out the cost as a substitute.

(@epenet#86070) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

Sony Bravia TV media gamers not have pretend (assumed) taking part in or paused
states, and people are changed with the on state.

You probably have automations or scripts that use the taking part in or paused state,
please replace them to be appropriate with this alteration.

(@Drafteed#84885) (documentation)


The source_list not accommodates a listing of purposes and TV channels.
Apps and channels have been separated from the enter listing and moved
to the Media Browser.

You probably have automations or scripts that use media_player.select_source to
swap apps or channels on the Bravia TV, the automations must be
up to date to make use of media_player.play_media service as a substitute.

The choices circulate has been faraway from the mixing, as the one
configurable setting ignored_sources was not related
and incompatible with this alteration.

(@Drafteed#85288) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

The beforehand deprecated YAML configuration of the Spain electrical energy hourly
pricing (PVPC) integration has been eliminated.

Spain electrical energy hourly pricing (PVPC) is now configured by way of the UI. Any
present YAML configuration has been imported in earlier releases and might now
be safely eliminated out of your YAML configuration recordsdata.

(@azogue#85614) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

The swing modes of Tado have modified. That is to standardize with different
integrations, and so it could actually help translations.

  • ON turned the lowercase on
  • OFF turned the lowercase off

In case you used these swing modes in your automations or scripts, you may
want to regulate these to this alteration.

(@emontnemery#84278) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

All additional state attributes from Twinkly mild entities have been eliminated.

They largely added details about the gadget,
not the precise mild state itself.

(@frenck#84986) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

ISY/IoX Variables have been moved from sensor entities to quantity entities;
the present sensor entities are deprecated and will likely be eliminated in a future
launch.

The isy994.set_variable service has been deprecated in favor of utilizing
the quantity entities to instantly set the variable values.

Please replace any dashboards, scripts, and automations that could be utilizing these
entities or service.

(@shbatm#85511) (documentation)


Entities for INSTEON Aux Properties and Machine Communication Errors have been
eliminated for nodes that aren’t the primary (load) node.

On Stage and Ramp Price sensors have been eliminated for non-dimmable (non-mild.)
gadgets. Solely load gadgets obtain communication error updates and solely
dimmable gadgets help OL and RR instructions.

The opposite entities had been beforehand added however didn’t obtain legitimate states from
the ISY or end-devices. These sensors had been disabled by default.

(@shbatm#85744) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

The beforehand deprecated YAML configuration of the Uptime
integration has been eliminated.

Uptime is now configured by way of the UI. Any present YAML configuration has been
imported in earlier releases and might now be safely eliminated out of your YAML
configuration recordsdata.

(@frenck#86292) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

When there’s a connection error with the receiver, the gadget will now
go into an unavailable state till the connection has been restored.

(@sredna#85018) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

The uncooked state/possibility values of the Yamaha MusicCast zone sleep choose entities
have been standardized to match House Assistant core guidelines.

The next states/choices have been modified

  • 120 min, which now turned 120_min
  • 90 min, which now turned 90_min
  • 60 min, which now turned 60_min
  • 30 min, which now turned 30_min

In case you used these states/choices instantly in your automations, scripts,
or templates; you’ll need to regulate these to match these adjustments.

(@frenck#85292) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

The beforehand deprecated YAML configuration of the Zentralanstalt für
Meteorologie und Geodynamik (ZAMG) integration has been eliminated.

Zentralanstalt für Meteorologie und Geodynamik (ZAMG) is now configured by way of the
UI. Any present YAML configuration has been imported in earlier releases and
can now be safely eliminated out of your YAML configuration recordsdata.

(@killer0071234#86113) (documentation)

perform showDetails(el)
const content material = el.parentElement.querySelector(“.details-block-content”);
const up = el.querySelector(“svg#up”);
const down = el.querySelector(“svg#down”);
const shouldExpand = down.type.show === “block”;
up.type.show = shouldExpand ? “block” : “none”;
down.type.show = !shouldExpand ? “block” : “none”;
content material.hidden = !shouldExpand;
el.ariaExpanded = shouldExpand;

The AnalogInput sensor entities for sure Xiaomi plugs have been eliminated
from ZHA.

Correctly working “Lively energy” and “Summation delivered” sensors can be found
to interchange the older entities. These newer sensor entities may also be utilized in
House Assistant Power dashboard.

(@TheJulianJES#86261) (documentation)

If you’re a customized integration developer and need to find out about breaking
adjustments and new options out there in your integration: You’ll want to comply with our
developer blog. The next are essentially the most notable for this launch:

Farewell to the next

The next integrations are additionally not out there as of this launch:

  • Almond has been eliminated. It’s in a non-working state, and the companies
    have been shut down.
  • OpenALPR Native was beforehand deprecated and has now been eliminated. It
    doesn’t work appropriately and has no utilization, in response to our public analytics.

All adjustments

After all, there’s much more on this launch. You could find a listing of
all adjustments made right here: Full changelog for Home Assistant Core 2023.2