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, essentially 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 properties: that is
thrilling stuff! 😮

My private favourite this launch: big steps into an excellent tighter integration
with our superb sister venture: ESPHome. Creating
and sustaining your individual safe DIY IoT units simply turned lots simpler.

And since we’re speaking about awesomeness, have you ever observed 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 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 aim to let customers management Dwelling Assistant in their very own language.
Along with the Dwelling Assistant neighborhood, we now have been laborious at work constructing
the muse for this.

As we speak we such as you to fulfill:

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

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

We imagine expertise is supposed to be performed with, and initiatives ought to be
usable as quickly as attainable. Along with the neighborhood, we are able to then iterate
and refine. That’s why as we speak, we’re delivering a primary 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 high proper of your dashboard to begin 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
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 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 steadily 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 had been the
final items that made this attainable.

As a side-effect, it also needs to 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 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 exchange 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 the moment should not in a numeric state (i.e., at the moment ā€œ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!

If you’re 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 gadget in ESPHome and subsequent add it to Dwelling Assistant,
they are going to be capable to change 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 absolutely 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 following main launch of ESPHome (2023.2) turns into out there,
it is going to help updating them too! Sure, at that time, you possibly can replace your
ESPHome units 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 certainly one of your ESPHome units
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 following launch of ESPHome (2023.2), in which you’ll
add a pleasant, extra human identify to your ESPHome units. Dwelling Assistant will
choose these up, making your ESPHome units look higher out-of-the-box!

Different noteworthy modifications

There may be rather 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.
  • Bought 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 coloration, 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, acquired 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/beneath 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, automobile 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 deciding on a number of entities from an inventory within the UI, it is going to now exclude
    already added entities. No extra by chance 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!
  • We’ve got 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 observed 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 characteristic has been enabled once more. Permitting to run
    each Zigbee and Thread utilizing the one 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
    This can be a take a look at integration, which gives 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
    Gives companies to handle your Google Mail auto-response and gives
    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 Dwelling 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
    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 Dwelling Assistant.

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

  • Zeversolar, added by @kvanzuijlen
    Get energy and vitality data 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 (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 through the Dwelling Assistant UI:

Launch 2023.2.1 – February 2

Launch 2023.2.2 – February 4

Need assistance? Be part of the neighborhood!

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

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

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

Are you extra into e mail? Sign-up for our Building the Open Home Newsletter
to get the most recent information about options, issues taking place in our neighborhood and
different information about constructing an Open Dwelling; 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.
Dwelling Assistant now requires Python 3.10 to run.

If you’re utilizing Dwelling Assistant OS, Dwelling Assistant Container, or Dwelling Assistant
Supervised set up technique, you don’t need to 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 Dwelling Assistant recorder, please ensure
you run 10.5.17 , 10.6.9, 10.7.5, 10.8.4 (relying on which main
launch you might be utilizing). If you’re utilizing the MariaDB core add-on,
ensure to replace it to the most recent model: 2.5.2.

Older variations of MariaDB endure from a major efficiency regression
when retrieving historical past information 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 now 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 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.

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

(@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
hundreds delimiters. For instance, 1,500 will turn into 1500.

In case you’re utilizing the state of those entities in automations or scripts,
you should 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 below 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 kind the historical past on the unique historical past panel which,
is now not used. Because it now 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 now not gives sensors with the ā€œAccruedā€
suffix. The accrued sensors have been launched to help web vitality
export/import metering.

Newer variations of IoTaWatt present ā€œIntegratorsā€, which permit reaching the
identical extra effectively and with larger accuracy.

You need to configure Integrators
to calculate the web 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 operating Matter Server model 2.0.0.

In case you’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; because of this, all units
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 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

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

(@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 identified lights.
Eradicating any lights that had been beforehand incorrectly created as swap entities
could also be crucial.

(@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 through the UI. Any present 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.

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

Nevertheless, there are just a few notable modifications:

  • Customized per zone overrides for irrigation time are now 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 verify
    for a non-zero worth to get equal conduct.
  • The Rain sensor that duplicates the Rain binary_sensor has been eliminated.
    You might verify 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 may be managed instantly from the UI.

The present 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
conduct, so it is suggested 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
scale back disk I/O and improve 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 may 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)

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 begin 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 now not have pretend (assumed) enjoying or paused
states, and people are changed with the on state.

You probably have automations or scripts that use the enjoying or paused state,
please replace them to be suitable with this transformation.

(@Drafteed#84885) (documentation)


The source_list now not comprises an inventory 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
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 move has been faraway from the combination, as the one
configurable setting ignored_sources was now not related
and incompatible with this transformation.

(@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 through the UI. Any
present YAML configuration has been imported in earlier releases and may 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 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 may
want to regulate these to this transformation.

(@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 principally 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 shall 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 Gadget 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.)
units. Solely load units obtain communication error updates and solely
dimmable units 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 through the UI. Any present YAML configuration has been
imported in earlier releases and may 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 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

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

(@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 through 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 ā€œ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 Power dashboard.

(@TheJulianJES#86261) (documentation)

If you’re a customized integration developer and wish to find out about breaking
modifications and new options out there to 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 now 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, based on our public analytics.

All modifications

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