Why?
I’ve been following this thread and been getting ideas for a while. But I think I wanted to share what I built. I have a few aquariums in my house and I actually run a small business cleaning and maintaining tanks around town! A lot of fun. I wanted to make something that I can use at home and on the job that is affordable and is Home Assistant friendly. Starting out, I was experimenting and using Reef-Pi to control my tank, but that required a whole lot of custom and DIY stuff for power control, ph, Salinity and dosing. I wanted Home Assistant to be the brains of the control, and integrate with countless other things. Then I looked into ESPHome and its automation potential with HA. I then obtained a 3D printer and decided to see what I can build using some devices and wires sold on Amazon.
What?
I put together something I call AquaPi, powered by a ESP32 and connected to Home Assistant. It has a few I2C probes and sensors to monitor Temperature, pH, Salinity, Dissolved Oxygen, water level and potentially more. Using these probes, and your favorite, but HA compatible, smart plugs/outlets, you can turn things on/off (like an ATO pump or heater) based on water level, temperature or whatever else you want to Home Assistant to control. I’m trying to make something customizable, modular, and affordable. I can’t integrate things that use apps to control, like Red Sea or Fluval, but this is a nice device to supplement those kind of smart things.
How?
Take a look at my GitHub for more information, maybe help me out??
UI
I’m in the process of making the UI pretty, here are some examples:
AquaPi
And some blueprints I use:
This script is intended to act as a feeding routine for your aquarium fish. You can choose multiple switches to turn off, such as return pumps, wave makers, skimmers, etc., and set the amount of time for feeding, typically 10 mins. The script will turn off the switch(es) for the set time, then turn the them back on automatically.
This script is intended to dose your aquarium for a certain amount of time. Choose an entity to turn on, typically a 2 part Doser @ 1.1 mL/min, then set the amount of time to dose for. The script will turn on the target switch for the set time, then the switch will turn off.
This automation is intended to create an ATO (Automated-Top-Off) automation for your aquarium, or anything else that needs to be refilled. You would use the AquaPi Water Level sensor to determine the presence of water and control a water pump via switch when necessary. The automation will turn the selected switch on when the Water Level is Low, and off then when the Water Level is Normal or High. By default, the switch will automatically turn off after 5 mins of being on to prevent overfill.