Best hardware choice to go with HA

Hello, guys,

I am planning to dive into smart home stuff really soon. I spent a lot of time researching it, and while some things are clear now, there are still some things I can’t find enough information about, or have not enough experience with it. And I’d like to hear some more opinions before investing money into everything, or at least find more information to research about it! Thanks for your attention!

I want to start relatively small and build from there. At first I just want to automate a few lights, in my room and the hall, making a few ‘night rules’, to make them turn on in dark-red\dark-blue when I go into the hall at night. Adjusting light color and brightness in my room based off the lighting outside (no just by time, preferably using a light sensort to track real light outside the room). I know that it’s an easy task for any hub, and I might not even need HASS for it, but I also want to tie all that down to a simple voice assistant\AI I’m currently developing for fun. But in time, if this goes well, I’d like to automate all lights in the flat, buy a few prota micro bots to push buttons, etc etc, whatever feels fun :smiley: I am also fairly experienced with Python, so that’s another reason I like HASS.

So first thing is a choice of hardware.
First confusing thing is - which hardware setup works best with hass? Which protocol to rely more on?
From what I gather, hass can either connect to other devices through some of hubs, or directly, using WiFi, Zwave or ZigBee protocols. But which approach is best?

1. What hardware do I need to allow hass to connect to zwave and zigbee devices? For zwave I guess I need a zwave stick, right? But for zigbee? I found this thing (sorry for the russian site):  along with a usb converter . Is this the right way to go? Or is there something like zstick for zigbee? Or should I just use some zigbee hub, like Philips Hue hub, and interact with lighting through it?
2. Which hub works\integrates better\easier with hass? Is there a hab that can work standalone (in case I have to put down HASS for a while, but still havve some automation), AND integrates well with HASS?
3. Which protocol should I rely more on more, WiFi, Zwave or ZigBee?
4. So far I guess that the best way to go is using ZigBee for lighting with a hub, and using WiFi for sensors? 
5. Do I understand correctly, that as a HUB server hass can mix all of those, if it can connect to them?

Next on the list is OS.If this goes too far out the scope of one question I may make a separate one, I know stackoverflow prefers smaller questions, but I hope it’s not the issue here? Anyway, I personally prefer Windows as a working environment (feeling more comfortable, and have other servers to run from a win machine) but I noticed that, for example, there are only instructions on building zwave libs for linux. However I saw that there are also windows sources available. So the question is - Did anyone have any success deploying hass on windows and connecting it to zwave, zigbee? Or should I rely more on linux as dev and deploy environment? What would be cons and pros of win or linux? I can only really speak for win so far, only knowing that linux would be a more stable environment to run a server from, but thats not an issue yet.

I plan to use one of Zotac Zboxes or something similar as a server, because I want to run a few other servers from it, not just hass. So raspberry seems a bit weak for that.

Thank you very much again for your attention, sorry for making this post this big, I hope things will get clearer in time, and I will be able to dive into HASS fun, and help with development! I might be interested in improving HASS’s voice assistant part, once I have time to get my hands on it.

I’ll try and help answer best I can some of your questions.

First, you may easily find yourself with multiple ‘Hubs’ and boxes as you begin to dive into the Home Automation world. Phillips Hue uses Zigbee to control their lights. That is pretty much the only thing most people have that is Zigbee controlled. Everything after that is likely a combination of Zwave for light switches, locks, and sensors, as well Wifi and bluetooth devices.

Now, you mentioned wanting to host multiple servers on one box, and I’m not sure if a Zotac box will have enough horsepower to do that. Are you planning to run multiple servers at once? If so, a custom home build is likely a better solution. I myself have a Home Server that is running 3 or 4 VM’s at any given time depending on what I’m doing, testing, etc.

And if planning on wanting to host multiple servers on a one box, you also need to think about the ‘bare metal’ or ‘hypervisor’ for the main OS on the box. ESXi is good popular choice, and I think one of the very few hypervisors that supports USB passthru, and that it is an important item when setting up a Zwave Stick or other add on devices in a VM environment. I am using ESXi myself with HAAS, OH, a few Windows and other Linux VM’s all running headless. And then you can just either SSH or remote desktop into them.

For a Software to run HASS? Yes, a Linux type OS is best, and i would recommend either Debian or Ubuntu Server Editions. Both are lightweight and very stable.

