0.99: Withings, Device Automations, launch Home Assistant Cast from Python.

Happy 6th birthday to us! Yep, it’s been 6 years since the first commit, 6 years since we started our quest for a local and privacy foucsed home automation hub. And I think that we’re doing a pretty ok job 😏

It’s time for Home Assistant release 99. And this release is adding a bunch of new great features all over the place.

Welcome Bram!

Nabu Casa has hired Bram Kragten. Bram has been active in the Home Assistant community for a while and is one of the driving forces behind the Lovelace UI. He will work on the Home Assistant frontend full-time. He will focus on making it easier to manage your Home Assistant installation, make sure all of the frontend is translatable and drive our efforts on making the frontend accessible for visually impaired people.

This is possible thanks to all the people who subscribe to Home Assistant Cloud ❤️

Device Automations

We took a step back, looked at Home Assistant, and thought about how we could make it easier for users to create automations. We realized that there was room for improvement. We identified the following issues:

  • To write automations, users need to learn Home Assistant concepts like events, entities and services.
  • It’s difficult to discover what can be automated. For example, if you’re automating a long press on the “turn on” button on a Zigbee remote, you need to know to listen to the event “zha_event” and match against the Zigbee device identifier of your remote and the long press type.

So we put our inventor hat on and have come up with a solution that allows users to create automations in the concepts that they already know: devices. Now when a user starts configuring an automation trigger, it can pick device automation as a new type.

Screenshot of defining a device trigger. Screenshot of defining a device trigger in the UI.

The user starts by picking one of their devices that is integrated into Home Assistant. A second dropdown will now appear that contains all the possible triggers for this device. This list is populated based on the integrations that are linked to this device (ie. Hue & Light).

Device automations are available for triggers, conditions and actions. Today’s release supports lights, switches and Deconz. More to come in future releases as integration developers adopt it.

Big thanks to @emontnemery for driving this effort. He added initial support for device automations as a YAML-only feature in Home Assistant 0.97 and has worked hard to extend it in this release with UI support and support for conditions, actions and more integrations. Also a big thanks to @kane610 who added added support for device automations to Deconz which helped squash bugs and improve the design.

Frontend

There is a lot to talk here. Buckle up.

@thomasloven has built a brand new round slider from scratch for use in Home Assistant. It is using modern technologies to create a great experience. This component was so useful standalone that he has decided to release it as a standalone web component that anyone can use in their websites.

Screenshot of a light card showing a round slider.

Shout out to @iantrich who has been on fire in recent weeks squashing a ton of bugs and adding some nice features to improve the Lovelace experience. And a shout out to @SeanPM5 who has been bringing UX bugs and improvements to our attention. Our frontend team is seriously awesome.

Unused entities has been moved into the configure UI section and completely revamped by @bramkragten. It’s now a table, you can see a lot more info, you can sort it. If you are using Lovelace storage mode, you can select entities and add them to your UI directly from that screen.

Screenshot of the new unused entities page. Screenshot of the new unused entities page.

Now that we have a data table component, Bram also went ahead and used it in a new devices page. This page, still experimental, will allow users to see a list of all their devices and sort them by manufacturer, area or battery %. The goal is to create a one stop shop for device management.

Screenshot of the new devices page. Screenshot of the new devices page.

And there is a ton more, here are some of the other highlights:

  • Allow subscribing to an MQTT topic inside the MQTT dev tools @bramkragten
  • Option to display last changed in glance-card @iantrich
  • Add image option to glance card entities @iantrich
  • Allow controlling timer entities from the more info dialog @iantrich
  • Fill example data in dev tools @bramkragten
  • Stop effect in more-info-light @iantrich
  • Add vibration on mobile when controlling entities @bramkragten
  • Update Home Assistant logs when activating the info developer tool tab @bramkragten

Launch Home Assistant Cast from Python

Home Assistant now supports opening Home Assistant Cast from the backend. It is available as the service cast.show_lovelace_view. This allows you to open a view on your Chromecast as part of an automation. For example, show the frontdoor and who is home when your doorbell rings.

Note that Home Assistant Cast requires your Home Assistant installation to be accessible via https://. If you’re using Home Assistant Cloud, you don’t need to do anything. Otherwise you must make sure that you have configured the base_url for the http integration.

