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

Atrumblood

Active Member
View Badges
Joined
Mar 10, 2021
Messages
193
Reaction score
217
Location
Salt Lake City, Utah
Rating - 0%
0   0   0
Something changed with build 5.1 or 5.2 where setting up the dosing timers will not longer accept */4 to run every 4 hours. I get the error.

[ An integer, a range (e.g. 1-5) or * is required! ]

I am having issues figuring out the new requirements for scheduling. It used to be in cronjob format, now it's not?
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,876
Reaction score
16,680
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
Something changed with build 5.1 or 5.2 where setting up the dosing timers will not longer accept */4 to run every 4 hours. I get the error.

[ An integer, a range (e.g. 1-5) or * is required! ]

I am having issues figuring out the new requirements for scheduling. It used to be in cronjob format, now it's not?
this is a UI validation bug :-( . I'll fix it by next release
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,876
Reaction score
16,680
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
Getting some work done on the hardware side. Due to the supply chain shortage, I am out of supply for new pi. That means no pi zero w specifically. While strategically I am paying some attention to other boards (risc v in particularly ), tactically I need to increase the bench strength (of reef-pi controllers ) for backup and new tanks .

with that goal in mind, I started working on the older pi 3, 2 even model B . I had stopped using them in lieu of zero or 3a due to their smaller form factor and power consumption .

anyhow, this is one of the styles I settled with. This 3D printed enclosure houses a pi 3/4/2 , a temp sensor, a ph sensor and a ato sensor . It has recessed holes at the back and stand-off inside to mount the pi. This means the m2.5 steel screws are almost flat to the surface . Two less extra standoff required as well (compared to the previous ones). The wall is 3mm , feels very solid :). I used to stick to 2mm due to the smaller wall thickness required to mount the 3.5 mm female jacks . I addressed it by creating a small beveled segment in the bottom wall which has only 2mm wall thickness, with mounting holes for two 3.5 mm connectors . All corners are beveled and the lid + enclosure is designed for minimal exposed are , but all pi ports (usb, audio, hdmi etc) are still accessible . I’m very happy with the result . It’s captures my learning from past 3 years . If you check out my very first housing , you’ll know what I mean .
FBAC9B79-0A13-4AD9-B69A-BA6E169652BF.jpeg

Back side
01D7CD43-E417-4C2B-8BBD-9F7FC7FF7B47.jpeg

notice I moved from nylon screws to steel screws.
bottom side with all the connectors
DB3148E3-09D0-4D51-B3EF-55591B7DE8A4.jpeg


side view , all pi ports are accessible
7184C34B-9632-46CA-BE3E-F5B2DDD90EAD.jpeg

Here is how internally parts are arranged
D50198EA-9EDA-4558-B2E5-43B50628B712.jpeg

All circuitry is on a perm proto hat with right angled male headers for smaller profile (I plan to switch to screw terminals ).
449DA6DD-FF8E-4FA0-8BA7-8DB73D73D7C7.jpeg


got two of these done, configured and tested. The idea is to just swap the db files from backup in case any of the existing controller dies. One more to go.
EEBE646D-D9DD-4741-974A-4792279578D3.jpeg
 

Atrumblood

Active Member
View Badges
Joined
Mar 10, 2021
Messages
193
Reaction score
217
Location
Salt Lake City, Utah
Rating - 0%
0   0   0

Sral

Valuable Member
View Badges
Joined
May 2, 2022
Messages
1,015
Reaction score
943
Location
Germany
Rating - 0%
0   0   0
Hi everybody, as a noob to practically all things aquarium, Pi and reef-Pi I would like to mention that the reef-Pi documentation lacks a good overview for starters, in my oppinion. The guides are very helpfull in building something, but what is missing is an overview on capabilities so you can make a plan according to personal goals.