If you want an ‘easier’ solution just for home automation, I would say pick up either Wink or SmartThings Hub. Both are good stand alone devices with most of the antennas/radios you will need, Wink has the extra BlueTooth radio, but something I havent’ used at all yet.

Or also a popular choice for just a single server HASS setup would be a raspberrypi.

Now, one other thing I have learned is that ‘Home Automation’ is often a misguided word for many when getting started. I have a home full of smart lights and switches, door lock, etc. And Hubs like Wink and SmartThings do nice job of controlling them. But IMO, that is what a store bought Hub does best, giving you control from your phone.

But for real automation, that is where HASS comes into play and you craft your own custom rules to meet your needs, ied to turn on lights at XX time, or with presence detection and other scenarios. Ie, popular one is to dim the lights when a movie starts. But only dim them when its dark out, etc.

Unless you have devices that are proprietary or absolutely rely on a 3rd party HUB in some way, I would not recommend integrating any cloud based hub into your home automation system, especially if you are investing more and more money into their proprietary devices. Zigbee, for the most part, is only available through 3rd party hubs, which are all cloud based.

The problem with the cloud based systems, is that you are reliant on them always being online. If your internet goes out in a storm, your house is suddenly no longer able to be controlled, and you are dead in the water, not counting the annoying delay you get from cloud based devices, as nearly every command has to leave your house, go through their servers and then back down to your house to turn something on, which is rather silly.

SmartThings is one of the biggest culprits in this scenario, as they have one of the most unstable cloud systems, so connectivity is intermittent and nearly every week they are offline for one reason or another.

If you are relying on 3rd party cloud services for your alarm system, you are probably as protected from break-ins as you would be if you used dummy cameras and a fake ADT sign in your front yard, because your internet goes down and your house is no longer protected.

I have been through Wink and SmartThings, and I have given them both up. Until things improve in the market, your best bet is to stick with Wifi, Bluetooth and Z-Wave. All of which can continue to work inside your house even if your internet goes down, as long as your router and internal intranet is still running, you can still control your house regardless if you are receiving actual internet from outside your house.

Other than Zigbee, a Raspberry Pi 3 will give you Wifi, Bluetooth and with a USB Z-Wave dongle, your tiny Raspberry Pi is a home automation super computer.

I switched from SmarthThings and Wink to using a Raspberry Pi with an Aeon Labs Aeotec Z-Wave Z-Stick, Gen5, and now my entire system is autonomous and completely internal. I have all my windows and doors with Z-wave sensors, all my outside doors have Z-Wave locks, most of the rooms have a Z-Wave motion sensor, my Garage Overhead Door is on Z-wave, along with a Z-Wave siren/strobe that goes off should any of the sensors be opened when the alarm is armed. All of my lights are on either Z-Wave plugs or Z-Wave sockets and everything is controlled through an Aeon Labs Z-Wave Minimote in each room, with the added bonus of being able to control things through an Amazon Echo in each room as well as Siri on our iPhones and iPads.

All of this is further backed by a UPS system that my Raspberry Pi and Modem/Router are hooked up to, that way in the event of a minor power outage, all of my window and door sensors, which are battery powered, as well as my siren/strobe that has battery backup, all continue to work to ensure my house is still protected until the power is back online. Obviously nothing will protect against a long term, major power outage, but in that event, it doesn’t matter what system you have, it will all be offline.

When internet is online, my entire house is still accessible from my phone when I am away from home, and I have access to everything, just like the Hubs give you, so I can still lock and unlock my doors, turn lights on/off, etc.

Ultimately, your decisions will be based on what is best for you and your needs, but from personal experience, the HUBs and cloud services are designed to get the average Joe online without having to do any background coding or setup. For those using Home Assistant, they have already decided to do some coding and setup, so why rely on cloud services and HUBs that are designed to shield you from all of that in the first place.

For most people, a HUB and cloud service is their only option, but for those serious about home automation and actual safety of their house, cloud services are a ticking time bomb. If you are going through the effort of setting up Home Assistant, I would suggest you go all the way and not stop short by cutting corners and taking the “easy way out” by relying on cloud services for anything other than information retrieval, like weather or social media content.


Thanks for you answer!

Speaking about multiple servers, I did not mean anything heavy. Zotac ZBox’es have up to 16gb ram, and the ones im speaking about are powered by i5 or i7 intel CPUs. Smaller ones run on intel atoms, which are quite powerful too.