Hass.io

Hass.io is now able to work with your secrets stored in Home Assistant. So now you are able to use !secret my_value inside add-on options like you can do inside configuration.yaml. For more info about how to define secrets, check the docs.

We have published a release candidate of HassOS that is compatible with the new Raspberry Pi 4. Download it here.

In other news

Home Assistant had a booth this year at the CEDIA home tech trade show. We spend a lot of time talking to manufacturers about local APIs, official integrations and better support for open source systems.

We also had some great drinks in the evenings with companies that integrate with Home Assistant. In this picture Konnected.io and Senic.

@timmo has released version 2.0 of his Home Panel. This is an alternative user interface for Home Assistant.

New Integrations

New Platforms

Release 0.99.1 - September 19

Release 0.99.2 - September 19

Forgot to include frontend update 99.1.

Release 0.99.3 - September 25

If you need help…

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

Reporting Issues

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

Backward-incompatible changes

  • Unifi - Removes support of directly configuring the UniFi platform for device trackers. Use unifi: instead. Extra configuration through config entry options from the GUI (see release notes 0.98 for example) and through unifi configuration in configuration.yaml will continue to work.- (@Kane610 - #26587) (unifi docs)

    # This will no longer work
    device_tracker:
      - platform: unifi
    
    # This does
    unifi:
    
  • Plex

    • Configuration is moved from the media_player and sensor platforms to the plex component. Existing configurations will need to be updated. The remove_unavailable_clients and client_remove_interval options for media_player entities have been removed as the functionality has limited value now that the entity registry exists. - (@jjlawren - #26488) (discovery docs) (plex docs)
    • Logins using a username/password/servername are no longer supported on the Plex sensor platform. This functionality will be partially restored in followup PRs which add a configuration flow and external authentication. - (@jjlawren - #26444) (plex docs)
    • Remove default host for Plex config. - (@jjlawren - #26583) (plex docs)
      • Removes default value of host config parameter.
      • Requires one of host or token in the configuration.

    New example configuration entry:

    plex:
      host: 192.168.1.5
      token: mysecrettoken
      media_player:
        use_episode_art: false
    
  • PiHole - This change requires existing configurations for the pi_hole integration to be moved from sensor platform key to a pi_hole top level key. This allows services, switches, and possibly other entities to be added to the integration in a future pull request. - (@johnluetke - #25837) (pi_hole docs)

    • monitored_conditions is removed
    • pi_hole configuration block defines host, port, location and ssl options

    New example configuration entry:

    pi_hole:
      host: pi.hole
    
  • Jewish calendar - This platform has been moved to an integration. Automations based on sensor.issur_melacha_in_effect comparison to True/False need to be updated to use binary_sensor.issur_melacha_in_effect on and off states. - (@tsvi - #26200) (jewish_calendar docs)

    New example configuration entry:

    jewish_calender:
      language: hebrew
      diaspora: False
    
  • Homematic IP - Unify device_state_attributes handling for Homematic IP Cloud. The naming of entity attributes has been corrected (missing underscore) to follow the standards:

    • moisture detected –> moisture_detected
    • motion detected –> motion_detected
    • power mains failure –> power_mains_failure
    • presence detected –> presence_detected
    • smoke detector alarm –> smoke_detector_alarm
    • water level detected –> water_level_detected
    • window state –> window_state

    (@SukramJ - #26449) (homematicip_cloud docs)

  • Linky - This platform has been moved to an integration. - (@Quentame - #26076)

    New example configuration entry:

    linky:
      - username: email_address
        password: password
    
  • Radiotherm - Update climate attributes. Automations may break if the user is checking against the previous “mode” or “fan” attributes or previous mode or fan attribute values. - (@dieselrabbit - #26465) (radiotherm docs)

    • The old “mode” attribute is now supported via “hvac_action” attribute.
    • The old “fan” attribute now called “fan_action” to follow “hvac_action” .
  • SolarEdge - Monitored conditions are no longer supported. - (@Cereal2nd - #26282) (solaredge docs)

  • SMA - Removes deprecated SMA config - (@balloob - #26306) (sma docs)

Beta Fixes

All changes