Home Automation

My goal is to keep my home automation as local as possible. I have a few rules:

  1. Everything has a manual override. If we lose internet, everything should still function as much as possible. This means occasionally purchasing extra hardware that seems silly - until all my stuff still works when we lose power/internet.
  2. Nothing is network-enabled that can grant access to my home or burn it down.
  3. Ideally, everything can be managed via Home Assistant.
  4. Everything should be local wherever possible, i.e. no internet access required for functionality.
  5. Avoid shipping any data or network access to any external company.
  6. Z-Wave over Zigbee. (This isn’t really a rule anymore, as I have receivers for both. I like the idea of Z-Wave better but it seems Zigbee is much more popular and less expensive.)

As always, rules are made to be broken, and this is aspirational where viable alternatives simply don’t exist.

Everything operates via Home Assistant, using Neon and OpenVoice OS (OVOS) as my smart assistants. These two products took over for Mycroft when it went out of business.

Built-in Alexa or Google Home is a dealbreaker for me on smart hardware.

Smart Power Strips

TP-Link Kasa HS300 Used this script to set up local internet, connecting to the strip’s local wifi and executing:

power_strip = SmartPowerStrip("192.168.0.1")
power_strip.set_wifi_credentials("MYSSID", "MYPASSWORD", "3")

Blocked tplinkcloud.com via my local DNS to prevent the power strip from reporting home or receiving updates. Eventually I’d like to flash the firmware altogether but that’s going to be more work since they aren’t using standard chips.

Smart Plugs

Setup:

Smart Doorbell

Eventually I want to block the doorbell’s outbound access. I’ve also set up better alerting with Home Assistant, Node-Red, and Telegram.

HVAC

Downstairs Lights

Home Lights

  • Martin Jerry Tasmota Switches
    • I love these things - great price, they come with Tasmota installed by default, easy to hook up, can’t beat it! My only complaint is that they don’t have a slim version so I can’t fit two in a two-gang box, but their support said that should be on the way.

Home Entertainment

Cleaning

Core Services

  • Synology DS920+
    • In addition to storing my data and media, it’s also running Plex, Twingate VPN connector, and a Kubernetes controller node.
  • Home Assistant, running Home Assistant OS on an x86 Mini-PC
  • Zooz 700 Series Z-Wave Plus S2 USB Stick
  • Home Assistant SkyConnect for Zigbee and Matter-over-Thread support
  • Google Home Mini or Nest Mini in each room, with the microphone switched off and no reporting services, using Home Assistant to set up AirPlay for each of them off their Chromecast services. This allows me to use them as HA media_player sources and send messages throughout the house for various automations. Inexpensive, reasonable quality for TTS voice messages, and the only commercial smart assistant I could find with a real hardware microphone switch.
    • One day I’ll replace these with OVOS/Neon devices, but for now they’re a good stopgap.
  • Gaming laptop with an NVIDIA 3070 GPU, running Windows 11. I use this for gaming, but I also use it for machine learning (local LLMs) and other tasks.
  • Node-RED for automations in Home Assistant
  • Google Wifi - AC1200 - Mesh WiFi System
  • A Raspberry Pi 3B+ print server running Ubuntu 22.04 lite. Since I rarely use Windows at home but we almost exclusively have Apple devices, the printer is served via CUPS. Native AirPrint support and now I can wirelessly print from every device I use regularly at home, including our phones and iPads.
  • Monoprice Delta Mini 3D Printer - Got it from a friend who had swapped out a part and it stopped working, so I fixed it up and now I’ve got a nice little 3D printer!
  • Local container registry, running in my Kubernetes cluster
  • Twingate for VPN access to my home network. I love this dead-simple and powerful VPN solution.

Yes, I realize using Google for my mesh wifi is in violation of a lot of principles in my home automation. However, it seems to be the least invasive of the mesh wifi options available. Nobody is offering mesh wifi at any kind of reasonable rate without shipping data off to who-knows-where. The devil you know is better than the devil you don’t - but I’m open to suggestions!

Outdoors

I’m using the following setup for permanent ridgeline LED lighting on the front of my house:

  • Pro Pixel Trim with Lights Pre-Installed. When I bought these, they had an “HD” 10 pixels per meter option, so I have a lot of light density. It doesn’t look like they still offer that. I’m using xConnect pigtails.
  • Ready-to-Run LEDeez from wantmoore.tech. I was asking this gentleman a lot of questions in the Digiblur Discord and he shared this offering. As close to plug and play as you can get with these kinds of custom setups, and well worth a little extra cost to avoid the hassle of discovering all the little details you missed and need to order after the fact.
  • WLED to control everything. Tons of presets, easy to set up, and it’s open source. Easily managed by Home Assistant or by the WLED web interface.

Triggers

Voice Assistants

Personal. Private. Open source. I love these things. I have one in my office, one in the living room, and one in the bedroom. I use them for everything from setting timers to playing music to controlling my lights. I expect to set up HiveMind to integrate more tightly with all of my other equipment.

I’m also experimenting with Neon’s Diana system as the central nervous system of my voice assistant. Using Iris to connect to Diana, it makes Neon available anywhere - laptops, tablets, phones, etc - by the use of the browser web satellite. Iris can also be used as a lightweight headless voice system to run on low-powered hardware. More to come on this as I experiment with it.

Upcoming

  • Shelly relays, which I can use to trigger Scenes and Automations in Home Assistant via Node-Red
  • Homemade motion sensors
  • Raspberry Pi clusters to perform tasks and process data, using the Synology as long-term storage
  • Software-Defined Radio set up on one of the Pis (right now, it’s plugged into the print server, but not doing anything)
  • Local Git setup with CI/CD with Forgejo
  • Ansible
  • Take the OVOS software services and decentralize portions of them, so I can have minimal setups that just handle input/output and the rest is processed on my home network