Servers I’m speaking about are:
Voice Assistant with WebGUI (using pythong and sockets). It will probably monitor voice input using python code and connected mic, but also allow to use web-ui to input voice commands. The python part works fine already, still working out the web ui thing.
File server
Music server

And maybe something else like that. I think should be enough, no?

Exactly, I want to automate lights based on motion detection and time and maybe using a light sensor to detect whether its bright or not. So that hallway lights only turn on if it’s day and it’s darker than some threshold. At night they should turn on only when I walk out from my room, not my wife, she hates any light :smiley: but i always bump into things at night if its 100% dark), and be of some dark color and brighness. Thinking about using hue led strips or some other strips… Got any advice whether hue is good enough for this? Can i control hue directly using hass and zigbee, or should i do it using hass -> hue hub -> lights ?

Yes, thats one of the reasons I thought about using HASS. I’m really ok even if I have to write my own python scripts to control stuff, I mostly look at HASS like some out-of-the-box automation UI, and an API to controll other devices. So yes, I in fact hope that i can exclude any hubs, or - find a hub that works nice with hass, in case i need something working while hass is down…

So, about zwave… im thinking about linux, but i usuall work with windows, so it would be nice if i could at least develop and test zwave stuff with a windows pc, is that possible with hass nowadays?

i know about raspberry, but still id prefer to use an x86\64 pc. Since i want to run at least a file server from it as well. well, at least connect a jbod\raid to it, and make it serve like a lan library of movies and music and photos, etc.

So, i wonder if it’s possible to control zwave with hass through windows? If not, well… is it really easy to set linux up? just a few terminal commands to dl all the stuff and build it, as hass manual says?

I don’t want to buy zwave\zigbee plugs\sockets yet, i thought about starting with regular cheap ones, and using wifi or zwave or zigbee bulbs first, it seems more fail-proof to me. So which ones should i use/ which ones you’d recommend?

Yes, i do thinkg about ups or something more powerfuul thann that to back it all up,too…

So yeah, i’d like to stick with in-house solution as well, know that clouds are not good enough for that. Its ok if i lose my voice assistant’s google\yandex\microsoft voice processing, but if i lose the ability to control lights at all, thats weird.

Anyway! Can i control philips hue lights with hass wtihout a hub? OR which lights should i rely on then? I need a few multi-color led lights, and about 10 light-strips for what i have planned :smiley:

So im ok with no corners, but hey… i just wanna make sure that i can control all that stuff.

You need the philips hub to use their lights and is included when you buy their starter kit. And philips Hue integrates pretty much automatically into Hass.

There are some Zwave RGBW lights out there as well. Aeon and few others make them. But I found the form factor and philips pretty easy to work with.

I would not recommend having a multipurpose computer that also runs HASS. Your home automation system should not be at the mercy of other services. Your home automation system should be not only autonomous from the cloud, but autonomous from any other services which could interfere with its operations.

If you want to run a file server, or anything non-automation related, I would recommend you do it on a separate system, or do file sharing directly through your router, assuming you have a router that has at least one USB port. They work well as a file and media server.

Whatever device you use for your Home Automation system should be designated ONLY for Home Automation. Trust me, you don’t want that headache down the road!

That is the reason Raspberry Pi’s are so popular for this type of application. They are small, and although less powerful than a full blown x86 machine, they are more than beefy enough to run a Home Automation system at breakneck speeds. Small, dedicated and out of the way. That is what you should be shooting for with a system for this purpose.

The fact that we are in an era where you can have a Jetson’s style house running off something the size of a deck of cards is absolutely mind blowing :smiley:


Okay, Ill keep that in mind, thanks. I think I will still start with one system…

But if things get slow, I can always move hass to Raspberry at a later time, I guess. anyway, I think that at first I will be developing and testing my home automation from my current PC, which is why I would prefer windows, I don’t want to install a secondary os or use a virtual box. Not at an early stage at least, if it’s possible.

Well, anyway, my main concern was not even about the server horse-power, but about all the zigbee\zwave\wifi connection stuff. Thank you guys, I now see that things are probably easier than I thought. I got an answer that yes, hass can interact with hue bulbs through a hub, which is awesome. And it can connect directly to zwave and wifi…

So I guess at first I would be much safer to go with some Hue bulbs\strips and hub for lighting, and wifi sensors\cameras. Then try my luck with a zwave stick and some zwave device.

