Hacker News new | ask | show | jobs
by xmdx 1110 days ago
I feel like the initial learning of getting Home Assistant up and running is worth it over creating your own software. Especially in the long run. That and the other recommended way of setup that wasn't mentioned is to install the OS without messing with any containers. Pretty straight forward. Any problem you have there's probably a solution out there because the community is so large and that is worth it's weight in gold imo.

It used to be quite fragile but these days it's gotten a lot better. Still a lot of learning to do, someone with no experience in yaml or understanding under lying tech will struggle at first. They are pushing for UI setup for most things now so it's only a matter of time before it's far more accessible.

4 comments

How long is the long run though? I've spent a few weeks setting up HA in 2017 only to watch it degrade by a series of busywork redesigns with each consequent update. Rules, app interaction, UI all were broken at some point: often in multiple ways. Devices that worked previously fell offline, and some of the drivers not popular enough to get a keep up rewrite simply disappeared.
Why HA doesn't have a LTS branch is a mystery to me (other than the obvious maintenance overhead - but the community is huge and I'm sure they could find a maintainer).

When you consider the lifetime of homes, the hardware, etc it makes more sense for HA to have an LTS branch than almost any other piece of open source software.

I, for one, would really appreciate getting bug fixes, security updates, etc over a span of years for some installations. HA development pace is very impressive but the breaking changes can get old really fast, especially when you consider how much you can come to depend on the (ample) functionality.

When it comes to doing updates I typically allocate at least a few hours (just in case) to work through any breaking changes. I usually update ~monthly and like any rolling release strategy it helps minimize the number of breaking changes you experience at any one time but it's still a somewhat precarious situation.

Master needs to be the LTS branch, at least for all things mentioned. Once I have an automation it needs to work for as long as I live in the house. I have better things to do than to maintain the system. I probably won't upgrade the server at all for many years until I buy some new device that isn't supported by the old version, and I expect my house to still work after that upgrade, without having to spend days trying to remember how that old automation was programmed.
This here is exactly why the "smart home" is basically failing, because it needs to be set and forget and continue to work with ZERO maintenance beyond replacing dead components.

The fourth or fifth time you have to explain to your spouse that the lights in the living room can't be turned on because the app is updating or the server is down or whatever, you're going to really be feeling the desire to remove all the smart home stuff and go back to kerosene lanterns.

Which is one of the reason that I've slowly begun to phase Hue bulbs out - they work very well for what they do, but they can fail in annoying ways when the Internet is out, requiring you to get additional switches that can talk their protocol even when Siri isn't working, and at that point, why not just use a "smart switch" and dumb bulbs? At least that fails to just be a normal switch.

Agreed, though I have to say Phillips Hue lights have been well worth the money in this regard. I have some Lutron switches that snap over my standard flip-switches which prevents accidentally cutting power to the bulbs, and the switches talk directly to the lights (or perhaps through the hub, it's been a while since I've set it up) rather than through a server.

With HomeKit this all also works as long as my local network is up, with no dependency on Apple servers except for off-network access.

My ISP has had several outages, but I haven't run into the issue of "the lights don't work" at all yet. Only thing approaching this is I've automated them to turn on/off when I arrive at and leave home, so when I have people over and step out to run a quick errand all the lights turn off while they're at my place.

Hue works the best of all that I’ve tried for sure. But when we use Siri to control the living room lights, Internet access is needed. The Hue app still works if needed (most of the time) and the little no-battery physical switches keep working with Hue.

But it just doesn’t provide “value” compared to the cost, so I’m not going to rip it out but I won’t maintain it further or expand it.

> why not just use a "smart switch" and dumb bulbs

I think this is just a better idea all round, although possibly not for bulb manufacturers' share prices.

The two need to work together. The switch on the wall needs to be smart as anyone in my house needs to be able to use it to control the bulbs, without having to open an app. Okay, if you can ensure a thief cannot control my lights while I'm my house I'm good with that, but I have kids, guests, and sometimes I don't have a device on me: it must work for all of them the first time and every time. A bulb cannot do that alone, it must have a smart switch (I've used the flip the switch off/on to control the bulb - it is not an acceptable work around).

The bulb however need the ability to charge color temperature and brightness depending on what I want, and a smart bulb seems best (though dumb dimming bulbs can to work well enough)

I had this issue with all internet enabled devices, particularly my Leviton switches.

I moved to Lutron’s Caseta line specifically because they work without internet if something does happen to my network.

