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

OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,848
Reaction score
17,081
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
This is so awesome, particularly the blank panels and the timer thing :D

How involved is the tasmota driver? Just on/off? Power monitoring? Customizable?
Only digital output (on /off). I have not tested it. It was contributed by @hectorespert . I run Shelly which has open api. I intend to flash some of the smart switches with tasmota for testing later.
 

theatrus

Valuable Member
View Badges
Joined
Mar 26, 2016
Messages
2,223
Reaction score
3,632
Location
Sacramento, CA area
Rating - 0%
0   0   0
Hive mind,
I am happy to announce the immediate availability of reef-pi 4.2. It is an incremental update. We do not expect any breaking changes on 4.x series deployments. I'll be testing this more rigorously in a larger tank :) and will keep you updated.

It has been quite a long time (from reef-pi's pre-covid cadence) since the last minor release, almost 6 months. Hence significant volume of changes are being released as part of 4.2, here is a summary

Features
- Timers are now universal in their capabilities. Timers can control ato, ph,temperature, and all other existing functionalities (reminders, equipment, macro)
- There is built in support for Tasmota (@hectoresport ) and Kasa HS303 driver.
- The dashboard UI now offers a better, controllable equipment widget called "switch panel". Theres also a blank panel to help with layouts. @prsws
- Equipment can now have a special property called "StayOffOnBoot", which will bypass reef-pi syncing an equipment state upon startup/restart. This does not nullify any controller induced equipment state. @prsws
- More coverage for Spanish and german translations. (@Hectoresport, @schawbix-113).

Bugfixes
- prometheus metric emission error due to invalid name @theatrus

Chores
- node, go version upgrades. numerous npm and go package upgrades
- Core reef-pi library upgrades (rpi, hal, drivers)
- CI/CD infrastructure upgrades (GitHub actions)

Releases can be found in usual location: https://github.com/reef-pi/reef-pi/releases/tag/4.2
If you are on 4.0, you can also try it out from UI directly.

This was another community-driven release, where the bulk of features were developed by our awesome community members. Thank you for all the effort folks, we truly appreciate it,

regards
ranjib,

Thanks for the release!

Also synced the unofficial apt repo: https://github.com/blueacro/reefpi-repopublisher (if thats your jam)
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,848
Reaction score
17,081
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
Thanks for the release!

Also synced the unofficial apt repo: https://github.com/blueacro/reefpi-repopublisher (if thats your jam)
Im using chef for the userland management outside reef-pi. and the reef-pi ui for the update :) , i have to test that functionality myself at least. It uses systemd based async job execution, and is not always full proof (i.e. users some time have to reboot the system after updates). But otherwise, i best this is the easiest way to upgrade
 

theatrus

Valuable Member
View Badges
Joined
Mar 26, 2016
Messages
2,223
Reaction score
3,632
Location
Sacramento, CA area
Rating - 0%
0   0   0
Chef, Puppet, etc are a great way to get a repeatable system. One of the quirks is that a lot of the Pi-OS stuff is still a bit off the wall and not "totally-Debian".

Recently I've been using a tweaked Pi-OS image builder to make a btrfs root, aarch64 Raspbian image, which is pretty useful as I can use filesystem snapshots to handle rollbacks and backups. Lots of little annoyances like initrd being an afterthought with the RPi kernel system, but it does work. In theory btrfs will wear better on SD cards as well.

 

Bigtrout

Valuable Member
View Badges
Joined
Dec 16, 2018
Messages
1,189
Reaction score
2,826
Rating - 0%
0   0   0
Welcome to the development thread of reef-pi, an open-source, affordable, modular DIY reef-tank controller based on Raspberry Pi.

aio.jpg

If you are trying to build a reef-pi controller, please check out the build guides linked below. You can use this thread to seek help and to stay updated with the latest development.

Screen Shot 2018-11-04 at 8.38.50 PM.png



reef-pi provides following functionalities:
  • Equipment control or automated power strip (including digital timers to switch on/off equipment at periodic intervals)
  • LED light control (24 hour cycle), diurnal cycle, fixed dimmig
  • Auto Top Off (based on photoelectric water level sensor or float switch)
  • Temperature monitoring and control (switch on/off heater & chiller)
  • pH monitoring
  • Dosing automation
  • Macro (feed mode etc)
  • And several other features like camera controls (periodic image capture and upload on google drive), telemetry (dashboard and alerting based on sensor values using adafruit.io), mobile friendly UI etc.
A beginner friendly list of reef-pi build guides are available on adafruit.io, if you are planning to build a reef-pi controller start with them.
  1. Setup and installation
  2. Power controller
  3. Temperature controller
  4. Auto Top Off
  5. Light controller
  6. pH monitor
