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,876
Reaction score
16,682
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
I'm pretty sure it's a bug. I'm not in dev mode and using my circuit but if mine isn't working Atlas isn't work, they both do the R thing. Seems to only happen with a fresh install of v3.4 meaning never had reef-pi installed previously, after getting it to work once it seems to always add. I'm going to go through more tests to try and pin it so you can replicate.



Thanks, I updated the setup manual where you add connectors and sorry for the confusion. The 12v is to power the DC ports for dosing pumps, ATO etc.

It's sad there's no other power bars available, I've been recommending the Kasa as an alternative. I set mine up like this so it can be connected direct to any Arduino or Pi pin and I can't believe nothing like this exists. I think it's a fairly big market, lots of people don't like wireless so why can't IoT or someone make a power bar like their simple little 4 outlet bar. If I had money I would get a board certified and proper case.

Not sure what you mean by 5v digital outputs? The DB9 outputs are only 3.3v from the Pi but the sensor ports are 5v compatible but work with 3.3v if you use the 3.3v on feeder port to power it.



Are you still having temp issues? Did you try another port in case I didn't solder a pin? They're all connected to same pin on Pi. If you still have issues maybe send me a message or start a new thread so we don't clutter this one.

The pH issue is an I2C clock stretching problem, the drivers for Pi for some reason don't support this so there's some sensors that will give errors. My pH uses an ATtiny85 and does this using the standard library. I put this in the install manual but forgot about the main manual, you can find it here.

we should track the analog connector giving random value. I definitely want to fix it , if its present. It will be really nice if someone who have experienced it shares the detail so that i can reproduce it.
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,876
Reaction score
16,682
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
For all of you who have problems with DS18B20 reading such as 25.13 or similar, some sensor by default are set to 12Bit resolution. Following these steps you can modify that resolution to meet your need ;)


The Raspberry pi 2 guide works fine on a 3B+
3 independent thoughts.. maybe 4. Some of these maybe best for the development thread, but I forgot the link.. for that thread.. I think this was asked before.. but

1) can we develop a drop for anything that is clearly not an accurate reading? I'd much prefer that to the graph attached..

2) it would be really great to not have pH graph from 0-12.. custom range is fine. I can't really tell on the graph the level changes daily without mousing over it

3) has anyone automated water changes? I used a dosing pump from a saltwater and out to a drain.. when I activate it. It works well. And I do a few gallons at a time. It is slow.. a gallon an hour give or take. But takes literally no work at all.. so I'm thinking about running a few gallons changed each day from a 25 gallon tank. Anyone have thoughts on pros/cons on the idea

Finally.. I've been running reef-pi and following everything since like 2.2 last year.. seems like things are getting more active and harder to follow. Which is good and bad.. I'm excited about the progress and advancement. Guess that was more of a comment than question. :)

Screenshot_20200526-233001_Chrome.jpg
Thank you for taking the time and articulating your thoughts comprehensively. I'll make sure we address the ph chart range issue in 4.0, as part of the braoder UI/UX improvement work. I am still on the fence about discarding error nous values from sensors. I want to implement a moving average based robust mechanism for filtering, and not an arbitrary threshold based (certainly not one where we set the default).
For the last observation, you are right.. its a challenge with growing project. We have to do a better job around documentation and resource navigation.. and take it from there.. constantly incorporate feedback from beginners and experienced users and augment them...but again this will be harder as the project gets more adoption and maturity (more features).
 

bishoptf

Valuable Member
View Badges
Joined
Jan 1, 2019
Messages
1,409
Reaction score
1,726
Location
Missouri
Rating - 0%
0   0   0
Thought I would post my progress on controlling viparspectra lights with moon lights. Big thanks to @Michael Lane for making and providing a board to make things plug and play, more detailed information can be found in the controlling viparspectra thread - https://www.reef2reef.com/threads/controlling-viparspectra-lights.698216/

Here are some pics (vipar lights, they are bright, white @20 and Blues @60-
IMG_20200527_211605.jpg


Moon lights @10%, the appear brighter in the picture than in real life, you can go all the way down to 1% and they are barely on, will use these to ramp up to the vipar and ramp down after the vipar...woot!
MVIMG_20200527_211821.jpg


:)
 

