Just a tiny status update for everyone: I promised to start working on a Quick Start Guide / HOWTO get started with HA as an Aquarium Controller from scratch, detailing the whole process of steps soon, and just wanted to say…
The initial work on that has begun. And here’s how I’m going about it, as well as a bit of historical refresher:
Back between March to May of last year, I started looking at using HA as an Aquarium controller. Prior to announcing it on the thread here, I had only seen one or two other people on the Internet that were using “Home Automation” tools for aquarium management, despite the underlying hardware being very similar / exactly identical. And they weren’t using Home Assistant.
Clearly, at the time, I saw myself as a little bit of an outlier in this regards, but with no more than a week or two of “playing around” with Home Assistant for my home control purposes, I felt it could already do better than what I was using currently at the time - something I hobbled together myself 7 years prior, and did the job, but my wife never could use it / administrate it. It was all Linux CLI and “crontab” executed. Back then, there wasn’t support for my Neol and APC Power Bars and still isn’t, but there is support for SNMP now and that’ll work for APC and I’m almost sure I can make my Neol power strips work using native HA functions too. Back then, I couldn’t figure out how to make a component, so I just made dozens of externally called scripts to add the support where I needed.
Automating various functions of my aquariums had a lot of dependency on those external scripts. Without them, it just wouldn’t have been possible to get this far down the road. But with them, I couldn’t be sure that it would all fail some way gloriously and spectacularly.
As I do with most things, I hoped for the best, and expected (and planned) for the worst. When implementing the Automatic Water Change function or water top off functions, I worried endlessly those first weeks. What if somehow an automation accidentally triggered while I was alseep? What if a programmatic error caused the downstairs to flood & my wife discovered it in the morning? Would she ban HA from the house then? What if all my ideas about using HA were wrong. To an extent, that’s a big reason why I hesitated posting my full config file here, further, I wasn’t sure I could commit to supporting others regarding it, not just yet.
A full year later, and my view on all of that has done a full 180 degree turnaround. I’m literally over the moon with confidence that HA is up to the task. If you missed the post from almost a year ago - we barely had HA installed and running for 3 weeks (I think) when HA woke us up and got us out of bed in the middle of the night to tell us that the circuit breaker for the entire downstairs (and aquariums) had failed, the instant it happened. Had we awoken 8-10 hours later, we would have had hundreds of dead baby clownfish on our hands & a real mess to clean up (you can’t just turn on the pumps when the power comes back on in a multi-tank system, where one or more tanks go nuclear due to blackout conditions.) In two more instances later that year, HA would again “save the tanks” from otherwise certain disaster, including when a submersible heater began to leak and tripped a circuit breaker. The power and temp logging performed by HA allowed me super crazy easy and quick determination which heater was even the faulty one, removing the need for hours of diagnostic testing to determine what what was exactly even at fault, so I could remove suspect device from the circuit. (BTW, this was another advantage of having the “controlling” HA instance not on the same power circuit as your aquariums, but remotely installed on it’s own power circuit & relaying all sensor / monitoring data and commands through MQTT to a “slave” Pi: I could look into the HA log data to determine what failed BEFORE I tried switching everything back on.)
I have lost count the number of times HA has detected a stuffed DSL / Cable modem and rebooted it, but the most instrumental was when I was halfway around the world in India this past March, and I got a notification that the modem responsible for my VPN had become stuffed, and HA was going to attempt to reboot it. Next message I got was that it had been successfully rebooted and was back online.
The winning mark of approval came from my wife however. And it came in just last month. When we got our electrical year end summary. What she likes most of all is how HA demonstratively helped us save on our electrical bill for the first time ever - both in regards to the electrical management of the Aquarium and the whole house. Second to that, she likes all the “dedicated buttons”… both in software and in hardware I have made for her, for various tasks and “stupid things” that are easily automated for her.
Now, HA has a lot more support and native support actually does translate into better performance. And I plan to jettison my dependency on those external scripts on all my RaspberryPi’s and go with native support for every function I can. And rather than migrating my entire configuration.yaml file (which by the way ‘vim’ reports 13K+ lines when I open it) - I’m going to rebuild all of that from scratch, in theory. In practice I’ll be cherry picking and cleaning out lots of old / disused / forgotten functions, scripts, comments and garbage I probably left behind over my first year with HA and start with a “freshly built” config, which I’ll be turning around and making part of my HOWTO guide and sharing on Github. And I’ll kill the monolithic beast this config file currently is and make it better understandable, digestible and palatable.
At the end of the rebuild / conversion / upgrade, I should have a network with 5 instances of HA (Hassbian builds) running on 5 different Pi’s distributed across 4 different floors (and electrical circuits) controlling my aquarium operations and house automation. And a HOWTO guide (including full blown code / config examples) to publish and share with others on here.