There's commercial options that work like this (and indeed those installations can more or less be updated and upgraded with new stuff decades down the line, we've been there, it's been done, and continues to be done) but that's the rub: it's commercial, it costs money, and the hardware involved is much more expensive than cheap IoT gadgets out of shenzen. Wanting the lowestest cost option to also have the longestest life and highestest reliability is of course something we would all want, but generally not how this reality is structured.
I have been running Home Assistant for over 4 years (end of 2018) and and the beginning was rough. However since about a year and a half, a lot has done to improve stability. I can now safely update every time without breaking anything. The only integrations that break from time to time are custom integrations, which aren't supported anyway. But those have become rarer too. Automations and scripts have been stable for years now. And the release notes are also really, really good.

I would recommend to take another look at HA if you get the chance. Especially within a VM (or bare metal) it's a really good experience.

> Especially within a VM (or bare metal) it's a really good experience.

I've been using the Docker container for a couple years without incident. Like you, the only integrations that occasionally broke have been custom components.

While I agree that automations and scripts have been very stable, I've never really been a fan of the new automations and scripts UI, though, so I just stick to editing the YAML definitions manually. Great to have that option.

> I've been using the Docker container for a couple years without incident.

Before I ran HA Supervised [1], but that was a pretty poor experience. It broke every so often because of some sudden software incompatibility because Supervisor was silently updated in the background. And it really broke everything instead of having a grace period and/or sending me a notification.

> I've never really been a fan of the new automations and scripts UI, though, so I just stick to editing the YAML definitions manually.

Same here. Although things seem to improve in the next version with copy-paste support in the Automation Editor [2]. I would love being able to edit my YAML automations though.

Did you also known about a little known feature that you can setup different automation sources? Just like this:

  automation: !include automations.yaml
  automation foo: !include_dir_merge_list automations/
  automation bar: !include_dir_merge_list automations2/
Although not _best practice_ per se, you can have both UI and YAML automations at the same time. This is especially useful when you want to use Blueprints [3].

1. https://www.home-assistant.io/installation/linux#install-hom...

2. https://rc.home-assistant.io/blog/2023/05/31/release-20236/#...

3. https://www.home-assistant.io/docs/automation/using_blueprin...

My philosophy with HA is not to touch it too much.

I update only when there is some feature I absolutely need to have. And even when there is a new feature, give it a month or two to mature before using. I run a specific docker tag with auto-updates disabled. The instance is not internet accessible, so less care needed for security patches. When there is an exciting new feature, I apply that excitement to the busywork necessary for HA updates, and power through.

Furthermore, I use the built-in UI only for administration purposes. Run a custom react app that talks to HA via websocket/rest APIs. Those are pretty stable in my experience. Same with YAML configured automations.

Sounds like a lot of work, but I feel that it's offset by someone else writing the integrations with 3rd party services. When I want to control my new robot vacuum cleaner from my custom dashboard, all I have to provide is the UI. Someone else has figured out how to talk with the vac APIs, how to authenticate requests, and what to do to avoid getting rate-limited by the 3rd party service. I have to deal with only the HA quirks, not every 3rd party service quirk.

> My philosophy with HA is not to touch it too much.

I get where you are coming from, but for me updating hasn't given me any issues since about a year or so. Especially if you stick with the .2 or higher releases. Those are really stable.

Yeah I have the same approach - I don't update the second a new release comes out, and check the comments to see what the earlybirds have encountered just in case it's a bad release.

Personally I haven't had any issues for a while now, prior to that it was the Python upgrade and all the Z-Wave changes that caught me out. That's all stable now though so updates don't stress me out much.

In fairness, 2017 was threeish years into its development [0]. It's come a long way in the following 6. I've gone months forgetting to update and when I do have had few problems.

That said, in the last year or two there have been sitting updates that broke things — several were vendors updating their integrations.

[0] https://en.m.wikipedia.org/wiki/Home_Assistant

I only started using Home Assistant about a year ago, but it has been rock solid to me. I even made my own (simple) custom integration and publish it on HACS and it's been rock solid (no API changes that break my custom integration so far). Could it be that Home Assistant is becoming more stable these days with less breaking changes on every updates?
Mines been running about 6 years. At first, it was rough at times. It's been a lot smoother since they released hassos, (and I don't even run it, I just use the containers). I don't think I've had any issue of note in about three years. It also has a painless backup and restore system now.
I'm still a bit afraid of doing updates, I always tend to wait for the first minor/patch release before going for it. Things have changed in a big way since 2017 mind you, far more stable, and fewer breaking changes that affect the entire instance, usually it's specific to an integration. I've been running my system for 2 years now without issues. Any problems I do face are related to not understanding the configuration of something I'm setting up, or a cloud based integration introducing rate limes to their api.