cnidus

Community Member
View Badges
Joined
Mar 19, 2020
Messages
67
Reaction score
79
Rating - 0%
0   0   0
I got my robotank installed and started playing over the last few days.

so far just using 3 temp sensors and couple DC outputs for led work light in sump, fan (in temporary while I wait for a hole saw from Amazon) and RO solenoid.

Everything else connects via 2 HS300’s.

Rest is in my build log, but couldn’t resist posting my orange controller to contrast @Ranjib’s green one :) (green looks slick btw)

863E764B-817A-40B4-BF57-01AD52D9A2E9.jpeg
 

robsworld78

Valuable Member
View Badges
Joined
Feb 14, 2020
Messages
1,029
Reaction score
1,293
Location
Edmonton, Canada
Rating - 0%
0   0   0
Updated config.txt ref clock stretching, hopefully should do the trick.

As for temp, since I switched to a fully siliconed probe the issue is "fixed"...at least the symptom. I tried plugging the non-siliconed probe in and it works fine until it goes in the water. I tested for stray voltage and not seeing any on my Fluke DMM. I don't think it's a controller issue or at least maybe not entirely. It either gets voltage or interference. I made sure to keep probe wire away from any AC/DC wires. Going to silicone the "unshielded" probe and see what the result is.

These are the probes:

Those look like nice probes, I'm going to look into getting some. These other cheap ones, I thought you had, are hit or miss. I wouldn't think but wondering if it's something with the shielding and covering the metal would make it like no shielding touches the water. I know some people have used a grounding probe to solved issues like this, maybe test with a bare wire to see if it goes away.

we should track the analog connector giving random value. I definitely want to fix it , if its present. It will be really nice if someone who have experienced it shares the detail so that i can reproduce it.

I'll definitely make up an easy step by step so you can reproduce, just a time thing right now as I need to reformat SD, I still haven't figured how to "uninstall" reef-pi lol...

I got my robotank installed and started playing over the last few days.

so far just using 3 temp sensors and couple DC outputs for led work light in sump, fan (in temporary while I wait for a hole saw from Amazon) and RO solenoid.

Everything else connects via 2 HS300’s.

Rest is in my build log, but couldn’t resist posting my orange controller to contrast @Ranjib’s green one :) (green looks slick btw)

863E764B-817A-40B4-BF57-01AD52D9A2E9.jpeg

Looking good, I think the green looks better because of connectors, now I need to find orange, blue, red...

Did you add a switch on the door to turn off the light?
 

Zippyfear

Community Member
View Badges
Joined
Apr 30, 2019
Messages
86
Reaction score
150
Rating - 0%
0   0   0
Thank you for taking the time and articulating your thoughts comprehensively. I'll make sure we address the ph chart range issue in 4.0, as part of the braoder UI/UX improvement work. I am still on the fence about discarding error nous values from sensors. I want to implement a moving average based robust mechanism for filtering, and not an arbitrary threshold based (certainly not one where we set the default).
For the last observation, you are right.. its a challenge with growing project. We have to do a better job around documentation and resource navigation.. and take it from there.. constantly incorporate feedback from beginners and experienced users and augment them...but again this will be harder as the project gets more adoption and maturity (more features).


Almost all values in ranges moves from x to x+1 or x-1... maybe x+2 or x-2.. percentage based.. it should ignore and maybe report or error an x+2000 single value.. or an option.. skip recording that.. until it's within range or repeats 3-4 times.. just a suggestion.. I know as a programmer that the logic is never that simple.

Thanks for all that you do!
 

Zippyfear

Community Member
View Badges
Joined
Apr 30, 2019
Messages
86
Reaction score
150
Rating - 0%
0   0   0
Almost all values in ranges moves from x to x+1 or x-1... maybe x+2 or x-2.. percentage based.. it should ignore and maybe report or error an x+2000 single value.. or an option.. skip recording that.. until it's within range or repeats 3-4 times.. just a suggestion.. I know as a programmer that the logic is never that simple.

Thanks for all that you do!

