Home Assistant

It can be deployed on FreeBSD, yes.

But you can play with it on Linux first, maybe you really don`t need it. Linux vm from your provider or bhyve vm on you FreeBSD host.
 
Unfortunately there used to be methods to install inside a jail, but the home assistant folks have long since deprecated those methods.

The only supported methods right now are installing HAOS as a VM or running the docker container.
 
It can be deployed on FreeBSD, yes.

But you can play with it on Linux first, maybe you really don`t need it. Linux vm from your provider or bhyve vm on you FreeBSD host.
I don't use Linux, I'd just like to see what it is like to see if I need it or not.
 
Unfortunately there used to be methods to install inside a jail, but the home assistant folks have long since deprecated those methods.

The only supported methods right now are installing HAOS as a VM or running the docker container.
An open-source server written in Python could probably be ported to FreeBSD. Another question is how many linuxisms will need to be overcome.
 
I don't use Linux, I'd just like to see what it is like to see if I need it or not.
What I'm saying is that there are probably two options.

1. A quick and dirty launch on Linux to see if it's even needed.
2. Do some porting work just to see if it's even needed.
 
I think I'll have a read through
and see if I can make any sense of it.


This looks useful, probably just what I've been looking for...

 
Before I bought my homeassistant green to run the thing independently of my computer, I was successfully using mine with a VM. IIRC, I started out with an obsolete Philips Hue bridge controlling a few lights. I moved onto a sonoff zigbee USB controller. I haven't tried it on FreeBSD, but I just plugged it in and the correct descriptor does show up. I'll have to give it a go at some point to see how it works.
 
I was wondering how these device communicate with the controller. Do they need to have something builtin, or maybe they use something like the X10 protocol.
Most communicate via TCP/IP (or UDP) as now you can get IP connected light bulbs and much more. Other interfaces may be supported via specific hardware & software such as zigbee or hdmi-cec or CAN bus etc. For these non-IP devices Linux will usually work better (prob. even better on a bare machine as opposed to a VM such as on bhyve). X10 was around for a long time but it never quite worked too well. Though I am sure there are plugins for X10 support!
 
You can run Homeassistant on FreeBSD, yes. But like many other linux-centric projects that nowadays only ship their "it runs on my laptop"-containers as official releases, because they have a shit-ton of outdated spaghetti-dependencies yet requiring the latest-and-buggiest versions of some other dependencies, they are openly hostile towards any other installation method and *especially* anything not systemd/linux. So don't expect any help from there - you have to figure out and fix any breakage yourself that will occur regularly during updates.

That being said, I'm running an instance of homeassistant to automate/control various things at home and another one at work. You basically have to set up a full python environment, install everything via pip instead of properly via pkg and hope that all dependencies build correctly on FreeBSD (hint: often they don't). This often takes A LONG TIME even on decent hardware - so don't use toys like raspberry pies for that.
There's been some blog entries on blog.brendans-bits.com on that specific setup and various fixes for bugs/build/other problems with pip packages and python in general, but it seems that site is now gone.

If you feel you need such an automation platform, you might also want to have a look at misc/openhab which is much more scripting-friendly for automations - in HA you are forced to do everything via the GUI which often makes seemingly dead-simple automation tasks an absolute nightmare and yaml scripts that are possible in some places are an absolue atrocity. I found myself more than once forced to just write a simple shellscript to do the work and then hand over the necessary values/triggers/whatever to HA (or directly to the device I want to control).
In openHAB you can at least write scripts in one of the supported languages - which are python, ruby or javascript, with java(script) being the native one and this brings me to the major problem with it: you swap out one nightmarish language and its ecosystem with another. Startup of openHAB takes forever and its cpu load and memory usage even on an idling fresh installation is ridiculous - but its java, so that's what you signed up for...
At least it just builds and runs out of the box, so in that regard it's much more bearable than HA.


Overall: if you don't have any *really urgent* need for anything those systems offer, don't bother. It will save you a lot of time and A LOT of nerves, grey hairs and evenings full of swearing.
Having used HA for almost 2 years now, I absolutely refuse to do any tasks with it which I consider remotely critical and I expect to always 'just work'. To add some convenience or "gadget-y" functions it's OK, but I'd never rely on it to switch on my lights, let alone give it full control over the solar/battery/heating/car charging energy management. For this (with focus on the latter) there's also evcc - which is even more hostile towards anything that's not based on their images for VMs or raspberry toys. Running this on FreeBSD natively is just impossible thanks to a lot of hard-coded assumptions and very specifyc dependency chains that are impossible to maintain... We run it in a VM at work to control 8 EV chargers and I'll be using it at home soon as an additional control plane, but the inverter handles everything that is supposed to always work.
 
I am running Home Assistant in a VM, but I don't see why my configuration wouldn't run in, e.g., a jail (if I was willing to go through the hassle of manual or semi-manual installation).
I do not have any hardware / driver dependencies that are not supported on FreeBSD.

