Home Tinkering SIG - 11/18 and 12/16 plans

Howdy tinkerers! We made it through Maker Market weekend – thanks to everyone who planned, volunteered, vended, or just came and had a good time with us! It was a great event, and completely distracted me from prepping for the SIG meeting tomorrow (11/18), haha. But luckily I was able to score some new toys for us to play with: A Home Assistant Green, and a compatible Z-Wave antenna designed by the same folks. The “Green” is a nice gateway for newbies to try out Home Assistant, because it comes with Home Assistant already installed! All you have to do is plug it in and start adding devices. At least that’s what they say… we’ll find out together. :grin: You might remember I brought in some Z-Wave switches I haven’t installed in my house yet. So, my plan for the 11/18 meeting is to do a live demo:

  • Fire up the Home Assistant Green and configure it from my laptop, to show what it’s like fresh out of the box
  • Demonstrate replacing a “dumb” light switch with a Z-Wave one, and adding it to Home Assistant
  • Add a Z-Wave dimmer switch, and show how a few different kinds of bulbs behave with the dimmer
  • Demonstrate replacing a 3-way (two switches controlling one light) with Z-Wave switches
  • Get anyone who wants to play along to install Home Assistant on their phone or use their laptop to control the lights
  • Set up a simple dashboard with zones, and show a cool trick for naming devices that simplifies the dashboard setup

If we don’t get through all this fast enough, we can just plan to pick up where we left off when we meet again on 12/16. And for the 12/16 meeting, if anyone would like to bring devices to try adding to this Home Assistant setup just to see what that process is like, please do! Note that if you already have them working in your home network, it might be a bit of effort to get them integrated back in after you bring them home, so maybe don’t bring anything you really need working again by Wednesday morning! :sweat_smile: I will bring a Z-Wave smoke alarm and a stereo receiver.

The meetings will now officially be 7:00 - 8:30 since we were struggling to finish by 8.

As always, the zoom link for attending the meeting remotely is:
asmbly.org/zoom/home-tinkering

And a summary of the discussion will be posted here afterwards, including links to any websites or apps we mention. See y’all soon!

1 Like

I’ve spent a lot the last week or so on my HA setup, which now has working 3D printer camera integrations, AI failure detection, and app notifications. I’d be happy to share something about it if there’s time + interest!

1 Like

Yes, please! Pics or video is great, or remote access too. If you bring a laptop, you can have it call into the zoom, or you can use my laptop to pull up things too… Whichever is easier. We can start with your stuff, since mine is likely long enough to bleed over into the December meeting. Thanks!

1 Like

Cool, I will be there with a laptop and some screen captures of my HA setup!

1 Like

Slides with links that I showed off tonight: AI Failure Detection - Home Tinkering SIG - Google Slides

2 Likes

I wanted to shorten an answer we gave to @jamesfreeman when he asked during the SIG: Why would I want to run Home Assistant on a home server instead of a dedicated Raspberry PI or Home Assistant Green or Yellow box?

The shortest answer: If you have to ask, you don’t want it.

The kinda short answer: If you have a home server already, very likely you want it to run HA as well for efficiency and manageability. If you are tired of how many single-purpose Raspberry Pis you have and find yourself buying a network switch for them all to live on… OR if you have nearly burned up a Pi somehow from constant CPU overuse: it might be time for a home server! This is an entire project in itself, good luck and have fun!

The not short at all answer: HA’s best and easiest configuration is through HAOS, running either on hardware or a virtual machine, as it provides the ability to install and manage add-ons (container services) for itself. It’s likely that you want to run this OS as the most supported configuration. The container (AKA Docker) version of HA is also supported and functions as well as the OS, but it cannot install add-ons, so you’ll need to provide adjacent server components as containers yourself. There are other (legacy) installation methods that I don’t recommend at all.

Then why are you doing it? Well, I have many other uses for a home server, and it is way more power efficient to combine them on a machine with low power usage than to use my gaming desktop. It started life running Ubuntu as an exercise to better learn Linux sysadmin things. It was then a CentOS-based NAS OS for a while, mostly because I wanted to leverage some coolness from BTRFS. That OS moved to be OpenSUSE-based, and is still what’s running, but it is due for a refresh of its config. When I refresh it, I will likely install something Debian-adjacent at it’s heart, with as few packages as possible, and a container (and maybe VM) management system like Portainer. I’d like to serve even LAN file shares from a container system, mainly for the ease of destruction/recreation without losing work. I have run Kubernetes professionally, but have no desire to manage a single-node cluster for myself, so apparently my insanity does actually have limits.

