2023.4: Customized template macros, and plenty of extra new entity dialogs!

2023.4: Customized template macros, and plenty of extra new entity dialogs!


Dwelling Assistant Core 2023.4! 🎉

The spring (launch) is right here! And do we’ve got some wonderful 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 properly from the cell app. There’s
even an added bonus of latest Tile card options! However…

Oh boy, do I like the brand new skill to make your personal Jinja2 template macros in
this launch. It’s mind-blowing! The very best factor about them, it makes them
simply shareable as properly! Can’t wait to see what you all provide you with!

Pleased Easter! 🐣 and benefit from the launch!

../Frenck

Don’t neglect to be part of our launch celebration dwell stream on YouTube
5 April 2023, at 12:00 PDT / 21:00 CEST!

New dialogs for alarm, cowl, and fan entities

The earlier launch
introduced in new entity dialogs for lights, switches, and sirens; it appears
lots of you actually preferred it!

So, this launch @piitaya stored 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 various variants, doorways, home windows, curtains,
blinds, shutters, and so on. Not simply that, some could 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’ll modify to the capabilities
your cowl has:

Screenshots showing the new cover entity information dialogs.

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 immediately subsequent
to it controls the lean. Good!

Followers

Subsequent up, the fan entities. The UI expertise proven within the dialog will
mechanically modify to the capabilities of the fan you’re controlling, simply
like with covers.

Screenshots showing the new fan entity information dialogs.

Relying on the variety of velocity steps your fan has, the dialog will
mechanically modify the UI. In case it has 4 velocity steps or much less, it is going to
present the velocity buttons as on the left screenshot. In any other case, it is going to use the
slider proven on essentially the most proper screenshot.

Alarm management panels

Lastly, the alarm management panel entities. They’re a bit completely different in contrast
to others as, extra usually, these require one to enter a code to arm or disarm
the alarm.

Screenrecording showing the new alarm control panel entity information dialogs work with the pin-input.
That is how arming and disarming an alarm now seems like.

When wanted, the pin-pad will pop up! A pleasant completion is the neat little
animation is proven throughout the technique of arming and disarming the alarm.

New options for the Tile card

The Tile card has two new options: Fan velocity & Alarm mode.

Each feel and appear just like the brand new entity dialogs from above, making the look
and really feel, good and constant. Have a look; aren’t they stunning?

Screenshots the new fan speed feature for tile cards.

Like the brand new fan entity dialog, the fan velocity function will present buttons if there
are 4 speeds or much less; in all different circumstances, it is going to use the slider. If the fan
can solely be turned on/off, just like the fan within the center within the above screenshot,
the common tile can be utilized.

The alarm mode function permits rapidly setting your alarm in a unique state.
The function supplies the choice to pick out which modes are proven as buttons in
the cardboard.

Screenshots the new alarm mode feature for tile cards.

Identical to with the brand new entity dialog, the pin pad will pop up as soon as a code entry
is required and even the great little animation is there. 🤩

Macros in your templates

In case you are a complicated Dwelling Assistant person, you probably can be acquainted
with Dwelling Assistant’s templating language: Jinja2. It lets you do superb
highly effective issues in your templates. Nevertheless, when you’ve got a number of them, you
usually find yourself repeating comparable logic in every single place!

@depoll to the rescue! He discovered a means so as to add the power to centrally outline
your personal 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 possibly can 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?
{ iif('Sure', 'No') }!

{% endmacro %}

This macro answer_question will ask and reply a query primarily based 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 is able to output:

Is the kitchen mild on?
Sure!

An improbable contribution! Thanks, @depoll!

Reusing templates documentation

Extra new templating options

As if the reusability of your macros wasn’t adequate already, there
is way more templating goodness on this launch!

Thanks, @depoll, @ehendrix23, @petro31, and @rokam, for these superb
additions down under! ❤️

Adjusted habits of relative_time and today_at

@Petro31 modify the habits for template entities utilizing the relative_time
and today_at template capabilities to replace their state as soon as a minute. Good!

New is_hidden_entity perform

The model new is_hidden_entity perform 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 an inventory of all entities within the kitchen space that aren’t
hidden.

{ record }

New areas perform

Speaking about areas, @rokam added an areas perform, which returns an inventory
of all areas you will have!

A simplistic instance:

Added break and proceed to be used 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 perform

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 would use this conditionally, like so:

{% if has_value('sensor.train_departure_time') %}
  The practice leaves at {{ states('sensor.train_departure_time') }}
{% endif %}

Or, perhaps record all entities from the lounge that at the moment haven’t any state
worth:

{ record }

Database scalability

