Dwelling Assistant Core 2023.4! 🎉
The spring (launch) is right here! And do now we have some tremendous new options for you
to play with this upcoming easter weekend! 🐰
I’m thrilled to see extra of these new entity dialogs coming on this launch.
They appear stunning and work exceptionally nicely from the cell app. There may be
even an added bonus of recent Tile card options! However…
Oh boy, do I like the brand new skill to make your individual Jinja2 template macros in
this launch. It’s mind-blowing! The perfect factor about them, it makes them
simply shareable as nicely! Can’t wait to see what you all give you!
Joyful Easter! 🐣 and benefit from the launch!
../Frenck
Don’t neglect to join our release party live stream on YouTube
5 April 2023, at 12:00 PDT / 21:00 CEST!
New dialogs for alarm, cowl, and fan entities
So, this release @piitaya saved on trucking, implementing the designs
by @matthiasdebaat, bringing the identical new clear and neat UI in entity dialogs
for alarm management panels, covers, and followers!
Covers
First up, covers! For covers, there are lots of variants, doorways, home windows, curtains,
blinds, shutters, and so on. Not simply that, some will be managed by how far they
are open/closed, and others can solely be opened and closed.
That is no downside for the brand new dialogs. They may modify to the capabilities
your cowl has:
The one on the left is attention-grabbing, as the primary slider controls how far down
the blinds are. Discover the way it slides in from the highest! The slider instantly subsequent
to it controls the lean. Good!
Fans
Next up, the fan entities. The UI experience shown in the dialog will
automatically adjust to the capabilities of the fan you are controlling, just
like with covers.
Depending on the number of speed steps your fan has, the dialog will
automatically adjust the UI. In case it has four speed steps or less, it will
show the speed buttons as on the left screenshot. Otherwise, it will use the
slider shown on the most right screenshot.
Alarm control panels
Lastly, the alarm control panel entities. They are a bit different compared
to others as, more often, these require one to input a code to arm or disarm
the alarm.
This is how arming and disarming an alarm now looks like.
When needed, the pin-pad will pop up! A nice finishing touch is the neat little
animation is shown during the process of arming and disarming the alarm.
New features for the Tile card
The Tile card has two new features: Fan speed & Alarm mode.
Both look and feel similar to the new entity dialogs from above, making the look
and feel, nice and consistent. Take a look; aren’t they beautiful?
Like the new fan entity dialog, the fan speed feature will show buttons if there
are 4 speeds or less; in all other cases, it will use the slider. If the fan
can only be turned on/off, like the fan in the middle in the above screenshot,
the regular tile can be used.
The alarm mode feature allows quickly setting your alarm in a different state.
The feature provides the option to select which modes are shown as buttons in
the card.
Just like with the new entity dialog, the pin pad will pop up once a code entry
is needed and even the nice little animation is there. 🤩
Macros for your templates
If you are an advanced Home Assistant user, you most likely will be familiar
with Home Assistant’s templating language: Jinja2. It allows you to do amazing
powerful things in your templates. However, if you have lots of them, you
often end up repeating similar logic everywhere!
@depoll to the rescue! He discovered a method so as to add the power to centrally outline
your individual Jinja2 macros and import and use them wherever in Dwelling Assistant! 🤯
To assist this, Dwelling Assistant now has a brand new custom_templates
folder, the place
you’ll be able to retailer your macros. For instance, assume this file
/config/custom_templates/instruments.jinja
:
% macro answer_question(entity_id) %
Is the state_attr(entity_id, 'friendly_name') on?
(states(entity_id) == 'on') !
% endmacro %
This macro answer_question
will ask and reply a query based mostly on a given
entity ID. Now you can import and use this macro wherever in Dwelling Assistant.
For instance:
% from 'instruments.jinja' import answer_question %
answer_question('mild.kitchen')
Which can output:
Is the kitchen mild on?
Sure!
An unbelievable contribution! Thanks, @depoll!
Reusing templates documentation
More new templating features
As if the reusability of your macros wasn’t good enough already, there
is much more templating goodness in this release!
Thanks, @depoll, @ehendrix23, @petro31, and @rokam, for these superb
additions down beneath! ❤️
Adjusted behavior of relative_time and today_at
@Petro31 modify the conduct for template entities utilizing the relative_time
and today_at
template features to replace their state as soon as a minute. Good!
New is_hidden_entity function
The brand new is_hidden_entity
function was added by @depoll, which might inform
if a given entity has been marked “hidden” or not. This perform additionally works
as a check. Cool!
This instance returns a listing of all entities within the kitchen space that aren’t
hidden.
record
New areas function
Talking about areas, @rokam added an areas
perform, which returns a listing
of all areas you may have!
A simplistic instance:
Added break and continue for use in for loops
@depoll added assist for break
and proceed
in for loops, which permits
short-circuiting these loops, permitting you to make them extra environment friendly.
%- for worth in vary(10) %
%- if worth == 1 -%
%- proceed -%
%- elif worth == 3 -%
%- break -%
%- endif -%
worth
%- endfor -%
New has_value function
Lastly, @ehendrix23 added a requested template perform from the Month of
“What the Heck?!”: has_value
. The has_value
perform can be used as
check and may filter out entities at the moment in an unavailable
or unknown
state.
You possibly can use this conditionally, like so:
% if has_value('sensor.train_departure_time') %
The prepare leaves at states('sensor.train_departure_time')
% endif %
Or, possibly record all entities from the lounge that at the moment don’t have any state
worth:
area_entities('living_room')
Database scalability
As your smart home grows and you add more devices, this means more data to keep
track of. This release includes significant advancements to the recorder
database design to help Home Assistant scale.
This version has a new database format that reduces the space needed to store
history for your devices. This change comes with a few benefits:
- Smaller (deduplication), less disk usage
- Reduced disk IO (SD-card lifetime improvements)
- Reduced CPU-usage 📉
- Quicker startup 🏎️
- Faster history graphs and logbook
- Reduced latency in the entire system which means less waiting from the time
you hit a button until an action completes 🚀 - Home Assistant now keeps history when renaming entities 🤘
If you are accessing the database directly, check out the Data Science Portal
and the SQL Integration for up to date instance queries.
It could take some time to finish background knowledge migration, relying on the dimensions
of your saved knowledge. To make sure Dwelling Assistant retains historical past when renaming an
entity, wait 24 hours after upgrading earlier than renaming.
New selector capabilities
Selectors are user inputs for the user interface
that drive things like Blueprints. A new selector for use
in Blueprints has been added by @emontnemery and @piitaya: The fixed selector.
The fixed selector supplies an non-compulsory enter, which returns a set worth
(the fixed) when enabled, in any other case doesn’t present any worth in any respect.
Instance use in a Blueprint:
instance:
title: Fixed selector instance
selector:
fixed:
label: Enabled
worth: true
Which ends up in the next:
When checked, the selector returns the set worth.
Additionally improved are the machine and entity filters on the Space,
Entity, Machine, and Goal selectors. Beforehand, you can filter with a
single set of situations; now, you’ll be able to cross in a listing of filters.
In case you are constructing Blueprints, this may be actually useful if a consumer ought to
be capable to choose considered one of a number of totally different gadgets.
An instance, this selector permits you to choose the battery sensor of
both a Philips Hue RWL020 (US) or RWL021 (EU) distant in your Blueprint.
machine:
filter:
- integration: deconz
producer: Philips
mannequin: RWL020
- integration: deconz
producer: Philips
mannequin: RWL021
entity:
- area: sensor
device_class: battery
Translating entities
Over the past releases, we’ve been slowly extending translation support in more
places in Home Assistant. This release completes support for translating
entities!
This includes the entities’ names, their attributes, and translations of
the attribute values. These translations will be visible on your dashboards,
dialogs, automation editors, etc. Pretty much all places displaying them.
Integrations have to explicitly add support for these. Quite a few integrations
have done so in this release, but we expect many to follow in the upcoming
releases.
Other noteworthy changes
There are much more easter bunnies in this release; here are some of the other
noteworthy changes this release:
- @ArturoGuerra added assist for locks to Matter! Good!
- The brand new mild entity dialog (launched final launch) now higher helps
white mode. Thanks, @piitaya! -
@emontnemery added power storage and quantity storage machine lessons; these
will permit differentiating between, for instance, consumed power versus saved
power in a battery. -
@starkillerOG is rocking the Reolink integration. It now supplies button,
change, siren, choose, quantity, and light-weight entities for all types of stuff you
Reolink cameras and doorbells can do. Superior! - The Common Media Participant now helps shopping media! Thanks, @Drafteed!
- The Supervisor integration now supplies sensors containing the
Dwelling Assistant Core and Supervisor’s stats. Thanks, @ludeeus! - The Spotify integration now helps podcasts! Good @BTMorton!
-
LIVISI Good Dwelling now helps local weather gadgets, switches (PSSO, ISS,
and ISS2), and window sensors (WDS). Thanks @StefanIacobLivisi & @planbnet! - ESPHome now helps pairing Bluetooth gadgets. Good work @bdraco & @jagheterfredrik!
-
@MarkGodwin prolonged the TP-Hyperlink Omada integration to assist replace
entities; superior! - All
solar.solar
entity attributes at the moment are additionally obtainable as sensors, a lot
simpler to make use of, thanks @gjohansson-ST! - Covers with the door machine class, now seem as precise doorways in HomeKit,
good @Dexwell! -
@loongyh did one thing comparable for Google Assistant. Covers with the
window machine class now present up as precise home windows. Thanks! - The SQL integration now helps settings machine and state lessons, thanks @gjohansson-ST!
- @teharris1 added assist for the brand new Insteon i3 machine, cool!
New Integrations
This launch has no new integrations, however does present a few new digital
integrations. Digital integrations are stubs dealt with by different (present)
integrations to assist with findability. These are new:
Integrations now available to set up from the UI
The following integrations are now available via the Home Assistant UI:
Release 2023.4.1 – April 6
Release 2023.4.2 – April 8
Release 2023.4.3 – April 12
Release 2023.4.4 – April 13
Release 2023.4.5 – April 17
Release 2023.4.6 – April 21
Need help? Join the community!
Home Assistant has a great community of users who are all more than willing
to help each other out. So, join us!
Our very active Discord chat server is an excellent place to be
at, and don’t forget to join our amazing forums.
Discovered a bug or subject? Please report it in our issue tracker,
to get it mounted! Or, test our assist web page for steering for extra
locations you’ll be able to go.
Are you extra into e mail? Signal-up for our Constructing the Open Dwelling E-newsletter
to get the newest information about options, issues occurring in our neighborhood and
different information about constructing an Open Dwelling; straight into your inbox.
Breaking Changes
The previously deprecated YAML configuration of the Aladdin Connect integration
has been removed.
Aladdin Connect is now configured via the UI, any existing YAML configuration
has been imported in previous releases and can now be safely removed from
your YAML configuration files.
The calendar.create_event
service now enforces that begin and finish dates are
unique. This has at all times been a part of the specification however was not clearly
documented and enforced.
(@allenporter – #89533) (documentation)
The beforehand deprecated YAML configuration of the DSMR Reader integration
has been eliminated.
DSMR Reader is now configured by way of the UI, any present YAML configuration
has been imported in earlier releases and may now be safely faraway from
your YAML configuration recordsdata.
AQI sensor state values at the moment are in English, and the consumer interface will
show their translation for the chosen language. When you’ve got been utilizing
this sensor in your automations and scripts, you’ll want to regulate these for
this modification.
(@bieniu – #89044) (documentation)
The title
and station
sensor state attributes have been eliminated as a result of
they’re static knowledge that don’t describe the state of the entity.
The index
sensor state attribute has been migrated to a separate entity,
for instance, sensor.home_no2_index
.
The conduct of passing parameters to service calls concentrating on notification
teams has modified.
Present conduct: knowledge
mappings configured within the service override
mappings configured within the motion.
New conduct: knowledge
mappings configured within the motion override
mappings configured within the service.
With the intention to acquire an up-to-date record of suitable applications on your home equipment, will probably be essential to reconfigure the mixing.
Please be aware that because of limitations on the Dwelling Join facet, you will need to have your home equipment Turned on through the reconfiguration course of.
This motion is a one-time requirement.
The beforehand deprecated YAML configuration of the IMAP integration
has been eliminated.
IMAP is now configured by way of the UI, any present YAML configuration
has been imported in earlier releases and may now be safely faraway from
your YAML configuration recordsdata.
The conversion to MWh and the corresponding MWh-entities have been eliminated.
To resolve the breaking change :
- Should you make use of any of
sensor.heat_meter_heat_usage
or
sensor.heat_meter_heat_previous_year
for automations, scripts, and so on.,
you’ll be able to exchange these with the GJ-entitiessensor.heat_meter_heat_usage_gj
andsensor.heat_meter_heat_previous_year_gj
. - If relevant, within the power dashboard, exchange
sensor.heat_meter_heat_usage
withsensor.heat_meter_heat_usage_gj
. Notice that the power dashboard will
nonetheless convert to MWh or kWh, due to this fact leading to the identical values as earlier than.
Logbook might be unavailable till the database schema migration completes.
Logbook script and automation traces from earlier runs of Dwelling Assistant
might be unavailable till background knowledge migration is accomplished following
the schema migration.
(@bdraco – #88942 #89465) (documentation)
Automation and script traces that embody state change occasions recorded with
Dwelling Assistant 2022.5.x or older will now not show context data
for these occasions within the logbook tab.
- The MySensors notify platform has been eliminated. It’s been deprecated since
2023.2.0. It’s been changed by a textual content entity platform. - It is best to replace any automations or scripts that use the
notify.mysensors*
service to as an alternative use thetextual content.set_value
service and the corresponding
textual content entity as a goal. - The MySensors IR
change
entity, equivalent to anS_IR
little one with
V_SEND
worth, has been eliminated. This entity hasb been deprecated since
2023.2.0. It’s been changed by adistant
entity. - It is best to replace any automations or scripts that use the
mysensors.send_ir_code
service to as an alternative use thedistant.send_command
service and the corresponding
distant
entity as a goal. Related modifications must be made for actions utilizing
thechange.turn_on
andswitch_turn_off
companies concentrating on the eliminated
IRchange
entities. Exchange these withdistant.turn_on
anddistant.turn_off
companies anddistant
entity targets.
(@MartinHjelmare – #90402 #90403) (documentation)
The beforehand deprecated YAML configuration of the Moon integration
has been eliminated.
Moon is now configured by way of the UI, any present YAML configuration
has been imported in earlier releases and may now be safely faraway from
your YAML configuration recordsdata.
The tls_version
configuration parameter (deprecated June 2020) has been
eliminated. All different MQTT dealer settings have been moved to the UI earlier than.
When the tls_version
setting remains to be in your YAML configuration, MQTT will
not begin up.
The beforehand deprecated MQTT dealer YAML configuration has been eliminated.
The MQTT dealer is now configured by way of the UI, any present MQTT dealer YAML
configuration has been imported in earlier releases and may now be safely
eliminated out of your YAML configuration recordsdata.
Your beforehand chosen mannequin has been reset to the brand new
and cheaper GPT 3.5 mannequin.
(@balloob – #90423) (documentation)
The built-in areas
variable is now not overwritten and is now the identical as
areas
in each template. The brand new default template is now:
This good house is managed by Dwelling Assistant.
An summary of the areas and the gadgets on this good house:
%- for space in areas() %
%- set area_info = namespace(printed=false) %
%- for machine in area_devices(space) -%
%- if not device_attr(machine, "disabled_by") and not device_attr(machine, "entry_type") and device_attr(machine, "title") %
%- if not area_info.printed %
area_name(space) :
%- set area_info.printed = true %
%- endif %
- device_attr(machine, "title") % if device_attr(machine, "mannequin") and (device_attr(machine, "mannequin") ( device_attr(machine, "mannequin") )% endif %
%- endif %
%- endfor %
%- endfor %
Reply the consumer's questions in regards to the world in truth.
If the consumer needs to manage a tool, reject the request and recommend utilizing the Dwelling Assistant app.
The open
and shut
instructions for the io:CyclicGarageOpenerIOComponent machine
Have been eliminated, see this issue
for extra particulars on this machine.
To sum up, this machine is a storage door however can’t be uncovered as such inside
Dwelling Assistant. There isn’t a state returned and no clear open and shut command.
Just one command is offered: cycle
. A button
is an ideal match for this
use case and take away all confusion; this button entity has been added this
launch.
The beforehand deprecated YAML configuration of the Pushbullet integration
has been eliminated.
Pushbullet is now configured by way of the UI, any present YAML configuration
has been imported in earlier releases and may now be safely faraway from
your YAML configuration recordsdata.
(@gjohansson-ST – #90285) (documentation)
The beforehand deprecated YAML configuration of the Radio Thermostat integration
has been eliminated.
Radio Thermostat is now configured by way of the UI, any present YAML configuration
has been imported in earlier releases and may now be safely faraway from
your YAML configuration recordsdata.
(@gjohansson-ST – #90284) (documentation)
The beforehand deprecated YAML configuration of the Scrape integration
has been eliminated.
Scrape is now configured by way of the UI, any present YAML configuration
has been imported in earlier releases and may now be safely faraway from
your YAML configuration recordsdata.
(@gjohansson-ST – #90272) (documentation)
The beforehand deprecated YAML configuration of the Season integration
has been eliminated.
Season is now configured by way of the UI, any present YAML configuration
has been imported in earlier releases and may now be safely faraway from
your YAML configuration recordsdata.
Tasmota sensor
now not units the force_update
flag to True.
Tasmota binary_sensor
now not units the force_update
flag to True, besides
for binary_sensor
mapped to a Tasmota change with switchmode set to 13 or 14.
(@DerEnderKeks – #85943) (documentation)
The relative_time
and today_at
template features and filters aren’t any
longer supported in restricted templates.
Enumerating states utilizing templates are now not sorted by
entity_id
by default, because it was computationally costly.
To revive the unique conduct, a type
filter will be added to any
present template utilizing the beneath instance:
% for state in states
The conduct of the edge binary sensor has modified:
- The brink binary sensor’s state is reset to
unknown
when the monitored
sensor’s state is unknown, unavailable, or not a legitimate float. - When the monitored sensor’s state is first legitimate, or when it’s legitimate
after beingunknown
,unavailable
, or not a legitimate float:- Initialize a threshold sensor with solely a decrease threshold to state
off
,
with theplace
attribute set toabove
. - Initialize a threshold sensor with solely a upperthreshold to state
off
,
with theplace
attribute set tobeneath
. - Initialize a threshold sensor with solely an higher and a decrease threshold
to stateon
, with theplace
attribute set toin_range
.
- Initialize a threshold sensor with solely a decrease threshold to state
(@emontnemery – #88978) (documentation)
The top-date for rubbish assortment occasions on the calendar entity, will now
be in the future later in comparison with the beginning date. It’s because in calendaring,
the end-date is unique.
(@bobvandevijver – #89028) (documentation)
The beforehand deprecated YAML configuration of the Volvo On Name integration
has been eliminated.
Volvo On Name is now configured by way of the UI, any present YAML configuration
has been imported in earlier releases and may now be safely faraway from
your YAML configuration recordsdata.
(@gjohansson-ST – #90288) (documentation)
With this launch, you’ll need to replace your zwave-js-server
occasion.
You need to use zwave-js-server
1.27.0 or larger (schema 27).
- Should you use the
Z-Wave JS
add-on, you want at the very least model0.1.77
. - Should you use the
Z-Wave JS UI
add-on, you want at the very least model1.8.1
. - Should you use the
Z-Wave JS UI
Docker container, you want at the very least model8.11.1
. - Should you run your individual Docker container or another set up methodology, you
might want to replace yourzwave-js-server
occasion to at the very least1.27.0
.
In case you are a customized integration developer and need to study breaking
modifications and new options obtainable on your integration: Remember to comply with our
developer blog. The next are probably the most notable for this launch:
Farewell to the following
The following integrations are also no longer available as of this release:
-
Dark Sky has been removed. Apple acquired Dark Sky, and the API has now
been shut down. (@gjohansson-ST – #90322) -
Magicseaweed has been eliminated. Magicseedweed now not supplies API keys
to customers. Moreover, the mixing is now not in a purposeful state.
(@gjohansson-ST – #90277)
All modifications
In fact, there may be much more on this launch. You will discover a listing of
all modifications made right here: Full changelog for Dwelling Assistant Core 2023.4