back

by wiradikusuma·4y ago·view on hn ↗
I'm planning to buy a house and making it "smart". Does anyone know any resource that can guide me?

Something like garage door that opens with a tap on my phone, music that follows me room to room, door camera that can be viewed from TV ("alt-tab" while watching Netflix), lights controlled by voice, smart mirrors.

Can be a blog, a forum, or a book, but it should be holistic—I don't want it to end up like a Goldberg machine.

6 comments
God, don't use Homeassistant if you actually value your time. I've ranted and raved here on HN about it before. It's a hobby project where the devs only care about using the latest and greatest methods and tools for the sake of padding their resumes. They will often re-write things for no reason, release things into the UI as placeholders, and don't care how many end user installs break. You will spend massive amounts of time keeping up. Case in point - they removed Python 3.7 support in late 2020. 3.7 is not EoL until mid 2023, and was the default version in Buster, the Raspbian release at the time. We all had "fun" compiling Python from source.

Just get a Hubitat and be done with it.

They're also hostile to distributions packaging them: https://news.ycombinator.com/item?id=27505277
Holy crap! Home Assistant is such an interesting project, and I was seriously considering it for the home I'm relocating in probably this summer, but that thread almost makes me want to avoid it straight.
Thank you, I completely missed that. I am not surprised at that attitude given how badly run of a project HA is.
I agree about all HA critics BUT what can you suggest? OpenHub is even worse, behind HA I can't find anything with a ready-made WebUI and ModBUS/MQTT pre-coocked support...

I use it since a bit more than an Year, pip-installed and kept updated on my homeserver, for p.v. (Victron + Fronius + Giavazzi + ... all ModBUS/tcp or MQTT), it's config is obscene YAML, but with org-mode (org-babel + noweb) is manageable, logging is obscene but work OOB enough, automation is obscene but work enough, if logic is not much complex it's doable, the WebUI is nice...

I know I can write something myself, Mosquitto is FLOSS, ModBUS FLOSS libs are there for various languages, but that's not so nice for a simple domestic use case like just seeing how a small p.v. plant works, control the VMC/heat pump and hot water...

Just to play with sensors and crappy wireless switches is even LESS motivating...

IME IoT is crap in general, mostly because too many have no use-case for it so it's sold just to play, not to seriously use and profit from it, also because it's mostly designed by electronic engineers not IT techies, and we all know how ee are bad software side, many other reasons but well... HA so far for me was/is the leas worse pre-made/almost ready to deploy stuff I found. Surely I do not care at all at their suggested deploy with docker, HA cloud etc, just plain pip, but nothing have stopped me so far...

Sounds like Home Assistant is aggressive about keeping up to date. That’s a good thing!
Breaking user installs is not aggressively keeping up to date. Have a blank map in the UI that didn’t work for years is not aggressively keeping up to date. Rearchitecting major components three times in five years is not aggressively keeping up to date. Creating, recommending, then removing an install method all within about 3 years is not aggressively keeping up to date. Having four different ways to configure things is not aggressively keeping up to date.

It’s having no discipline nor foresight and instead throwing shit against the wall to see what sticks.

I bought a "conbee" (basically a USB Zigbee dongle) and after setting up their DeConz software and detecting all my devices (IKEA, Philips, Lidl) I never bothered with Home assistant. Or should I say, I started to, but gave up because it was a pain in the neck and anything it offered beyond what DeConz did, wasn't worth the hassle. I always meant to go back and have another go, but over a year later I simply don't have the motivation.
Were you doing a supervisor install or something? I didn't even notice the python upgrade. I do occasionally get some breakage when I upgrade versions, but it hasn't been very often that I would even consider using something else.
Venv on core. Yes it’s the “expert” install. Yes Docker would be easier. However you can’t guarantee Docker will be supported in the future. They created then dropped Hassbian like a hot potato. In fact there are already signs Docker is falling out of grace in favor of HassOS.
That is specifically called out by the ha team as an unsupported and not recommended type of install. So I think it's a bit of bad form to be complaining that your specific unsupported install isn't well supported (and on a free software, even worse).
It's everywhere in their documentation.

