Colour-changing RGB strips are fun! While there is nothing wrong with buying a commercial kit, I found that they were quite expensive for what I wanted to do. Here we are going to use WS2812B LEDs in a strip to achieve individually addressable RGB lighting. All that just means that we can tell any LED on the strip to do something different than the rest, which is really cool for effects! Let's see how to build our own controller so we can control them from Home Assistant!
Home Assistant is a popular DIY platform for building a smart home. It allows the use of almost any smart device in the world via the integrations that are either part of the core software or released by the community. Unlike many of the other smart home controllers, there is no cloud-based solution allowing remote access provided out of the box. That's why we are going to be walking through the process of setting up remote access in Home Assistant, step by step.
HomeKit is great. It allows anyone to effortlessly set up a smart home entirely offline without the usual hassle of finding a hub that uses an offline protocol and operates without connecting to the cloud. These benefits are typically reserved for those with a HomeKit hub such as a HomePod or an Apple TV. However, there is a way to use a Raspberry Pi as a hub allowing the use of compatible devices without needing an official HomeKit hub.
The idea behind smart buttons is pretty cool, you have a button that you can place anywhere, and pushing it will communicate with a controller that can make anything happen within your home. The problem is that many of these smart buttons also cost an absolute fortune. So today we're going to build a smart internet button ourselves that will cost less than 10$ to build per unit, and possibly even less if you buy all the required materials in bulk to build a few of them!
In a previous post, we demonstrated building a voice assistant out of open source components. One of the issues that we didn't address at the time is that there are still dependencies on the cloud for some of the critical functions, such as the Speech to Text engine. Here we will see how we can modify that system to operate (almost) completely offline.