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.

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.

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!

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:

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

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.

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

It’s time for release 0.91 and this release is all about streaming cameras. Home Assistant 0.90 allowed users to stream cameras in the frontend and play camera streams on Chromecasts. This release adds support to:

Record camera streams to disk with the new recording service for the camera integration

Support to ask Google Assistant to show your camera on its display or on a Chromecast

Preload streams so that bringing up a stream on a device is super fast. This can be configured on a per camera basis via the camera more info dialog.

We’re still in the process of updating more cameras to support the stream component. If you want to try it today, the easiest approach is to configure a generic camera with a stream_source or buy a camera that supports the standard ONVIF protocol.

A BIG shout to @awarecan, who has migrated our CI infrastructure to CircleCI and Codecov. CircleCI’s advanced caching and code splitting controls has speed up tests significantly. Codecov tracks our code coverage and generates detailed reports for each contribution to see how well it is tested.

Notable breaking change

We finished the great migration. All built-in platforms are now in their own folder. This means that if you had a custom component or platform that had the same name as a built-in one, you have to rename it. If you still have platforms in your custom_components/ directory in the old file format, sensor/my_platform.py, rename it to my_platform/sensor.py. It still works but it will not be supported in a future release.

Trusted networks now support trusted users

Trusted networks has been updated by @awarecan to allow specifying specific uses that specific IP addresses are allowed to log into. If a user is logging in with trusted networks and there is only a single user, you can now configure it to skip the login form and automatically login. See the documentation for more info.

ESPHome Cameras

This release adds camera support to the ESPHome integration. If you haven’t heard about ESPHome yet, it allows you to create your own sensors and smart devices and configure them using YAML. With Home Assistant 0.91, it is now possible to integrate cameras. This means that you can have a WiFi enabled camera that integrates automatically into Home Assistant for as little as $9 😲.

Zigbee ZHA pairing experience

Every release our Zigbee integration is getting better thanks to the hard work by @dmulcahey, @damarco and @Adminiuga. This release introduces a brand new pairing experience. While pairing mode is enabled, any device that is getting paired will instantly show up, allowing users to configure the name and the area.

VSCode hass.io add-on

If you run hass.io on an Intel NUC and haven’t seen it yet, check out the VS Code add-on by Frenck.

1 year, 11 months and 17 days ago or 716 days ago, I announced Home Assistant Companion for iOS on this blog.
Ever since then, at least once a week, sometimes far more often, I am asked a question that I haven’t been able to truly answer until today.
It’s a question that has gotten on my nerves almost every time I’ve seen it. I could understand why people were wanting an official Android app to mirror the functionality of the iOS app.
But I never thought of myself as the person to best deliver on that idea.

Recently, these requests have reached a ear shattering volume and I had enough. It had been almost 2 years and no official app had materialized. It was time for me to act.
So I bought a Pixel 3 and re-immersed myself in Android, not having used it for more than a few minutes since my Nexus 5. It’s changed a lot, for the better in my mind, since that time.
I knew I could do this. I did it once before. It will require learning a new language, Kotlin, but I learned Swift to build the iOS app and that worked out well.

So here I am, announcing to you, that the official Home Assistant Companion for Android will soon be under development.

I’m going to try to duplicate the timeline of the iOS app as much as possible, although with less time between releases to start. The 1.0 will feature three core features:

A location engine to rival the iOS app. This means location updates while out and about as well as region monitoring.

Push notifications that aim to be just as powerful as iOS. Actions and sounds will be added to start and eventually I hope to add embedded content like camera streams and maps. No more need for HTML5 notifications.

A full screen view for the beautiful web UI that Paulus and co have built. That’s right, no native UI, at least for now.

Long term, I hope to provide a similar feature set on Android as on iOS. That means Android Wear support, sensors and widgets.

If you’re an iOS user reading this, don’t fret. Here’s the current timeline I’m working on:

April 1, 2019: Announce the Android app

No later than April 31st, 2019: Release iOS 2.0 to the App Store

Early to mid summer, 2019: Release first beta of the Android app

Mid to late summer, 2019: Release 1.0 of the Android app to the Play Store

Late summer to mid fall, 2019: Adopt new features in iOS 13 into the iOS app, version 2.5.

I’ve already laid the groundwork in Home Assistant itself by implementing the utterly fantastic mobile_app component which provides a very secure and featureful integration system for mobile apps.

