<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Home Automation on Feld Thoughts</title><link>https://feld.com/tags/home-automation/</link><description>Recent content in Home Automation on Feld Thoughts</description><image><title>Feld Thoughts</title><url>https://feld.com/og-default.png</url><link>https://feld.com/og-default.png</link></image><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 03 Sep 2026 23:19:46 -0600</lastBuildDate><atom:link href="https://feld.com/tags/home-automation/index.xml" rel="self" type="application/rss+xml"/><item><title>Overwatch: One Home Automation Dashboard to Rule Them All</title><link>https://feld.com/archives/2026/09/overwatch-one-home-automation-dashboard-to-rule-them-all/</link><pubDate>Thu, 03 Sep 2026 23:19:46 -0600</pubDate><guid>https://feld.com/archives/2026/09/overwatch-one-home-automation-dashboard-to-rule-them-all/</guid><description>Our home automation vendor&amp;#39;s answer to a broken shade app was to replace the whole system. I decided that was bullshit and spent a Sunday building Overwatch instead - one web app for multiple houses, every device, from anywhere.</description><content:encoded><![CDATA[<p><picture><source srcset="https://feld.com/archives/2026/09/overwatch-one-home-automation-dashboard-to-rule-them-all/hero.webp" type="image/webp"><img src="https://feld.com/archives/2026/09/overwatch-one-home-automation-dashboard-to-rule-them-all/hero_hu_28d1e3cecb92013.jpg" alt="The Aspen page in Overwatch - a blue daylight wash behind the house name, badges for climate, lights, shades, cameras, and solar, a live Deck Camera thumbnail, and a grid of room tiles each showing its temperature and how many lights are on" loading="lazy"></picture></p>
<p>A week ago, I finally hit my limit on my home automation misery in Aspen.</p>
<p>When we built this house a decade ago, we installed what was then considered a high-end home automation system. We replaced all the network gear about five years ago. While it works well overall, there are lots of little annoying things, including at least five different apps in this house alone. One of them is a <a href="https://www.savant.com/" target="_blank" rel="noopener noreferrer">Savant</a> system that both Amy and I are sick of because it&rsquo;s so pathetic.</p>
<p>But the breaking point was a little one. We have shades from <a href="https://jgeigershading.com/" target="_blank" rel="noopener noreferrer">J. Geiger</a>, which we love.</p>
<p>For a while we controlled them with a few buttons on a <a href="https://www.crestron.com/" target="_blank" rel="noopener noreferrer">Crestron</a> iPhone app. A while ago, when Crestron new-and-improved everything, they removed the old app from the App Store. For some reason, it&rsquo;s still on my iPhone, but not on Amy&rsquo;s.</p>
<p>A few years ago, Savant acquired J. Geiger. Naturally, we assumed that the J. Geiger shades could be controlled by the Savant app.</p>
<p>So, for most of the summer, we&rsquo;ve been working with multiple companies to try to be able to remotely control the J. Geiger shades. Cumulative time spent with vendors: probably at least eight hours.</p>
<p>No one could figure it out.</p>
<p>Our home automation vendor (who we like) proposed that we spend way too much money to upgrade everything in the house. When pushed, they backed off to less, but still way too much money to replace Savant with <a href="https://www.control4.com/" target="_blank" rel="noopener noreferrer">Control4</a>, since Control4 apparently works better with J. Geiger shades. I considered that for 24 hours because we have Control4 at our house in Tucson and it works pretty well, especially our ability to control things in the house when we aren&rsquo;t there.</p>
<p>Sunday, when I woke up, I decided this was all bullshit. All the individual pieces in our house work just fine. So, I decided to build a universal app that controlled all the devices in all our houses, would work remotely from anywhere, and had a single, web-based user-interface that could work on any device.</p>
<p>I call it Overwatch.</p>
<p>I spent all day Sunday on it and have been working on it at night the past few days. While Claude Code is my daily driver, I decided to use Fable 5 (and then 5.1 when that came out) since I expected there would be plenty of thorny things. It has been awesomely fun - and successful, other than occasionally getting downgraded off Fable 5.1 because its cyber safety filter decides that code which talks to security panels and cameras looks suspicious. When that happens it drops to Opus 4.8, which isn&rsquo;t even my default - that&rsquo;s Opus 5. I have no idea what made it pick 4.8. The joy of Claude randomness.</p>
<p>Now you may ask, &ldquo;Why don&rsquo;t you use <a href="https://www.apple.com/home-app/" target="_blank" rel="noopener noreferrer">Apple Home</a> or <a href="https://home.google.com/" target="_blank" rel="noopener noreferrer">Google Home</a>?&rdquo; I&rsquo;ve tried. They suck. They are each another application that handles a few things but doesn&rsquo;t really work. Almost nothing in my houses talks HomeKit. And Google Home is just a pathetic joke. Have you ever tried to connect an <a href="https://www.elkproducts.com/products/m1-controls/" target="_blank" rel="noopener noreferrer">Elk</a> security system (apparently a favorite of my Aspen and Tucson home automation people) to either of them? Good fucking luck.</p>
<p>Yeah - it would have been nice if I&rsquo;d used the same hardware and software everywhere. But, even then, I&rsquo;d be living in a world where I&rsquo;m constantly asking the vendors to change things for me.</p>
<p>Last year, I got our Tucson integrator to give me a login to the Control4 dealer system. I spent a few days making minor adjustments to our system and then decided I had way better things to do with my time than fight with the tragically crappy Control4 software in Parallels on my Mac. I had a similar experience with <a href="https://www.lutron.com/" target="_blank" rel="noopener noreferrer">Lutron</a>.</p>
<p>I mean - sure - ok - if it&rsquo;s 2005 this software is pretty good, but it&rsquo;s 2026.</p>
<p>Since I have a random collection of hardware across multiple houses, I accepted that each layer was going to be different. The next few paragraphs are a boring list of vendor names, so skip ahead if you want - all you need to know is that none of these systems talks to any of the others, which is <a href="https://feld.com/archives/2025/11/enshitification/" target="_blank" rel="noopener noreferrer">enshittification</a> in action. I long for the halcyon days of early Web 2.0 when it was predicted that all APIs would work with everything and data and control would belong to the user. Oh well - that didn&rsquo;t happen.</p>
<p>Let&rsquo;s start with cameras. We have fifteen of them across multiple houses from three vendors with no interest in each other: eight Google Nest, five <a href="https://www.ui.com/camera-security/" target="_blank" rel="noopener noreferrer">UniFi Protect</a>, and two Ring. An open source project called <a href="https://github.com/AlexxIT/go2rtc" target="_blank" rel="noopener noreferrer">go2rtc</a> speaks all three and hands my browser one kind of video stream, so Overwatch only has to know go2rtc, and it cost me nothing.</p>
<p>The new much too expensive network was going to &ldquo;fix&rdquo; a bunch of things that work fine on their own. Aspen is Lutron, J. Geiger motors on a Crestron processor, Nest thermostats, an <a href="https://enphase.com/" target="_blank" rel="noopener noreferrer">Enphase</a> solar inverter, Sonos, and Elk. Tucson is Elk, UniFi, and Sonos. Each has a bunch of other random things (e.g. a pool controller, garage doors).</p>
<p>Boulder and Basalt are the small ones - Boulder has three Nest cameras and three thermostats, and Basalt has one Ring camera. Both are entirely cloud services, which sort of makes some of it a little easier.</p>
<hr>
<p>When I sat down to work on this on Sunday, the key design requirement was that we be able to control anything from anywhere in a web browser on a computer or an iPhone.</p>
<p>The magic trick to that ends up being one always-on computer in each house, with <a href="https://tailscale.com/" target="_blank" rel="noopener noreferrer">Tailscale</a> as the bridge. I end up with everything on one private network no matter where they, or we, physically are. This gets rid of the need for cloud APIs, although they help. Tucson needed a Raspberry Pi, and Aspen needed nothing, because a Mac mini I already have running in the house does the same job.</p>
<p>Boulder and Basalt need nothing at all, since there is nothing local in either one to reach - they&rsquo;re only cameras and thermostats, and both of those live in somebody&rsquo;s cloud. I&rsquo;ll put a Raspberry Pi in each place just as cheap insurance on the cloud stuff and to see if there are other devices in either place I want to control.</p>
<p>Next, I found <a href="https://www.home-assistant.io/" target="_blank" rel="noopener noreferrer">Home Assistant</a>, an open source project that gave me a great starting point for many of the integrations. My brother Daniel, who is much better at UI than I am, found a few potential themes for me that were open source so I was able to use them as the design for the app.</p>
<p>I didn&rsquo;t want to blow my brains out around security, so all the security needed to be living on the server in each house, behind Tailscale, so nothing with a secret runs in the browser. The browser asks the server, and the server asks the house. While I&rsquo;ve had to fight a little with API keys and secrets, I&rsquo;m used to that by now.</p>
<p>I then told Claude Code to go to work.</p>
<p>I&rsquo;ve been systematic about each house and system type, working through them one by one. My Claude Code infrastructure (which the cool kids are calling a software factory, and the really cool kids are calling a dark software factory) is very built out, but I was curious if it would work with a completely different type of app than the ones I&rsquo;ve been building at <a href="https://intensitymagic.com/" target="_blank" rel="noopener noreferrer">IntensityMagic</a> and <a href="https://intensitylabs.dev/" target="_blank" rel="noopener noreferrer">IntensityLabs</a>. It has worked great, and Fable 5.1 has been a nice level up from both Opus 5 and Fable 5 while being surprisingly less token hungry than I expected.</p>
<p><a href="https://playwright.dev/" target="_blank" rel="noopener noreferrer">Playwright</a> is another magic trick and with minimal effort Claude has been able to build a web interface that works nicely on a browser on a computer, phone, and tablet.</p>
<p><picture><source srcset="https://feld.com/archives/2026/09/overwatch-one-home-automation-dashboard-to-rule-them-all/mobile-room.webp" type="image/webp"><img src="https://feld.com/archives/2026/09/overwatch-one-home-automation-dashboard-to-rule-them-all/mobile-room_hu_bbce6c00fdc563bb.jpg" alt="The Aspen master bedroom on a phone - five Lutron dimmers with sliders at 100 percent, a Nest thermostat reading 71 degrees, and the Sonos speaker for that room, all in one sheet" loading="lazy"></picture></p>
<hr>
<p>I&rsquo;m close to going from read/control only on all the devices to being able to reprogram them.</p>
<p>I&rsquo;m comfortable this is going to work fine with Lutron as I&rsquo;ve tested it enough now that I&rsquo;m not worried about breaking anything. We&rsquo;ll see if I can build a better UI for Sonos than the one Sonos has, although I don&rsquo;t think that&rsquo;ll be very hard given how fugly and confusing the current Sonos app is.</p>
<p>The whole thing cost me one twelve-hour day (Sunday) and four days of evenings. And, now I&rsquo;m done with 17 apps on my phone controlling all the different shit I have to deal with.</p>
<p>I have no idea what I&rsquo;m going to do with this beyond use it and try to delight Amy with new features that she asks for.</p>
]]></content:encoded></item></channel></rss>