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.

Hacktoberfest

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!

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.

Plex

@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.

Lovelace

@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.

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.

Devices

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.

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.

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.

Freed my vacuum robot from the cloud with https://t.co/tirC2vcsqK This unlocked some new functionality for my vacuum: Configure and start zoned cleanup in @home_assistant with live map overlayed on the floorplan pic.twitter.com/jtPZHk2xeT

— Hans Oischinger (@oischinger) September 29, 2019

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:

Time for another #smarthome #Podcast

This week we're talking @home_assistant version 1...hundred, @hacktoberfest and catch up with 🇦🇺 Tony about his #homeautomation journey with Home Assistant, or maybe it should just be @NodeRED 🤷‍♂️https://t.co/DUtNZTHOAA

— Phil Hawthorne (@philhawthorne) October 9, 2019

New Integrations

New Platforms

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.

Breaking 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:

    nzbget:
      host: 192.168.1.1
      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) (linky docs)

  • 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:

    elv:
      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:

    transmission:
      host: 192.168.1.1
    
  • 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:

    rainbird:
      host: IP_ADDRESS_OF_MODULE
      password: YOUR_PASSWORD
      trigger_time: 6
      zones:
        1:
          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 preperation 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:

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

Beta Fixes

All changes


This is a companion discussion topic for the original entry at https://www.home-assistant.io/blog/2019/10/10/release-100/
8 Likes

Seems to have broken my device_tracker (which in turn breaks Life360 and places) so have reverted to 99.3

error below:

device_tracker/setup.py", line 114

        if platform.type == PLATFORM_TYPE_LEGACY:
            legacy.append(platform)
        else:
            raise ValueError(
                "Unable to determine type for {}: {}".format(
                    platform.name, platform.type
                )
            )

    return legacy

This is the extract from setup.py

Anyone else get this?

My device tracker seems OK, I’m using SNMP component for this however.

Sussed the device tracker issue. As usual the clue is in the error/code. I had the legacy Unify device tracker in my device_tracker.yaml.

Removed it and all good in the hood :slight_smile:

My only problem with HA in the last months is this:

What cause this problem? The host is a virtual machina, on decent hardware.

1 Like

It is not the HA box causing this, it is the local browser - I get this on my Mac.

Yeah, I know this. It only appears in Safari, but something is very slow on the page (I think that it’s waiting for response or there is too much data to render). Is there any ticket for this on the issue tracker?

When will docker image be updated?

Sad I missed the State of HA announcement. Wish there was a larger venue. I live very close by.

We are currently experiencing issues with the release builds and are working hard on solving that as soon as possible.

9 Likes

Been using Home Assistant for a while, running on a spare PC acting as a DVR Server in the shed.

Just upgraded to 100.0 and it threw up error that it couldn’t configure Sonoff. None of my Sonoff devices would show up so reverted back to 99.3

Anyone else have problems with basic (not Tasmota) Sonoff devices on version 100.0?
Thanks.

I would say the issue is more with the client than the host machine.

Samsung SmartThings Button triggers my Insteon LampLinc Module which turns on and off my floor lamp.

And it’s all thanks to Home Assistant 0.100.

(I updated the titlte in YouTube but the title is not updated here until I edit my post.)

Not actually updated yet, because going to version 0.100.0 broke the automation I have that sends me a notification if there is an update. It does a simple alphanumeric comparison between the version numbers and “0.99.3” is apparently greater than “0.100.0” :laughing:

OMG I love you for “Goodbye JSON” :smiley:

Are you triggering this in some other way than with a zha_event?

HA with Python 3.6.3 and Virtualenv

ERROR: discord-py 1.2.3 has requirement aiohttp<3.6.0,>=3.3.0, but you’ll have aiohttp 3.6.1 which is incompatible.

I setup using Device Automation. I went into Devices section, click in “Button,” and click in “button pressed.” That’s where Home Assistant took me to the Automation page and I filled in the rest.

Upgrade from 0.99.3 to 100.1 may have broke SmartThings Integration:
Log:

Setup failed for smartthings: Invalid config.
3:18 PM setup.py (ERROR)
Unable to import smartthings: No module named 'hass_nabucasa'
3:18 PM config.py (ERROR)

I don’t use NabuCasa.This was working on 0.99.3.

YAML is easier to write than JSON…

OMG, YAML’s mom is doing pull requests!

4 Likes