https://www.home-assistant.io/installation/ https://www.home-assistant.io/installation/raspberrypi#insta...

It's not "unsupported" if they tell you how to do it. In other forums, devs have also promised that core will "always" be an option.

It was also the only installation method just a few years ago. Then they experimented with Hassbian/HassOS/Docker, etc. Shit, I remember they had a VDI option less than two years ago. That was FIVE simultaneous installation methods they supported. They shouldn't have let it get that bad to begin with, and pruning just goes to my original point that they keep changing things because they never have any discipline in the project.

I just turn off automatic updates and look at change logs to see if it's worth it to upgrade. I also primarily use HA as dashboard and sensor fusion, it only runs a couple automations directly.

Is Hubitat actually better?

Hubitat’s UI looks like it came from the early 2000s. There’s a small learning curve to get used to its philosophy, but it’s pretty consistent. Once you get it, it’s stupidly easy.

I mean for your case, as a dashboard, HA might be better because the Hubitat UI is pretty ugly.

> Just get a Hubitat and be done with it.

Am I right in concluding this appears to be another closed-source brick which is likely to implode in a few years, as they always do?

I have used Hubitat to control lighting, shades, and locks in my home since 2018. There is no reliance on outside services or an internet connection. If the company ceases to exist my device will continue to work at least as good as it currently works today. However, there are many third party drivers written so it is conceivable development could even continue.

You CAN interface with other outside services if that's your jam, but at that point relying on Hubitat continuing to exist is no different than relying on those other services to exist.

No because there’s no reliance on a cloud service. There’s cloud features, but there’s alternatives and workarounds that they don’t (can’t, really) block and even suggest if you don’t want to pay.
For those already in Apple’s walled garden, I’d also recommend:

https://old.reddit.com/r/HomeKit/

https://old.reddit.com/r/homebridge/

I've been using Homebridge and I'm currently in the process of switching over to Home Assistant. Homebridge has been very useful for what it does, but it's also very limited. I haven't fully committed to it yet but it's already looking like Home Assistant can replace 100% of what I'm using Homebridge for while offering a lot more options.

At this point I would recommend starting with Home Assistant instead of Homebridge even if you just care about HomeKit support.

Mind if I ask what made you decide to switch? I spun up a Homebridge instance as a stop-gap to get a few smart devices into HomeKit with the assumption that I would need to graduate to HomeAssistant down the road, but I haven't yet run into any automations I couldn't accomplish with a Homebridge plugin.

That said, I agree with you. If someone is starting from scratch, HomeAssistant is likely a better long-term solution, albeit a bit more daunting to set up initially.

My initial motivation is twofold:

1. I'm trying to add some better automation than what HomeKit directly supports. I've been experimenting with Node-RED, but having Node-RED talk to Homebridge is terrible. I don't know how much of this problem is on Node-RED's side versus on Homebridge's, but Node-RED keeps losing a bunch of my Homebridge devices randomly and getting them back later, meaning my automations are flaky. Also Node-RED itself just bothers me, it makes a bunch of odd choices, especially around how to deal with persisting values across events, the inability to have multiple projects running at the same time, the inability to hide nodes in a subflow without simultaneously turning that subflow into basically a reusable template that shows up in the sidebar, etc.

2. My wife is really interested in trying out Home Assistant for its dashboard capabilities. She wants to stick an iPad on the wall as a permanent home automation interface, but every app for HomeKit that we've looked at has various problems and none of them are sufficiently customizable. She kept seeing people talk about using Home Assistant for this specifically as it has very customizable mobile-friendly dashboards.

After digging in to it, I would agree that Home Assistant is a bit more daunting to set up, although they're pushing more and more into "configure everything through the UI" and so there's less of a need to go editing YAML¹. Home Assistant also has autodiscovery of a lot of local devices which is neat. Not everything is perfect though. I am trying to figure out right now how to expose my Lutron Caseta pico remotes to HomeKit via Home Assistant² and I may end up just skipping that and just exposing separate MQTT device triggers if I need to ask HomeKit to do something.