A suggestion from my persepctive: make/link a short overview on the main page:
  • list of available Interfaces
    • number of GPIO pins
    • (software PWM pins ?)
    • number of hardware PWM pins
    • number of I2C Pins
    • UART and SPI (no idea about those)
  • short List of what each of these interfaces can be used for (maybe with links to the guides)
    • GPIO:
      • switching relays/equipment on/off
      • reading on/off information
      • single pin communication
    • PWM:
      • controlling/dimming equipment
      • reading PWM encoded information ?
    • I2C:
      • digital communication protocol
      • used to add expansions, like more PWM channels, Analog-digital-converter (ADC) channels for voltage measurement, etc.
    • UART + SPI
      • probably similar to I2C
  • short List on reef-PI's tabs and their usage:
    • I can't find that in the documentation. If it's there it is probably somewhat hidden/not obvious
    • Sensor Tab:
      • declare analog and digital sensor input
      • can be used to trigger equipment
        • just on/off ?
        • dose adjustment ?
        • PID control loop behavior possible ?
    • Equipment:
      • turn equipment on/off
      • dimm equipment, like LEDs by hand ?
    • timers
      • how flexible are those ?
      • what can they trigger ?
    • Dosers:
      • same here
      • only via PWM ?
      • can a doser be controlled by Pin and use a common PWM speed with all dosing pumps ?
    • Journal (!!)
      • I was wondering about that, only found it in the reef-PI 5.0 announcement in this forum
    • I'm mostly concerned about those dosers, because I want to run a regulateable BIO CO2 plant, however I have no idea how much of the adjustment I have to do manually and how much reef Pi can handle itself (by PID control on pH level/Temperature/etc. for example).
If I have missed something, please correct me. However, that goes to show how usefull such a short overview would be. I have gathered most of that by reading forum posts, all of the guides and searching in the net, but that is just an unnecessary obstacle.

Another point to this: on the from page of this forum are quite a few people (saw at least 2) asking whether x, y or z is possible with reef-Pi. That goes to show that there isn't a good documentation an what reef-Pi can actually do.
 
Last edited:

bishoptf

Valuable Member
View Badges
Joined
Jan 1, 2019
Messages
1,409
Reaction score
1,726
Location
Missouri
Rating - 0%
0   0   0
Getting some work done on the hardware side. Due to the supply chain shortage, I am out of supply for new pi. That means no pi zero w specifically. While strategically I am paying some attention to other boards (risc v in particularly ), tactically I need to increase the bench strength (of reef-pi controllers ) for backup and new tanks .

with that goal in mind, I started working on the older pi 3, 2 even model B . I had stopped using them in lieu of zero or 3a due to their smaller form factor and power consumption .

anyhow, this is one of the styles I settled with. This 3D printed enclosure houses a pi 3/4/2 , a temp sensor, a ph sensor and a ato sensor . It has recessed holes at the back and stand-off inside to mount the pi. This means the m2.5 steel screws are almost flat to the surface . Two less extra standoff required as well (compared to the previous ones). The wall is 3mm , feels very solid :). I used to stick to 2mm due to the smaller wall thickness required to mount the 3.5 mm female jacks . I addressed it by creating a small beveled segment in the bottom wall which has only 2mm wall thickness, with mounting holes for two 3.5 mm connectors . All corners are beveled and the lid + enclosure is designed for minimal exposed are , but all pi ports (usb, audio, hdmi etc) are still accessible . I’m very happy with the result . It’s captures my learning from past 3 years . If you check out my very first housing , you’ll know what I mean .
FBAC9B79-0A13-4AD9-B69A-BA6E169652BF.jpeg

Back side
01D7CD43-E417-4C2B-8BBD-9F7FC7FF7B47.jpeg

notice I moved from nylon screws to steel screws.
bottom side with all the connectors
DB3148E3-09D0-4D51-B3EF-55591B7DE8A4.jpeg


side view , all pi ports are accessible
7184C34B-9632-46CA-BE3E-F5B2DDD90EAD.jpeg

Here is how internally parts are arranged
D50198EA-9EDA-4558-B2E5-43B50628B712.jpeg

All circuitry is on a perm proto hat with right angled male headers for smaller profile (I plan to switch to screw terminals ).
449DA6DD-FF8E-4FA0-8BA7-8DB73D73D7C7.jpeg


got two of these done, configured and tested. The idea is to just swap the db files from backup in case any of the existing controller dies. One more to go.
EEBE646D-D9DD-4741-974A-4792279578D3.jpeg
Ya know I have some @Michael Lane hats available if you want to get out of the protoboard building, you may enjoy it etc but just letting you know. Still have a few left. :)
 