I think we can all agree that the relative odds of the tank being -3000 degrees is pretty slim.

subzero.PNG
 

AbjectMaelstroM

Valuable Member
View Badges
Joined
Jul 21, 2019
Messages
1,535
Reaction score
1,709
Location
RVA
Rating - 100%
1   0   0
Those look like nice probes, I'm going to look into getting some. These other cheap ones, I thought you had, are hit or miss. I wouldn't think but wondering if it's something with the shielding and covering the metal would make it like no shielding touches the water. I know some people have used a grounding probe.

That's the weird thing. When you leave them bare metal (contact with water) is when the issue happens. The one covered in silicone seems to be working so far.


Might try grounding probe. Would a simple wire from ground in the outlet to the sump work for test purposes?
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,876
Reaction score
16,682
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
I got my robotank installed and started playing over the last few days.

so far just using 3 temp sensors and couple DC outputs for led work light in sump, fan (in temporary while I wait for a hole saw from Amazon) and RO solenoid.

Everything else connects via 2 HS300’s.

Rest is in my build log, but couldn’t resist posting my orange controller to contrast @Ranjib’s green one :) (green looks slick btw)

863E764B-817A-40B4-BF57-01AD52D9A2E9.jpeg
Super cool :-)
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,876
Reaction score
16,682
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
Thought I would post my progress on controlling viparspectra lights with moon lights. Big thanks to @Michael Lane for making and providing a board to make things plug and play, more detailed information can be found in the controlling viparspectra thread - https://www.reef2reef.com/threads/controlling-viparspectra-lights.698216/

Here are some pics (vipar lights, they are bright, white @20 and Blues @60-
IMG_20200527_211605.jpg


Moon lights @10%, the appear brighter in the picture than in real life, you can go all the way down to 1% and they are barely on, will use these to ramp up to the vipar and ramp down after the vipar...woot!
MVIMG_20200527_211821.jpg


:)
This looks awesome :-)
 

Schreiber

Leviathan
View Badges
Joined
Jun 28, 2016
Messages
475
Reaction score
594
Location
Knoxville
Rating - 0%
0   0   0
At the moment, reef-pi only has a driver for ADS1119, through the ph-board implementation. I don't think the ADS1119 is readily available on breakout boards, so that's unlikely the be helpful.

On the other hand, I plan to have a driver for ADS1015/ADS1115 ready next month. Those ADC chips are pretty common on breakout boards and should be able to support the TDS module you linked.

I actually got one of these TDS sensors on a whim in an order from DFRobot a few weeks ago. Haven't had the time to play with it yet, but let me know if there's anything you'd like me to do or test!
 

bishoptf

Valuable Member
View Badges
Joined
Jan 1, 2019
Messages
1,409
Reaction score
1,726
Location
Missouri
Rating - 0%
0   0   0
Starting to get a little frustrated, grumble, grumble....Looks like my existing reef-pi unit that has been running for a year plus corrupted the SD card, I really don't like SD cards. I took this as an opportunity to rebuild with the latest version, easy enough and I got it back up an working, using 3.4. Either I have run into a bug or I am doing something wrong, but I get a portion of the way through configuring and if I reboot the service will not start up, here are the journalctl lines:

Code:
Started raspberry pi based reef tank controller.
May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 driver-subsystem: registering driver id: rpi Name: Raspberry Pi
May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 INFO: equipment subsystem: Finished syncing all equipment
May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 Successfully started subsystem: equipment
May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 Successfully started subsystem: temperature
May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 Successfully started subsystem: lightings
May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 Successfully started subsystem: macro
May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 Successfully started subsystem: timers
May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 Successfully started subsystem: system
May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 reef-pi is up and running
May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 Starting https server at: 0.0.0.0:443
May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 Starting health checker
May 28 22:04:36 tankpi reef-pi[1147]: Methods: [GET]
May 28 22:04:36 tankpi reef-pi[1147]: 2020/05/28 22:04:36 API Doc path: /api/settings

