Integrating Into Existing Home Server

Hi All,

Sorry for following generic questions and perhaps their lack of detail but I’m new to Home Assistant and want to make sure I’m setting it up properly for my use case.

I have a home sever setup with multiple VMs. One (CentOS) hosts a web server and controls my existing home automation projects. I’d like to use Home Assistant to make communicating with other IOT devices easier, but I’m getting a little confused about the different installation methods as well as what it is actually capable of.

I was originally thinking about installing it on the web server VM but it sounds like Hass.io takes control of the entire operating system? If this is the case, I assume I shouldn’t install this on the same VM that’s hosting the existing web server. Either way though, how can I communicate between the web server and Home Assistant? I know Home Assistant is capable of automation by itself but I really want the web server to be able to get the state of devices attached to Home Assistant.

Thanks in advance for an input.

Yes, this has been an issue for a couple of years.

Let’s start with this:

HassIO is not the OS. HassIO is some docker containers that work together to form a “Home Assistant ecosystem”

HassIO can be run on a generic Linux install, or via HassOS which is the image that can run as a direct VM, or by being flashed on a Pi.

Home Assistant is the application. No matter how you install it, Home Assistant is the same. Components/integrations are the same across all “platforms”. Add-ons only work with HassIO and are merely docker containers running apps alongside Home Assistant to provide more functionality. They are not required to run Home Assistant, and you can replicate their functionality yourself with some work, should you choose NOT to run HassIO.

So back to your question about it taking over the OS. No, it doesn’t take over the OS if you use the GENERIC LINUX INSTALL SCRIPT.

What do you mean? What do you want to communicate?

So you want the web server to run the automations? What is your web server running that could handle all that? You can use the REST API or the WEBSOCKET API to connect to your HA instance.

1 Like

Thank you so much for the reply!

I’d like to have Home Assistant run most of the automatons but there are some things I’ve already written like a whole home water pressure leak sensor that requires scanning the network and access to a database then crunching a bunch of numbers to determine if anything should be done. So while Home Assistant is automating some things I’d like to be able to access the values from the web server to improve the few things it still needs to do itself.

You’ve pretty much answered all my questions. But if you don’t mind… What would consider “best practice” for a situation like this? Creating another VM and having them communicate through the REST API?

I don’t know what could be considered best practice here.

Personally, I don’t use HassIO. I just run Home Assistant in Docker. I have no need or desire for the add-ons.

I would have HA in it’s own VM. There is no reason to run it on the same VM as your web server, since it won’t provide any benefit.

Personally, I would use the websocket API.

Thanks again. You’ve saved me a bunch of headaches.