Simonv92

Active Member
View Badges
Joined
Oct 21, 2014
Messages
161
Reaction score
104
Location
Italy
Rating - 0%
0   0   0
Hi all! I'm trying to configure MQTT on Reef-Pi to send metrics to Home Assistant.
I've created a broker on Home Assistant and now I'm trying to configure Reef-Pi.
I've inserted Server IP, Username, Password but I always have this error:
{"error":"json: cannot unmarshal string into Go struct field MQTTConfig.mqtt.retained of type bool"} | HTTP 400
What can I do?
Thank you!
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,876
Reaction score
16,680
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
Hi all! I'm trying to configure MQTT on Reef-Pi to send metrics to Home Assistant.
I've created a broker on Home Assistant and now I'm trying to configure Reef-Pi.
I've inserted Server IP, Username, Password but I always have this error:
{"error":"json: cannot unmarshal string into Go struct field MQTTConfig.mqtt.retained of type bool"} | HTTP 400
What can I do?
Thank you!
which version you are using? we had a bug in 5.1.
Let us know if this is happening with 5.2, i'll fix it if thats the case
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,876
Reaction score
16,680
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
Hi everybody, as a noob to practically all things aquarium, Pi and reef-Pi I would like to mention that the reef-Pi documentation lacks a good overview for starters, in my oppinion. The guides are very helpfull in building something, but what is missing is an overview on capabilities so you can make a plan according to personal goals.

A suggestion from my persepctive: make/link a short overview on the main page:
  • list of available Interfaces
    • number of GPIO pins
    • (software PWM pins ?)
    • number of hardware PWM pins
    • number of I2C Pins
    • UART and SPI (no idea about those)
  • short List of what each of these interfaces can be used for (maybe with links to the guides)
    • GPIO:
      • switching relays/equipment on/off
      • reading on/off information
      • single pin communication
    • PWM:
      • controlling/dimming equipment
      • reading PWM encoded information ?
    • I2C:
      • digital communication protocol
      • used to add expansions, like more PWM channels, Analog-digital-converter (ADC) channels for voltage measurement, etc.
    • UART + SPI
      • probably similar to I2C
  • short List on reef-PI's tabs and their usage:
    • I can't find that in the documentation. If it's there it is probably somewhat hidden/not obvious
    • Sensor Tab:
      • declare analog and digital sensor input
      • can be used to trigger equipment
        • just on/off ?
        • dose adjustment ?
        • PID control loop behavior possible ?
    • Equipment:
      • turn equipment on/off
      • dimm equipment, like LEDs by hand ?
    • timers
      • how flexible are those ?
      • what can they trigger ?
    • Dosers:
      • same here
      • only via PWM ?
      • can a doser be controlled by Pin and use a common PWM speed with all dosing pumps ?
    • Journal (!!)
      • I was wondering about that, only found it in the reef-PI 5.0 announcement in this forum
    • I'm mostly concerned about those dosers, because I want to run a regulateable BIO CO2 plant, however I have no idea how much of the adjustment I have to do manually and how much reef Pi can handle itself (by PID control on pH level/Temperature/etc. for example).
If I have missed something, please correct me. However, that goes to show how usefull such a short overview would be. I have gathered most of that by reading forum posts, all of the guides and searching in the net, but that is just an unnecessary obstacle.

Another point to this: on the from page of this forum are quite a few people (saw at least 2) asking whether x, y or z is possible with reef-Pi. That goes to show that there isn't a good documentation an what reef-Pi can actually do.
Love it :-)
you can send pull request directly for the official documentation: https://github.com/reef-pi/reef-pi.github.io
or create a ticket and link this post , and i'll pick it up
thank you for taking the time to write this down, really appreciate it
 

Sral

Valuable Member
View Badges
Joined
May 2, 2022
Messages
1,015
Reaction score
943
Location
Germany
Rating - 0%
0   0   0
Love it :)
you can send pull request directly for the official documentation: https://github.com/reef-pi/reef-pi.github.io
or create a ticket and link this post , and i'll pick it up
thank you for taking the time to write this down, really appreciate it
Alright, time to train my git skills ^^
Not sure if that List is complete though, but it is a start.
 