1 Like

I also run Home Assistant on a linux server alongside other key applications for all the reasons you listed. Some of the key software I have on my linux server are:

  • Home Assistant
  • Shared network storage and backup software which regularly backs up to the cloud
  • Video Security server with plugins to Home Assistant
  • Airplay receiver which feeds whole house audio
  • Media Assistant for audio library
  • PLEX media server for video library and feeding audio library to mobile devices
  • NGINX reverse proxy to handle remote access to network and home assistant

What video server do you run? I run a Unifi setup at home, so I have looked at Unifi Protect, but they require their own NVR. I’m interested in things like motion detection triggered recording, and don’t want to rely on the cloud.

I use Frigate, https://frigate.video/. I upgraded from ZoneMinder. Plugs right into HomeAssistant and does local recording and can provide notifications to your phone. So far I have been very happy with it. It is using the built in GPU on the Intel processor of my linux server and isn’t taking up too much compute. Let me know if you want additional details.

I will read up on it, thank you!

What @flowmage said is pure gold:

The shortest answer: If you have to ask, you don’t want it.

I wholeheartedly agree! The biggest difference between running Home Assistant on a dedicated tiny computer vs. in a virtual machine on a bigger server is that you have to spend the time/effort learning how to deal with virtual machine setup. Honestly, I still struggle with that a bit. It’s not hard to get it working, but the devil is in the details… the hard part is getting it working really well. What I mean by that is: With dedicated hardware, it’s simple to shut it down or restart it. With a virtual machine running on a server, you want to set it up so the virtual machine starts up automatically if you have to reboot the server. Like, if the server loses power for example (this is why I love that mine is an old laptop, because it basically never loses power, and only reboots when I specifically want it to). The other thing is a clean shutdown… I don’t like the idea of just hard-stopping the virtual machine if I need to reboot or replace the server. That’s equivalent to pulling out the power cord on a physical computer while it’s running, which isn’t cool because… what if it’s in the middle of making changes to a config file when the power is cut? You don’t want to let things get corrupted like that. So I prefer to request the computer to shutdown politely, so it can finish what it’s doing and then go off. If you run HA in a virtual machine on a server, then the first two problems you have to deal with are (1) how to make the virtual machine automatically start when the server boots up, and (2) how to make the server know that when it is shutting down or rebooting, it needs to first tell the virtual machine politely to shutdown, wait for it to finish shutting down, and then allow the server to shutdown. And worse, you want all that to happen as quickly as possible, because rebooting the server means you have to sit through shutting down the VM, shutting down the server, starting the server, and then starting the VM – that can be like 5 minutes, which is annoying to sit and wait for if you’re babysitting it to make sure whatever you did worked.

Besides startup and shutdown, there are two more things you have to figure out to run Home Assistant in a VM…

One is how you want networking to work. VM software gives you a variety of options, but the one I found the most convenient is to make the VM behave just like any other PC on the network. This means it creates a virtual network adapter, with its own MAC address, and that way your router can assign it an IP address and a name, just like if it were a physically separate computer on your network. That also means if you ever decide to change from running HA on a VM to dedicated hardware like a Green, then you don’t have to do any major changes to how you access HA, just have to go into the router’s config and change it to the MAC address of your new hardware. This makes it much better than other options, so I won’t even mention them. :slight_smile:

The last tricky thing is if you need to connect any USB devices directly to the HA computer, like a Z-Wave antenna. With dedicated hardware, this is easy – just plug it in. :slight_smile: But when you run Home Assistant in a virtual machine on a server, the VM doesn’t automatically have access to the hardware plugged into the server. You have to choose how devices plugged into the server get “mapped” or “passed through” to the VM. You can find info on a few ways to do this, but it’s important to choose a way that lets you access it even if you plug it into a different USB port. One super annoying thing about hardware is that devices get numbers or IDs assigned them, and sometimes plugging in a new device can cause the old devices to get assigned different ID numbers! So if you set up your VM config to map a USB Z-Wave device into the VM by its USB bus ID, then as soon as you plug another USB device into your server (or remove one), that ID might change and Home Assistant inside the VM might see the Z-Wave device just disappear! No bueno. So I found a way for the VM to identify the USB stick by manufacturer ID instead of USB bus ID, and this makes it work no matter what USB port it’s in, or what other devices are plugged in or not.

