Home Assistant

A wifi bulb may be the easiest... I don’t like allowing unknowable cheap devices having access to my wifi, which is why I only use zwave and zigbee devices. For those you need a radio and more setup...

Amazon and most other consumer outlets have a variety of devices. Just search for wifi bulb or whatever you're after and see what pops up.
 
It's possible to buy a pre-flashed device with Tasmota or ESPHome firmware.
E.g., a smart power plug / socket.

Also, I prefer to have all my "IoT" WiFi devices on a separate WLAN that's not routed to the internet.
Devices on that WLAN cannot even directly talk to each other.

But, yeah, ZigBee and Z-Wave have their own advantages.
 
IMHO the biggest advantage of zigbee over wifi is the dirt-cheap expandability. just use a switchable plug for ~$8 bucks (or any other device that is powered via mains or an external power supply) and it acts as a router. So for the price of a single lower-grade access point you can easily get ~10+ zigbee router devices.
True, Wifi also uses 2.4GHz, which is great at penetrating walls, but extending it reliably might require you to pull cables to yet another access point and repeaters only work for one hop (reliably). Zigbee can operate over multiple hops without noticeable delays and just spamming router devices everywhere actually improves the network; whereas with access points you need to be more careful about the interference between neighboring access points as it quickly degrades the network.
 
Also, I prefer to have all my "IoT" WiFi devices on a separate WLAN that's not routed to the internet.
Devices on that WLAN cannot even directly talk to each other.
If I owned any wifi IoT devices I'd do the same. My worry that they'll be bad actors and gum up the spectrum with a bunch of useless traffic even when configured to use an isolated WLAN is what keeps me away. That's not to say that zigbee and zwave are perfect... older devices of both varieties have spammed my airwaves and brought down my meshes. Those devices were placed in an e-waste bin at my earliest opportunity.
 
A wifi bulb may be the easiest... I don’t like allowing unknowable cheap devices having access to my wifi, which is why I only use zwave and zigbee devices. For those you need a radio and more setup...

Amazon and most other consumer outlets have a variety of devices. Just search for wifi bulb or whatever you're after and see what pops up.
From what I understand, if you go with something that is on a non-wifi network like through Zigbee, then it's not going to be able to get onto the rest of the network unless you attach it to something that is itself connected to the internet. I personally use Zigbee and whatever Hue was using for the V1 bridge, so the wifi stuff isn't something I know much about. But, even in that case, it is presumably possible to attach that to a VLAN or isolated access point.
 
Zigbee is something I have not come across before and am still trying to figure how such devices are controlled. I probably won't until I try to set up some home automation system.

According to this video which is supposed to show how the system works, all it tells me is that 'it just works!'

But how do you communicate with a Zigbee device? Do you need to attach any new device to your computer?
 
Is a ZigBee USB dongle known to work with FreeBSD?

I suppose some do and some don't. Although would I be able to identify which chip they use or do they all need to use the same?
 
Don't bother with those usb-dongles, just go for a networked one as you always want to position them independently from some computer to get good signal coverage.
I recently switched to the sonoff dongle max because the firmware of those over-hyped smlight slzb dongles is just awfully bug-ridden and has been for years in that state. The sonoff just works. It can even be connected via wifi if you don't wan't to pull a network cable, but then you have to use a USB-C power supply. I much prefer proper PoE which always works, is backed by an UPS and can be remotely turned off/on if something should act up. It also has much less interference than 90% of USB power plugs out there.

You can either directly use those dongles with HomeAssistant via ZHA or connect them via MQTT. The latter one has the advantage that you can also connect to other ecosystems that support MQTT like e.g. matter/thread and even various networked devices like inverters via the same interface. But don't bother using Zigbee2MQTT - it is developed by the same folks that are responsible for the smlight firmware, so its in pretty much the same state...
The sonoff dongle can directly connect to an MQTT broker; no need to use Z2M.
 
