0.100: Better Plex, Bye JSON, HERE Travel time.


Welcome to the release notes of yet another wonderful release! No, we’re not going for 1.0, we’re doing 0.100! We feel like we’re not ready yet with our goals for 1.0, but we’re making progress every day. For a sneak peak of what we’re thinking about, check our blog Simple mode in Home Assistant 1.0.


It is Hacktoberfest. This means that we’re spending the month celebrating contributing to open source. If you make 4 pull requests this month, you get a free Hacktoberfest t-shirt! More info and what to work on, check our Hacktoberfest blog post.

Average contributions per day have doubled for the month of October. There are now on average 40 contributions coming in each day. Breakdown is ~50% Home Assistant backend, ~37% documentation and ~13% the frontend. Most of these contributions you’ll see in the next release!

Graph of 420 PRs that got opened and merged in the last 14 days. Last 14 days of pull pequest throughput in the Home Assistant organization. (source)

State of the Union 2019

We’re going to have another State of the Union! It will be held at November 13, in Amsterdam. Like last year, it will be hosted by our friends at ING. I’m looking forward to talk about all the great things that are happening in Home Assistant land. We had 150 tickets available when we announced it on social media, and they were all gone in less than 24 hours!

We’re going to make sure that there will be a live stream available. We’ll announce that in time via the blog and social media. Some people are talking about hosting viewing parties across the globe. Keep an eye out on the social category on the forums for announcements. This would also be the place to announce if you are planning on hosting one.


@jjlawren has been on fire with the Plex integration. You will now be able to link your account via the official Plex account link feature.

Screenshot of the Plex user interface asking the user if they want to link with Home Assistant. Screenshot of the Plex user interface asking the user if they want to link with Home Assistant.


@iantrich fire has not been put out yet. This version he has also added many new functions to Lovelace! Check the Lovelace changelog for all changes. Some hightlights:

  • There are a lot more option for state filtering
  • We have a bunch of new UI editors
  • A new action url to link to external sites
  • Config panel: Disabled entities are now hidden by default.

Device automations

@emontnemery has been hard at work at further expanding device automations aided by @dmulcahey and @Kane610. This release includes improved support for Zigbee (ZHA) devices, sensors, binary sensor, switch and Deconz. One neat new improvement is the addition of a “for” option. This allows you to specify triggers for when a certain device has been on for a period of time.

Screenshot of a device trigger for a temperature sensor. Screenshot of a device trigger for a temperature sensor.

Automation editor

@emontnemery has added a bunch of functions to the automation editor, you can now use and and or conditions, and give your automation a description so you know why you did what you did.

Screenshot of an and-condition in the automation editor. Screenshot of an and-condition in the automation editor.


Device automations are now available on the experimental device page that we introduced in the last release. You can now see all the triggers, conditions and actions the device supports. Clicking on it will open the automation editor with the automation filled in, ready to edit.

Screenshot of a card showing device triggers to create automations from.

We also added the entity registry, so you can change all the settings of the devices entities in one place.

And, bonus, when you rename a device on the device page, it will now also rename the entities of that device if they contain the device name. When you are in advanced mode, it can also rename the entity id’s for you.

Goodbye JSON 👋

On the backend we have been using YAML for a long time, but on the frontend, we still used JSON for a lot of things. JSON is harder to write than YAML so we have aligned that. All data inputs on the frontend now accept YAML. You can still use JSON, as JSON is valid YAML.

This includes:

  • The automation editor
  • The script editor
  • Services data in dev tools
  • States in dev tools
  • Events in dev tools

Screenshot of a service action in the automation editor using YAML. Screenshot of a service action in the automation editor using YAML.

Thank You, @Amelchio

Core developer @amelchio is taking a break from working on Home Assistant. Amelchio has been a contributing member of the Home Assistant community for 2.5 years in which he made a grand total of 275 pull requests! Amelchio has worked on improving database performance and under his wing the Sonos, LIFX and Netgear LTE integrations flourished. He is an example community member, always available in the chat to help other people contribute to Home Assistant.

Thanks Anders, we’re going to miss you! ❤️

In other news

Hans Oischinger showcased how he can steer his vacuum cleaner to specific rooms in his house via his floorplan. Besides this tweet, he also wrote a great blog about it.

To improve discovery, we’re collecting discovery info of devices and services. Please help us gather zeroconf discovery info and HomeKit discovery info.

As always, this release of Home Assistant is accompanied with a new release of the Home Assistant Podcast:

New Integrations

New Platforms

Release 0.100.1 - October 10

Release 0.100.2 - October 12