Since reef-pi is modular and customizable, the cost of individual builds varies. In our experience reef-pi controller are almost always cheaper than the commercial alternatives and costs anywhere between 100 to 550 USD. An example bill of materials can be found here as amazon list. If you are building a reef-pi controller, I highly encorage you start a build thread and tag it with #reefpi to seek help with your build


--------------------------- Original thread start ---------------------
Hello friends,
I am starting a master thread for a DIY reef tank controller that is based on all opensource software and hardware. I had started with this project with following goals:
- Build an opensource software and hardware based reeftank controller that anyone can use and hack
- Keep the controller well tested against a set of standard equipment I use, while make it possible for other equipment to be used
- Maintain my own tank build threads and their evolution, backed by this controller.
- Learn electronics and reef keeping along the way (I am biologist by education & software engineer by occupation)

Following are the details of what I have developed & tested till now:
Controller software:
- The main controller software is called reef-pi. It is written in go, its fast and performant. It used embd for hardware communication. It also runs a little web server which provides the UI for the controller. UI is written in React , and can be accessed from anything that has web browser. As of now, the reef-pi supports following things:
- AC 110/220 V socket on/off (uses optocoupled relays underneath). This is used to remotely switch on/off return pump, LED bulb, heater etc.
- 0-20 Volt DC PWM. This is used to control things like dimmable LEDs, DC pumps. I use it to control my Kessil A80, A360. As well as a 5V DC pump (i use it as wave maker in one of my pico with SPS). PWM is done using PCA9685 breakout board from adafruit. This board supports 16 channels. I am using only 5 at max, as of now.
- Analog sensor support using MCP3008 analog to digital converter. This supports 8 channels. i.e. I can use up to 8 sensors/probes. As of now, I have only tested temperature sensor with it.
Other than the following basic hardware/equipment support, the controller software provides following additional features:
- Setting up daily/weekly/monthly scheduled jobs. Like turning on/off certain equipment. I use this feature to run my AC20 HOB filter nightly.
- Setting up dusk-to-dawn like lighting using PWM. The UI gives 12 vertical slider based 0-24 hours (each slider representing 2 hours gaps). I combine two of these two control the kessil LEDs.
- Authentication using Google OAuth. Since the whole controller runs on raspberry pi and provides an web frontend, security of one of my concern. To mitigate this, I have added google authentication support, which when configured will allow only certain users to log in (email specified in the configuration value).

This is the summary of the core controller software and what features it has as of now. I am constantly writing/improving things around it. As of now, I have two reef tank powered by this. I 'll have seperate threads on the individual builds that will include the housing and ancillary hardware in nano-reef.com, as my tank build threads are there, but I'll share all the controller specific common bits here, including UI screen shots, and tank pics :)

20161115_081550.jpg
Just a report on version 4.2.

No issues upgrading, and on my pi zero w, memory and system usage have gone down a bit on the new version.
Otherwise reef pi is plugging away like always!
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,848
Reaction score
17,081
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
Just a report on version 4.2.

No issues upgrading, and on my pi zero w, memory and system usage have gone down a bit on the new version.
Otherwise reef pi is plugging away like always!
thank you for verifying @Bigtrout , hope your fresh water tanks are doing well.
 

Raf714

New Member
View Badges
Joined
Feb 12, 2021
Messages
17
Reaction score
10
Location
Essen, Belgium
Rating - 0%
0   0   0
Hive mind,
I am happy to announce the immediate availability of reef-pi 4.2. It is an incremental update. We do not expect any breaking changes on 4.x series deployments. I'll be testing this more rigorously in a larger tank :) and will keep you updated.