Now, i’d like to take a moment to address the elephant in the room: What about the other Android apps that have cropped up to fill the void left without having an official app for so long? The answer is, nothing.
Authors of third party apps can continue to build their app and provide innovative features that blend phone and Home Assistant. They will be able to leverage the foundation that was put in place for them: the mobile app component.
These apps are part of our ecosystem and we don’t intend to push them out, but embrace them. The better apps they can offer, the more choice our users have and the better it is for the Home Assistant ecosystem.

You might be wondering why we are choosing to do this now, other than the previously mentioned constant questions. Recently, we’ve seen a worrying uptick in the number of apps making poor integration choices or outright horrifying security choices.
Furthermore, Home Assistant will always remain free and your privacy is a key part of our mission. Because of that key ideal, we don’t like seeing ads in Home Assistant mobile apps as they have been previously shown to not care about your privacy and in some cases be downright dangerous.
We wanted to provide a full featured solution that was open source and cared about your privacy.

So that’s it. The app that 74.15 % of you have been waiting for. Coming soon to a Play Store near you. You’ll be hearing and seeing progress on it very soon via this blog, Twitter, Facebook, Discord, and more.

Finally, I’m going to make a public plug for my Patreon which will hopefully soon enable me to spend 100% of my time on Home Assistant for the rest of 2019.
That means full time on iOS, Android and more fun. Thanks in advance for your ongoing support.

It’s time for Home Assistant 0.90 and it’s just wow. This release is so packed with cool stuff that it’s difficult to even know where to start, so let’s just jump in.

The first big feature is that Home Assistant Cloud now supports remote control. This allows you to check in on your home while away from home. Get a notification that motion was detected? Now you can easily check what happened and take action while away. It works end-to-end encrypted. Only thing needed to get started is to enable it. That’s it.

Camera streams for everyone

With this release we’re getting serious about cameras. @hunterjm has worked months on this and it’s finally ready for the first reveal. With the stream component, we will be able to forward streams from cameras in your house and repackage it into formats that your display devices understand. Previously, streaming cameras was limited to 2 frames per second and only in the frontend. For the first version we focused on the HLS format, which is supported by modern browsers and Chromecast. Each camera integration will need to be individually updated, for the first version we have only added support for the generic camera integration.

So what is possible now? You can start streaming your frontdoor feed on your TV when the doorbell rings or you can install a camera in the nursery and turn your Google Home Hub into a babymonitor.

To get started, add stream: to your configuration.yaml, configure the generic camera and start using the new camera.play_stream service.

User Groups

This has been a long time in the making, and has been worked on for a long time: you can now put users in groups to prevent them from being able to configure things from the UI. Users in the new “users” group will not see links to the configuration panel or to the developer tools. This is currently a UI feature, not a security feature. We’re working on making this a security feature by limiting access at API level too.

Smarter SmartThings

If you use Home Assistant Cloud, setting up SmartThings will now automatically leverage Cloudhooks. This means that you will not need to expose your instance to the internet to start using SmartThings. Yay for easy set up and thanks @andrewsayre! SmartThings support has also been added for 3 axis sensors and air conditioners.

Area love

This release also adds some more love to areas. Thanks to @Swamp-Ig, areas will now be included as room hints when you sync Home Assistant with Google Assistant. This should make setting up a breeze.

Areas can now also be used as targets in services. Just specify area_id instead of entity_id in your scripts or automations.

We’ve also made areas a part of the set up flow for integrations. When you add an integration, we will check which devices are added and ask you to configure them right away. That way you won’t forget.

VSCode extension

In case you missed it, earlier this week Kees Schollaart released the first version of his Home Assistant extension for the free text editor VSCode. It will connect to your instance and will provide you with entity ID autocompletion while editing your config!

It’s time for release 0.89. It’s another great new release with some cool new features, bug fixes and improvements. The first cool new feature is that yet another car is integrated into Home Assistant: the Nissan Leaf. Both deConz and SmartThings integrations keep expanding to cover more devices.

This release introduces a new mobile app component. @robbiet480, who also works on the iOS app, has taken the best parts of the Home Assistant iOS app component and turned it into a standardized API that any mobile app can build upon. This will allow any mobile apps to integrate with Home Assistant with a great user experience. If you are a mobile app developer, please check the updated app integration docs. We will be fine tuning the API in upcoming releases. Feedback is welcome.

Noteworthy Breaking Changes

Custom Components file structure change: A significant change in how the “under the hood” of Home Assistant works has led to forcing platforms to be resolved based off the component path, if it exists.

