2023.2: How can I Help?

Dwelling Assistant Core 2023.2! 🎉

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

Undoubtedly, probably the most spectacular options are associated to the
first chapter of Year of the Voice. 🎙️
It’s laborious 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 sensible houses: that is
thrilling stuff! 😮

My private favourite this launch: large steps into a good tighter integration
with our superb sister undertaking: ESPHome. Creating
and sustaining your personal safe DIY IoT gadgets simply turned so much 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. Be sure you share the love! ❤️

Don’t neglect 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 aim to let customers management Dwelling Assistant in their very own language.
Along with the Dwelling Assistant group, we now have been laborious at work constructing
the inspiration for this.

At this time we such as you to satisfy:

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

Assist icon Help
lets you use pure language to manage Dwelling 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 tasks must be
usable as quickly as potential. Along with the group, we are able to then iterate
and refine. That’s why at the moment, we’re delivering a primary expertise supporting
a surprising 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 way in which!
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 reside! We now stream the state modifications whereas they’re
occurring 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 reside 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 reside too!

Because of this all, we are able to now write much less often to the database in our
recorder. It took years of modifications to get us up to now (thanks @bdraco 🙏).
It significantly reduces useful resource utilization and will increase storage lifetimes considerably.
The beforehand launched reside logbook and now the reside historical past have 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 probably 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 at present will not be in a numeric state (i.e., at present “unavailable”
or “unknown”).

Now even tighter built-in with ESPHome

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

In case you are utilizing the ESPHome add-on, we now have some nice enhancements for you.
The add-on and Dwelling Assistant will now talk with one another, bringing
in lots of new options.

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

However that isn’t all. What is de facto 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 subsequent main launch of ESPHome (2023.2) turns into accessible,
it is going to assist updating them too! Sure, at that time, you may replace your
ESPHome gadgets instantly from Dwelling Assistant and even automate it!

Additionally, ESPHome is deprecating the previous password-based authentication for its
API in favor of the safer encryption key. If one in every of your ESPHome gadgets
remains to be utilizing a plain password, Dwelling 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 subsequent launch of ESPHome (2023.2), in which you’ll
add a pleasant, extra human identify to your ESPHome gadgets. Dwelling Assistant will
choose these up, making your ESPHome gadgets look higher out-of-the-box!

Different noteworthy modifications

There may be way more juice on this launch; listed here are among the different
noteworthy modifications this launch:

  • Now you can add aliases to your areas too! Our new Help characteristic
    leverages this.
  • Obtained an vitality sensor in Wh, however you’d prefer it to be kWh? Now you can
    change the items of vitality sensors within the entity settings.
  • Every entity within the frontend has its personal colour, which is predicated 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 assist
    for the battery state of your Oral-B toothbrush!
  • The automations & scripts UI now assist deciding on different entities for
    above/beneath within the numeric state circumstances & 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, individual, car detection, and… Doorbell presses!
    Thanks, @starkillerOG!
  • There may be 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 an inventory within the UI, it is going to now exclude
    already added entities. No extra unintentionally 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 exhibits within the media browser. Thanks, @j-stienstra!
  • We now 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 might need seen a Thread and an Open Thread Border Router integration
    being added to this launch. These are at present not for energetic use however for
    preliminary early improvement.
  • The experimental multi-pan characteristic has been enabled once more. Permitting to run
    each Zigbee and Thread utilizing the only radio present in each Dwelling Assistant
    Yellow and Dwelling 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 sensible scales over Bluetooth.

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

  • Google Mail, added by @tkdrob
    Gives providers to handle your Google Mail auto-response and offers
    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 along with your Mopeka BLE propane tank screens.

  • OpenAI Conversation, added by @balloob
    OpenAI integration that makes use of GPT-3 to showcase changing the Dwelling Assistant
    dialog agent. Observe: It can’t 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
    Presents 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 Dwelling Assistant.

  • Stookwijzer, added by @fwestenberg
    Stookwijzer advises wether to burn pallets or wooden, or to
    use the barbecue. This may stop 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 are dealt with by different (current) integrations to assist with
findability. These are new:

Integrations now accessible to arrange from the UI

The next integrations are actually accessible through the Dwelling Assistant UI:

Need assistance? Be a part of the group!

Dwelling Assistant has an awesome group of customers who’re all greater than prepared
to assist one another out. So, be a part of us!

Our very energetic Discord chat server is a wonderful place to be
at, and don’t neglect to hitch our superb forums.

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

Are you extra into electronic mail? Sign-up for our Building the Open Home Newsletter
to get the most recent information about options, issues occurring in our group and
different information about constructing an Open Dwelling; straight into your inbox.

Breaking Adjustments

operate 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 assist has beforehand been deprecated and has now been eliminated.
Dwelling Assistant now requires Python 3.10 to run.

In case you are utilizing Dwelling Assistant OS, Dwelling Assistant Container, or Dwelling Assistant
Supervised set up methodology, you don’t must 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)

operate 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;

