0.114: Dark mode, Open Z-Wave progress and more automation & scripts

Ooh boy, time flew this release cycle; it is time for 0.114 already!

Personally, I’m hardly even done implementing all automation features added in the previous release. 😅

Ever since our Lovelace UI started as a beta, back in 2018, one of the most requested features - arguably - is a dark mode. No wonder, as a dark mode is added to software everywhere nowadays.

This release adds dark mode! @bramkragten didn’t stop there and added color pickers for the main theme colors as well. I looked forward having it, an easy way of having a bit of theming, without the need for themes.

This is by far the most noticeable feature of this release, mainly because it is immediately apparent after the upgrade.

Meanwhile, the beta Open Z-Wave integration picks up speed in terms of contributions, reports, fixes and improvements. I’ve been using it already, and I love it. My Z-Wave network has never been better and more stable. If you haven’t tried it yet, I would highly recommend doing so. There is a nice community guide on how to test it without switching over.

Besides the listing below, 0.114 may feel a bit “empty”, however, it isn’t. It is packed with little things and fixes. The “All changes” section is definitely worth a look this release.

Enjoy the release.


Dark mode and theme color pickers

We now have official support for dark mode. 🎉

We detect if your device is in dark mode; if that is the case, our default theme will go dark. You can override the automatic switching between dark and light theme in your profile.

Furthermore, you can now also select the primary and accent color for the default theme. We calculate all other colors to make sure everything matches and is readable.

Screenshot of the new dark mode and theme settings.

So if you upgrade to Home Assistant 0.114, you are using the default theme and your device is set to a dark mode; Please be aware that after upgrading, you will get a dark theme by default in that case.

Also, when picking colors, make sure you choose a primary color that is readable on both a light and dark background. For now, this is just a local setting and has to be applied to every device.

For custom themes, there is a new option on the set_theme service call, mode: 'dark'; this allows to set a theme that will be used when your device is in dark mode.

Lastly, when using the set_theme service, the settings are now persistent across restarts. So if you have an automation that calls set_theme on startup, you don’t need it anymore. 😉

Automation & Scripts updates

In Home Assistant 0.113 we added tons of new features to automations and scripts. This release contains some fixes for issues discovered and reported, but also adds some smaller new features to extend it even more.

First of all, the repeat and choose actions are now available when creating automations or scripts via the UI.

Screenshot of the new automation features available in the UI.

Sub-second precision has been extended and is now available in all time-related notations. For example, you can now use 2.5 seconds/hours/minutes or even use it in full time notations: 23:59:59.999.

The automation.turn_off service now accepts a stop_actions data parameter. By default, when turning off an automation, any currently running automation will be stopped. This new option allows you to turn off an automation and optionally leave any currently active actions running.

Lastly, a small shortcut has been added to the time trigger, which now accepts multiple time values.

  - alias: Example with multiple time values in a single time trigger
      - platform: time
          - "05:00:00"
          - "06:00:00"
          - "10:00:00"

Open Z-Wave (beta)

The Open Z-Wave (beta) integration is coming along nicely and others are started helping out as well! A shout out to @firstof9, @RobBie1221 and @tradiuz for jumping in and helping out this release.

Some additional information is added to the UI for Open Z-Wave, you can now see device information right from the device page and shows information like the Z-Wave Node ID and other information about your Z-Wave device.

Screenshot of Z-Wave device information available in the UI.

Furthermore, RGB color support has been added to lights, and bugs have been fixed using color temperatures and dimming. 💡

Lastly, unnecessary polling of devices has been reduced.

Yet another round of performance improvements

Did we tell you that @bdraco is unstoppable in his saga to improve the performance and stability of Home Assistant? His train just keeps going!

0.114 is no exception and a lot of smaller performance and stability improvements are made again.

A bit technical, maybe, but here is a small overview of the changes:

  • The internal device & entity registries are now indexed, and thus faster.
  • Setting up groups at startup is more efficient.
  • Reloading YAML configurations or checking your configuration is now quicker.
  • A context accompanies every event in Home Assistant (every trigger, automation, … has a “triggered by what and who”). These contexts are now created faster, which makes everything faster.
  • Tracking time pattern triggers are now scheduled on our event loop, which is far more efficient.
  • Processing of system logs is taken out of the main program loop, so it doesn’t interfere with things Home Assistant does for you.

Finally, if, for any reason, corruption is detected in the Home Assistant recorder database (SQLite), the old database is moved and a new, fresh database is created. This prevents issues during startup.

Honestly, the above isn’t even complete. 😅 Thanks @bdraco!

Share Diagnostics & Crash reports

With Supervisor 231, shipped with Home Assistant 0.114, we added a new option on the System panel, to share diagnostics and crash reports with us anonymously. This will allow us to find and fix problems.

The shared information is only accessible to the Home Assistant Core team and will not be shared with others. The data does not include any private or sensitive information and you can disable it in settings at any time you want.

This option is by default, of course, disabled. So, if you want to help to project out, consider enabling this option in the Supervisor panel.

This service is sponsored by Sentry.io - Thanks a lot!