I use this one from TubesZB: https://tubeszb.com/product/tubeszb-dual-radio-kit-with-zooz-zac93/
It's a POE-powered dual-radio device and gives me both zwave and zigbee radios. You then need something to get both meshes up and running. Homeassistant on HAOS may be the easiest route - just install the Zwave-JS addon and the Zigbee2mqtt addon. You'll also need to run your own MQTT instance, which HA can do. I run both zwave-JS UI and Zigbee2MQTT separately from HA (my Mosquitto MQTT is also separate). Spend some time reading... you may want to start with something like a Hubitat (that's where I started) before branching out into running your own zwave, z2m, mqtt, etc.
 
Unfortunately there used to be methods to install inside a jail, but the home assistant folks have long since deprecated those methods.
It is still possible to install and run Home Assistant inside a python virtual environment, even if not supported.
However, I don't recommend doing so unless you run on sufficiently powerful hardware. I run on a single-core ARM machine (similar to first gen Raspberry Pi), and every update takes forever (well many hours / overnight) due to all the python modules needing to be compiled and so on.
Other than that, it works well. BTW, the machine runs armbian, not FreeBSD.
 
Zigbee is something I have not come across before and am still trying to figure how such devices are controlled. I probably won't until I try to set up some home automation system.

According to this video which is supposed to show how the system works, all it tells me is that 'it just works!'

But how do you communicate with a Zigbee device? Do you need to attach any new device to your computer?
You can either get a dongle / adapter (same as, e.g., for Bluetooth or WiFi if they are not built-in) or you can get a gateway / bridge which would provide a network (either Ethernet or WiFi interface).
You can find this resource useful: https://www.zigbee2mqtt.io/guide/adapters/
 
If I owned any wifi IoT devices I'd do the same. My worry that they'll be bad actors and gum up the spectrum with a bunch of useless traffic even when configured to use an isolated WLAN is what keeps me away. That's not to say that zigbee and zwave are perfect... older devices of both varieties have spammed my airwaves and brought down my meshes. Those devices were placed in an e-waste bin at my earliest opportunity.
That's why I try to either have open source firmware from the start or reflash with it.
That gives much more control over what devices do.
 
This looks like something I'll probably try to setup

It was super-easy for me to do that.
My setup is even more complicated (or simpler, depending on the point of view) as I have the dongle connected to a machine different from the one where Z2M jail runs, so I have ser2net in the mix.
 
Heads up:
I just updated my Homeassistant installation at home and with 2026.1.0 they introduced 'serialx' as a new dependency which is intended as a replacement for pyserial.
serialx actively blocks anything that isn't returning 'linux', 'darwin' or 'win' as its platform string. Apart from such hard string matches for allegedly checking compatibility being always a dumb idea, it gets even more stupid, as the only thing it does is to decide wether using posix serial (which FreeBSD and other BSDs are also using...) or darwin/win-specific variants. Web'designers' did similar BS back in the late 90's by blocking anything that was not 'IE', so it seems some of them are still around writing python scripts...
Anyhow, even if you don't use serial connections anywhere, this will cause several integrations to fail - one of them being ZHA.

Since serialx only is yet another implementation of pyserial (as python folks love to re-invent the wheel several times), you can simply block installation (pip lock serialx) and remove any dependencies to it.
For the core modules I attached a patch that works for me with HA2026.1.3, but for any other integration that now wants to use that crap it should also work to just remove it from the manifest file (should be in 'loggers' and/or 'requirements' list)
 

Attachments

Heads up:
I just updated my Homeassistant installation at home and with 2026.1.0 they introduced 'serialx' as a new dependency which is intended as a replacement for pyserial.
serialx actively blocks anything that isn't returning 'linux', 'darwin' or 'win' as its platform string. Apart from such hard string matches for allegedly checking compatibility being always a dumb idea, it gets even more stupid, as the only thing it does is to decide wether using posix serial (which FreeBSD and other BSDs are also using...) or darwin/win-specific variants. Web'designers' did similar BS back in the late 90's by blocking anything that was not 'IE', so it seems some of them are still around writing python scripts...
Anyhow, even if you don't use serial connections anywhere, this will cause several integrations to fail - one of them being ZHA.

Since serialx only is yet another implementation of pyserial (as python folks love to re-invent the wheel several times), you can simply block installation (pip lock serialx) and remove any dependencies to it.
For the core modules I attached a patch that works for me with HA2026.1.3, but for any other integration that now wants to use that crap it should also work to just remove it from the manifest file (should be in 'loggers' and/or 'requirements' list)
This seems more like the typical don't even try in case it's broken on a platform we're not promising to support. If it's just a string like that, then it's easy enough to jury rig something to test in a FreeBSD VM and see if any problems arise.
 
Back
Top