It has been quite a long time (from reef-pi's pre-covid cadence) since the last minor release, almost 6 months. Hence significant volume of changes are being released as part of 4.2, here is a summary

Features
- Timers are now universal in their capabilities. Timers can control ato, ph,temperature, and all other existing functionalities (reminders, equipment, macro)
- There is built in support for Tasmota (@hectoresport ) and Kasa HS303 driver.
- The dashboard UI now offers a better, controllable equipment widget called "switch panel". Theres also a blank panel to help with layouts. @prsws
- Equipment can now have a special property called "StayOffOnBoot", which will bypass reef-pi syncing an equipment state upon startup/restart. This does not nullify any controller induced equipment state. @prsws
- More coverage for Spanish and german translations. (@Hectoresport, @schawbix-113).

Bugfixes
- prometheus metric emission error due to invalid name @theatrus

Chores
- node, go version upgrades. numerous npm and go package upgrades
- Core reef-pi library upgrades (rpi, hal, drivers)
- CI/CD infrastructure upgrades (GitHub actions)

Releases can be found in usual location: https://github.com/reef-pi/reef-pi/releases/tag/4.2
If you are on 4.0, you can also try it out from UI directly.

This was another community-driven release, where the bulk of features were developed by our awesome community members. Thank you for all the effort folks, we truly appreciate it,

regards
ranjib,
Thank you very much! Upgrade went without problems.
I can't create a timer to switch pH on or off although.
9-8-2021 19:55:18UIERROR{"error":"Failed to create. Error: Invalid timer type: ph"} | HTTP 500
 

elysics

Valuable Member
View Badges
Joined
Jan 15, 2020
Messages
1,591
Reaction score
1,590
Rating - 0%
0   0   0
Tasmota driver works fine to turn a plug socket on and off. Maybe I'll look into how to edit the driver to get it to request the power monitoring data too, no promises though

Upgrade through UI went through without a hitch too

edit:

Is this how the blank dashboard slot is intended to look?

1628537451285.png
 
Last edited:
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,848
Reaction score
17,081
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
Tasmota driver works fine to turn a plug socket on and off. Maybe I'll look into how to edit the driver to get it to request the power monitoring data too, no promises though

Upgrade through UI went through without a hitch too

edit:

Is this how the blank dashboard slot is intended to look?

1628537451285.png
Yes. this is as expected and how it should work. It is intended to help in the layout of multi-panel dashboards. I do think we should remove the "Unassigned (blank)" text.
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,848
Reaction score
17,081
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
Thank you very much! Upgrade went without problems.
I can't create a timer to switch pH on or off although.
9-8-2021 19:55:18UIERROR{"error":"Failed to create. Error: Invalid timer type: ph"} | HTTP 500
Bug :-/ . Thank you for reporting this . I made the fixes, will be resolved in next release. Let me know if you have any usecase for these, I'll expedite the release process then

 

Matt Carden

Valuable Member
View Badges
Joined
Apr 13, 2018
Messages
1,647
Reaction score
4,086
Location
Detroit Metro
Rating - 0%
0   0   0
I recently finished my reef-pi wiring and got it configured for desktop. I got stopped by the apparent problem that one has to use a PC to access pi via ssh? My question is can I access my Reef-Pi via Android?
 

elysics

Valuable Member
View Badges
Joined
Jan 15, 2020
Messages
1,591
Reaction score
1,590
Rating - 0%
0   0   0
I recently finished my reef-pi wiring and got it configured for desktop. I got stopped by the apparent problem that one has to use a PC to access pi via ssh? My question is can I access my Reef-Pi via Android?
Yes you can. There are plenty of apps for that, i use JuiceSSH
 

elysics

Valuable Member
View Badges
Joined
Jan 15, 2020
Messages
1,591
Reaction score
1,590
Rating - 0%
0   0   0
Yes. this is as expected and how it should work. It is intended to help in the layout of multi-panel dashboards. I do think we should remove the "Unassigned (blank)" text.
Oh alright. I personally preferred the previous bug that is now apparently fixed where if you chose to display a duplicate of the health panel it didn't show and there was just blank white background.

Are all panels in the future going to have that black border? Right now it's a bit of a clash between all the borderless graph panels and then the empty panel with a big black border

On another note, the historical temp graph now respects the custom range to the extent that the range isn't exceede by data, that's much appreciated, can actually read the graph now
 
Last edited:

Matt Carden

Valuable Member
View Badges
Joined
Apr 13, 2018
Messages
1,647
Reaction score
4,086
Location
Detroit Metro
Rating - 0%
0   0   0

Raf714

New Member
View Badges
Joined
Feb 12, 2021
Messages
17
Reaction score
10
Location
Essen, Belgium
Rating - 0%
0   0   0
Bug :-/ . Thank you for reporting this . I made the fixes, will be resolved in next release. Let me know if you have any usecase for these, I'll expedite the release process then

Create two ph controller with the sht31 just for monitoring, all the time. Other one uses the same sensor and control the fan based on values you desire. Next , use two separate timers, one to enable the second controller during day time and the then t
disable the second controller during night time .
That's what I wanted to do. Earlyer I tried it whith a timer and a macro but it didn't work neither.
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,848
Reaction score
17,081
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
Oh alright. I personally preferred the previous bug that is now apparently fixed where if you chose to display a duplicate of the health panel it didn't show and there was just blank white background.

Are all panels in the future going to have that black border? Right now it's a bit of a clash between all the borderless graph panels and then the empty panel with a big black border

On another note, the historical temp graph now respects the custom range to the extent that the range isn't exceede by data, that's much appreciated, can actually read the graph now
The black border is just a design mishap. I’ll get rid of it in next release
 

Cristian2281

New Member
View Badges
Joined
Jul 26, 2020
Messages
10
Reaction score
6
Location
UK
Rating - 0%
0   0   0
Is it possible to allow decimal values for the Calibrate probe field in temperature settings? For Celsius users?
 
Back
Top