mpoltorak7

New Member
View Badges
Joined
May 6, 2022
Messages
5
Reaction score
3
Location
Chicago
Rating - 0%
0   0   0
1) enable Prometheus metrics under configuration -> settings , and reload reef-pi
2) configure Prometheus to scrape reef-pi, and reload. Your configuration looks correct. I’ll highly encourage running prom and grafana in separate server.
You can cross check that reef-pi is exposing the metrics correctly by hitting pi ip /x/metrics in your browser, it should reveal all the metrics (temperate , ato usage etc) in plain text, with each metric in individual line
When i try to enable prometheus the setting does not stick, even though I update and reload. Has anyone seen this issue or know of any logs i can reference?
 

mpoltorak7

New Member
View Badges
Joined
May 6, 2022
Messages
5
Reaction score
3
Location
Chicago
Rating - 0%
0   0   0
1) enable Prometheus metrics under configuration -> settings , and reload reef-pi
2) configure Prometheus to scrape reef-pi, and reload. Your configuration looks correct. I’ll highly encourage running prom and grafana in separate server.
You can cross check that reef-pi is exposing the metrics correctly by hitting pi ip /x/metrics in your browser, it should reveal all the metrics (temperate , ato usage etc) in plain text, with each metric in individual line
When I try to enable prometheous the setting does not stick even after an update/reload. Has anyone run into this issue or know of any logs I can reference?
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,876
Reaction score
16,680
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
When I try to enable prometheous the setting does not stick even after an update/reload. Has anyone run into this issue or know of any logs I can reference?
The capabilities ui checkbox has a glitch. Once you click selected, save it and reload it. The checkbox might look unselected (for few seconds ) , but it should still enable the metric handler that you can confirm by directly accessing the /x/metrics end point. Is that not working ? We are working to fix the ui glitch. There was some update ‘ change went in that caused a bunch of minor ui issues like this and bogus calibration errors.
 

Simonv92

Active Member
View Badges
Joined
Oct 21, 2014
Messages
161
Reaction score
104
Location
Italy
Rating - 0%
0   0   0
Hi! I've tried a macro to turn off a light.. I think that something isn't working because lights doesn't react to macro trigger.. Is that a bug? Will it be possibile to run a macro to set a light to a selectable % value?

@Ranjib can you please help me about configuring mqtt? I can't figure it out :face-with-tears-of-joy:
Thank you!
 

mpoltorak7

New Member
View Badges
Joined
May 6, 2022
Messages
5
Reaction score
3
Location
Chicago
Rating - 0%
0   0   0
The capabilities ui checkbox has a glitch. Once you click selected, save it and reload it. The checkbox might look unselected (for few seconds ) , but it should still enable the metric handler that you can confirm by directly accessing the /x/metrics end point. Is that not working ? We are working to fix the ui glitch. There was some update ‘ change went in that caused a bunch of minor ui issues like this and bogus calibration errors.
Thanks, I was able to get the telemetry form the metrics page. This is great, it already helped me figure out I had an issue with my cron expersion on my dosing pump timers and when I did something stupid that cause my PH to fluctuate. Do do need to create more graphs but this is what I have for now. On a side note I see there is not data being scraped for the Journal or at least I do not see it, is there a posibility for this?
1652253135404.png
 

dmsc2fs

Well-Known Member
View Badges
Joined
Dec 29, 2021
Messages
513
Reaction score
566
Location
Charleston
Rating - 0%
0   0   0
I am having trouble figuring out how to add new charts to the dashboard. The UI Overview guide alludes to dashboard charts will be added automatically when new sensors are added? I have two temp probes and a ph probem. All 3 work and I can review the graph from inside of each device. i.e. from the temp or ph screens. How can I get the same graphs into the dashboard?

I also don't have a "customize" button on the bottom right of my dashboard. I only have a "configure".

secondary question. When I first added the PH probe it took a reading on the graph. It has not since. I have it configured to take a reading every 60 seconds. I am not sure this is working. I assume that the device can be monitored from the command line? Does anyone have a quick reference on how to find the PH probe from cmd and/or how to verify it is working.