As it is, at this point I would say that just doing an initial setup for "I want to expose stuff to HomeKit" is actually pretty easy if you don't care about the rest of Home Assistant functionality. Just run Home Assistant, add the HomeKit integration, add integrations for the devices you care about, and then configure the HomeKit integration to make sure it's exposing what you want (it should expose most of the right stuff by default though). Then you can ignore dashboards and automations and everything else. Officially-supported Home Assistant installs also have access to something called HACS which is basically a frontend for installing custom 3rd-party components³, so most custom stuff is indexed there already.

¹I'm actually running this via NixOS right now and trying to put everything into YAML that I can to preserve as much of declarative configuration as I can, but I may give up on that given how many integrations simply don't even support configuring in YAML anymore. If you are setting it up from scratch it's probably best to go through the officially-supported install methods, such as running the Home Assistant OS in a VM or in Docker.

²I've got it done through Homebridge already but I want to retire that. Home Assistant has a built-in Lutron Caseta integration, and a built-in HomeKit integration, but if I ask HomeKit to expose my 4-button pico remote then HomeKit sees an 8-button stateless programmable switch where the first 4 buttons are triggered on "press" and the next 4 are triggered on "release". There appears to be a 3rd-party custom "Lutron Pro" integration with a fork available on the community forums that adds double-press and long-press support to its exposed remotes, but I haven't decided to actually go with that yet as I don't really want multiple Lutron Caseta integrations running (and the built-in one can expose motion sensors as it uses the undocumented LEAP protocol whereas the custom one can't). At this point I'm thinking of piping my pico remote events through MQTT because the HomeKit integration requires a device trigger for stateless programmable switches and I don't see any way to make a custom device trigger without either MQTT or writing an entire custom component from scratch.

³I don't have this myself as it's only available on officially-supported installs, of which NixOS is not one, but people referencing it in the forums makes it sound like it's really convenient.

Appreciate the detailed response.

Given your use case the switch definitely makes sense. I wasn’t even aware node-red could interface with HomeBridge.

It sounds like HomeAssistant has made some significant quality of life improvements since I gave it a test drive. I’ll give it a second look.

And you’re lucky your wife shares your interest in home automation! “I saw this cool wall mounted HomeAssistant dashboard…” isn’t something I can imagine my wife saying, haha.

> I wasn’t even aware node-red could interface with HomeBridge.

It's actually kind of horrifying. There's a Node-RED module that uses the hap-node-client library, which is designed to talk to the hap-nodejs library that powers Homebridge. Which means Node-RED ends up talking the HomeKit Accessory Protocol to Homebridge as though it were HomeKit itself.

Is this the plot to a dystopian novel?
Troy Hunt did a short series on using Home Assistant

https://www.troyhunt.com/iot-unravelled-part-1-its-a-mess-bu...

> The learning curve is steep, it has a bunch of rough edges (it's still not reached a v1 as of the time of writing), you end up living in YAML and by any reasonable measure, it's only usable by geeks who are happy living in a world unfamiliar to most mere mortals.

FWIW this isn't true anymore. Most stuff is configured through the UI now (there's even a bunch of integrations that don't even support YAML configuration, just UI configuration). There's still a learning curve to be sure, and there's still functionality that does require editing YAML to handle, but my impression with setting it up now is that it's actually pretty easy to get off and running with just the UI.

Tons of great general suggestions here. But I want to chime in for the Tailwind garage door opener. It's very obviously built by engineers and for engineers. Install is harder than other options, but rock solid, zero maintenance unlike others and it can do automatic garage door opening and closing totally self contained by detecting your phone + car Bluetooth. I was absolutely blown away by it compared to the MyQ which is usually touted as the best and is so locked down because they signed a deal with Amazon as to be totally useless.
I personally know a high-end residential architect (who has worked on several billionaire FAANG homes) if you would like their contact (There are several high-end architecture companies that focus specifically on home tech (yeah, but to a level that one isn't typically familiar with)
Home Assistant as your main controller. Then just make sure it get devices that work over local standards like Zigbee or Zwave and not proprietary protocols.
Just wait for the brain chips.