May 28 22:05:36 tankpi reef-pi[1147]: 2020/05/28 22:05:36 Reading temperature from device: 28-011938443c3c
May 28 22:05:36 tankpi reef-pi[1147]: 2020/05/28 22:05:36 Reading temperature from device: 28-00000a9aeb40
May 28 22:05:36 tankpi reef-pi[1147]: 2020/05/28 22:05:36 health check: Used memory: 11.42  Load5: 0.24
May 28 22:05:37 tankpi reef-pi[1147]: 2020/05/28 22:05:37 temperature sub-system:  sensor 10g-green value: 78.24
May 28 22:05:37 tankpi reef-pi[1147]: panic: descriptor Desc{fqName: "10g_green_reading", help: "Module:10g-green Item:reading", constLabels: {}, variableLabels: []} is invalid: "10g_green_reading" is not a valid metric name
May 28 22:05:37 tankpi reef-pi[1147]: goroutine 44 [running]:
May 28 22:05:37 tankpi reef-pi[1147]: github.com/prometheus/client_golang/prometheus.(*Registry).MustRegister(0x2176380, 0x200fd18, 0x1, 0x1)
May 28 22:05:37 tankpi reef-pi[1147]:         /home/ranjib/gocode/pkg/mod/github.com/prometheus/[email protected]/prometheus/registry.go:400 +0x80
May 28 22:05:37 tankpi reef-pi[1147]: github.com/prometheus/client_golang/prometheus/promauto.Factory.NewGauge(0x767ce0, 0x2176380, 0x0, 0x0, 0x0, 0x0, 0x202bd20, 0x11, 0x202bd40, 0x1d, ...)
May 28 22:05:37 tankpi reef-pi[1147]:         /home/ranjib/gocode/pkg/mod/github.com/prometheus/[email protected]/prometheus/promauto/auto.go:295 +0xc0
May 28 22:05:37 tankpi reef-pi[1147]: github.com/prometheus/client_golang/prometheus/promauto.NewGauge(...)
May 28 22:05:37 tankpi reef-pi[1147]:         /home/ranjib/gocode/pkg/mod/github.com/prometheus/[email protected]/prometheus/promauto/auto.go:190
May 28 22:05:37 tankpi reef-pi[1147]: github.com/reef-pi/reef-pi/controller/telemetry.(*telemetry).EmitMetric(0x21b8180, 0x21a19c0, 0x9, 0x6742ce, 0x7, 0x28f5c28f, 0x40538f5c)
May 28 22:05:37 tankpi reef-pi[1147]:         /home/ranjib/gocode/src/github.com/reef-pi/reef-pi/controller/telemetry/stats.go:175 +0x464
May 28 22:05:37 tankpi reef-pi[1147]: github.com/reef-pi/reef-pi/controller/modules/temperature.(*Controller).Check(0x2198840, 0x2197200)
May 28 22:05:37 tankpi reef-pi[1147]:         /home/ranjib/gocode/src/github.com/reef-pi/reef-pi/controller/modules/temperature/control.go:30 +0x3dc
May 28 22:05:37 tankpi reef-pi[1147]: github.com/reef-pi/reef-pi/controller/modules/temperature.(*Controller).Run(0x2198840, 0x2197200, 0x21acd80)
May 28 22:05:37 tankpi reef-pi[1147]:         /home/ranjib/gocode/src/github.com/reef-pi/reef-pi/controller/modules/temperature/tc.go:191 +0xc8
May 28 22:05:37 tankpi reef-pi[1147]: created by github.com/reef-pi/reef-pi/controller/modules/temperature.(*Controller).Start
May 28 22:05:37 tankpi reef-pi[1147]:         /home/ranjib/gocode/src/github.com/reef-pi/reef-pi/controller/modules/temperature/controller.go:71 +0x1c4
May 28 22:05:37 tankpi systemd[1]: reef-pi.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
May 28 22:05:37 tankpi systemd[1]: reef-pi.service: Failed with result 'exit-code'.
May 28 22:07:07 tankpi systemd[1]: reef-pi.service: Service RestartSec=1min 30s expired, scheduling restart.
May 28 22:07:07 tankpi systemd[1]: reef-pi.service: Scheduled restart job, restart counter is at 9.