There pretty good with announcing any big changes in their blog, here's the latest one: https://www.home-assistant.io/blog/2023/05/03/release-20235

As many others have said, it's far more stable now. I've been running it 5-6 years now, and experienced more than one broken update in that time. But in the last couple years or so, the only issue I've run into was an SD card that died. I was able to pull a recent backup off it, which was dead simple to restore. And that also taught me to run a nightly backup that goes to a network file share.
Things have improved since then. Ever since zigbee2mqtt and the sonoff zigbee radios became available I have had basically no issues with my network. I think I've changed the coin battery in my tradfri remote twice since I've last had to reset any device.
My HA platform project started in 2013. Every few months or so I check back to see if HA has progressed far enough that I can ditch one of the last custom apps in my life.

It's getting there. But it's not quite there yet. Last I checked the logging still saves every change, it's not easy to set up so that it will only save average/min/max over time to save SD wear.

Creating new integrations is easy but still not quite a five minute job like it is with my extension API(https://github.com/EternityForest/iot_devices).

I don't think their integration API has quite as much of a "Narrow waist" as I would like. It seems like extensions are somewhat tightly coupled(I looked at trying to make an adapter to use HA extensions in standalone scripts but it seemed very hard).

That doesn't exactly seem ideal for avoiding brittleness.

And updates still seem to break stuff on HA occasionally, plus it's a large platform that I just haven't seen many people talk about aside from enthusiasts, who tend to downplay problems with FOSS apps.

But yet, having custom software in one's life is generally IMHO far more of a liability than an asset.

So what I actually do is just use YoLink and Google assistant for everything I possibly can, and use my custom software for video recording and unusual stuff YoLink doesn't do, and I'm pretty happy with that so far.

I'd love to have a one size fits all "If it need automating, use this" platform, and HA seems like it's got the potential.... but just using the YoLink proprietary platform is the lazy, trouble free, super cheap way.

You also need to allocate some monthly time for maintenance - small or bigger updates, new devices, security issues... it's not a one-time project but an open-ended job.
Which is why I don't have anything automated in my house. I have kids to raise, I have trouble finding time for any hobbies at all. I don't have time to take on the automate my house hobby.
I do recommend getting at least one Hue bulb for the kids; you can entertain them for a solid half hour by setting the bulb to automatically change colors and turning the rest of the lights off.
I have a Hue sphere bought like 10 years ago(?) and it was fun for a while - a year even - to prepare for sleep in slowly changing lights. Nowadays it just gathers dust in a corner while still looking cool, ain't nobody got time for that anymore.
HASS is updated monthly by contributors so you don’t need to maintain it by yourself. It’s the best effortless way to manipulate IoT devices.
Why? HA can operate entirely offline without access to the internet. You aren't suppose to expose it to the internet, you can't but they advise against it.

In that configuration you only need to update the software when it no longer meets your needs. If it's working then there's no need to update it.

Ffff my Zigbee2Mqtt is not working for the last month very well at all. I need to dig into this again
Do you still need Zigbee2Mqtt now that Home Assistant already have built-in Zigbee integration [1]?

[1] https://www.home-assistant.io/integrations/zha

Until a few days ago zigbee green power was not supported in zha/zigpy. It now seems to be merged. I'm not sure if zigpy supports the same amount of devices as zigbee2mqtt

https://github.com/zigpy/zigpy/issues/341

I found ZHA to be suffering from severe doc rot around OTA updates and a few other edge features, and that devices that just worked with zigbee2mqtt were unpairable or unstable with ZHA. I gave up after 3 months of almost daily effort and went back to zigbee2mqtt, where I had immediate stability and almost zero effort.
for me that happened because of interference. I switched from a Conbee II to a Sonoff Dongle-P and that already helped tremendously. That new dongle is way more stable for me. Also I changed my wifi and Zigbee channels and reduced the transmit power for less interference. Since than my Zigbee netwerk is really stable.
Updating the firmware in my sonoff dongle-p made a massive difference in network stability. It's a bit of a mission to get the update installed but was well worth it.
> That and the other recommended way of setup that wasn't mentioned is to install the OS without messing with any containers

No way.