As your good house grows and also you add extra units, this implies extra knowledge to maintain
monitor of. This launch consists of vital developments to the recorder
database design to assist Dwelling Assistant scale.

This model has a brand new database format that reduces the house wanted to retailer
historical past in your units. This variation comes with a number of advantages:

  • Smaller (deduplication), much less disk utilization
  • Diminished disk IO (SD-card lifetime enhancements)
  • Diminished CPU-usage 📉
  • Faster startup 🏎️
  • Quicker historical past graphs and logbook
  • Diminished latency in your entire system which suggests much less ready from the time
    you hit a button till an motion completes 🚀
  • Dwelling Assistant now retains historical past when renaming entities 🤘

In case you are accessing the database immediately, take a look at the Information Science Portal
and the SQL Integration for up to date instance queries.

It might 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 person inputs for the person interface
that drive issues like Blueprints. A brand new selector to be used
in Blueprints has been added by @emontnemery and @piitaya: The fixed selector.

The fixed selector supplies an non-obligatory enter, which returns a hard and fast worth
(the fixed) when enabled, in any other case doesn’t present any worth in any respect.

Instance use in a Blueprint:

instance:
  identify: Fixed selector instance
  selector:
    fixed:
      label: Enabled
      worth: true

Which leads to the next:

A screenshot showing the new constant selector.
When checked, the selector returns the set worth.

Additionally improved are the gadget and entity filters on the Space,
Entity, Machine, and Goal selectors. Beforehand, you might filter with a
single set of situations; now, you possibly can go in an inventory of filters.

In case you are constructing Blueprints, this may be actually useful if a person ought to
be capable to choose one in all a number of completely different units.

An instance, this selector lets you choose the battery sensor of
both a Philips Hue RWL020 (US) or RWL021 (EU) distant in your Blueprint.

gadget:
  filter:
    - integration: deconz
      producer: Philips
      mannequin: RWL020
    - integration: deconz
      producer: Philips
      mannequin: RWL021
  entity:
    - area: sensor
      device_class: battery

Translating entities

Over the previous releases, we’ve been slowly extending translation assist in additional
locations in Dwelling Assistant. This launch completes assist for translating
entities!

This consists of the entities’ names, their attributes, and translations of
the attribute values. These translations can be seen in your dashboards,
dialogs, automation editors, and so on. Just about all locations displaying them.

Integrations must explicitly add assist for these. Fairly a number of integrations
have completed so on this launch, however we count on many to comply with within the upcoming
releases.

Different noteworthy adjustments

There are way more easter bunnies on this launch; listed below are among the different
noteworthy adjustments this launch:

  • @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 vitality storage and quantity storage gadget courses; these
    will enable differentiating between, for instance, consumed vitality versus saved
    vitality in a battery.
  • @starkillerOG is rocking the Reolink integration. It now supplies button,
    change, siren, choose, quantity, and lightweight entities for all types of stuff you
    Reolink cameras and doorbells can do. Superior!
  • The Common Media Participant now helps looking 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 units, switches (PSSO, ISS,
    and ISS2), and window sensors (WDS). Thanks @StefanIacobLivisi & @planbnet!
  • ESPHome now helps pairing Bluetooth units. 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 out there as sensors, a lot
    simpler to make use of, thanks @gjohansson-ST!
  • Covers with the door gadget class, now seem as precise doorways in HomeKit,
    good @Dexwell!
  • @loongyh did one thing comparable for Google Assistant. Covers with the
    window gadget class now present up as precise home windows. Thanks!
  • The SQL integration now helps settings gadget and state courses, thanks @gjohansson-ST!
  • @teharris1 added assist for the brand new Insteon i3 gadget, 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 out there to arrange from the UI

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

Launch 2023.4.1 – April 6

Launch 2023.4.2 – April 8

Launch 2023.4.3 – April 12

Launch 2023.4.4 – April 13

Launch 2023.4.5 – April 17

Launch 2023.4.6 – April 21

Need assistance? Be part of the neighborhood!

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

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

Discovered a bug or concern? Please report it in our concern tracker,
to get it fastened! Or, test our assist web page for steerage for extra
locations you possibly can go.

Are you extra into electronic mail? Signal-up for our Constructing the Open Dwelling Publication
to get the newest information about options, issues taking place in our neighborhood and
different information about constructing an Open Dwelling; straight into your inbox.

Breaking Modifications

In case you are a customized integration developer and wish to find out about breaking
adjustments and new options out there in your integration: Be sure you comply with our
developer weblog. 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:

All adjustments

After all, there’s much more on this launch. You will discover an inventory of
all adjustments made right here:
Full changelog for Dwelling Assistant Core 2023.4

Leave a Reply

Your email address will not be published. Required fields are marked *