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

marekd1

Active Member
View Badges
Joined
Dec 24, 2019
Messages
133
Reaction score
199
Rating - 0%
0   0   0
One of the primary reasons I'm not investing anything additional in "the big controller boys" is my data and what options I have with it.

I will say building a dashboard with charts (and enabling alerts based on the specifics from those charts) took me roughly 15 minutes with Adafruit.IO. I actually plan on doing this with an internal grafana server - or something similar.

This is sitting at my desk - not monitoring a tank yet - I would never run my tank at 83.41F. At least not on purpose.
Screen Shot 2020-01-03 at 3.05.16 PM.png
NICE!!!! You and I are one the same wavelength!!!! Never been a big fun of single task boxes. This is why I love micro-controllers.

The old days of building single purpose devices is long gone for me. Almost all of my stuff is custom built around micros.

For me its not just Reef-Pi, I have close to 80 + devices running under Homeseer including a lot of wireless MQTT based sensors. MQTT is the IoT protocol that almost everyone is using now. Having everything converged under Node Red is the final goal nad will be a wonderfull thing :) . I am also not a big fan of pushing my data to the cloud so having Node Red internal eliminates a lot of that. This is why I did not explore the Adafruit.IO
 
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 am assuming this is working like message bus, so handling of the messages would have to happen at Adaruit.io.

This is why I am waiting for MQTT support on Reef-Pi and then use Node Red to handle the filters, additional graphs external control interface etc. There is a video on architecture of the reef-pi on youtube but I am not sure how this was done in the demo with out MQTT support. It would be nice if someone could give some clarity on how this was done. I am not sure if person who created that video is part of this forum. If you have not looked at Node Red have a look, its like magic without huge need of coding for displaying graphs, dashboards logic, etc.
I’m yet to think about Mqtt support. I want reef-pi to be not a blocker on general iot ecosystem , which is why mqtt support is important but I have to figure out the specifics on what to support and what features are exposed by this. We have Prometheus support already and I’m pretty sure Prometheus /grafana combo will have the biggest ecosystem out there , far greater than mqtt when it comes to raw metrics /graphing / alerting capabilities .
 
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
NICE!!!! You and I are one the same wavelength!!!! Never been a big fun of single task boxes. This is why I love micro-controllers.

The old days of building single purpose devices is long gone for me. Almost all of my stuff is custom built around micros.

For me its not just Reef-Pi, I have close to 80 + devices running under Homeseer including a lot of wireless MQTT based sensors. MQTT is the IoT protocol that almost everyone is using now. Having everything converged under Node Red is the final goal nad will be a wonderfull thing :) . I am also not a big fan of pushing my data to the cloud so having Node Red internal eliminates a lot of that. This is why I did not explore the Adafruit.IO
As far as charting /alerting and metrics retention is concerned all of it can be done (and probably in better fashion ) with Prometheus /grafana . Node red definitely has a greater ecosystem and we should definitely do the needful to make sure reef-pi works with it. I’m curious , the current api is not sufficient for this integration?
 

marekd1

Active Member
View Badges
Joined
Dec 24, 2019
Messages
133
Reaction score
199
Rating - 0%
0   0   0
I’m yet to think about Mqtt support. I want reef-pi to be not a blocker on general iot ecosystem , which is why mqtt support is important but I have to figure out the specifics on what to support and what features are exposed by this. We have Prometheus support already and I’m pretty sure Prometheus /grafana combo will have the biggest ecosystem out there , far greater than mqtt when it comes to raw metrics /graphing / alerting capabilities .

I have not heard of Prometheus and will have to explore this, but also there has to be a way for Prometheus to point to a MQTT broker. Thanks for the info. All I need is just for messages to be pointed to a broker. MQTT is a protocol so its got to be somehow supported with in the Prometheus.
 

marekd1

Active Member
View Badges
Joined
Dec 24, 2019
Messages
133
Reaction score
199
Rating - 0%
0   0   0
I have not heard of Prometheus and will have to explore this, but also there has to be a way for Prometheus to point to a MQTT broker. Thanks for the info. All I need is just for messages to be pointed to a broker. MQTT is a protocol so its got to be somehow supported with in the Prometheus.


