tl;dr - OpenHab v3, SLZB-06, Proxmox, Dell PowerEdge R730xd Server, various zigbee devices.
I've managed some semblance of a smart home for the past 7 years. This began as most things like these do - a toe in the water, then a foot, and then suddenly you've fallen in and are trying to stay afloat.
The toe was smart light bulb. I got it from a random company giving them away at San Diego's Comic Con (I think around 2017). It may have only been bluetooth... I don't remember. But it piqued my interest enough to say to myself "Some day, my home is going to be smart. Like that Disney movie but without the house trying to kill me."
The foot was a batch of Sengled light bulbs that connected to Alexa through a proprietary hub. We had a few Amazon devices already so it was a logical step. This was around the time FAANG were dipping their own toes in the metaphorical water so the integrations were there but not great. The Alexa app left a lot to be desired (note: it still does - they never really went beyond the toe) and it became quickly apparent trying to set up rules and schedules that this wasn't the smart home I envisioned. Not only that, but the hub seemed to be quite limited in range. I could reach bulbs in my house but it struggled to communicate with bulbs outside.
Fortunately for me, Sengled had done things right. That hub was simply a zigbee hub and the light bulbs were all run over the zigbee protocol. I found all of this out while deep diving what I needed to do to set up a "proper" smart home.
The first improper version of this proper smart home ended up using Home Assistant. This was still around the 2018 time, I'm not sure where that would fall in Home Assistant versions, but it was relatively easy to set up. I picked up a Raspberry Pi and a random zigbee/zwave dongle from Amazon and got cracking. A few hours later and I was able to control the light bulbs in my house. A few days later, and I can't quite remember if I had to set up a custom Alexa skill and/or an app, but I then was back at sqaure one with the Sengled bulbs - Alexa controlled. But this time with a better zigbee hub.
Some time passed, I added more bulbs [1, 2, 3], some smart light switches [1, 2], and some scenes to better manage daily/nightly tasks. To this day, one of those scenes, still exists - "master movie scene on/off" which turns on our lamps and turns our bedroom lights off. But not all things were right in the Hanson household - many zigbee devices would occasionally just not work. The Alexa integration itself would occasionally stop working.
This takes us to version two of the smart home - where I moved from Home Assistant over to OpenHab, version 1, if I recall correctly. Perhaps a little hasty, this move was driven by a number of posts I found advocating for its better integrations and better zigbee support.
So I wiped away the Raspberry Pi SD card, burned in OpenHab's raspbian custom image, and got started starting over.
I will say, OpenHab was way less polished than Home Assistant. Years later, now on v3, I'd still say it's probably less polished out of the gate. You can make it look pretty - but its very much on you to do.
It took a little doing, mostly learning OpenHab's peculiarities in setting up devices. I used there old, yet seemingly better, UI that allowed adding devices dynamically. More on this later... A few hours later, or maybe days, and our smart home was back up and running. Alexa integration was a few days later and used their app so I didn't have to manage an Alexa developer account anymore.
This ran fine for probably 6 months and then, growing in frequency, Alexa would simply not be able to interact with certain devices. The fix was restarting the Raspberry Pi and everything would work. This would last for a few months until a restart was needed to "fix things" again. Then it would only last a few weeks. Then it was down to a few days. Obviously...things weren't going in the right direction. Not only that, we actually used a few things frequently ("Alexa, turn master movie scene on" and "Alexa, goodnight") and having it not work was really cramping our style!
So, on a cold, miserable night in Janua... I don't actually know when I did this - I started digging into the problem. It turns out, many people online were complaining about this and, seemingly, OpenHab was saying it was a zigbee issue. That tooks me down a few paths that led to "you just need to use an MQTT broker and zigbee2MQTT". As a developer...I'm not sure why the zigbee integration couldn't be "fixed" but I also wasn't jumping in to do the fixing... so I installed the MQTT broker and zigbee2MQTT on the Raspberry Pi while moving from OpenHab v1 to v2. As a sidenote for the reader, and if I remember correctly, this was yet another destructive upgrade that forced me to rebuild everything from the ground up. I also picked up a new zigbee dongle just in case the issue was with the old dongle.
A few hours later, or days, and things were working again. Now my memory is particularly hazy at this point (it actually always is) but this might have been when OpenHab ditched their old UI and forced you to hard code the zigbee devices in YAML files... Or that might just be because the MQTT broker doesn't support any kind of dynamic device adding... I'm not really sure - but suffice it to say, at some point, I was no longer able to just casually add new devices anymore and I had to manually add them in OpenHab's YAML configurations. Not a huge deal for me but no casual user would ever do this... Ok, they'd never do anything above either...
Things were one again working in the world. The annoying Raspberry Pi restarting issue that plagued us was gone and fixed and everything was great. Or so I thought.
Maybe a year after that, I think somewhere around 2022 or 2023, things would occasionally just not work. Alexa would say it couldn't reach the hub, same old, same old. Seeeeeeemingly, the Raspberry Pi was overheating? Or for some reason rebooting?
Now, this was also around the time I was chatting with some folks about setting up a "home lab" and/or local kubernetes clusters to run things. Rather than digging into the issue with the Raspberry Pi I figured this was an opportunity to invest in some infrastructure. I picked up a couple little micro form factor PCs (Beelink something) and installed Proxmox on it. I quickly realized this was entirely too few resources and returned the one I still could and kept the other. Around the same time I buddy gave me a few extra mff PCs he'd had that were a little punchier. I set those up as proxmox nodes and had a nice little "home lab". I then added a few VMs for OpenHab v3, MQTT, and zigbee2MQTT, figured out how to pass the zwave/zigbee USB dongle through to the VM, and we were back in business!
Fast forward a couple years and I ended up buying a Dell PowerEdge R730xd Server to expand my my home lab. I started shuffling VMs over to it from the mff PCs but couldn't move the zigbee2MQTT VM as it had to access the USB dongle. This wasn't really a problem as the little PC was tucked away but it was an annoyance - I didn't really want the little PC anymore.
Then, at some point, the Bee-something mff PC started randomly not being able to talk to VMs on the network. Other things could talk to it, and it to some things on the network, but not everything. With only minimal digging, an ifreload -a
would fix the problem and make things right. Occam's razor would suggest something to do with the VM shuffling, maybe a conflicting IP address, or something - but I also started seeing random warnings in the syslog for the networking stack... All I knew was, things were looking a lot like they had before - bad.
I ended up running across this SLZB-06 zigbee coordinator/hub/thing a week or so ago. This essentially turns the USB dongle into a standalone device. A few hours later and the mff PC is gone, the SLZB-06 in its place, and everything is right again! ¯\_(ツ)_/¯