Home Automation has quickly become a buzz-word, but to me, it’s about the hobby of building and maintaining systems which actively improve my life through computer control. This goes beyond simple app remote control. For me, I’m particularly fond of motion-activated lighting, time of day based automation, and really anything else I can do to reduce mundane tasks and improve my quality of life.
If you’re building your first home server (or following my Ultimate Home Server series!), the first app I recommend playing with is Home Assistant. Taking control of your home automation with free and open-source software is an excellent way to get out of the cloud-based walled gardens, and self-hosting an app like this is a great way to learn about self-hosting in general without the pressure of hosting something like your firewall.
As some of you may know, I have a Raspberry Pi which handles all of the radios for Home Assistant. It runs ZwaveJS2MQTT (using the WebSockets connection to Home Assistant, not MQTT), Zigbee2MQTT (using MQTT), and RTL-433 (also using MQTT). So, it’s fairly critical infrastructure. Usually, with critical infrastructure, I try to get it PoE powered so I don’t have to worry about power bricks and can get battery backup via the CRS328 network switch in the basement (which is on a battery of its own).
I previously wrote about my install of RTL-433 on a Raspberry Pi, running Raspberry Pi OS Buster. With the release of Bullseye, rtl-433 is now merged into the repository and doesn’t need to be compiled from source. So, I thought it would be a good time to revisit this project and make a video about it, this time using a cheap eBay thin client instead of a raspberry pi, and showcasing my setup a bit.
Of all of the doors in a normal US McMansion, the garage doors are the biggest, and are almost always motorized. This means they are an easy target for automation, since most of the hardware is already there, we just need to bridge it to the virtual space. The cheapest way to do this is to use a door contact switch and dry contact relay which are compatible with Home Assistant, and some YAML magic to bridge them together.
Policy-based routing has a lot of applications in a home lab or home network. It can be used to change the route taken based on the source or destination, and this can be used in multi-WAN or VPN applications to selectively choose traffic to send over one WAN or which traffic to route over a VPN. It can also be used to selectively drop traffic instead of routing it. Having the ability to change some of these routes from Home Assistant makes it possible to control some of these functions from the HA app or via automations.
Every year, the exterior holiday lighting gets reluctantly set up. It’s part of McMansion life, a requirement to appear as though you’ve made an attempt to decorate for the season. Between the colored optical projectors, to strings of lights haphazardly strung around the front porch, it all ends up needing to be plugged in and turned on/off. For years, the solution to this was a mechanical timer, with on and off markers which could be inserted around the ring to turn the timer on and off at the right time.
Often, when I’m focused on a task or project, I absolutely can’t think about anything else. This means that other tasks often get left unattended, possibly for hours. To reduce this, I’ve implemented a system in Home Assistant to notify me when either the washer or dryer are finished running. It’s a pretty simple automation, but it’s this kind of useful life-improvements that really make home automation worthwhile.
The Hardware I have a gas dryer (not ideal, but I’ll get a heat pump in the next house) and normal electric washer.
I have a Prusa i3 MK3S 3D printer, and I use it for many projects I post here. I want to know roughly how much power it consumes while printing, to get a feel for both the peak power consumption of the printer (to, say, size an off-grid power system) and energy consumed for an average print. I know the cost of filament is pretty low for most projects, but I don’t know the cost of energy (or wear on the printer).
Today I spent the day flashing Tasmota on a variety of Sonoff devices, for use in future projects. I took pictures of the process, so you can follow along with all of the fun bits of playing with repurposed electronic hardware.
I have projects in mind for some of these, but some are still ’extra’ (nothing is really ever ’extra’, it will always be used eventually). I have two Sonoff S31 (US smart plug with power monitoring), two Sonoff S26 (US version of the low cost S20 smart plug), and two Sonoff 4CHPRO R3 (4 channel relay, the Pro version with isolated relays).
In this project, I setup a proper OctoPrint server for my 3D printer, and integrate it into the enclosure I already built. I also add some RGB flair to make it look nice, and set it up to integrate with Home Assistant. I’m very pleased with the results, so follow along for how I set it up.
Building the Circuit Since I want to use WS2812 LED strips to show the printing status, I need a small circuit.