Ranjib,

I am not sure if I am referencing someone else but there is a video youtube "reefberry PI Feb 2019 Pt1 Architecture Overview" is this your design and same as reef-pi? If yes RabbitMQ should be MQTT compliant and able to serve messages to the broker. Can you let me know if this is your architecture?
 
Last edited:

Phildago

Well-Known Member
View Badges
Joined
Oct 11, 2019
Messages
854
Reaction score
908
Location
Broad Channel
Rating - 0%
0   0   0
One more note 50% will not work with DC motors especially under load when they have to rotate the rollers.
70% would be minimum. Play with time interval instead. I am able to dose with as low as 0.2 sec interval at 80%
Okay, will do. My concern was about wear and tear with the force of full speed rotation. I figured going slower would preserve the tubes a bit better.
 

marekd1

Active Member
View Badges
Joined
Dec 24, 2019
Messages
133
Reaction score
199
Rating - 0%
0   0   0
Okay, will do. My concern was about wear and tear with the force of full speed rotation. I figured going slower would preserve the tubes a bit better.

Hmm, did not consider that. Well I have one that I've used for over 2 years and did not have to replace any tubing. I would say I had bigger wear on the nylon rollers as the motor spindle started to slip than I would have noticed on the silicon tubing. Since then I've used heads that are driven by keyed motor spindle. Not sure if would look at it this way. For me is dose accuracy is key, Silicon tubing is cheap cheap cheap.
 

burningbaal

Active Member
View Badges
Joined
Aug 13, 2019
Messages
232
Reaction score
252
Location
Near Seattle
Rating - 0%
0   0   0
...HS300...
Funny, I was looking earlier today for a good option with multiple smart plugs in one bar and couldn't find any with more than 4, then you posted this...weird.
Fully Agree with Ranjib, went there too many times with no so good results. At the end of the day you do not have enough space to put in relays, you other option then would be to go with solid state. These are typically too low current i.e. 2A. Given that you could be switching heaters I typically do not go any thing less than 10A contact rating just to make sure I do not burn the house. I typically look for something that has enough space to add stuff but these are very rare to find. Another pointer make sure your power bar is fused so you do not exceed the overall rating.
Ya, the amperage is an issue. I also want a set that's normally-on. the ADJ is normally-off, which is smart for a lot of things, but I'd like for a few pieces to default to on when the pi is dead. Things like my return pump and at least one (high-up) powerhead, and since it's in my basement in the PNW, I want the heaters to default to on. I'd probably put my refugium light to normally-on, if I had a skimmer, it would be as well.
The smart plugs aren't exactly normally-on as I understand it, they're more like 'normally-whateverItWasBefore :)

I also thought about replacing the relays in a new ADJ strip so they're normally-on, but I might just get a ste of relays and build a box with normal outlets, maybe something like these so I also have a manual switch
I also want a manual switch for a few things. like "OH CRAP THE HOB SKIMMER IS POURING SKIMMATE DOWN THE STAND!". I don't have to pull out my phone (or laptop since my s9+ won't load the page), I can just flip a switch :)
 

marekd1

Active Member
View Badges
Joined
Dec 24, 2019
Messages
133
Reaction score
199
Rating - 0%
0   0   0
All the features including pH & lighting control-$42, this is for the completionist that wants to use every feature Reef-Pi offers. If I wind up getting better at soldering the PCA9685pw chips, I may be able to justify going down in price a bit, but hand-soldering 28 0.65mm pitch pins is a pretty big chore, plus all the extra resistors that go along with it.


best option for these is solder paste and heatgun.
 

marekd1

Active Member
View Badges
Joined
Dec 24, 2019
Messages
133
Reaction score
199
Rating - 0%
0   0   0
I also want a manual switch for a few things. like "OH CRAP THE HOB SKIMMER IS POURING SKIMMATE DOWN THE STAND!". I don't have to pull out my phone (or laptop since my s9+ won't load the page), I can just flip a switch :)


did you try this... just put a skimmate return pipe at high point in the skimmer cup and attach it to you air intake. If the cup gets full skimmate will go to the skimmer and stop producing bubbles and as a result stop the overflow. Or add overflow sensor to stop the skimmer