Release 0.100.3 - October 21

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

  • Removed - The following integrations which were marked in .98 for pending removal have now been removed (ADR-0004):

  • NZBGet - The integration has been changed to support multiple platforms and future events, and common code has been centralized to the component. The configuration has moved from the sensor platform to the nzbget key in configuration.yaml, and the monitored_variables option has been removed. Users need to update their configuration. - (@chriscla - #26462) (nzbget docs)

    New example configuration entry:

      ssl: false
  • SpaceAPI - Values that were not compliant with the SpaceAPI specification were changed.

    • contact / mailing_list has changed to contact / ml, to migrate change the mailing_list key to ml
    • location / address is no longer required but is optional as the latitude and longitude properties of the location are added automatically from the HA config). There is no need to change anything. - (@Bouni - #26453) (spaceapi docs)
  • Linky - Linky sensors have been grouped to one Linky device. Users will need to remove and re-add the Linky integration to clear the device registry. - (@piitaya - #26738)

  • Elv - ELV/PCA is now its own integration. Existing configuration should be removed and replaced. Optionally the port for the serial interface can be specified (default is: /dev/ttyUSB0). - (@majuss - #26552) (elv docs)

    Example configuration entry:

      device: "/dev/ttyUSB0"
  • Automation - Custom component developers who started playing with device automations only: we have restructured how integrations can expose their device triggers/conditions/actions. Instead of 1 platform device_automation.py it’s now device_action.py, device_trigger.py, device_condition.py. The method to attach a device trigger has been updated from async_trigger to async_attach_trigger to better reflect what is going on. - (@balloob - #26880) (automation docs) (binary_sensor docs) (deconz docs) (device_automation docs) (light docs) (switch docs) (zha docs)

  • Ecobee - Ecobee will now be set up via config flow. Existing users will have their config imported from ecobee.conf via an import flow so it shouldn’t break their experience. Users configuring via configuration.yaml will have their api key and options imported into the flow but will still need to finish authorization via the flow (instead of the configurator component as previously). The configuration parameter hold_temp has been removed, as it was not being used in the climate platform and had no effect on whether the temperature was held indefinitely or not. Users will need to remove the parameter hold_temp from configuration.yaml. Ecobee-specific services will now be registered under the ecobee domain rather than the climate domain, and service names will not include the prefix “ecobee_” (e.g., the service “climate.ecobee_resume_program” will become “ecobee.resume_program”). - (@marthoc - #26634) (ecobee docs)

  • Transmission - The Transmission integration can now be configured through a config flow via Integrations in the GUI. Once configured all sensors and switches will be created and available for the user. monitored_conditions has been removed so existing users need to update their configuration in configuration.yaml and remove monitored conditions. The existing configuration will be imported as an entry under Integrations. - (@engrbm87 - #26434) (transmission docs)

    Example configuration entry:

  • Rainbird - Rainbird is now its own platform. The configuration of rainbird switches has been moved under zones: as part of the rainbird: integration. - (@konikvranik - #26393) (rainbird docs)

    Example configuration entry:

      password: YOUR_PASSWORD
      trigger_time: 6
          trigger_time: 6
  • Incomfort - Device state attributes that were causing pointless state changes have been removed:

    • "rf_message_rssi signal strength (between gateway & boiler), changes almost every scan_interval
    • nodenr unknown, is static
    • rfstatus_cntr unknown, changes

    This is not likely to be considered a breaking change by users. - (@zxdavb - #26802) (incomfort docs)

  • Evohome - Device state attributes keys have been changed to snake_case and, since this a breaking change, the opportunity was taken to revise/simplify the entire device state attributes schema. Evohome is a complicated integration, has had major changes in recent times, and is not yet mature - these changes address some bugs and related architectural issues:

    • Modify behavior of set_temperature to mirror that of the vendor’s UI (e.g., any target temp changes until next setpoint, unless explicitly set otherwise)
    • Setpoint datetimes are now correctly converted to local/aware isoformat (internally, and for logging/state attributes)
    • Use snake_case for device state attributes
    • Add a unique_id for each entity (systemId, zoneID, dhwId)
    • Refactoring - remove API wrappers (no longer using private methods)
    • Add away mode for DHW (set to permanent off or Auto, depending)(@zxdavb - #26810) (evohome docs)
  • OpenTherm - Move climate entity state to hvac_action attribute to comply with climate 1.0. May break e.g., automations. - (@mvn23 - #25931) (opentherm_gw docs)

  • Genius Hub - Users connecting to a Hub via the v1 API will need to specify a valid MAC address for the hub (see example YAML, below). Those using the v3 API will be unaffected. This change is in preparation for for further changes, so the geniushub entities can be given more appropriate entity_ids.

    Some Sensor entities fro GeniusHub Issues have been renamed, and so will get a new entity ID:

    • sensor.errors to sensor.geniushub_errors
    • sensor.warnings to sensor.geniushub_warnings
    • sensor.information to sensor.geniushub_informationeniushub and bump client to v0.6.26 - (@zxdavb - #26640) (geniushub docs)

    Example configuration entry:

      token: JqVFd0UUEi...
      mac: 18:CC:23:12:34:56

Beta Fixes

All changes