HomeKit Everything

I’m a huge fan of single-day household projects. Better light switches, a new faucet, etc. Small things that make our home nicer or easier.

A few years ago I wrote about using HomeKit + Homebridge to automate turning our HVAC off and back on so we could hear the tv. Since then I’ve done a handful of other projects that get used every day, such as:

  1. Using HomeKit to avoid walking down two flights of stairs before bed
  2. Fixing a design problem with my bedroom closet
  3. Adding a switch to HomeKit to turn on my desktop computer

There are even smaller projects like using an adapter so that I can airplay to my stereo, or turn on my kitchen lights with my voice to make washing dishes easier.

I really enjoy the feeling of a project that “just works.”

Front Door Security


I live in an apartment with two flights of stairs. You walk up stairs from the front door to the main living space, and then another flight up to the bedrooms. This is fine except when you’re laying in bed at night and wonder if you’ve closed and locked the front door. Then those stairs are awful.



My home was wired with a built-in security system. Using the adapter board I was able to expose the states of hard wired sensors into HomeKit to report if the door is open or closed.

The smart lock when integrated with HomeKit provides lock state.

Knowing the door is closed does not tell you anything about if it’s locked. Knowing the door is locked isn’t helpful if it was locked open. With these two pieces of information I configured a shortcut to read both values and respond with a specific phrase to let me know that everything is okay.

View the automation

I can now tap the shortcut on my phone, or ask Siri “Hey Siri, is my home secure?” and I’ll immediately know if it’s both closed and locked. I can trigger this with my phone, through our HomePod before bed, in my car with CarPlay while driving away, etc. This completely solved the nagging questions.

Closet Lights


Our bedroom has a walk-in closet with a light switch outside of the door on the hinge side. This means that it’s impossible to turn on the closet lights without lighting up the main bedroom. You can’t reach around a mostly closed door.

For about a year my wife or I would use our cell phone flashlights in the closet while getting ready early to avoid waking the other. It was far less than ideal.

If I just put a new switch inside the closet, it would also be on the hinge side which didn’t feel natural when entering the room. I couldn’t run wiring to the right side of the door without going up and around the doorframe. I couldn’t put a normal smart bulb in without having an always-on switch outside of the room (or removing the switch completely).



I replaced the external light switch with a Caseta Smart Dimmer so that the physical switch would still control the lights. Inside the room I mounted the pico smart remote (companion for switch) at normal switch height where your hand would naturally reach when walking in the room.

This is exposed to HomeKit with the Caseta bridge, but that’s not really needed. The built-in switches cover 99% percent of our usage. Caseta was the only hardware configuration that would let us keep the original wiring as the control for the light without having to remove or wire a ciruit always on.

PC Power


I have a Windows PC in my entertainment center. It’s a gaming computer + Quicken machine. I use Quicken for Windows from my mac via RDP. When I want to use Quicken, I have to get up to turn on the computer. It’s minor, but it means that I cannot just open Quicken like other applications on my computer. For many reasons™ I don’t use Quicken in a VM.



To avoid having to get up to turn on the computer, I use HomeKit to trigger a WoL packet to be sent to the machine. The Homebridge extension also regularly pings the computer to report if it’s on or off.

All together this gives me a switch in HomeKit that I can use to turn my computer on.

Expanded steps

  1. Connect the computer to the router via powerline adapter
    I had no way to run a direct ethernet line
  2. Enable WoL in the computer’s BIOS
  3. Enable support for the network card in device manager
  4. Set designated IP/MAC address lock in router
  5. Increase network priority of wifi to make sure wifi is used once booted
  6. Enable ping in Windows
    So that the homebridge-wol extension can check on/off status
  7. Hide ‘shutdown’ from the Windows start menu
    Windows 10 only supports WoL from sleep
  8. Configure the Homebridge WoL plugin using the computer’s mac and IP addresses