But I still did not get an answer about compiling zwave libs on windows, it would at least make my development process much easier on first trial and error stage. Or maybe there is some nice zwave hub, which works with hass, so that I won’t even need to compile anything or use any usb sticks?

Thanks again

Yeah, just not a lot of openzwave support for windows. I mean you can compile it for windows, but its like jumping through hoops, and there are a lot of pitfalls. I am sure there are a lot of resources on the internet with steps on how others compiled it and got it to work. Just a lot of effort involved if you don’t have a lot of experience compiling from source.

Hopefully someone in the HASS community has already gone through this and will see this thread and help you out in that regard.

Thanks for asking this. You and I are heading the same place. From what I understand, it seems that Bluetooth, Ethernet, WiFi, and Z-Wave seem to be the way to go. If I’m not mistaken I think Phillips and Nest are bringing some of the functionality back local to the devices instead of on the cloud for the very reason that people have been discussing so hopefully that will be less of an issue going forward.
I’m using a Raspberry PI and I have to say the only negative I have found with it is that it’s so light that the HDMI, USB and power cables keep pulling around on my desk every time I move the mouse to far. But that’s nothing a little Velcro and a wireless mouse won’t fix.
Good luck, keep us posted.

@turboc Once you have HA setup, you should consider moving the device to a convenient / central position within your home and access and configure it remotely rather than directly with mouse and keyboard.

Already there, but I needed the keyboard and mouse till I got VNCserver working. Needed a new client for my mac.

Another question though, will the Raspberry pi recognize and support a USB connected monitor instead of the HDMI monitor. I run several monitors off of USB hubs. It makes it a lot easier to just plug in one USB cable and have the keybard, mouse and monitor all come to life if I need them.

Not sure if Displaylink works with the Pi or how well if it does. There must be support by now. I looked a few years ago but there wasn’t anything for Linux. USB for a Pi would make sense for a quick look. Worth checking out.
I am pretty much done with a monitor as soon as I verify that they start. I very very seldom ever install have a GUI interface on anything other than my laptop or a desktop. I much prefer SSH for any direct configuration I need.

If I use philips hub with HA, is the system still cloud based?

Now I have my HA on a NUC running windows 10, which runs plex player and plex server, use of netflix.

I think the best would be to
`- Use a Raspberry P for HA

  • Use the NUC for Plex server + Player and Netflix


Can you guide me on which Raspberry Pi buy (how much Ram, which components, and so on)?

Pick up a pi3. Same price and the most performance. Mine has been great.

Same here, a Pi is what you need for HA, easy to run easy to administer and quite sufficient

I’m running HA and Kodi on the same Pi without any issue

i dont know much about zwave, because it is yet to expensive for me.

but i can relate to your slowly developing youre home.

I run Hass on my normal PC for months now.
I have a raspberry standing by and intend to move hass there but somehow i havent found the courage to really move.
allthough in the meantime Appdaemon and HAdashboard are already running on the raspberry.

i found little trouble working in a windows enviroment. some interesting parts i want to integrate in the future (like webcam intergration) are not available, but that are minor details.
the main reason that i want to move it away from my PC, is that i want hass away from my working enviroment.
i considered an old laptop, but the powerusage is what made me decide to use raspberry.

everything i have built is not expensive, because i want to do a lot and i cant afford to spend thousends of euro’s on my automation.
i started out with 1 arduino, now i have got about 20 up and running.
this way it makes fun, i can go as slow or fast as i want and it doesnt cost me much.

in the future i probably also will use zwave or wifi product which are ready to go, but for now i like what i have.

for your choices?
i would say: just setup hass on your PC, find the parts you like, check if it is supported and if so buy them, if not so find out if others use it. then buy every time based on that. part for part.
and setup an raspberry just to be prepared to move at a time that feels good.

edit: oops reacted to a little older reaction. but then again i see there are more people coming from the same direction, so others might find my response usefull. :wink:

I’m running on a Pi as well. But if I had to do it again, and I might just for the exercise, I would probably do it on an old laptop. The reason, it has a built in UPS. When we had a power outage the other night, it was a real pain to get HA back up and talking to everything. With the laptop, HA wouldn’t have gone down and when everything came back up, HA should find them on the next discovery pass. I also run my homes DNS server on the Pi and having the DNS on a system with an UPS would have some benefits as well. Other than that and those reasons are not really related as much to HA as to my particular situation. The Pi is a great platform, especially if you are going to use any home brewed sensors.

just buy a ups for your Pi. I bought one for 35 euro