reef-pi :: An opensource reef tank controller based on Raspberry Pi.

Is it this one? I see they have two. When you power it up does it spin?


That's the one. Yes, it does one cycle on startup, then every 24 hours after that (Mode1) or a second feed 6 hours later (Mode 2).

So I control the on/off button and do a feed by turning on and then off and utilising this first "spin"
 
That's the one. Yes, it does one cycle on startup, then every 24 hours after that (Mode1) or a second feed 6 hours later (Mode 2).

So I control the on/off button and do a feed by turning on and then off and utilising this first "spin"

That makes it easier to use with controller than Eheim? Is it a good feeder? I'm guessing so. :)
 
That makes it easier to use with controller than Eheim. Is it a good feeder? I'm guessing so. :)

As far as "good" goes, I'm really not sure. I was given two of them of indeterminate age and the one I hacked seems to work just fine. The second one is for spares if I ever need them.
 
As far as "good" goes, I'm really not sure. I was given two of them of indeterminate age and the one I hacked seems to work just fine. The second one is for spares if I ever need them.

It's nice to have alternatives, this could be wired same way too so I guess not easier but one less wire.
 
It's nice to have alternatives, this could be wired same way too so I guess not easier but one less wire.

I had the 4-core wire, so I decided to use 2 to power the unit and the other 2 bridge the switch and go to a spare relay. That way the relay doesn't actually supply power, just makes and breaks the switch connection.
 
Hmm.. i dont know what next step should be. This is not something related to reef-pi, its the underlying networking setup. If I had physical access i would do some network troubleshooting. Are you running stock raspbian? Any changes you made. Whats the output of `ip a s` ?

I got that sorted.

Still not able to add "lights" to my dashboard though.
 
I think i know whats happening. When you reboot, reef-pi starts before network is online, as a result when reef-pi starts and connects to hs300 it fails (since network is not up yet). If you reload reef-pi without pi rebooting, it should fix it. If you want to make it full proof , i.e. when reboot happens reef-pi does not start before network comes online, update /lib/systemd/system/reef-pi.service like this (notice the after and wants directive). This will ensure reef-pi is started only after network is up. Reboot your pi to verify this works. Note, this also mean if by any chance your network is down, and pi reboots, reef-pi will not start. This is the reason we dont ship with this settings. I am working on to make things like this (configurations beyond reef-pi, but related to the underlying pi itself) user configurable in near future,.

Code:
[Unit]
Description=raspberry pi based reef tank controller
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/usr/bin/reef-pi daemon -config /etc/reef-pi/config.yml
WorkingDirectory=/var/lib/reef-pi
Restart=always
RestartSec=90
StartLimitInterval=400
StartLimitBurst=10

[Install]
WantedBy=multi-user.target
It sounds like we need to implement a retry algorithm in reef-pi for network based drivers. Or maybe we need to check if the network is available prior to registering certain drivers.
 
I am still having issues with my ph circuit... I move the actually ezo chip to my other project and it was immediately found on i2c. I rewired the circuit again to rule out accidental grounds or other issues and it still doesn't show up on i2c. I still only have that stupid blue standby light... Could the isolator board be the culprit? Should I just wire it up as shown in the original guide?
 
I think i know whats happening. When you reboot, reef-pi starts before network is online, as a result when reef-pi starts and connects to hs300 it fails (since network is not up yet). If you reload reef-pi without pi rebooting, it should fix it. If you want to make it full proof , i.e. when reboot happens reef-pi does not start before network comes online, update /lib/systemd/system/reef-pi.service like this (notice the after and wants directive). This will ensure reef-pi is started only after network is up. Reboot your pi to verify this works. Note, this also mean if by any chance your network is down, and pi reboots, reef-pi will not start. This is the reason we dont ship with this settings. I am working on to make things like this (configurations beyond reef-pi, but related to the underlying pi itself) user configurable in near future,.

Code:
[Unit]
Description=raspberry pi based reef tank controller
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/usr/bin/reef-pi daemon -config /etc/reef-pi/config.yml
WorkingDirectory=/var/lib/reef-pi
Restart=always
RestartSec=90
StartLimitInterval=400
StartLimitBurst=10