Other noteworthy changes

  • You can now move Lovelace cards to a different dashboard and add cards to other than the main dashboard from the device pages.
  • Add support for safe area insets; For example, iPhones with notches now cover the entire screen while having enough padding for home swipe action and the notch at the top of your display.
  • HomeKit has now support for doorbells (thanks @adrum) and @bdraco added support for multiple camera streams.
  • If you use light profiles, those now support a default transition value, thanks to @donkawechico.
  • @agners added IPv4 & IPv6 (dual-stack) support to the Home Assistant web server, allowing it to run simultaneously on both.

New Integrations

Six new integrations added this release:

New Platforms

The following integration got support for a new platform:

Integrations now available to set up from the UI

The following integrations are now available via the Home Assistant UI:

If you need help…

…don’t hesitate to use our very active forums or join us for a little chat.

Experiencing issues introduced by this release? Please report them in our issue tracker. Make sure to fill in all fields of the issue template.

Farewell to the following
  • The Linky integration has been removed. Enedis has discontinued its Linky API (to get electric consumption). (@Quentame - #38565)

All changes

Click to see all changes!

This is a companion discussion topic for the original entry at https://www.home-assistant.io/blog/2020/08/12/release-114/

:information_source: As always, it can take up to an hour, after this blog post has been published, before the update is available on all platforms.

Edit: Builds have finished. The release is now available for everybody :tada:

Great work guys! Dark mode support was really awaited feature. Love the idea!:+1:
If you focused on scripts and automations recently there is one, big missing feature in there to build more advanced logic: per-action IF support. Now a condition is either for the entire automation (checking if trigger is valid) or for part of the automation / script. It can stop script or automation from executing further.
What would be really great is to add support for conditions valid only for a certain action.
I mean:
Steps (Actions).

  1. Call service A
  2. Condition: check state of X. If condition NOT fulfilled - do not run action 2a.
    2a. Some action e.g. call service
  3. Call service B

Hope you’ll add it some day!

1 Like

The choose does this.

- call service a
- choose:
     - conditions:... check if so
       sequence: run 2a
   default: run 2b

Whoops, looks like I missed it! :sweat_smile: But it is only supported in YAML mode, not GUI, isn’t it?

Yes it is:

(I’ve used the edit in YAML to make 2a & 2b more clear, you can, of course, use normal actions as well)

1 Like

Awesome! Dark mode! Funny to see things full circle on this as many apps had this several years ago then some fruity phone company decided white backgrounds were great for the eyes and other companies thought it was a thing. Even the old school mainframe guys knew it was bad way back. Great job!

Dark mode is great! It would be great if the documentation site would be dark too.


Starting didn’t go so well with a 12GB sqlite database; verification took longer than the 300 seconds allowed. So had to flush out some history.

I can not update. Should I raise github issue?

I had a fresh install on .112 or .113 and had just finished all UI “works”…

The DNS lookup on your host failed. My guess would be that you are running a Home Assistant Supervised setup on Ubuntu or Debian, and have changed some stuff around on your host system. Most likely to add AdGuard Home or Pi-hole.

(:point_up_2: just a guess…)

Upd, I rebooted the host (that didn’t help), then restarted supervisor (that didn’t hel), the Home Assistant and finally I updated successfully.

Actually, I am just on inte nuc (with Home Assistant image for intel nuc) and I do not use adguard or pi hole for a long time now. But thank you for your answer, next time I will look up dns and try to find smth there if that would be a case.

Hmm interesting, that should not be able to happen on those setups. It is most likely DNS/Network related to the host settings. Maybe an old DNS ip still in the network setting?

p.s.: :cry: guessed wrong :sob:

1 Like

Dividers seem to not render any longer in entity cards?

Do you mean dns IP in my router settings, don’t you?
I have changed them to yandex.ru’s dns (it’s russian google) 2 weeks ago, so I dont have any dns ip servers of adguard.
Only if I should check out some other places (not router settings).
But I am successfully updated to awesome .114, so, issue is closed for now.
Maybe I would face it again, I will dive deeper in dns settings. Thanks :slight_smile:

1 Like

If you use chrome, you can install this extension to make any website “dark”:

It works better on some sites than others, but it works well on the forums.

1 Like
  1. Who are the members of this team?
  2. How are they bound to the requirement of not sharing the data?
  3. Who owns the information and where is it stored?

I use it as well, but the forum does actually have a dark theme available :wink:

Very nice to see all these improvements, but (there’s always a but) I’ve seen that the Frontend is very heavy and slow across all Android devices out there (basically since day 1). The slide-out menu lags like crazy and the automations tab hangs up or doesn’t even register a click/touch on certain elements. The automations tab becomes heavier every automation I edit, I really don’t know why. Sometimes it becomes so slow I need to reload the “page”.

If I click “Edit user interface” in Lovelace, things that I add don’t appear on the edit card, etc.

And it’s certainly not a phone issue, since I use a S10 and that phone certainly isn’t slow per se.

Would really love to see this improved. Currently only iOS devices aren’t lagging or glitching.

Personally I would not do any changes on a mobile.
I have an S10 as well, and do not see any of the things you mentioned