I enjoy tinkering with home automation and smart home technology. As someone who works in computers, I like the ability to program some of functions in my house. While a lot of smart home products come with a lot of built in functionality, sometimes there are gaps that exist that need a little help connecting.
This is where the raspberry pi comes in! Have a dedicated system that does not take up a lot of space or uses a lot of energy that runs custom code that connects to smart home devices. There are a few operating systems for the pi designed for this purpose. The one I use is an open source OS called Home Assistant. This connects into a lot of integrations that may not be compatible with each other and allow them to talk to each other. It also gives a dashboard that gives a bird’s eye view of everything in the house.
It also has a community of developers that add support to other applications that add cool functionality. One of my favorites is an app called Node Red. This allows you to design code flows by creating flow charts which is great if you don’t have much coding experience.
Despite how awesome Home Assistant is, I also like to have another pi specifically for docker containers running a few services and custom code. The two main things I have on this secondary pi is a MySQL and MQTT server. The MySQL database gets some data for miscellaneous things I track in the house like what groceries are in stock or when food goes bad. MQTT acts as a simple messaging queue for low level devices in the house. This allows me to decouple things like my lights from my light switches for other things to control them like voice assistants.
TLDR: If you enjoy/have smart home devices and want more control, I would recommend picking up a raspberry pi and start tinkering. Happy hacking!