Most of my devices are esphome, plus some bluetooth (accessed via esphome's bluetooth proxy) and some zigbee (a zigbee "dongle" is visible as a serial device) via zigbee2mqtt.
Yeah, and one pre-flashed tasmota device which works via mqtt as well.

Note that the HA docker container cannot be used via podman or a linux jail more generally.
That's because of a supervisor that HA uses plus a shortcoming in FreeBSD jails.
Maybe the official HA image can be operated without the supervisor, I haven't explored that.

For those who might want "pure" HA on FreeBSD there are these:
 
It's a method for complicating your life more than necessary.
It can be, it all depends on what you're doing with it. I've got mine mostly managing the lights. I've got an entryway that gets dark super early due to it not being near any windows, so I've got my homeassistant turning it on and off based on the angle of the sun. The rest of the time, that light is setup to turn off after a few minutes if I turn the light on during the middle of the day.

I've certainly seen some setups that were overly complicated, but mine isn't something that I've had to do much tinkering with, although one of the lights has gone rogue lately, which probably means that I need to suck it up and get wired networking to that end of the house so that the homeassistant box can be closer to the center of the action. But, they've got kits these days that allow fiber to be run in corners of the room without really standing out. So, I'll likely use that.
 
People do a lot with Home Assistant - here's a description of what I use it for:
I have HAOS installed on an rpi. I have a separate rpi that runs Zwave-JS UI, Zigbee2MQTT, Mosquitto MQTT, and Node-Red. That unit takes care of all my smart home device connections and automations. You can run Zwave-JS and Zigbee2MQTT (and Mosquitto) directly on HAOS and have things more tightly integrated, but I prefer separation. Node-Red handles my automations - it's very similar to LabView, which is a graphical "programming" environment I've been using for many years at work. Motion lighting and time of day / illluminance lighting for the porch and driveway lights can all be done natively in Home Assistant, but I choose to use Node-Red instead.

What's my Home Assistant for? Mostly the dashboard - I have it configured with a connection to my MQTT instance, so I can see and manipulate the state of switches, dimmers, etc in the house. I also have a dry relay (connected via zwave) and some zwave tilt sensors that I've cobbled into a garage door opener system. Now when my kids show up late after a friend drops them off, they can open the Home Assistant app on their phone and with appropriate passcode they can open the garage door to let themselves in the house.

As I said, there's a ton more that can be done with Home Assistant (and appropriate devices). My use cases are fairly pedestrian. What's it good for? De-coupling from the cloud - with zwave and zigbee devices and local automation I don't rely on vendors' servers to do anything in my house, nor do I owe them $ every month to keep my house running. Everything is local, which is exactly the way it should be.
 
I've got an entryway that gets dark super early due to it not being near any windows, so I've got my homeassistant turning it on and off
If you're not in that area, why do you need the light on? If you are there, why can't you just flick the switch yourself.?
I've certainly seen some setups that were overly complicated....I need to suck it up and get wired networking to that end of the house so that the homeassistant box can be closer to the center of the action. But, they've got kits these days that allow fiber to be run in corners of the room without really standing out.
Second verse, same as the first: It's a method for complicating your life more than necessary.
 
If you're not in that area, why do you need the light on? If you are there, why can't you just flick the switch yourself.?

Second verse, same as the first: It's a method for complicating your life more than necessary.
It's really not. It needs to be on because it's the entry way in a dark corner of the house. Around here the sun starts going down at like 3:30pm in the middle of the winter and darkness arrives even more quickly if it's an overcast day. I wouldn't necessarily know when the light needs to come on completely in any sort of predictable way, but this is close enough. Turning the lights on and off is all well and good if you never have anything in your hands coming in the door and don't mind wasting brain cycles on managing that.

Personally, this was the best solution to the problem. Perhaps if you live in one of those parts of the world that doesn't ever get dark before 8pm it's a non-issue, but on overcast days we may very well need to have light in that dark corner even in the middle of the day.

Whether it's overly complicated or not really depends upon the situation, but this way, the light is there when we need it, is off when we don't, and it's a modern LED bulb, so even being on all night, it still is less power. Plus, by being on all night, nobody looking at the peephole is going to know on that basis whether or not anybody is up.

Whether these systems help or become a massive waste of time and money is really a matter for a person's own needs and interests. For me personally, having the grow light for my tangerine tree go on and off in a predictable and easily programmable fashion is helpful. Same goes for the entry way light and I've saved a ton of money by programming my baseboard heaters using the same system. I did the work on that like last year and for the most part, I barely touch any of it. Probably in a few months I'll get one of those fiberoptic kits that will allow me to move that device to the living room at the same time that I give the computer in there a wired connection and probably move the Raspberry Pi over there for playing my videos with a wired connection. But, that to each his or her own.
 
Recently I bought a used "home theater" receiver (to replace my 30+ stereo receiver that died) and found it can be controlled via the network. This was handy as I can play the radio (& switch stations) or pipe music from my laptop or other sources, all from my laptop. I haven't yet hooked it up to the TV but that is next. I don't use HA, but the idea of a central dashboard that can be accessed from various display devices appeals to me, mainly to see the status of various things and gather some stats. Many sensors, few controls! [I used to use X10 devices for controlling drip irrigation, turn on/off lights etc. but that was a long time ago.]

Going even further, I'd like to have a single virtual machine (composed from various physical machines -- as opposed to having many VMs on a single phys.mach). Then the idea is to plug in more cpus, disks, memory, io devices wherever and whenever you need them! And you can selectively share some subsets with your friends etc. But that'll require a whole new OS....
 
Back
Top