Home Assistant Community

Update from the Field

#1

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.

A huge THANK YOU! to the @NabuCasa team for their support of Let's Encrypt! We are happy to have you on board as sponsors of a more secure Web. pic.twitter.com/jUU7a2HU0K

— Let's Encrypt (@letsencrypt) April 30, 2019

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:

Cool! There’s a @home_assistant exhibit at the living computers museum pic.twitter.com/fAfYBu9CAQ

— Stephen Vanterpool (@sjvanterpool) May 2, 2019


This is a companion discussion topic for the original entry at https://www.home-assistant.io/blog/2019/05/03/update-from-the-field/
19 Likes
#2

Great update! Home Assistant has come such a long way and it looks like the future is extremely bright. Just one question, I saw this line in the post:

Where is the project board? Was there supposed to be a link?

#3

Very exciting. Congratulations.

#4

Yes, https://github.com/orgs/home-assistant/projects/1

Updating post now.

4 Likes
#5

Exciting times ahead. Well done and thanks to all the developers involved.

#6

I’m very impressed with the amount of progress Home Assistant has made in such a short time. It feels like all of the pieces are starting to fall in place.

Exciting times for Home Assistant users!

1 Like
#7

Nice update.

How’s the z-wave changes coming along? I didn’t see anything about that in the project board. It was supposed to be one of the main focuses when you launched Nabu Casa.

Thanks for your continued development of home-assistant.

3 Likes
#8

Thanks for the update! A great amount of work has been done with Home Assistant to make it a truly valuable tool and an important contribution to Open Source systems.

Wonderful bunch of people involved directly and indirectly through the community.

As a seasoned veteran from the late 1970s and 80s, if I could offer advice on an area of process that can be quite a show stopper. I would strongly recommend moving away from the "flexibille convenience and agility of ““breaking changes”” into more formal release migration framework where breaking changes…become, at least for the most part, smooth transitional changes to next releases.

For many households who use Home Assistant, it has become a critical infrastructure system and “That’s Success”. With success, in my view, comes a strong need for more robust migration from one version to the next to maintain the continuous operational integrity of HA. A family can’t rely on a car that breaks down every other week and the same applies to this wonderfully crafted Assistant for the occupants of our modern homes.

Thanks to you all for this great success today, and into the future!

5 Likes
#9

You’re not wrong.

Limiting breaking changes is something that we have been actively pursuing since the beginning of 2018 when we introduced config entries. Any integration that has a config entry can be set up via a UI and will no longer have any breaking config changes. Home Assistant manages how the config files are stored, and no changes to the structure are allowed to be introduced without a migration. We have been slowly migrating integrations to use this new approach, and are currently at 45. Given that we have over a 1000 integrations, well, there are still a lot of integrations that are susceptible to breaking changes. It’s improving, but it takes time.

Another improvement that we’re working on, is a push to consolidate all files related to a single integration to a single folder. This is what our recent “great migration” was all about. By better defining how custom and built-in integrations are defined, we have paved a path towards being able to independently update single integrations at once.

I also think that we can improve on our release notes structure and communication of breaking changes. There is now a big block of breaking changes. This is partly because we are defensive, even if something impacts a small % of users of a single integration, we will mark it as a breaking change. A thing that we’re exploring is how we can create customized release notes, that only include the integrations that impact you. As most breaking changes are in non-mainstream integrations, I believe that most users will end up with single to no breaking changes.

17 Likes
#10

I have a lovelace card that has customized breaking changes particular to my setup. This would be a welcomed addition. Congrats on all you have achieved so far and can’t wait to ride the next waves as you move towards 1.0.

2 Likes
#11

Regarding the release notes structure, it might also be interesting to group all the changes of the different releases for each integration. So, if you end up with customized release notes, each user will get the history of the changes for the integrations he’s installed. It will help him to track what’s depreciated and what he must care for an update to the new release (sometimes from a not so recent one).

Thanks.

3 Likes
#12

I’ll be the contrarian here and say that I welcome the recent breaking changes. Why? Because most represent profound structural modifications to make Home Assistant more flexible and robust for the long-term.

Experience is a great teacher. You may believe your design is excellent. Then it comes into contact with real-world conditions and you realize you must make changes, possibly very impactful ones. I’d rather suffer through a quick bout of ‘breaking change’ pain than live with an interminable, aggravating ‘sorry, it can never do that’ debility.

To reach the stage where Home Assistant can become a ‘software appliance’, I foresee more breaking changes in its future.

I currently use Home Assistant in combination with another, much older, product called Premise. Its development started in 1998 and ended in 2006. I’ve been using it since 2008, so for over a decade now. It almost never needs to be restarted for any reason. Basically, I can change anything on the fly and it:
Just. Keeps. Working.

To match this level of ‘software appliance’ status, Home Assistant will require no restarts/reloads for:

  • installing new or upgraded integrations/components.
  • adding, modifying, or deleting entities, automations, and scripts.

I believe Home Assistant will eventually achieve this level of convenience and robustness, but probably not without a few more breaking changes … and I welcome their arrival.

I wish Paulus and all developers the very best of luck. I appreciate everyone’s deep commitment to making Home Assistant the de facto standard for home automation. Our commitment as users is to test and debug it to help pave the way to 1.0 and beyond.

7 Likes
#13

The foundation for all this is in place. Config entries allow adding and removing integrations without restarts. Automations, scripts and group integrations all have a reload service to load the latest info. However, you’re right that we will most likely find flaws in our current design and need to do some more changes as we polish up the experience.

4 Likes
#14

I feel sad for Home Assistant not being sponsored by Ubiquiti anymore; however, I still love and use Home Assistant. I have migrated Home Assistant away from Ubuntu Server and into Proxmox as a Linux container. Home Assistant is running in a Python virtual environment.

#15

I was taken by surprise that the recent Ingress change for Hassio was not in the Home Assistant Release Notes.
Perhaps there should be separate Hassio Release Notes too for users to ignore :wink:

I do not like that the patch release notes are hidden at the bottom. I think they could be posted at the top as Errata or linked to a separate patch version for all patch releases on that version…

3 Likes
#16

I am so happy with the progress I have seen using HA. I am actually the person that built that IOT exhibit at the Living Computers Museum and I can honestly say that it has been the most stable thing we have there. I have been using HA in my home for the past 3 years and kept adding devices this entire time, so it was a no brainier when I was asked to help redesign the LCM exhibit for IOT.

Keep up the good work :smiley:

17 Likes
#17

For 1.0 I hope home assistant will also handle devices which are offline from time to time. For example I power off my TV if nobody is home. Right now you have to have all devices online all the time otherwise you cannot control them if they were offline during the startup phase.

1 Like
#18

For 1.0 we need the Automation UI to handle logic (and/or/not) for multiple conditions, etc.
Now we need to resort to editing YAML.

#19

Lord don’t take my YAML.

10 Likes
#20

No but if they want full functionality in the UI this is needed.