As for the NO, do not recommend it as how will you turn it off, you will need to completely unplug the power bar.
You may want to have a look at Sonoff Tasmota for some other control options. Just google it or youtube it there is tons of stuff arround it including controlling power, etc.
 

burningbaal

Active Member
View Badges
Joined
Aug 13, 2019
Messages
232
Reaction score
252
Location
Near Seattle
Rating - 0%
0   0   0
did you try this... just put a skimmate return pipe at high point in the skimmer cup and attach it to you air intake. If the cup gets full skimmate will go to the skimmer and stop producing bubbles and as a result stop the overflow. Or add overflow sensor to stop the skimmer

As for the NO, do not recommend it as how will you turn it off, you will need to completely unplug the power bar.
You may want to have a look at Sonoff Tasmota for some other control options. Just google it or youtube it there is tons of stuff arround it including controlling power, etc.

I don't actually have a skimmer, so it was really just a 'for example'. but as do your second point, normally-on does have that drawback, but this is part of why I want to have a manual switch in line of each controlled outlet. But really, it's not that different (NC vs NO); in one case, if you want to kill one outlet that's on, you either need to:
(1) use the reef-pi
(2) unplug the power bar (as in, the whole ADJ strip)
(3) shutdown/unplug/etc the reef-pi
(4) unplug that one plug from the power bar

with the other option, you can use options (1), (2), and (4) to turn off an outlet, but if you try to use (3), the outlet will revert to 'on'. This is by-design; I want that high-powerhead and return pump on at all costs, even if the raspberry pi craps the bed.
In fact, smart-outlets are at least as bad...if I want something off that's currently on via a smart outlet...I can only use options (1), (2), and (4)

Really, I think I'll put some switched outlets on a plastic box with 5V normally-on relays inside and run these of the 5V channels on the reef-pi. This way, I'll have the 8 ADJ I can use for my lights, some powerheads, ATO, other things that I am happy to have kick off when the pi resets. I'll use the 4-8 (undecided) normally-on outlets (with manual switches) for things like the return pump and heaters.

Best of both worlds. A few things that will revert to on if the pi craps the bed (or when I reboot/reload), but that I can manually turn off when needed (really only if the pi is down or it's an emergency), a few things that will revert to off. Should give me the best of all options, and in the normal-state, it doesn't much matter if a given outlet is NO or NC.
 

marekd1

Active Member
View Badges
Joined
Dec 24, 2019
Messages
133
Reaction score
199
Rating - 0%
0   0   0
I don't actually have a skimmer, so it was really just a 'for example'. but as do your second point, normally-on does have that drawback, but this is part of why I want to have a manual switch in line of each controlled outlet. But really, it's not that different (NC vs NO); in one case, if you want to kill one outlet that's on, you either need to:
(1) use the reef-pi
(2) unplug the power bar (as in, the whole ADJ strip)
(3) shutdown/unplug/etc the reef-pi
(4) unplug that one plug from the power bar

with the other option, you can use options (1), (2), and (4) to turn off an outlet, but if you try to use (3), the outlet will revert to 'on'. This is by-design; I want that high-powerhead and return pump on at all costs, even if the raspberry pi craps the bed.
In fact, smart-outlets are at least as bad...if I want something off that's currently on via a smart outlet...I can only use options (1), (2), and (4)

Really, I think I'll put some switched outlets on a plastic box with 5V normally-on relays inside and run these of the 5V channels on the reef-pi. This way, I'll have the 8 ADJ I can use for my lights, some powerheads, ATO, other things that I am happy to have kick off when the pi resets. I'll use the 4-8 (undecided) normally-on outlets (with manual switches) for things like the return pump and heaters.

Best of both worlds. A few things that will revert to on if the pi craps the bed (or when I reboot/reload), but that I can manually turn off when needed (really only if the pi is down or it's an emergency), a few things that will revert to off. Should give me the best of all options, and in the normal-state, it doesn't much matter if a given outlet is NO or NC.


You are making it way too complicated, given what you have just described, ..... simple power socket with on/off switch.
 

marekd1

Active Member
View Badges
Joined
Dec 24, 2019
Messages
133
Reaction score
199
Rating - 0%
0   0   0
then I can't control it with the pi...ever
There is allways a way :)

Throw a relay in the same box with the switch and have the on/off switch control the main power to the relay and the plug. But I would do it as standalone box. I would not modify the whole power bar just for this. I guess this was the point I was trying to make :)
 

