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.
The situation seems so familiar: you have an air conditioner unit that uses an IR remote, but you want to control it via your own thermostat. At least then you could manage it remotely or start cooling the air before you get home from work. This was the situation I was in, and to solve it, I built a temperature sensor with an onboard IR blaster, allowing it to also send commands to my portable air conditioner. All of this can be done for under 20$ as a relatively simple DIY project.
For a very long time now, I have wanted to be able to sync my "bed time" alarm within the iOS clock app with my Home Assistant automations. It would be so nice to only need to specify my alarm in one place instead of multiple or having to abandon the app I've used for so long. I always thought this was impossible, but I have recently discovered that the Shortcuts app on iOS can be used to do this task, and so much more!
Home Assistant is really nifty software that allows anyone to create what is essentially a DIY smart hub, capable of controlling a wide range of devices from practically any standard that exists. One of the issues with this, however, is that a smart hub acts as a home server, coordinating all sorts of events, actions, and of course providing users with an interface to control everything. How do you use the Raspberry Pi Zero to solve this problem? And is it a good solution? Find out here!