When I hit the calibrate button I get the following error.
{"error":"strconv.ParseFloat: parsing \"3.\\xb8\\xb9\\xb8\\x80\\x00\\x80\\x80\\x00\\x00\\x80\\x00\\x80\\x80\\x00\\x80\\x80\\x00\\x00\\x00\\x80\\x80\\x80\\x00\\x00\\x00\\x80\": invalid syntax"} | HTTP 404
 
Last edited:

elysics

Valuable Member
View Badges
Joined
Jan 15, 2020
Messages
1,695
Reaction score
1,607
Rating - 0%
0   0   0
I am having trouble figuring out how to add new charts to the dashboard. The UI Overview guide alludes to dashboard charts will be added automatically when new sensors are added? I have two temp probes and a ph probem. All 3 work and I can review the graph from inside of each device. i.e. from the temp or ph screens. How can I get the same graphs into the dashboard?

I also don't have a "customize" button on the bottom right of my dashboard. I only have a "configure".

secondary question. When I first added the PH probe it took a reading on the graph. It has not since. I have it configured to take a reading every 60 seconds. I am not sure this is working. I assume that the device can be monitored from the command line? Does anyone have a quick reference on how to find the PH probe from cmd and/or how to verify it is working.

When I hit the calibrate button I get the following error.
{"error":"strconv.ParseFloat: parsing \"3.\\xb8\\xb9\\xb8\\x80\\x00\\x80\\x80\\x00\\x00\\x80\\x00\\x80\\x80\\x00\\x80\\x80\\x00\\x00\\x00\\x80\\x80\\x80\\x00\\x00\\x00\\x80\": invalid syntax"} | HTTP 404
Is the wiring to your pH probe, let's say "temporary" ? That' error or similar ones is what i get with bad connections and/or interference from power lines.

As for the first question, at the bottom of the dashboard, there's a configure button. Add a line for each sensor and select Temperature (recent) or Temperature(historical) and then select one of the sensors in the submenu, hit update after that
 

robsworld78

Valuable Member
View Badges
Joined
Feb 14, 2020
Messages
1,029
Reaction score
1,293
Location
Edmonton, Canada
Rating - 0%
0   0   0
I am having trouble figuring out how to add new charts to the dashboard. The UI Overview guide alludes to dashboard charts will be added automatically when new sensors are added? I have two temp probes and a ph probem. All 3 work and I can review the graph from inside of each device. i.e. from the temp or ph screens. How can I get the same graphs into the dashboard?

I also don't have a "customize" button on the bottom right of my dashboard. I only have a "configure".

secondary question. When I first added the PH probe it took a reading on the graph. It has not since. I have it configured to take a reading every 60 seconds. I am not sure this is working. I assume that the device can be monitored from the command line? Does anyone have a quick reference on how to find the PH probe from cmd and/or how to verify it is working.

When I hit the calibrate button I get the following error.
{"error":"strconv.ParseFloat: parsing \"3.\\xb8\\xb9\\xb8\\x80\\x00\\x80\\x80\\x00\\x00\\x80\\x00\\x80\\x80\\x00\\x80\\x80\\x00\\x00\\x00\\x80\\x80\\x80\\x00\\x00\\x00\\x80\": invalid syntax"} | HTTP 404
I don't know but any chance you're using one of my pH circuits? That error looks like it could be from mine. If so you need to add the following line to the /boot/config.txt file on the Pi. This will slow down the I2C bus so it can handle I2C stretching.

dtparam=i2c_arm_baudrate=10000
 

TOP 10 Trending Threads

WHAT AMOUNT OF LIVE ROCK AND SAND SHOULD BE PRIORITIZED FOR OPTIMAL BIODIVERSITY/FILTRATION?

  • 100% live rock + bagged sand

    Votes: 37 27.8%
  • 100% dry rock + 100% live sand

    Votes: 45 33.8%
  • 50/50 live/dry rock, 50/50 live/bagged sand

    Votes: 29 21.8%
  • 75% live rock, 25% live sand

    Votes: 12 9.0%
  • 25% live rock, 75% live sand

    Votes: 10 7.5%
Back
Top