burningbaal

Active Member
View Badges
Joined
Aug 13, 2019
Messages
232
Reaction score
252
Location
Near Seattle
Rating - 0%
0   0   0
There is allways a way :)

Throw a relay in the same box with the switch and have the on/off switch control the main power to the relay and the plug. But I would do it as standalone box. I would not modify the whole power bar just for this. I guess this was the point I was trying to make :)
oh, I think we're saying the same thing in two ways. I'm not at all sure I'll use the existing power bar, but I want some normally-on relays with a manual switch between the relay and the plug.

I think we agree with each other :D
 
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
Ranjib,

I am not sure if I am referencing someone else but there is a video youtube "reefberry PI Feb 2019 Pt1 Architecture Overview" is this your design and same as reef-pi? If yes RabbitMQ should be MQTT compliant and able to serve messages to the broker. Can you let me know if this is your architecture?
Nope it’s a different project. I don’t know if it’s the same person but vaguely recall having a discussing with someone interested around rabbitmq ,mqtt , iot architecture etc. and my view was I want to get specific workflows fully chalked out (e.g. temperature control , ato etc ) before any generic system/promise. I don’t agree on the architecture bits, reef-pi is not an enterprise grade software and all the architecture components (rabbitmq, rdbms etc) referees there was more suitable for those (scale and other operational characteristics). Reef-pi tech stack choices has deliberately taken into account of edge computing, low scale , low disk , less computing intensive options ( go , http/json, react, boltdb etc).
 
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
It's not worth it to/for me - shortest path is probably just to hide that option. :D

For folks with a handle on apache/nginx etc - it does create a little confusion - not a huge deal, just a thought.
one of the intended use of that option is to lockdown reef-pi to 127.0.0.1 to restrict network exposure. or to change the port, in case users are using port 80 for something else.
 

marekd1

Active Member
View Badges
Joined
Dec 24, 2019
Messages
133
Reaction score
199
Rating - 0%
0   0   0
Nope it’s a different project. I don’t know if it’s the same person but vaguely recall having a discussing with someone interested around rabbitmq ,mqtt , iot architecture etc. and my view was I want to get specific workflows fully chalked out (e.g. temperature control , ato etc ) before any generic system/promise. I don’t agree on the architecture bits, reef-pi is not an enterprise grade software and all the architecture components (rabbitmq, rdbms etc) referees there was more suitable for those (scale and other operational characteristics). Reef-pi tech stack choices has deliberately taken into account of edge computing, low scale , low disk , less computing intensive options ( go , http/json, react, boltdb etc).


Cool, good to know. I just thought these were somewhat related. Its good to understand the overall approach and architecture. This makes it a lot easier to understand other use cases and limitations. I am big on open architecture and ability to exchange data. This allows final data processing and presentation to be left to many options. Its good to know that you are open to supporting MQTT at some point. I will keep on saying you did an excellent job so far with the REEF-PI. Keep it up and keep them coming!!!!! Remember more I/O lines are needed first.... LOL :)
 

marekd1

Active Member
View Badges
Joined
Dec 24, 2019
Messages
133
Reaction score
199
Rating - 0%
0   0   0
one of the intended use of that option is to lockdown reef-pi to 127.0.0.1 to restrict network exposure. or to change the port, in case users are using port 80 for something else.


I like the option of changing the port at the source. This gives few more options from firewalling perspective. So is it safe to say changing the port number function works, with 0.0.0.0 for the IP?
 

TOP 10 Trending Threads

DO YOU THINK TECHNOLOGICAL ADVANCEMENTS ARE MORE HELPFUL OR HURTFUL TO REEFING?

  • More helpful.

    Votes: 57 41.6%
  • More hurtful.

    Votes: 5 3.6%
  • I think it depends mostly on the technology.

    Votes: 53 38.7%
  • I think it dependsmostly on the reefer behind the technology.

    Votes: 41 29.9%
Back
Top
Home
Post thread…
Market
What's new