New Projects – Pi-Hole, Grocy & Automation
I've been very hesitant to jump back into the home-server game over the past few years. I was very much into it over a decade ago, when it was a big chore to automate lights or other things in your house and you mostly needed proprietary hardware and software.
I lost interest because I didn't care for the proprietary aspect of it. And I thought we would all just move to the cloud; everything would be in the cloud, I had resigned to the idea that was just the way it was going to be.
And for the most part, most people that want to have what I call "cool and useful" tech, like home-automation, or pantry-inventory, are in fact using cloud services, or apps. There's an app for everything; nevermind how much of your information they collect!
Despite being a technophile, I do not trust most online services. Ring cameras? no, thank you, they share your video with anyone basically. I've been very slow to adopt any sort of "smart" device into our homes, no Siri, no Alexa. We use some Google home devices, but we unplug them when not in use.
I don't like the privacy compromise.
But I've now been learning a lot about open-source software and hardware that replicates pretty much all of the "smart devices" functionality that is commercially out there but with no-cloud and no-internet-required parameters. There's even a "Siri" or "Alexa" type of assistant called Genie.
This is good! Free, open source, private. Good!
Ultimately, I would like a home server/network setup vaguely resembling this:
- Home Assistant server for automations,
- A big NAS (50+ TB),
- A media server accessible easily from any screen device in the network.
- Movie Collection
- Music Collection
- Locally downloaded podcast subscriptions
- Multi-cam monitoring & security system with "a doorbell feature."
I want to add a media player like Kodi maybe, and a Google photos replacement like Libre. For now, I have a Home Assistant box, Pi-Hole and Grocy running. They're all running on individual virtual machines directly on my laptop with Virtualbox.
This configuration obviously is not ideal since the services are unavailable if my laptop is unavailable. But at least I am getting to play with them and learn what they can do.
Wouldn't it be cool to integrate Grocy into Home Assistant and have Home Assistant automatically add items to a grocery list the moment you consume one of your must-have ingredients? This could be done for food ingredients or household consumables like dish soap or laundry detergent.
Take it a step further, imagine integrating a computer in your car connected to the ODBII sensor which in turn alerts you of upcoming oil change and adding oil to your shopping cart, or tells you when your car has any kind of trouble or needs some sort of service.
For a car computer, I would like:
- List of obvious things like Navigation, Bluetooth calling, etc.
- A big-screen android display.
- Automatically download podcasts, and select videos to local storage when connected to the home's WiFi.
- Run up to 24+hours on a dedicated battery; the battery automatically recharges while driving.
- ODBII integration.
- Integrated with data/cell service, so it should be able to accept a SIM card.
- Would be nice to have the device be a hotspot as well (but this is debatable).
- Integrate various sensors and monitors to a dashboard.
Those are lofty goals, but it's fun to imagine those. Back to what I have for now.
The easiest to start was PiHole. I setup a small Virtual Machine, installed basic inimial ubuntu linux and then followed the Pi-Hole instructions.
Cox, my ISP does not allow me to change DNS servers on the router we have from them, so for the time being I set a number of devices to use the Pi-Hole by configuring their own network settings.
Ideally Pi-Hole would be the DNS service for all devices network-wide, and this would then prevent ads from getting to any device within the network. But using it only in a few devices lets me learn the system and also fine tune it before making all the devices be forced to use it.
So far it is working ok. At first, the percentages of "queries" blocked was under 10%. After googling around a bit I found that there are lists all over the place which you can include in your blocklists. This helped bring that percentage to about 15% and so far it's been around 16 like the screenshot shows.
Pi Hole is cool, but it's far from perfect.
I would still recommend using Brave with the shields up as the default browsing environment for most people. Pi Hole's purpose is for all the other devices that cannot use Brave as a browser, the main example is my TV.
Also, sometimes I have to use Firefox, or Chrome, heck I use Vivaldi and Opera in a regular basis too and I always miss Brave's ad protection. This is where Pi Hole helps a bit by just blocking access to ads altogether.
What about Grocy?
Grocy is an inventory control system for your kitchen. It's perfect to help you manage your pantry, fridge, and freezer. If you keep it updated, you can quickly see what you have in your house when you want to make dinner. It can also keep track of chores and the members of the family that are assigned to each chore.
Grocy lets you keep track of your recipes and it can easily generate shopping lists based on recipe ingredients that are currently missing from your pantry. It can also generate shopping lists based on pre-determined thresholds. You could program it to always have 2 jars of pasta sauce on hand, so when your inventory goes lower than 2, it automatically adds pasta sauce to your shopping list.
The downside of Grocy is actually using it. It's been a challenge getting anybody besides me in the house to use it. I think the solution for this will be some NFC stickers that we can just trigger with our phones.
There is a way to integrate Grocy with Home Assistant, so it can alert you when things are low or remind of chores that need to be done.
That's it for now.