What I’ve Built After 7 Years Coding a Smart Home
<p>I’ve been working on KAREN (<em>a Spongebob Squarepants reference for the uncultured</em>) for a while now, but I’ve never documented what she actually looks like or how I’ve built her.</p>
<p>If you are thinking of having a crack at building your own, I hope this series can be of some help. I’ve documented a really high-level overview of the three core components of a smart home system— Integrations, Interfaces, and Infrastructure.</p>
<h1>Integrations</h1>
<p>The best place to start is in the middle. Karen is essentially a big integration API server running on a Raspberry Pi 4. The central web server connects all the different products and cloud APIs together and presents them all as a single interface for consumption.</p>
<p> </p>
<p>Azures Application Insights showing the integrations between the API and everything else</p>
<p>I consume a mixture of off-the-shelf products (like smart lights and heating) with various online services (such as the weather or local bus times) and integrate them with the system. The key for me, when selecting products, is an easy-to-use and stable API. For something like the smart lights, this is easy — the API is published by Hue itself. However, for other unofficial APIs, it's definitely more of a struggle. Often open source projects are started but not kept up to date, or the official product changes suddenly, and the SDK breaks. Picking the <em>right</em> product for your smart home will save you hours of pain. Ripping out a problematic integration sooner rather than later will also save you time.</p>
<p><a href="https://betterprogramming.pub/what-ive-built-after-7-years-coding-a-smart-home-4c35a63beecd">Read More</a></p>