If you can make it past all that stuff, you’re good to go! The virtual machine program I use is the one I am most familiar with – that is VirtualBox. It’s nice because it works on any computer (Windows, Linux, Mac) with the same interface. It’s pretty intuitive to set up through a graphical interface, so it’s not just monkeying with config files. I did have to get an add-on for it to support the USB device pass-through, and in order to get it to start up and shut down elegantly when the server starts up and shuts down, I did have to figure out how to control it from the command line, and run it like a service in Ubuntu. A different option than VirtualBox is KVM, which is only for Linux. I tried this first, since my server is in fact Linux, but I struggled getting the USB Z-Wave stick to show up in the VM. I also struggled with the initial setup of the virtual machine, but after doing more with KVM at work, I think I’m more comfortable with it and would give it another shot, because I think it would be able to start up and shut down faster than VirtualBox does.

But yeah, given all that complexity, I am going to try using the Home Assistant Green instead for a while, and see how that goes. I am not running anything else on that server with my HA VM, so I am not really getting any value from having it in a VM. @jamesfreeman – I know you’ve been very curious about this VM stuff, so hopefully this all helps!

@flowmage and @andrewl – For video camera setup, I currently have a Windows box running a program called BlueIris. It was recommended by a YouTuber I like called “The Hook Up”. I have had a generally good experience with it, but there are a few things that could be better. It was $50, and it’s not open source, so there’s that. Updates are generally good quality, setup wasn’t very hard, but the PC I’m running it on is old and can’t really handle 4K video feeds. Running at 1080p is fine, but the frame rate drops to just a few fps in 4K. So I’m planning to build a whole new box for gaming and demote my current gaming box to be a new camera server. I’m going to try using Shinobi – ever heard of it? It sounds great. And also planning to make a dedicated NAS box running TrueNAS. I feel like it’s reasonable to keep all these things on separate hardware while I’m learning what I do/don’t like, so if I want to change any one of them out for an alternative, I know it won’t interfere with the uptime of the others. Maybe later, I’ll combine some/all of them onto fewer servers, but maybe not if that doesn’t seem to provide any tangible benefit. :grinning_face:

You might look at Proxmox or something like it for VM management. They just launched container management as well last week or so. It’s on my list to evaluate as my next NAS OS.

1 Like

This is all great information, and thank you all for the very detailed responses.

@here An update to my inquiry about servers.

Jason you mentioned something in one of the meetings, a couple actually, that really got me interested. I run an automotive shop and for a long time I’ve wanted to have my own labor guide. We of course pay for multiple commercial options, but they lack some of the features I want. So Claude came to the rescue and created this guide, and even setup the server program so multiple computers could use it. 2 problems with the install. 1, the server was installed on my main pc running windows and I didn’t want to worry about employees closing the program. 2, reboots and updates mean I have to restart it, maybe I could fix this with some kind of auto start option. Running it on a laptop server with Linux solves these problems. It’s seperate from my employees access and the battery prevents power interruptions. Claude even got the server restarting in case of a power failure and auto starting the program. Set it in the closet and forget it, right Jason! This setup is now running great. I now look for reasons to ssh in just because I know how.

For my personal use, I have setup a mini PC running Linux at home to be my media server, made sure it had enough CPU for plex transcoding. I am still running HA on a seperate Pi, and have a Synology NAS for file storage. I’ll probably leave everything seperate for now, maybe permanently. I do like having HA on its own machine, as I’m trying to create a system that is easy to swap out if something fails, this would include any external connections. The goal is to eventually have a complete duplicate setup to replace it the original fails. I’m sure I could do this over ways, but I like the hardware being seperate.

Things I have learned along the way. I couldn’t do any of this without AI, Claude in this case, and wouldn’t have tried any of this without y’alls inspiration. The “minor” discussed in these meetings is great! Thanks for the inspiration!

I’ve also got more interested in network setups, and making sure everything is working correctly. ISP’s seem to do a shit job of educating you on the correct setups, guess network jobs exsist for a reason. At work we have ATT 2 gig internet. I use a mesh network straight out of the ISP’s router. They provided a cat5e cable for hook ups. We’ll, guess I didn’t need those 2.5 gig switches hey? I’m getting tired of dragging a laptop around to run speed test at the different points of connection and don’t want to pay for an expensive network tool. So I’m looking at making a small linux based tool to test the speeds. So far, it seems it might be more expensive to make than to just buy, testing above 1g requires more expensive components. Maybe I’ll bring whatever I end up using to the next meeting.

@torchedguitar keep up the great meetings and thanks for leading the way. The SIGS are about building community and inspiring people, and I for one have enjoyed this one very much!