I have enable prometheus and haven't tried turning that off but something is amiss here, I can always drop back to 3.3 but I see a panic and an invalid argument error messages. It will not start up, I thought it was my naming convention or something but I think something is amiss in 3.4 that's not very nice.

Let me know if you need additional information, I will delete the database once again and see if I can figure out what it doesn't like.

:)

UPDATE: I've narrowed it down to the temp sensor readings, it crashes right after trying to read the temp value, doesn't make a difference which temp senor is enable it crashes after trying to read the sensor:

Code:
2020/05/28 23:59:45 Reading temperature from device: 28-011938443c3c
May 28 23:59:46 tankpi reef-pi[695]: 2020/05/28 23:59:46 temperature sub-system:  sensor 10g value: 78.24
May 28 23:59:46 tankpi reef-pi[695]: panic: descriptor Desc{fqName: "10g_reading", help: "Module:10g Item:reading", constLabels: {}, variableLabels: []} is invalid: "10g_reading" is not a valid metric name

If I disable the temp sensor it stays up...what am I missing? I've enabled 1-wire and I2C in raspi-config, and it sees the sensors but is crashing non the less. If anyone has any idea's let me know.

Thanks
 
Last edited:

peejay

New Member
View Badges
Joined
Nov 16, 2019
Messages
15
Reaction score
10
Rating - 0%
0   0   0
That’s not a deliberate move. We updated the charting library to address some deprecation warning, I’ll cross check .
Hi,
Did you manage to find anything related to my issue? I have re-installed Reef-Pi twice now, the last time on a new card with fresh install of Raspbian but I still get the same effect, no red bar for "Off" but green bar for "On" as normal. Also, I have a temperature graph on my dashboard, it no longer updates until I hit Reload so data is there but no updating on the graph.
Thanks.
 

robsworld78

Valuable Member
View Badges
Joined
Feb 14, 2020
Messages
1,029
Reaction score
1,293
Location
Edmonton, Canada
Rating - 0%
0   0   0
That's the weird thing. When you leave them bare metal (contact with water) is when the issue happens. The one covered in silicone seems to be working so far.


Might try grounding probe. Would a simple wire from ground in the outlet to the sump work for test purposes?

Yeah that would be ok.

Also check if the shielding is connected to the metal end and if ground and shield are connected.
 

oreo54

5000 Club Member
View Badges
Joined
Sep 18, 2017
Messages
6,933
Reaction score
4,129
Rating - 0%
0   0   0
Starting to get a little frustrated, grumble, grumble....Looks like my existing reef-pi unit that has been running for a year plus corrupted the SD card, I really don't like SD cards.

Thanks

SD cards aren't hard drives.. huge weakness in the system..
Too many read/write cycles..
 

Yov

Community Member
View Badges
Joined
May 24, 2020
Messages
51
Reaction score
44
Rating - 0%
0   0   0
So i have another question... In a Paludarium i would need the humidity to be 70-80 during the day and 100 during the night...

So during the day i would set the humidity control with the PH settings : Upper treshold would activate a fan when i reach 80. Lower treshold wil deactivate the fan or wil activate a humidifier when it reach 70. hysteresis 2-3.. (i have to experiment with this)

But when the night fals i need to get other settings. to reach 100% humidity. How can i approach this? do i look at Macro's ?
 

Badfish2too

Community Member
View Badges
Joined
Nov 12, 2018
Messages
83
Reaction score
65
Rating - 0%
0   0   0
SD cards aren't hard drives.. huge weakness in the system..
Too many read/write cycles..
Well really it only experiences "wear" when it is turned off and on really. When it is left running, it is all in the RAM. A lot of major companies rely on flash storage for the OS of virtual machine hypervisors. Myself included. You could always set up a SSD or external drive and use that instead
 

ARE YOU READY TO CONFESS TO CRAZIEST, DUMBEST, FUNNIEST THING YOU’VE EVER DONE IN REEFING?

  • Yeah, I'll confess! (Share your story in the comments!)

    Votes: 10 58.8%
  • Nah, I'll keep mine a secret...(Don't be like that, share with the class!)

    Votes: 7 41.2%
Back
Top
Home
Post thread…
Market
What's new