[Install]
WantedBy=multi-user.target
Thanks for the help reloading works fine. I will just do that in the future as needed the wifi power strip only runs my mixing station and fan so I would rather not fail to boot pi because the network is down. The DJ power strips run everything else.
Thanks again
 
I think i know whats happening. When you reboot, reef-pi starts before network is online, as a result when reef-pi starts and connects to hs300 it fails (since network is not up yet). If you reload reef-pi without pi rebooting, it should fix it. If you want to make it full proof , i.e. when reboot happens reef-pi does not start before network comes online, update /lib/systemd/system/reef-pi.service like this (notice the after and wants directive). This will ensure reef-pi is started only after network is up. Reboot your pi to verify this works. Note, this also mean if by any chance your network is down, and pi reboots, reef-pi will not start. This is the reason we dont ship with this settings. I am working on to make things like this (configurations beyond reef-pi, but related to the underlying pi itself) user configurable in near future,.

Code:
[Unit]
Description=raspberry pi based reef tank controller
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/usr/bin/reef-pi daemon -config /etc/reef-pi/config.yml
WorkingDirectory=/var/lib/reef-pi
Restart=always
RestartSec=90
StartLimitInterval=400
StartLimitBurst=10

[Install]
WantedBy=multi-user.target
On another note I'm not a raspberry pi expert or even a novice but is there a way to just delay it testing the network or even booting upon start up? But still have it boot no matter what after like 30sec upon power up?
Thank you
 
Do you have the right address ? I used 99 I think the default might be 64.

i2c,99

It not longer shows up on i2c detect. Wiring matches my other build. It disappeard after a bit of use once I plugged in my separate dosing pump setup (PCA board). I had a short which I corrected but the Ezo board disappeared. Even disconnecting the dosing setup the Ezo baord doesn't show up in the address list.
 
My Eheim went for a swim recently so I popped it open after doing a full wash and dry cycle. Still works.
You’ll want to signal the K1 or K2 buttons, in the picture orientation left to right. The edge of the board is battery ground and the inner button contact should be brought to ground to activate.

18916710-6FCD-4520-A398-46CCC4249A74.jpeg
 
It not longer shows up on i2c detect. Wiring matches my other build. It disappeard after a bit of use once I plugged in my separate dosing pump setup (PCA board). I had a short which I corrected but the Ezo board disappeared. Even disconnecting the dosing setup the Ezo baord doesn't show up in the address list.

Its possible something got destroyed. Have you tried without the isolator? Do you have any other I2C devices to test with the Pi?
 
On another note I'm not a raspberry pi expert or even a novice but is there a way to just delay it testing the network or even booting upon start up? But still have it boot no matter what after like 30sec upon power up?
Thank you
There should be. systemd probably have something to do this. I'll check
 
I am currently working on a new Reef-pi build for my 220. Has anyone ever maxed out the GPIO on their pi? I am intending on using all of the GPIO and was hoping someone has successfully used a GPIO expansion board for more IO. Do any of you have experience with this?
Thanks in advance.
 
I am currently working on a new Reef-pi build for my 220. Has anyone ever maxed out the GPIO on their pi? I am intending on using all of the GPIO and was hoping someone has successfully used a GPIO expansion board for more IO. Do any of you have experience with this?
Thanks in advance.
I maxed out but luckily I have not needed to use a GPIO expansion board. What are your goals? Often times you can find ways around using additional GPIO such as mono-directional dosers, PCA board, ect.
 
Its possible something got destroyed. Have you tried without the isolator? Do you have any other I2C devices to test with the Pi?
Good tip. THe isolator board is toast as I bread boarded it to a test reef-pi build and had the same issues. Thought I was going crazy rechecking my wiring again and again. Careful of that flux and solder joints ya'll!
 

IF YOU HAD TO TAKE A REEFING EXAM, WOULD YOU PASS?

  • Yes!

    Votes: 32 45.7%
  • Not yet, but I have one that I want to buy in mind!

    Votes: 9 12.9%
  • No.

    Votes: 26 37.1%
  • Other (please explain).

    Votes: 3 4.3%
Back
Top