Aquarium Automator

A couple of months ago we bough an aquarium/ fish tank with some small fish for our kids. It came with a air pump, thermostat, a LED light and a ton of instructions - the air pump should be always on, the LEDs - not more than 8 hours per day (but you should start with 6), the temperature should be so and so… it all called for some automation :slight_smile:
I put together a NodeMCU, a double relay, a 1-wire temperature sensor and some power plugs to create the Frankenstein you can see on the attached picture. Add some very simple ESPHome code, a couple of automations and we’re set.
I’ve tried to document it as best as I can on a github repo.
Any feedback is more than welcome :slight_smile:

5 Likes

:+1:

I did something very similar but a bit more complex (more features). I don’t think I have it documented anywhere tho but if you have any questions feel free to ask.

Thanks @finity
I next plan to try something with the daily/weekly chores, i.e. feeding the fish and cleaning the fish tank.
Any ideas in that direction?
I can easily setup a binary_sensor that is flipped every i.e. 7 days that says the fish tank needs to be cleaned and then if the boolean is on, turn on a red light or send a notification.
I’d like to be able to switch it back off when the task is complete, but I’d like to do that via my kids’ HomePod Mini/ Siri, because this is the most natural way for them to actually use it.
I need to expose the binary to HomeKit and then try to make Siri turn it off.

There are many ‘chores’ setups described on this forum. Maybe search on ‘chore’

I have a zigbee button that supports various combinations (single, double, hold) that I use to “manually” turn the light on or off if needed (turns on/off the zwave outlet for the light).

I also use it to set the tank to “feed mode” (turns on the light, turns off the filter and the wave heads if on). Then it sets an input datetime in HA that the fish were fed. I always try to feed them in the morning so if by 2 pm that day they haven’t been fed I get a notification.

I have feed mode get turned back off in 10 minutes so everything that should be on turns back on.

but actually lately I’ve been cheating since I built an automatic feeder for vacations but it works so well that I use it all the time. It feeds them every day at 9:30 (programmable via HA) and I just fill the feeder every 11 days. :grinning_face_with_smiling_eyes:

lastly, using the hold button I turn the tank to cleaning mode which turns everything off (light, filter, heater, air pump, power heads) and pauses all of the automations so nothing comes on with the water level low while cleaning.

2 Likes

Hi there, would u mind sharing your feeder project details? Thanks!

I designed a custom 3D printed feeder that sits over the opening on the top of the tank.

at the appointed time HA triggers the feeder to go thru one cycle that consists of a 30 degree rotation of a sweeper part that moves the loaded food slot over a hole and dumps it into the tank.

I use a stepper motor for the sweep assembly that is controlled by a NodeMCU programmed using ESPHome.

Here are some pictures of the end result (it’s a bit messy in the food slots right now):



the stepper motor and associated electronics are in the box underneath.

2 Likes

Oh this looks soooo cool!

1 Like

Hi, hope this topic is still alive. Just thought I would add my current experience with tank temperature measurement. I used a Shelly Wi-Fi Temperature Add On unit with 2 DS18B20 temperature sensors. The Shelly Add-On unit needs a base unit to supply power and communications. For that, I used a Shelly Plus 1. It has an extra set of switched contacts, which I am not using at the moment,

On the Home Assistant side I use the standard Gauge card and the Mushroom Mini Graph Cards. My Aquarium dashboard looks like below. Don’t worry about the temp swings, I have been experimenting with the graphing and it affects the averages. The swings are not real.

1 Like

Wow amazing work man :open_mouth:, i get to have the same lid on my aquarium and i was trying to find a design that would match, do you perchance share the STL file ?

it’s in Onshape with a public license so anyone that uses Onshape has access.

I’ve never shared a link to a document there so I don’t know if this will get you to the right place. if not let me know.

Here is the link for the base:

here is the link for the cup, sweep and cap:

in that last link you don’t need part 4. I only created that part because I didn’t print part 2 (the sweep part) with enough infill on the original and the post eventually broke after a couple of years. so instead of printing a whole new part I just printed the new insert as a repair.

Here is the link to the spacers that I used to set the height of the drive motor:

I originally didn’t use the spacers. I just used jam nuts. but that wasn’t working well so I made the spacers to use instead.

all of those could have been included in the same document but I was making it for myself so I kind of didn’t care. :laughing: