Last Wednesday, November 14, we had a meetup in Amsterdam hosted by ING. Over 80 Home Assistant enthusiasts gathered to hear me, Paulus Schoutsen, the founder of Home Assistant, speak. I talked about how Home Assistant got started, what makes Home Assistant so successful (community!) and what we’re working towards.
Special thanks to:
Jeroen Joosse for the initiative and organizing
Erik-Jan Riemers for co-organizing and making it this big
It’s time for another great release. As this includes the tail-end of HacktoberFest, it’s packed again with stuff. Hope you like stuff.
I want to do a shout out to all the people who help with the documentation. Since the beginning of HacktoberFest, we’ve seen 953 PRs get merged, 953! Especially thanks to @klaasnicolaas who has converted 240 pages to the new configuration format. DAAAAANG.
We also got some cool new features. The first one being that you can now use TensorFlow, a machine learning framework, to detect objects on your cameras thanks to the hard work by @hunterjm. Check out the docs for more info.
Next up is that @rohankapoorcom has been working hard on converting more integrations to the Webhook format. This allows for easy setting up via the UI and generates difficult to guess urls. This release includes Mailgun, Twilio and DialogFlow.
The frontend team has been BUSY. We’re prepping Lovelace for general release and slowly all pieces are coming together. This release introduces an experimental, alpha, ultra-raw, (enough warnings already?) UI editor for Lovelace cards. It requires that your card has an ID but then, it just works. Including a live preview of the config you’re editing.
Screenshot of editing a Lovelace card.
Also frontend related, in version 0.81 we removed all config splitting functions for ui-lovelace.yaml, we are happy to report that we managed to add back support for !secret and !include. The rest of the config splitting commands you are used to in configuration.yaml will not be available for Lovelace. Mind that you can not edit content in !include from the UI, and !secret cannot be used in the UI or preview at the moment.
And we have one more thing… we have soft-forked Open Z-Wave and have added support for the barrier command class! This means that now you will be able to control your garage doors from Z-Wave without compiling Open Z-Wave yourself. We’ll continue to monitor what other features we can add to our fork while remaining close to the OZW project.
This release is a major milestone – 100 contributors have contributed over the last two weeks. A great bit thank you to everybody who contributed, both those returning and those who’ve been involved for their first time.
To go with the configuration entry support, MQTT also now also integrates with the device registry. Not to be left out, LIFX, SimpliSafe, and Z-Wave have all gained both device registry support, and configuration entry support.
Lovelace has another three new cards, the alarm panel, the button card, and the thermostat card:
Screenshot of the thermostat card.
The glance card, and the button card can also be themed now, and the way the columns in the glance card has changed. There’s also long press support, custom UI support, and more (yes, Lovelace is feeling the love this release).
Other things to be aware of:
We have a new service homeassistant.update_entity to request the update of an entity, rather than waiting for the next scheduled update. This means you can set a really long scan_interval in the platform_options and then update on demand, ideal for those services where you have low API limit.
Template sensors will no longer auto update if we can’t find relevant entities in the template. You’ll want to review your template sensors and consider adding relevant entity_id entries or use the new homeassistant.update_entity service.
Water heaters get their own platform separate from climate, because you’re not a fish living inside the hot water tank
October 12, 2018. 12 days into Hacktoberfest and it’s been busier than ever on the repositories. On the main repo, 43 open, 104 closed. How the documentation team is still alive, I don’t know: 26 open, 234 closed. If you’ve opened a contribution that is pending a response, that’s probably because we’re busy elsewhere or are taking some well deserved rest.
Alright, new release, we got some cool stuff! Let’s start with our Lovelace UI. We have integrated into Lovelace UI some of the custom cards that our amazing community have built, making them easily accessible to all users. The cards are Gauge and Sensor:
Next up is a new way to get data into Home Assistant: webhooks. With the introduction of auth and with the introduction of long-lived access tokens, we realized that it’s still annoying to have to give full HA access to an app just to get a piece of information in Home Assistant. So with webhooks we can generate unique URLs that are inprobable to guess, and data delivered to the webhook will only go to the designated automation or component. This feature is available for component developers to integrate, or for users via the new automation webhook trigger.
Configuring IFTTT via th integrations panel.
On the devices side, we got basic support for the new IKEA TRÅDFRI switches, Honeywell evohome controllers (EU-based) and if you want to control your pool, you can now do that with the new AquaLogic integration.
In October there will the Hacktoberfest. To celebrate and support Open Source, DigitalOcean, Twilio and GitHub are again organizing this event. Home Assistant will be part of it like in the last two years.
We would like to focus on those repositories. Browse through the bugs and fix one. This will get you started with contributing to an Open Source project in an easy way:
If you submit five (5) Pull Requests during October, you will have earned yourself a limited edition Hacktoberfest T-shirt and a place on our credits list if you submit your Pull Requests for Home Assistant! Don’t worry you will be listed there no matter how many Pull Requests you’ve made.
We want to focus on new contributors and people who want to get started on working on an Open Source project.
It’s time for another great release and we’re introducing a brand new feature: device registry. Thanks to @Kane610 for driving this effort. This allows integrations to tell Home Assistant not only about entities, but also which devices the entities represent. It also allows integrations to tell Home Assistant how a device is connected to Home Assistant. For example, a Hue light bulb is connected to Home Assistant via the Hue hub.
Screenshot showing several configured integrations in the configuration panel.
Adding devices to the mix allows us to do a lot of cool things. It allows us to group entities and show how they relate to one another. It will also allow us to inform the user if data leaves the home network and shows the firmware version that the device is running on.
Screenshot showing the devices of the iOS integration.
Devices can only be added by integrations that are configured via the integrations panel in the config panel. So we’ve also been expanding the integrations that support that. This release brings support to iOS, MQTT and Tradfri.
Screenshot showing how to configure MQTT via UI
And this is not all! There is so much more. In an effort to make the quality of an integration more clear, we’ve added an Integration Quality Scale. With this scale we’ll be able to clearly communicate to the user how good an integration is and it gives developers a list on how to improve it. Expect these levels to pop up in the integration list soon.
And did you think we forgot about auth? We did not. @awarecan has added a new multi-factor auth module that will send you a one-time authentication code to finish your login, with a notification service of your choice. PushBullet, Hangouts, iOS app, some obscure custom notification service using a shell script? It’s possible.
Oh, and yes, there is also some cool new integrations. Support has been added for Logi Circle camera’s, GeoJSON events and even a bank. More below 👇
Today marks the 5th anniversary of Home Assistant. I want to spend this post not only reflecting on the last 5 years, but also look at what is ahead of us, where we want to go, what we want Home Assistant to be.
Home Assistant wasn’t born out of ideology. I built it because I got some smart lights and wanted to script them. I made that script open source and it went from there. As Home Assistant has grown, so has the world around us, and so have I.
A lot of IoT products have been introduced since Home Assistant started. Sadly, the trend in these products is to send all data to the cloud and manage your house from there. I’ve come to realize that it’s not in the big corporations interest to make a product that focuses on privacy and local control. Our data is too useful for them.
I don’t like this trend. I don’t like seeing more and more of our data being hoarded by a few giant companies, centralizing it in a few systems and using it to influence how we’ll be treated online. It’s our lives, our data, and we should be in control. Not some algorithm optimized for engagement.
And so I want to introduce a goal for Home Assistant. A goal that will shape how the platform will evolve in the upcoming years.
It’s time for a new release and oh boy, what a time to be alive! Today marks our 5th (!!!) anniversary. That’s 5 years we’ve been bringing privacy focused and locally controlled home automation to your home. Happy birthday to us.
This release includes two new features for the auth system. The first one is long-lived access tokens. These are tokens that don’t expire and can be used in your scripts instead of API password. Instructions on how to create and use them can be found on your profile.
Also on your profile page is a new list of existing refresh tokens. These are all the tokens that are currently active for your account. If you ran into issues that the remember login dialog didn’t show, you might have a lot. Don’t worry, you can delete them all.
It’s time for a great new release and it includes a big change: the new authentication system has been activated! We’ve worked very hard on this for the last couple of months to make the transition as smooth as possible. Updating to this release is a non-breaking change (unless you had no API password configured). As can be seen in the video above, when you start Home Assistant after the update, you will be presented with our new onboarding flow. This will ask you to create a new account after which you will be able to log in to Home Assistant.
Once logged in, you will have access to the following new features:
Change your password
Configure multifactor authentication (TOTP)
Manage other users (limited to account created during onboarding)
Although it’s possible to configure authentication, we strongly recommend to stick with the default authentication configuration. If you had auth providers configured in a previous Home Assistant release, we recommend to remove the configuration and start using the default.
It will take some time before all of the Home Assistant ecosystem has been migrated over to the new auth system. Home Assistant will print a warning whenever an application connects to Home Assistant with the legacy authentication. This will help users notify the application developers to transition to use the new OAuth2 authentication. For non-interactive scripts or other applications that are unable to update, we are planning to introduce a migration path for components to adopt url specific auth tokens and also introduce long lived access tokens to replace API passwords. A list of impacted components can be found here.
Our iOS app will soon be updated to work with the new auth. It’s already in testing. The old app will continue to work with the legacy API password support. It will however require a second login when using the webview.
If you are using a proxy server (NGINX etc) in front of Home Assistant to provide authentication, check this blogpost by @DubhAd how to make it work.
I want to say a biiiig thank you to all the people that have been involved in the development and testing of the new authentication system. It’s been a big project and it’s been great to see how we, as a community, have rallied together to tackle it. Especially a big shout out to @awarecan who has done an amazing job on this.
And that’s not it ! @hobbypunk90 has contributed a new integration for Google Hangouts. You can send messages but can also configure intents to handle incoming messages from specific people. Very cool!
You didn’t think we would forget about Lovelace, did you? This release include a new notification drawer thanks to @jeradM. It will collect all persistent notifications and configurator entities and shows it in a new sidebar toggleable from the toolbar.
This release has a migration, initial startup can take ~20 minutes (depends on size DB)
This release includes a database migration to allow us to store context in the database. This will make it possible in the future to introduce attribution. For example, we’ll be able to say which user opened the garage door or which automation triggered the party mode at 3am.
The auth system is entering release candidate status 🎉. If nothing major is found, it will be enabled by default starting the next release (0.77) with backwards compatability modus turned on. If you want to get ahead of the pack, you can already easily enable it now:
# add this part
- type: homeassistant
# uncomment this to enable backwards compatible API password support
# - type: legacy_api_password
For iOS users, your frontend should be a lot faster. We had an issue that forced us to serve the frontend in compatability mode, which is slower. We haven’t been able to solve the issue, but found a workaround. Race on 🏎.
Warning. If you are using the internal MQTT broker, we’ve had to make a change how the password is set. In the past it would automatically start the broker with the user homeassistant and a password equal to the API password. This is no longer the case and you need to configure it yourself now: