March 27, 2023

Residence 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 12 months! 😅

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

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

And since we’re speaking about awesomeness, have you ever seen the massive 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 developing. You’ll want to 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 purpose to let customers management Residence Assistant in their very own language.
Along with the Residence Assistant group, we have now been arduous at work constructing
the muse for this.

At present we such as you to fulfill:

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

Assist icon Help
lets you use pure language to manage Residence Assistant. It’s powered by
Hassil and the sentences
(contributed by 112! individuals) from the
Home Assistant Intents undertaking.

We consider know-how is supposed to be performed with, and initiatives must be
usable as quickly as attainable. Along with the group, we will then iterate
and refine. That’s why at present, 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 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 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!

On account of this all, we will now write much less steadily to the database in our
recorder. It took years of modifications to get us thus far (thanks @bdraco 🙏).
It vastly 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 attainable.

As a side-effect, it must also resolve the authentication errors some individuals
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 function 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 substitute these with this new sensor group
sooner or later.

In comparison with these beforehand talked about strategies, the sensor teams have the
further choices to cover their member entities and the choice to disregard
sensors that at the moment will not be in a numeric state (i.e., at the moment “unavailable”
or “unknown”).

Now even tighter built-in with ESPHome

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

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

If you arrange a brand new gadget in ESPHome and subsequent add it to Residence Assistant,
they are going to be capable to alternate 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 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.
Nevertheless, when the subsequent main launch of ESPHome (2023.2) turns into accessible,
it would help updating them too! Sure, at that time, you’ll be able to replace your
ESPHome gadgets straight from Residence 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
continues to be utilizing a plain password, Residence Assistant will notify you by creating
a problem 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. Residence Assistant will
choose these up, making your ESPHome gadgets look higher out-of-the-box!

Different noteworthy modifications

There may be far more juice on this launch; listed here are a few of the different
noteworthy modifications this launch:

  • Now you can add aliases to your areas too! Our new Help function
    leverages this.
  • Acquired an power sensor in Wh, however you’d prefer it to be kWh? Now you can
    change the items of power 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.
  • Probably 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 choosing different entities for
    above/under within the numeric state circumstances & triggers. Thanks, @karwosts!
  • The Reolink integration now helps FLV streams, cameras will be found
    on the community, however extra importantly: binary sensors! For issues
    like movement, particular person, 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! Wonderful, @allenporter!
  • When choosing a number of entities from a listing within the UI, it would 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 choice! 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 at the moment not for lively use however for
    preliminary early improvement.
  • The experimental multi-pan function has been enabled once more. Permitting to run
    each Zigbee and Thread utilizing the only radio present in each Residence Assistant
    Yellow and Residence 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) power & fuel 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 offers varied odd and obscure entities.
    It may be useful for improvement functions, however usually no use in any other case.

  • Google Mail, added by @tkdrob
    Supplies 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 together with your Mopeka BLE propane tank screens.

  • OpenAI Conversation, added by @balloob
    OpenAI integration that makes use of GPT-3 to showcase changing the Residence Assistant
    dialog agent. Notice: 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
    Provides 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 Residence 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 individuals within the space
    (NL solely).

  • Zeversolar, added by @kvanzuijlen
    Get energy and power data 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 (current) integrations to assist with
findability. These are new:

Integrations now accessible to arrange from the UI

The next integrations are actually accessible by way of the Residence Assistant UI:

Launch 2023.2.1 – February 2

Launch 2023.2.2 – February 4

Need assistance? Be part of the group!

Residence Assistant has a terrific group of customers who’re all greater than prepared
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 neglect to affix our wonderful forums.

Discovered a bug or challenge? Please report it in our issue tracker,
to get it mounted! Or, test our help page for steerage for extra
locations you’ll be able to 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 Residence; 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 help has beforehand been deprecated and has now been eliminated.
Residence Assistant now requires Python 3.10 to run.

In case you are utilizing Residence Assistant OS, Residence Assistant Container, or Residence Assistant
Supervised set up methodology, you don’t need to do something. In these circumstances,
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 Residence 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’re 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 major 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
all the time be a cross/True inside an OR situation. As a substitute, in these
circumstances, the situation will now haven’t 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 Residence Assistant settings is about 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 would possibly want to regulate
them to match this transformation.

(@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 change into 1500.

In case you’re utilizing the state of those entities in automations or scripts,
it’s essential to 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 gadget 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 choice has been eliminated.

This feature 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 “Gathered”
suffix. The amassed sensors have been launched to help internet power
export/import metering.

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

You need to configure Integrators
to calculate the web power 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.

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
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 Residence 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 straight in your automations, scripts, or templates;
you would want 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 appropriately categorizes all recognized lights.
Eradicating any lights that have been beforehand incorrectly created as change entities
could also be crucial.

(@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 by way of the UI. Any current YAML configuration
has been imported in earlier releases and might now be safely eliminated out of your
YAML configuration information.

(@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’ll
want to regulate them to make use of the devoted sensor as a substitute.

(@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 by way of the UI, and configuration from YAML has been
imported routinely.

Nevertheless, there are a number of 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 need to transfer all makes use of to the sensor worth and test
    for a non-zero worth to get equal conduct.
  • The Rain sensor that duplicates the Rain binary_sensor has been eliminated.
    You could test the binary_sensor state to get equal conduct.

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 will be managed straight 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
conduct, so it is strongly recommended 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 enhance storage longevity.

Because the historical past and logbook integrations each help reside streaming, which
avoids the necessity to learn the database after the preliminary sync, there isn’t a
remaining core performance that wants a decrease commit interval.

The commit_interval will be adjusted
to a decrease worth within the occasion an integration has not been up to date to look at for
occasions as a substitute 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 a substitute.

(@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 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 transformation.

(@Drafteed#84885) (documentation)


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

You probably have 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 a substitute.

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

(@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 by way of the UI. Any
current YAML configuration has been imported in earlier releases and might now
be safely eliminated out of your YAML configuration information.

(@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 will probably 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 would possibly
want to regulate these to this transformation.

(@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 gentle entities have been eliminated.

They principally added details about the gadget,
not the precise gentle 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 might be eliminated in a future
launch.

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

Please replace any dashboards, scripts, and automations which may 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 Degree and Ramp Charge sensors have been eliminated for non-dimmable (non-gentle.)
gadgets. Solely load gadgets obtain communication error updates and solely
dimmable gadgets help 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 by way of the UI. Any current YAML configuration has been
imported in earlier releases and might now be safely eliminated out of your YAML
configuration information.

(@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 gadget 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/choice values of the Yamaha MusicCast zone sleep choose entities
have been standardized to match Residence 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 straight in your automations, scripts,
or templates; you’ll need 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 by way of the
UI. Any current YAML configuration has been imported in earlier releases and
can now be safely eliminated out of your YAML configuration information.

(@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 interchange the older entities. These newer sensor entities may also be utilized in
Residence Assistant Vitality dashboard.

(@TheJulianJES#86261) (documentation)

In case you are a customized integration developer and wish to find out about breaking
modifications and new options accessible to your integration: You’ll want to observe our
developer blog. The next are essentially 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 appropriately and has no utilization, based on our public analytics.

All modifications

After all, there’s much more on this launch. Yow will discover a listing of
all modifications made right here: Full changelog for Home Assistant Core 2023.2