0.102: Official Android App, Almond, Scene editor

Home Assistant 0.102 is here ! It’s been quite the trip as we hosted our annual State of the Union last week, which took a lot of energy away from our release. This doesn’t mean that we don’t have anything to share, just that the notes might be a little less polished.

First, we had our State of the Union at the ING office in Amsterdam! It was great. You can watch it back on YouTube or keep an eye out for the blog post coming soon that will summarize all the announcements.

Alright, so what’s new? A lot.

Android App released!

At the State of the Union we announced that we have released the initial version of the official Home Assistant Android app. It’s still a work in progress, but the basic version already works.

It’s been developed by @CedrickFlocon and the source is available on GitHub. We’ve already seen some other developers step in, so that’s great! Keep it coming.

Private Voice Assistant

We teamed up with Stanford to tightly integrate their open, privacy-preserving virtual assistant Almond into Home Assistant. For more information, see the separate blog post.

Account Linking

Some companies only allow us to integrate with their products via cloud APIs. These cloud APIs often use the OAuth2 specification to link accounts. The problem with this specification is that it cannot properly handle non-public or decentralized installations.

So if you were to link an integration via OAuth2 before today, you would have to sign up for a developer account, configure Home Assistant and expose your instance publicly before you got to the part where you can link your account. That’s not good!

Home Assistant Cloud is introducing a new account linking service that will be freely available for everyone – no cloud account required. With this service, Home Assistant controls the developer account, and users will just need to link their accounts.

The first integration to use this new service is Somfy. Manual installation is also still possible. This integration is built on top of our new OAuth2 framework. We expect more integration developers to migrate OAuth2 integrations in the future.

Create automations with natural language

As an experimental feature, we have added a new way to create automations. With the help of Almond, we can transform natural language into Home Assistant automations.

Screenshot of the create automation dialog.

When you click the + in the automation editor to add a new automation, you will see a new dialog where you can enter what you want your automation to do in natural language. Like: Turn on the lights when I come home. We will try to convert this into an automation. We will check if you need to specify devices or persons for this automation and ask you for them. You can then check the generated automation in the editor and save it.

Be advised that not all devices are supported yet, and that Almond needs more training for better responses. Check the Almond part for how you can help make Almond better.

Scene editor

Screenshot of the scene editor.

We’re also introducing a scene editor. With the scene editor you can easily store the states of devices in a scene. You simply select the devices (and/or entities if you are in advanced mode) you want to include in your scene and set the states to how you would like them when the scene activates.

To use the scene editor your scene config should be in the file scenes.yaml in your config directory and included in configuration.yaml. Every scene should have a unique id for the editor to work.

# scenes.yaml
- id: my_unique_id # <-- Required for editor to work.
  name: Romantic
  entities:
    light.tv_back_light: on
    light.ceiling:
      state: on
      xy_color: [0.33, 0.66]
      brightness: 200

Then update your configuration.yaml to look like this:

# Configuration.yaml example
scene: !include scenes.yaml

In other news

Andrew learned Swift and created a new mini-app for Mac:

Using my new found Swift skills I created a tiny Mac menu bar app to control switches on @home_assistant https://t.co/N7wl2gXd2O Saves me reaching behind the printer for the awkward power button. Consider it alpha, I've got a lot to learn on both swift and HA! pic.twitter.com/o6Wm7Le5nm

— Andrew Jackson (@AndrewCodeChimp) November 18, 2019

Our Android app is not the only new app on the block. @tuanha2000vn has released Hasskit, a new app built with Flutter that can be used on both Android and iOS.

And finally, Brad posted a video on Reddit showing his amazing usage of picture elements in Lovelace. Check it out:

Users of Xiaomi Vacuum cleaners can now use this great custom Lovelace card:

Wow 😲

This custom card for Xiaomi vacuum cleaners allows you to exactly tell what part of the house your vacuum cleaner has to clean 👏https://t.co/NJtrRLKvDZ pic.twitter.com/iNOOwt5Wxd

