I’m new to Home Assistant, but not Linux. I have a Mac Mini running VMware Fusion and HomeBridge, and wanted to add Home Assistant. I figured since I was already running VMware, I didn’t want the overhead of running Docker all the time on my Mac, and didn’t need to buy a Raspberry Pi. So, I installed Ubuntu on another VM and Home Assistant Core. Maybe my first warning sign should have been when I tried to upgrade Ubuntu, and had to roll back as it installed an incompatible version of Python.
Now I’m trying to install Node Red, and everything tells me I need HACS. I installed that, eventually, and now I apparently need to install Node Red via npm (not surprising, really). Point of all this is, did I start down the wrong path? I installed Home Assistant Supervised this evening via VMware, but the integration with VmMware wasn’t great (not out of the box) and the “stupid simplicity” of not having a command line and having to install a browser-based sshd just seemed weird.
What’s the best way to have a maintainable and extensible Home Assistant, before I get too much farther in one direction? Install it on Docker on my Mac? Stay with Debian/Core/VMware? Spend money and just get a Raspberry Pi?
Consider start with HAOS (ie Rpi) to learn about HA and all dependencies. Then, once you feel confident, migrate to whatever you want.
The main problem you will face is inconsistent/incomplete information multiplied by number of possible methods of HA installation and their complexity…
For example, while to make NodeRed working with HA, you need NR itself, then additional custom integration (this is the part which does mention HACS, but it’s not mandatory, you can do it manually) and websockets connection plugin for NR.
I know from my experience that to get familiar of what is what and how those elements fit the puzzle takes some time.
Thanks everyone. I’m not even really sure about Node Red, to be honest, as surely there’s a way to just write JavaScript directly. I’m also sure I could find information about how to do that if I looked hard enough, but I’m still in the phase of learning everything at the same time. That said, I’ve set up 11 integrations, written a few automations, and generally am very excited about what I can do with Home Assistant that I couldn’t do with HomeKit/HomeBridge alone.
tom_i: I have seen that chart, which was one of the reasons I started this post. And since there are instructions for how to install HACS on Core, and I followed them and installed it, while it may be completely useless, it’s technically possible.
Regarding Docker, would the ideal be to run Home Assistant in Docker on my Mac and then run other Docker containers also on my Mac? Or are you suggesting that I run Home Assistant on a Linux VM on my Mac, then run Docker inside the VM? At this point it seems simpler to just run Docker on my Mac.
It is a surprisingly complex pieces of software to set up, due to all the options and the difficulty of documenting them all. I’ve installed some pretty complex pieces of software on Linux over the years, but this one’s right up there.
HA itself is plain python application, that you can run like any other: in a plain venv, i.e. a Core installation.
Now, if you start stacking up external dependencies (NodeRed, MQTT, …), you basically have 2 choices:
Handle those dependencies. yourself
Use HassOS addons.
If you want to use addons, a supervised installation or the full HassOS is needed.
With all the strict requirements, a supervised install is basically requiring a dedicated machine, nowadays.
So the actual choices if you want addons is a dedicated machine for HassOS / a supervised installation, or run HassOS in a VM.
There is none I know. However keep in mind JS is not main use-case of NR. The point of NR is to avoid programming as much as you can. Most of things you can (and should) achieve using NR nodes without programming function nodes. If built-in nodes are not enough, there is library of hundreds additional nodes available to be added to NR (see NR palette).