Blog

Piwheel issues with older versions of Raspbian/Hassbian

If you are using Hass.io, Docker or a distro based on Debian Buster this does not apply to you.

After upgrading to Home Assistant version 0.96.0, some users started seeing errors like this:

ImportError: /usr/lib/arm-linux-gnueabihf/libssl.so.1.1: version `OPENSSL_1_1_1' not found (required by /srv/homeassistant/lib/python3.7/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so

And all integrations that communicated with SSL (https) stopped working.

This applies if you have one of these installations with a manual installation or with Hassbian:

  • Raspbian Jessie
  • Raspbian Stretch

The reason for this, is the way piwheels determines the OS version you have by looking at the Python version that is in use.

@frenck added a writeup of the issue and potential solutions to this issue.

There are two potential solutions for this issue, where option 1 are considered the best of them.

Option 1

Upgrade your distribution to Debian Buster.

NB!: This option will upgrade your entire system and might negatively affect other things you might have running.

Before you continue with this, you should make sure that you have a recent backup of your system.

Steps

  1. Change stretch or jessie to buster in these files:
    • /etc/apt/sources.list
    • /etc/apt/sources.list.d/raspi.list
    • /etc/apt/sources.list.d/hassbian.list
  2. Run sudo apt-get update
  3. Run sudo apt-get -y dist-upgrade
  4. Run sudo reboot

Option 2

Disable piwheels prebuilt packages.

This option is a faster method initially, but it has the huge drawback of having to compile the packages locally. You should only use this option if you run other things on your system that will not work if you use the first option.

Steps

  1. edit /etc/pip.conf and comment out the line containing piwheels, like this:

    [global]
    # extra-index-url=https://www.piwheels.org/simple
    
  2. Run source /srv/homeassistant/bin/activate

  3. Run pip uninstall cryptography

  4. Run pip install --no-cache cryptography==2.7

  5. Run deactivate


0.96: Notion, updated sidebar, advanced mode

It’s time for Home Assistant 0.96. It’s a great release, but we also made some changes, so please pay attention.

Last release that supports Python 3.5

This will be the last release that supports Python 3.5. Home Assistant 0.97 will require at least Python 3.6. If you are using Hass.io or Docker, you will not have to do anything. If you are running Hassbian, upgrade instructions are here. If you run Home Assistant inside a virtual environment, please follow the instructions for your OS to update.

Home Assistant has adopted a new Python support strategy. Starting August 1, we will now support the last two minor stable releases of Python. This is currently Python 3.6 and Python 3.7. Python 3.8 is expected to be released near the end of the year. Once that is released, Python 3.6 support is deprecated and removed 2 months later.

Pimp my Sidebar

The sidebar has gotten an improved look! Idea started with a mockup by @JuanMTech on Twitter and grew into a full blown implementation. When visiting Home Assistant on devices with big screens (tablets, laptops, desktops), the sidebar will now always be visible in a minimized mode with the ability to fully hide it via the profile page. The developer tool buttons have been collapsed into a single menu item. The dev tools will now store its exact state when you navigate away, included the dev tool that is open. We’ve also taken the opportunity to make notifications accessible from the sidebar, instead of only via the Lovelace UI.

On mobile devices the sidebar will behave like it previously did. Check the demo for a preview.

Screenshot of the demo with the new sidebar. Screenshot of the demo with the new sidebar. Click to open.

Climate

This release includes a major clean up of our climate integration, correcting some architectural flaws from the past. The goal of this clean up was to a better job at providing an abstraction layer that fits many devices. This will improve compatibility with services that interact with Home Assistant (like Alexa/Google) and will allow us to make sure the UI works for everyone. We’ve done a lot of testing during the beta, but there might still be things that don’t work as expected. If you notice anything, please report by opening a bug report.

For a breakdown of what was driving the change, check our blog post on the dev blog.

The following things have been changed:

  • operation_mode has been renamed to hvac_mode to emphasize what the mode is for.
  • We split HVAC mode auto into auto and heat_cool. If it’s heat_cool, the user has set a temperature range the device has to use heating and cooling to stay within. Auto mode is now limited to devices that are running on a schedule or AI.
  • The state of a climate entity is now always equal to the HVAC mode.
  • hvac_action is introduced for integrations that know the current action: heating, cooling, idle.
  • set_away_mode and set_hold_mode have been merged into set_preset_mode. So instead of turn_away_mode_on(), we will now call set_preset_mode("away").
  • The is_on property has been removed. If a device is able to turn off, it should include the HVAC mode HVAC_MODE_OFF.
  • Property names have been aligned, anything ending with “_list” is now named “_modes”.
  • Integrations are only allowed to represent functionality that is present in the API. It is not allowed to add your own fake away mode.

Huge thanks to @pvizeli who drove the core implementation and to the following people for helping getting it past the finish line:

Advanced mode

As part of Home Assistant 1.0 effort, we’re simplifying the default user interface. We’re doing this by hiding certain configuration options like the customize panel behind a new “advanced mode” toggle. You can find this toggle on your profile page.

Advanced mode is only available to admin users and is a per-user setting. Enabling it for yourself won’t enable it for other admins.

In other news…

Raspberry Pi 4 support has arrived in beta. @pvizeli has been hard at work and the first beta release is available. If you flash this image, you will be able to update to a stable release later from within the UI.

Big shout out to @frenck who has been doing a lot of clean up on the website. Like, a lot lot. He has removed over 20.000 unused lines of code, and has simplified how we render code blocks, pages and headers. It takes Jekyll now a mere 14 seconds to generate the whole website! It used to be 6 minutes! 😲

Last week @balloob showed a preview of the upcoming Home Assistant Cast, a new interface for Home Assistant that runs on Chromecasts and Google Assistant devices with screens.

The Home Assistant code repository on GitHub has hit 25.000 stars! 🤩

The Home Assistant Podcast has published episode 53 to discuss all the ins and outs of this new release.

@isabellaalstrom has redone her Lovelace UI and it is looking fabulous!

New Integrations

New Platforms

Release 0.96.1 - July 18

Release 0.96.2 - July 19

Release 0.96.3 - July 21

Release 0.96.4 - July 23

Release 0.96.5 - July 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.

Read on →

Home Assistant Cast (preview)

Today is my birthday. I’m turning 33. And to celebrate, I want to share a preview of a project that I have been working on: Home Assistant Cast. It’s the Home Assistant Lovelace interface, but for Cast-enabled devices like Chromecasts or Google Assistant devices with screens.

Photo of a Google Nest Hub running the Home Assistant Cast interface. Photo of the Google Nest Hub running the Home Assistant Cast interface.

It will work with any Cast enabled device, and if available, will allow the user to use the touch screen to interact with the interface. The interface is built with Lovelace, so it’s the same powerful features and real-time interaction that you are used to today.

Chromecast apps are usually launched from a browser or a mobile app on Android or iOS. But we wouldn’t be Home Assistant if we had just one solution. Home Assistant has been integrated with Chromecasts for over 5 years. This means that you will be able to launch Home Assistant Cast as part of your automations. For example, you will be able to show information on your TV if a visitor has been detected at the frontdoor. Nice!

For a full demo walkthrough of how it works, check the video below:


0.95: AdGuard, Life360, Plaato Airlock

It is time for release 0.95, and guess what? It’s good! First things first, did you see the new Raspberry Pi 4? 3x as fast as the model 3, gigabit ethernet port actually supports gigabit speeds now, faster memory read/write, oh well, faster everything! The benchmarks are impressive. Best of all? The base price stayed the same. However, you can now also pay more for upgraded models with more memory, which is great if you like to install all the hass.io add-ons.

Talking about Hass.io support, we’ve received ours and work to add support will start shortly 🚀. Since we’re discussing Raspberry Pi’s, can we talk SD cards really quick? Quality matters. When you buy SD Cards get the pro variants, preferably the ones that are class A1 or, even better, class A2. The A stands for application and they are optimized for running apps, like Home Assistant.

RV Assistant

Home Assistant is not just limited to homes. Recently we had a boat owner on Home Assistant podcast episode 48, and Home Assistant also powers recreational vehicles (RV) (like this schoolbus).

With this release, we’re making integrating Home Assistant into moving vehicles so much easier. In the last release, we introduced support for the core config to be updated without restarting Home Assistant. This release brings it a step further and introduces a new service homeassistant.set_location. With this service, you can automatically change the location that Home Assistant is located. Once updated, it automatically updates all the things that rely on the location, like your sunset triggers and your current weather (only Met supported now).

AdGuard Home - local ad-and-tracker blocking

Here at Home Assistant, we’re big fans of privacy and we’re always working on improving it. So this brings us to AdGuard. AdGuard Home is a local DNS server that automatically blocks any device looking up a domain that is used to serve ads, spreads malware, or isn’t appropriate for your kids. Thanks to @frenck, starting release 0.95, it has a top-notch integration with Home Assistant:

One cool new feature: because parental control is now available as a switch, you can control AdGuard via Alexa and Google: “Hey Google, turn on parental control” 😲.

Screenshot of Frenck during his stream demoing AdGuard. Frenck shows a demo of the AdGuard integration during his stream. See the demo.

Life360

More goodies. Keep paying attention as we’re not done yet. Also new in 0.95 is the Life360 integration thanks to the hard work by @pnbruckner. This integration started its life a little over 360 days ago on the forums as a custom integration and has now become part of Home Assistant. Life360 is an app to allow friends or family members to share location with each other.

If you are migrating from the custom integration, please read the instructions.

Improved Alexa integration

One more thing… This release improves the Home Assistant Cloud Alexa integration. Just like Google Assistant, it is now possible to manage which entities are exposed to Amazon via the user interface. Alexa actually offers some cool features around this. Any change you make is instantly reflected inside Alexa. Add an entity? Control it instantly via Alexa.

However, we didn’t stop there. The manual installations of Alexa has had optional proactive state reporting since earlier this year, and this is now available for Home Assistant Cloud users too. If you choose to opt-in to this, every state change of your exposed entities is sent to Amazon as soon as they happen. It allows Amazon Echos with displays, to instantly reflect the state and allows you to create routines inside Amazon powered by your Home Assistant entities.

More icons available

Austin Andrews, the lead designer of Material Design Icons, informed us that Material Design Icons 3.7.95 has been released. It includes a handful of the top requested Home Assistant icons (and a total of 100 new icons!).

Noteworthy backward-incompatible changes

For the last couple of releases, we’ve been printing warnings if your configuration contained invalid slugs or extra keys. Starting with this release, these warnings are now errors. No procrastination anymore, you’ll need to fix it now.

We have also realized that the default database clean up task never automatically ran as intended. Instead of running every night, cleaning up your history so that it only contains the last 10 days, it never ran. Oopsie. We’ve fixed it in this release, so now the defaults kick in. Want to adjust how much history you want to retain? Check the docs.

New Integrations

New Platforms

Release 0.95.1 - June 26

Release 0.95.2 - June 28

Release 0.95.3 - June 28

Release 0.95.4 - June 28

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.

Read on →

0.94: SmartHab, Watson TTS, Azure Event Hub

It is time for the 0.94 release and there is some seriously good stuff in this release. We’re working hard on polishing everything and getting ready for the big Home Assistant 1.0 release. And we’re getting closer. So close actually, that this is the first release that can be installed and configured without touching a text editor! Onboard, configure integrations, manage automations and scripts all from the UI.

This milestone has been achieved thanks to the hard work by @emontnemery who contributed the ability to store the core config in storage: name, location, unit system, time zone. We still allow users to store their core configuration in configuration.yaml, which will take precedent when defined. This means that it is a non-breaking change. Core config is now set during onboarding and can be edited in the general page of the config panel.

Another cool new feature is the total revamp of how you manage which entities are exposed to Google Assistant via Home Assistant Cloud. From the cloud UI you can now click “Manage Entities” and you are brought to the Google Assistant entity manager. From here you can enable which entities are exposed and, if you deem appropriate, choose to disable the two factor authentication on your garage door (the asking for a pin).

Screenshot of the new user interface to manage which entities are exposed to Google Assistant. Screenshot of the new user interface to manage which entities are exposed to Google Assistant.

Read on →

0.93: Essent, AmbiClimate, VS Code debugging

It’s time for our 0.93 release and it is a whopping cool one. It’s a day later than usual as I am travelling. Frenck streams his work on Home Assistant / Hass.io each Tuesday and Friday, and last Tuesday I decided to surprise him and visit his house during the stream 😛. We ended up talking about everything Home Assistant with the viewers for over 3 hours. For the full conversation, check out Frenck’s blog. Clip of me walking into the stream:

Last week we also wrote about our updated plans for Home Assistant for this year. If you haven’t read it yet, worth the read!

If you are a Nest user, we have some sad news: Google announced that they are shutting down the Nest API at the end of August. This will cause Nest hardware to no longer work with Home Assistant (╯°□°)╯︵ ┻━┻. Update: they have changed their plans, will only impact new users.

As always, this release is accompanied by a new episode of the Home Assistant podcast. Rohan and Phil discuss the new release, the Nest API and a lot more. This episode is their 50th episode already, congratulations on this milestone!

Pascal has updated the way we are building Hass.io. It is now keeping the build up to date while we develop Home Assistant, which means that the Hass.io build was ready before the release blog post was up!

Home Assistant 1.0

As we mentioned in our updated plans post, we’re working hard on Home Assistant 1.0. Over the next releases we will work on polishing the UI, the backend architecture, and everything in between.

One of the new things that we introduced is a new step in our onboarding allowing users to set up integrations. We will automatically highlight discovered integrations. Once the user finishes the onboarding flow, entities will be automatically grouped by the areas that they are in. Neat!

We’ve also been working on polishing parts of our config UI. The automation editor will now show all automations, the last time they got triggered, and allow users to enable/disable them.

Screenshot of the updated automation editor. Screenshot of the updated automation editor.

Sonos

The Sonos integration has a number of changes in this release, some of them breaking existing configuration.

First, the Sonos custom services have been moved to the sonos domain. The new service names are as follows:

  • sonos.join (before: media_player.sonos_join)
  • sonos.unjoin (before: media_player.sonos_unjoin)
  • sonos.snapshot (before: media_player.sonos_snapshot)
  • sonos.restore (before: media_player.sonos_restore)
  • sonos.set_sleep_timer (before: media_player.sonos_set_sleep_timer)
  • sonos.clear_sleep_timer (before: media_player.sonos_clear_sleep_timer)
  • sonos.update_alarm (before: media_player.sonos_update_alarm)
  • sonos.set_option (before: media_player.sonos_set_option)

The last four of those services no longer target all entities by default since that is usually a mistake. The entity_id attribute is thus becoming mandatory for those services. If you really do want to target all you can use entity_id: all.

Next, YAML configuration of Sonos under the media_player: key is no longer accepted. While auto-configuration through the Integrations UI is now the preferred way, static configuration can still be specified under a sonos: key, for example:

sonos:
  media_player:
    hosts:
      - 192.0.2.25
      - 192.0.2.26

For those of you that like to power down your Sonos, Home Assistant should now handle that without logging errors. Also, speakers that are powered on will be added to Home Assistant without needing a restart.

New Integrations

New Platforms

Release 0.93.1 - May 17

Release 0.93.2 - May 22

If you need help…

…don’t hesitate to use our very active forums or join us for a little chat. The release notes have comments enabled but it’s preferred if you use the former communication channels. Thanks.

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.

Read on →

[Update: new users only] Nest to turn off their API

Update May 16: Nest just announced in a blog post that they changed their plan. It will still retire the Works with Nest program at the end of August, but it will no longer cut off existing users of the API. It will however still stop accepting new users at the end of August.

Currently each Home Assistant user is required to create their own developer account to configure their Nest integration. We will reach out to Nest to see if we can become a partner so that users joining Home Assistant after August can still use Nest.


Sigh. Another one. This time it’s not a small one either: Nest is disabling their APIs.

We already saw the writing on the wall in January, but now it’s official: Google announced that the Nest API will be turned off at the end of August, 2019. This means that in a little over three months, you will no longer be able to get your own data, that Google has collected in your home, and use it like you see fit.

Screenshot of the Nest developer website. Notice posted on the Nest developer website.

The reason for shutting down the API is that the Nest team is focusing on making “Works with Google Assistant” the most helpful and intelligent ecosystem for the home. However, and this is crucial: the Google Assistant ecosystem is a one way street. You can put data in, but you can never get data out. They acknowledge this in their FAQ:

Screenshot of the FAQ on the Nest developer website. FAQ Nest developer website.

Cherry on the Cake

Google also announced that they are transitioning the Nest ecosystem into the Google world, making you link all your Nest devices to your Google account. How that will work? We’re just going to leave this snippet from this article from the Financial Times here:

Our advice (as always): buy devices that communicate locally.


Update from the Field

TL;DR:

  • Nabu Casa has become a sponsor of Let’s Encrypt to support the infrastructure for a secure home.
  • Ubiquiti has decided to no longer sponsor Home Assistant. We left on good terms. Paulus has moved from Ubiquiti to be employed by Nabu Casa.
  • Current development goal is to get to Home Assistant 1.0.
  • We are working on building relationships with manufacturers: working on getting our integrations certified, make it easier for manufacturers to contribute/maintain integrations for their own products.

It’s been a while since we talked about our plans for world domination, so it’s time for a quick update from Home Assistant HQ.

Last year Ubiquiti Networks hired me, Paulus Schoutsen, the founder of Home Assistant, to work full time on improving Home Assistant. This has really helped the project make big leaps towards getting to 1.0. During this time, Home Assistant added an authentication system, the concept of devices and areas, a UI for configuring integrations, and the new Lovelace UI, just to name a few things.

Last September, on our fifth birthday, we launched Nabu Casa. Nabu Casa is a company founded to help make Home Assistant better. It does this by providing the Home Assistant Cloud service, and using the revenue to support the Home Assistant project. With Home Assistant Cloud, users can enable secure remote access to their Home Assistant installation with a single click, and integrate with Google Assistant and Amazon Alexa.

As part of the ongoing support for Home Assistant, Nabu Casa provides the infrastructure for Home Assistant to host the community and parts of the build system. At the beginning of this year we have hired Pascal Vizeli, the founder of Hass.io, to work full time on Home Assistant. And just this month, we have started to sponsor Let’s Encrypt – the service that provides free SSL security certificates for securely accessing Home Assistant remotely.

This month marked a year since Ubiquiti got involved, and also their last month, as they have decided to end their involvement as their plans have changed. We left on friendly terms and I want to thank Ubiquiti for this tremendous opportunity, it has given the Home Assistant project a significant boost. Moving forward, I will be paid by Nabu Casa, so that I can continue my work on Home Assistant.

The Focus

For the last year, the Home Assistant community has been working on building a user-friendly version of Home Assistant, also known as Home Assistant 1.0.

We’re aiming to release Home Assistant 1.0 this year. With Home Assistant 1.0, installation and basic functionality can be done via a user interface. Advanced options will require entering an advanced mode or set up via configuration.yaml. Check out last year’s state of the union for more details. We have started using this project board to keep track of our progress.

While we’re working hard on Home Assistant 1.0, we have also started working on the next goal for post 1.0 launch: a better story for manufacturers and integrations.

We have started certifying our integrations with partners and are working on making it easier for manufacturers to improve or maintain their own integrations. If you are a manufacturer and want to join early, reach out to us at [email protected]. We’re planning on launching more information about this soon.

Finally

These are exciting times and I am stoked for what is ahead of us. Home Assistant is growing, our community is growing, and our reach is growing. Just this week there was a testimony about how Home Assistant saves lives and we discovered that the Living Computers Museum in Seattle is using Home Assistant to teach people about the internet of things:


0.92: HEOS, Somfy MyLink, Genius Hub

It’s time for the 0.92 release. We took a week extra for this release, because we have been very busy in changing how we load everything under the hood. Our new standard for integrations will help us in the future to streamline development, release notes, documentation and updates. If you want to know what we’re up to, or if you maintain custom components, check out our developer blog: Introducing integrations.

Lovelace streams cameras!

This release continues to improve on our new camera streaming feature released with Home Assistant 0.90. This release adds support to Lovelace to show camera streams as part of your cards. Support has been aded to picture glance, picture entity and picture element cards. Just add camera_view: live to the configuration. Be careful showing live streams on mobile, camera streams can use a lot of data. We are exploring being able to add a mode to only show the streams on desktop.

HEOS integration

The HEOS integration adds support for HEOS capable products, such as speakers, amps, and receivers (Denon and Marantz) into Home Assistant. The features include controlling players, viewing playing media info, selecting the source from physical inputs and HEOS favorites, and more. We have established a relationship with the lead architect for the HEOS API and look forward to adding more features through this collaboration. Thanks to @easink for the initial contribution.

Finally, if you are still receiving a message that your configuration contains extra keys, this is the last release that this will be a warning. In the next release this will treated as invalid config for that integration.

New Integrations

New Platforms

Release 0.92.1 - April 26

Release 0.92.2 - May 2

If you need help…

…don’t hesitate to use our very active forums or join us for a little chat. The release notes have comments enabled but it’s preferred if you use the former communication channels. Thanks.

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.

Read on →

Introducing Hass.io Ingress

Today we are proud to introduce a new feature for Hass.io called Ingress. Ingress allows Hass.io add-ons to seamlessly integrate their user interface with Home Assistant. Home Assistant will take care of the authentication and the secure connection, so users can start using the add-on directly, without any configuration necessary by the users. It just works. Even with Nabu Casa’s Home Assistant Cloud Remote UI!

Ingress demo on Hass.io Demo with an add-on on Ingress.

Add-ons that already support Ingress

Some add-ons already have been upgraded to support the new Ingress feature. Here are a couple of add-ons that support Ingress and are available on the add-on store right now:

Core add-ons:

Community add-ons:

You can recognize add-ons that support the Ingress feature by the Ingress icon on the add-on information tab:

Add-on view with Ingress support Screenshot of an Add-on view with ingress support.

Please note, that in order to upgrade or install these Ingress enabled add-ons, you need to be running Home Assistant 0.91.3.

What’s next

Releasing the Ingress feature is just a start. It allows us to make even better integrations in the future. For the upcoming Home Assistant 0.92 release, we will be adding support to add links to your add-ons to the Home Assistant sidebar via a toggle on the add-on details page. The link will open the add-on Ingress interface, embedding the add-on in the Home Assistant UI. This will make it look and feel like a single system.

Other new things

While adding Ingress support, we have tweaked and polished some other things in the Hass.io user interface:

  • Network ports in the add-on view now have a description, so you know what they are being used for.
  • Reloading the add-on store will now show a spinner to indicate that reloading is being done.

For add-on developers

Ingress is added as an additional feature that add-on authors can choose to support starting today, granted that the application in the add-on supports it. The old approach of exposing add-ons on different ports will remain available. It will be up to add-on authors to choose what to support, including an option to support both.

If an add-on is going to support both, you should not have the add-on exposed on a port enabled by default. Instead, allow users to enable the port access by assigning a port number in the “Network” section of the add-on configuration panel.

Are you an add-on developer looking to support Ingress on your add-on? Check the developer documentation.

FAQ & Known Issues

Hass.io Ingress is a new and complex technology. Without a doubt, now that everybody starts using it, we will discover new issues. Here are some frequently asked questions and some currently known issues with the Ingress feature.

  • After upgrading the add-on, I’m unable to access it directly.
    Direct access to the add-on might now be disabled by default by the add-on developer. If the add-on supports running Ingress + direct access, you can re-enable direct access by setting a port number in the “Network” section of the add-on configuration.

  • After upgrading the add-on, my panel_iframe doesn’t work anymore.
    This is related to the question above. Once you enable direct access again, your iFrame panel will start working again. Until the automated panel integration lands in 0.92, you can also manually add a panel that points at Ingress.

  • I cannot upgrade my add-on: “This update is no longer compatible with your system.”
    Please update your Home Assistant installation to 0.91.3 or higher.

  • I cannot access the add-on via Ingress using the Tor Browser or Firefox.
    We found a last minute issue impacting Firefox based browsers (including the Tor Browser). There are some issues accessing add-ons that use WebSockets. We have identified the issue and expect it to be solved with the release of Home Assistant 0.91.4.