— Home Assistant (@home_assistant) November 8, 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

  • Huawei LTE - Configuration has been consolidated below huawei_lte. Device tracker no longer uses known_devices.yaml but entity registry. - (@scop - #26675) (huawei_lte docs)

    Example configuration yaml:

    huawei_lte:
      - url: http://192.168.100.1/
        username: admin
        password: something
    
  • Ikea Tradfri - This removes the battery sensor that was created for the signal repeater. The sensor would never have a state, and after some inspection, it does not look like that device present any valuable metrics. - (@ludeeus - #28181) (tradfri docs)

  • UPNP/IGD - All UPNP/IGD sensors are now in one device. You have to remove and re-add the integration to get rid of the previous devices. (@escoand - #27517) (upnp docs)

  • PS4 - State off is now State standby. Affects user defined scripts, automations, etc. (@ktnrg45 - #28261) (ps4 docs)

  • SSDP - ssdp in manifest.json has changed; it is now a list of dicts, and as we now match using the UPnP device description fields directly, device_type has to be renamed to deviceType. No included integrations use it at the moment, nor are they broken by this change. If any custom integrations are using it, they need to adjust accordingly. (@scop - #28285) (ssdp docs)

  • HomematicIP Cloud - The attribute naming between Homematic IP HmIP-BSM (light) and HmIP-FSM/HmIP-PSM (switch) was different and in case of light not correct. The attributes for HmIP-BSM have been renamed:

    • energy_counter_kwh –> today_energy_kwh
    • power_consumption –> current_power_w

    Please check your automations, scripts, scenes, etc., if you are using the old attributes in templates, and replace them with the new ones. - (@SukramJ - #28271) (homematicip_cloud docs)

  • Plugwise - Detection of a legacy Anna (firmware 1.8.x) is no longer automatic: owners of a legacy Anna have to provide info in configuration.yaml, the last line. This change was needed to be able to fix issue #26520. - (@bouwew - #28237) (plugwise docs)

    Example configuration yaml:

    climate:
      - platform: plugwise
        name: your_device_name
        password: your_password
        host: your_anna_ip
        legacy_anna: true
    
  • Android TV - The source and sources_list attributes for Fire TV devices will use friendly app names instead of app IDs (e.g., “Netflix” instead of “com.netflix.ninja”). If you are using these attributes in automations, sensors, etc., you will need to update them.

    • If you are currently checking that the source attribute of a Fire TV device is a particular app ID, you have two options:
      • Check the app_id attribute instead
      • Replace that app ID with the friendly name for the app.
    • If you are currently checking the sources_list attribute, then you will need to check for friendly app names instead of app IDs.

    You can still use app IDs for the media_player.select_source service. - (@JeffLIrion - #28417) (androidtv docs)

  • Homekit - Thermostats supported by the Homekit Controller component were reporting “off” for the running status when the HVAC was powered on but not actively heating or cooling. This hvac_action attribute will now properly return “idle” instead of off. Any logic that tests for the hvac_action condition of off will need to change to idle. There is no change to any other states. - (@GaryOkie - #28625) (homekit_controller docs)

  • OpenALPR local - The “alp_bin” option has been corrected to “alpr_bin” as is outlined in the documentation. Users should check their config and update if necessary. (@HexF - #28746) (openalpr_local docs)

Beta Fixes

All changes


This is a companion discussion topic for the original entry at https://www.home-assistant.io/blog/2019/11/20/release-102/
3 Likes

The blog link for the new voice assistant doesn’t work. :pensive:

Correct link https://www.home-assistant.io/blog/2019/11/20/privacy-focused-voice-assistant/

1 Like

OK looking forward to docker hub updating to 0.102 so I can.

EDIT and there it is!

EDIT2 another successful update!

Updating is a breeze these days.

1 Like

Looking through the 0.101 thread, not everyone has that experience, maybe I have beginner’s luck. (And a very simple system so far).

I’ve updated from 0.100.3 successfully, but after the HA restarted, I see the same version number is reported - again 0.100.3. From the log I see few warnings are now gone, so sounds better but I don’t know why the counter doesn’t change.

Reported where?

Sorry, in Developers Tools > Info, under the home assistant logo image. If there is other way to check pls let me know.

The first line of the log should reveal the version, but sounds like it didn’t update.

api_password under http: ? You need to move it under auth providers if you still have a need for it. Remove it completely if you don’t have a need for it.

@nickrout, thanks but even with logger set to “info” I don’t have such info in the log.

@cogneato, thanks, but I have removed api_password declaration when it was deprecated.

Also I have just attempted updating again with:
sudo python3.7 -m pip install --upgrade homeassistant

And I got this (so it seems after all it was updated):
Requirement already up-to-date: homeassistant in /usr/local/lib/python3.7/site-packages (0.102.0)

So the second upgrade was skipped (because seems done already), and still have the old version number shown.

yeah the logs are different now it seems, bloody annoying.

I lost access to my eliqonline sensor after upgrading. Do I need to roll back, and if so, how?

Edit: Sorry, just a coincidence, Eliq seems to have server problems right now :slight_smile:

For future reference if using Hassio: https://www.home-assistant.io/hassio/commandline/#usage-examples

1 Like

and again same problem as when upgrading from 0.100.3 to 0.101.x … and no clear indication in LOg of what it is

the link to the Xiaomi air quality monitor leads to wrong page: https://www.home-assistant.io/integrations/xiaomi_miio/

and I can’t revert back, the below says succesfull after a second, but does nothing


 
core-ssh:~# hassio homeassistant update --version=0.101.3       Processing... Done.rocessing...

Command completed successfully.
core-ssh:~#

and this


core-ssh:~# hassio homeassistant stop                           Processing... Done.rocessing...

Error:
core-ssh:~#

Ok it reverted back.

You have to wait looooooooong time before issuing that command … can’t understand why, it should be more clear.

For what the error is will wait for the weekend, and report hopefully