In case you are utilizing MariaDB with Dwelling Assistant recorder, please make sure that
you run 10.5.17 , 10.6.9, 10.7.5, 10.8.4 (relying on which main
launch you might be utilizing). In case you are utilizing the MariaDB core add-on,
make sure that to replace it to the most recent model: 2.5.2.

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

(@bdraco#87040)

operate 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
at all times 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)

operate 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)

operate 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 Dwelling Assistant settings is ready to Polish, the language
of the recommendation and description attributes of the CAQI entity will change
from English to Polish.

In case you are utilizing these in your automations or scripts, you may want to regulate
them to match this alteration.

(@bieniu#85655) (documentation)

operate 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
hundreds delimiters. For instance, 1,500 will grow to be 1500.

If you happen to’re utilizing the state of those entities in automations or scripts,
you must replace them to deal with the brand new state format.

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

operate 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 machine connection is now checked hourly,
and notifications are checked each 5 minutes.

(@bdraco#86354) (documentation)

operate 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 operate and solely serves to
decelerate the response, it has been eliminated.

(@bdraco#86365) (documentation)

operate 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 offers sensors with the “Amassed”
suffix. The accrued sensors have been launched to assist internet vitality
export/import metering.

Newer variations of IoTaWatt present “Integrators”, which permit attaining the
similar extra effectively and with larger accuracy.

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

(@agners#86611) (documentation)

operate 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.

If you happen to’re utilizing the Matter Server add-on to run the Matter Server,
you have to model 3.0.0 of the add-on.

We needed to change our vendor ID within the add-on; consequently, all gadgets
should be recommissioned.

(@MartinHjelmare#86470) (documentation)

operate 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 Dwelling 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

If you happen to used these states instantly in your automations, scripts, or templates;
you would wish to regulate these to match these modifications.

(@frenck#85245) (documentation)

operate 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 accurately categorizes all identified lights.
Eradicating any lights that have been beforehand incorrectly created as change entities
could also be needed.

(@dieselrabbit#86608) (documentation)

operate 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 through the UI. Any current YAML configuration
has been imported in earlier releases and may 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.

If you happen to used the state attribute in your automations or scripts, you’ll
want to regulate them to make use of the devoted sensor as an alternative.

(@mib1185#85424) (documentation)

operate 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 through the UI, and configuration from YAML has been
imported routinely.

Nonetheless, there are just a few notable modifications:

  • 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 verify
    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 verify the binary_sensor state to get equal habits.

Additionally, the way in which 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 current automations or scripts that make service
calls to rainbird.set_rain_delay will should be changed with a name
to quantity.set_value. Moreover, the prevailing 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)

operate 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 assist reside 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 look at for
occasions as an alternative of studying the database and must learn the database sooner.

(@bdraco#86115) (documentation)

operate 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 an alternative.

(@epenet#86070) (documentation)

operate 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 faux (assumed) enjoying or paused
states, and people are changed with the on state.

When you’ve got automations or scripts that use the enjoying or paused state,
please replace them to be appropriate with this alteration.

(@Drafteed#84885) (documentation)


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

When you’ve got automations or scripts that use media_player.select_source to
change apps or channels on the Bravia TV, the automations should be
up to date to make use of media_player.play_media service as an alternative.

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)

operate 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 through the UI. Any
current YAML configuration has been imported in earlier releases and may now
be safely eliminated out of your YAML configuration recordsdata.

(@azogue#85614) (documentation)

operate 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 might probably assist translations.

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

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

(@emontnemery#84278) (documentation)

operate 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 further state attributes from Twinkly mild entities have been eliminated.

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

(@frenck#84986) (documentation)

operate 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 prevailing sensor entities are deprecated and will probably 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 System Communication Errors have been
eliminated for nodes that aren’t the principle (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 assist OL and RR instructions.

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

(@shbatm#85744) (documentation)

operate 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 through the UI. Any current YAML configuration has been
imported in earlier releases and may now be safely eliminated out of your YAML
configuration recordsdata.

(@frenck#86292) (documentation)

operate 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 machine will now
go into an unavailable state till the connection has been restored.

(@sredna#85018) (documentation)

operate 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 Dwelling 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

If you happen to used these states/choices instantly in your automations, scripts,
or templates; you have to to regulate these to match these modifications.

(@frenck#85292) (documentation)

operate 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 through the
UI. Any current YAML configuration has been imported in earlier releases and
can now be safely eliminated out of your YAML configuration recordsdata.

(@killer0071234#86113) (documentation)

operate 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 “Energetic energy” and “Summation delivered” sensors can be found
to exchange the older entities. These newer sensor entities may also be utilized in
Dwelling Assistant Vitality dashboard.

(@TheJulianJES#86261) (documentation)

In case you are a customized integration developer and need to study breaking
modifications and new options accessible in your integration: Be sure you observe our
developer blog. The next are probably the most notable for this launch:

Farewell to the next

The next integrations are additionally not accessible as of this launch:

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

All modifications

In fact, there’s much more on this launch. You will discover an inventory of
all modifications made right here: Full changelog for Home Assistant Core 2023.2