Today, if you want, you can override the Hue light platform, but not the other parts of the Hue integration. If a future update evolves the Hue component, removing or changing internal methods that the custom platform relied upon, the custom platform will start failing (like this report).

To avoid this, we’re going to no longer allow custom components to be partial overlays (just a platform). Instead, if you want to override a built-in platform, you will need to override the whole component.

This is enforced by first resolving the platform as a component, and if it exists, limiting the lookup path to the component path.

Example: if I look up the hue component, and it is provided by a custom component, then all platform lookups will also be looked up in the custom component dir. The same works the other way around, if a user would only try to override hue/light.py but not hue/__init__.py, the custom platform will be ignored.

Paulus has written some detailed information about this change on the developers’ blog, if you’d like more information. The Great Migration by Paulus

Existing SmartThings configuration entries will be removed, including the SmartApp/Automation from the SmartThings app. Home Assistant will prompt you to configure the integration again or it can be invoked from the integrations page. The configuration process is the same as before. To prepare, have your personal access token and a mobile device with the SmartThings Classic App handy. This will not affect the naming of devices or entities and is a one-time inconvenience. The implementation switches over to the SmartApp access token to synchronize subscriptions during setup of the config entry, which cannot be done using the personal access token.

Release 0.88 has landed. It’s been a busy two weeks with a ton of cool stuff and improvements.

This release introduces a new person component thanks to @MartinHjelmare. With this component, Home Assistant can be set up to track the people in your home. Each person can be linked to a user and multiple device tracker entities. This release does basic device tracker state merging, which will be evolved in the future. Device trackers merging their own states will be phased out in favor of persons. You can configure persons via the config panel. To get started, add the person component to your configuration.yaml file: person:. If you want to automatically stay up to date with the latest default Home Assistant components, you can now also add default_config: to your config.

This release also extends the event dev tool to include an event debugger. It allows you to listen to core events and get them printend to the screen. This makes it easy to find the event data that your remote is sending out.

We also have a new command line auth provider. This will allow you to use a shell script to validate users logging in to the system. This gives a lot of flexibility. For example, you can now authenticate against LDAP. More info in the documentation.

@andrewsayre has been working hard on extending the SmartThings support. This release brings sensors and climate devices into the mix. Awesome!

Noteworthy breaking changes

We have tightened config validation, so expect a couple of new warnings. Platform configuration will no longer allow to contain keys that are not supported. This should help with finding typos in your current and future YAML configs. This will currently fallback to a warning and will become a full error in the future.

Note for Lovelace custom card developers: if you relied on the availability of <paper-button> in your code, you will have to update it to <mwc-button> to get a similar component.

Note for custom component developers: We are moving to a new file structure. More information on our dev blog.

Today we’re releasing Home Assistant 0.87, our third release of the year. Besides a bunch of bugs squashing and performance improvements, we got some cool new features too.

Let’s start with the big one: we now support SmartThings. Via a custom app that can be installed inside SmartThings, you can now push the state of each device in SmartThings, as soon as it changes, to Home Assistant. No more fiddling with MQTT bridges or other solutions. Big shoutout to @andrewsayre for making this possible. Have a look at the SmartThings docs to get started.

New in this release is a new area feature thanks to @Kane610. Areas will allow users to organize their devices by their physical area, like kitchen or living room. This will unlock a whole new range of possible new features (of which none are implemented yet). With this release, users will just be able to manage areas in the configuration panel and place devices in areas via the integration page. In the future, we’re planning to add area based user permissions and a Lovelace area card. If you can’t wait to start leveraging areas today, @thomasloven has created a custom Lovelace card that can leverage areas.

This release also includes a UI to manage the entity registry. The entity registry contains all entities with unique IDs that Home Assistant has ever seen. It will allow users to quickly rename entities, change entity IDs or have Home Assistant forget entities that are no longer active.

We didn’t forget about the frontend in this release. In the last release we introduced Lovelace, so for this release we focused on bug squashing, performance improvements and usability. The YAML editor is now rendered using a full editor including line numbers thanks to @bramkragten. There is also a new system health component that will help users diagnose problems from the “info” developer tool. See changelog for the frontend.

In this release we have also upgraded the Material Design Icons to 3.3.92, which renames some icons. Make sure to check their changelog.

If you prefer a podcast over release notes, check out the Hass Podcast in which Phil and Rohan discuss each new Home Assistant release and keep a tap on what’s happening in the home automation space.