Neptune Apex Programming Tutorials Part 7, Feed Cycles

jbilliel

Active Member
View Badges
Joined
Jan 12, 2020
Messages
102
Reaction score
28
Rating - 0%
0   0   0
Same question on my wav pumps. Do I replace the existing wav code with this code?
 

SuncrestReef

That Apex guy
View Badges
Joined
Jan 18, 2018
Messages
4,214
Reaction score
9,212
Location
Oregon
Rating - 0%
0   0   0
I am sure this is a dumb question, but should this be what the AFS code looks like now? Does the previous Advanced coding from the AFS get deleted?

Is it this?

Fallback OFF
Set OFF
If Output vFeed = ON Then ON
Defer 001:00 Then ON
OSC 000:00/000:30/000:30 Then ON
If Time 00:00 To 07:00 Then OFF
If Time 7:02 To 13:00 Then OFF
If Time 13:02 To 00:00 Then OFF
If FeedA 000 Then ON

Or this?
Fallback OFF
Set OFF
If Output vFeed = ON Then ON
Defer 001:00 Then ON


If you are wanting to use the vFeed method from the tutorial, then you should remove the OSC and If Time commands from the AFS, as you have shown in your 2nd example:

Fallback OFF
Set OFF
If Output vFeed = ON Then ON
Defer 001:00 Then ON

Same question on my wav pumps. Do I replace the existing wav code with this code?

For the WAV, just append this line to the existing code (if any) under the Advanced tab of the WAV:

If Output vFeed = ON Then OFF

Any code in the Advanced tab simply overrides the normal graphical schedule of the WAV.
 

jonny19ireland

New Member
View Badges
Joined
Mar 25, 2017
Messages
24
Reaction score
9
Rating - 0%
0   0   0
Virtual Output vFeed:

Set OFF
If Time 08:00 to 08:02 Then ON
If Time 17:00 to 17:02 Then ON
Defer 005:00 Then OFF


Hi - this tutorial has really helped me. I'm struggling to understand the purpose of the DEFER line in the virtual output.
 

SuncrestReef

That Apex guy
View Badges
Joined
Jan 18, 2018
Messages
4,214
Reaction score
9,212
Location
Oregon
Rating - 0%
0   0   0
Hi - this tutorial has really helped me. I'm struggling to understand the purpose of the DEFER line in the virtual output.

Yes, the Defer on the vFeed output serves no real purpose. I just extends the vFeed ON time for 5 minutes. It could have been simplified by just adjusting the If Time commands to achieve the same result:

Set OFF
If Time 08:00 to 08:07 Then ON
If Time 17:00 to 17:07 Then ON

The end result either way is a 8 minute feed cycle where other devices remain off until the timer expires.
 

jonny19ireland

New Member
View Badges
Joined
Mar 25, 2017
Messages
24
Reaction score
9
Rating - 0%
0   0   0
Yes, the Defer on the vFeed output serves no real purpose. I just extends the vFeed ON time for 5 minutes. It could have been simplified by just adjusting the If Time commands to achieve the same result:

Set OFF
If Time 08:00 to 08:07 Then ON
If Time 17:00 to 17:07 Then ON

The end result either way is a 8 minute feed cycle where other devices remain off until the timer expires.


Perfect! I understand now. Thanks so much!
 

canadianeh

Valuable Member
View Badges
Joined
Feb 28, 2017
Messages
1,611
Reaction score
1,044
Rating - 0%
0   0   0
I am confused with the feeding programming under the skimmer section.

You said to delay 5 minutes then OFF to avoid overflow of the skimmer? But when feeding is on, the pump is reduced to 1% so the water level in the sump is already high to begin with and will cause overflow of the skimmer. Why not turning off the skimmer without delay, and then turn it on with 5 minutes delay which is after the 5 minutes feed is completed and the sump level is back down to normal operating level?
 

rkpetersen

walked the sand with the crustaceans
View Badges
Joined
Sep 14, 2017
Messages
4,528
Reaction score
8,865
Location
Near Seattle
Rating - 0%
0   0   0
Why not turning off the skimmer without delay, and then turn it on with 5 minutes delay which is after the 5 minutes feed is completed and the sump level is back down to normal operating level?

That's exactly how he has it set up. vFeed output turning ON at the specific times turns off the pump and skimmer immediately. 5 minutes later, the pump starts back up, and 5 minutes after that, the skimmer starts back up.
 

canadianeh

Valuable Member
View Badges
Joined
Feb 28, 2017
Messages
1,611
Reaction score
1,044
Rating - 0%
0   0   0
That's exactly how he has it set up. vFeed output turning ON at the specific times turns off the pump and skimmer immediately. 5 minutes later, the pump starts back up, and 5 minutes after that, the skimmer starts back up.
But that’s is you use AFs and vFeed. I was referring to the following paragraph. Is it not telling the skimmer to wait for 5 minutes then turn the skimmer off?


For the skimmer, I need it to wait for the sump water level to return to normal after the return pump has been off. This is achieved by using the delay timer:

If FeedA 005 Then OFF
If FeedB 005 Then OFF
If FeedC 005 Then OFF
If FeedD 005 Then OFF

added @SuncrestReef
 
Last edited:

rkpetersen

walked the sand with the crustaceans
View Badges
Joined
Sep 14, 2017
Messages
4,528
Reaction score
8,865
Location
Near Seattle
Rating - 0%
0   0   0
But that’s is you use AFs and vFeed. I was referring to the following paragraph. Is it not telling the skimmer to wait for 5 minutes then turn the skimmer off?


For the skimmer, I need it to wait for the sump water level to return to normal after the return pump has been off. This is achieved by using the delay timer:

If FeedA 005 Then OFF
If FeedB 005 Then OFF
If FeedC 005 Then OFF
If FeedD 005 Then OFF

added @SuncrestReef

The 005 in those lines means
'When the FeedX time expires, wait an additional 5 minutes before turning the device back on.'

It's an additional delay. Pretty much put there with protein skimmers in mind.

One thing to note:
If you Cancel a Feed timer before it expires on its own, that additional delay will also be cancelled.
So one could easily have a skimmer overflow if you cancel a feed timer, unless you place a separate Defer in your skimmer code to keep it from turning on immediately.
Personally, that's why I don't use these numbers at all, I just set them to 000 and put the appropriate Defers where I need them (sometimes requiring additional VOs.)
 

canadianeh

Valuable Member
View Badges
Joined
Feb 28, 2017
Messages
1,611
Reaction score
1,044
Rating - 0%
0   0   0
The 005 in those lines means
'When the FeedX time expires, wait an additional 5 minutes before turning the device back on.'

It's an additional delay. Pretty much put there with protein skimmers in mind.

One thing to note:
If you Cancel a Feed timer before it expires on its own, that additional delay will also be cancelled.
So one could easily have a skimmer overflow if you cancel a feed timer, unless you place a separate Defer in your skimmer code to keep it from turning on immediately.
Personally, that's why I don't use these numbers at all, I just set them to 000 and put the appropriate Defers where I need them (sometimes requiring additional VOs.)

I put this code on my skimmer. Is this okay? Is there more efficient way to write it?

If FeedA 000 Then OFF
Defer 005:00 Then ON
If FeedB 000 Then OFF
Defer 005:00 Then ON
 

rkpetersen

walked the sand with the crustaceans
View Badges
Joined
Sep 14, 2017
Messages
4,528
Reaction score
8,865
Location
Near Seattle
Rating - 0%
0   0   0
I put this code on my skimmer. Is this okay? Is there more efficient way to write it?

If FeedA 000 Then OFF
Defer 005:00 Then ON
If FeedB 000 Then OFF
Defer 005:00 Then ON

You only need one Defer statement (of each type, ON or OFF) per code stack, and it can be put anywhere.
It applies to all of the code; any time the skimmer goes from OFF to ON in AUTO mode, there will be a delay of 5 min.
As another example, here's the code for one of my skimmers:

Fallback ON
Set ON
Defer 001:30 Then ON
If FeedA 000 Then OFF
If FeedB 000 Then OFF
If FeedC 000 Then OFF
If FeedD 000 Then OFF
If Output SkimCupFull = ON Then OFF
If Output ReturnPump = OFF Then OFF
If Output ReturnFail = ON Then OFF
If Output LeakDetected = ON Then OFF
 
Last edited:

SuncrestReef

That Apex guy
View Badges
Joined
Jan 18, 2018
Messages
4,214
Reaction score
9,212
Location
Oregon
Rating - 0%
0   0   0
Why doesnt the wrench icon appear in the list? Did they change something?

Which model of Apex do you have? The wrench icon (for Misc Setup) is only available in Fusion for the Apex 2106 or Apex-EL. If you have the older Apex Classic or Apex Jr, then you need to use the Classic Dashboard (http://apex.local) to access the Misc Setup screen.
 

joshwaggs

Active Member
View Badges
Joined
Nov 9, 2014
Messages
318
Reaction score
354
Location
VA
Rating - 0%
0   0   0
yeah, I have the classic. ugh.

Thanks

The link you gave just asks for a login. Nothing works. Gah. The Apex drives me nuts
 

Adrift

Well-Known Member
View Badges
Joined
Apr 27, 2021
Messages
705
Reaction score
1,953
Location
Fort Worth
Rating - 0%
0   0   0
Hello @SuncrestReef! I have followed this article and did all of my inputs as you suggested with a tweak here and there. All is working fine. However I would like my lights to go white during feed modes. I don't see any information on this? I have 3 neptune sky's over my tank. I'm using the new Apex head unit purchased this year not the EL.
 

SuncrestReef

That Apex guy
View Badges
Joined
Jan 18, 2018
Messages
4,214
Reaction score
9,212
Location
Oregon
Rating - 0%
0   0   0
Hello @SuncrestReef! I have followed this article and did all of my inputs as you suggested with a tweak here and there. All is working fine. However I would like my lights to go white during feed modes. I don't see any information on this? I have 3 neptune sky's over my tank. I'm using the new Apex head unit purchased this year not the EL.
All you need to do is configure a SKY Profile with the lighting settings you want, then add this line of code to the Advanced tab on the SKY Schedule screen:

If FeedA 000 Then ProfileName

Code in the Advanced tab will override the normal schedule only when it evaluates True.

3724B0C3-F66C-4DAF-B984-7B640C46393E.png
 

TigNJaxx

Active Member
View Badges
Joined
Oct 31, 2020
Messages
285
Reaction score
277
Location
Jackson
Rating - 0%
0   0   0
This was what I was looking for. Is there a way that when the return pump is turned back on, it comes on at the preferred return speed? I tried the 1% value, and the ramp down command, but it didn't work for me.
Could I see a screen shot of your settings?
 
Last edited:

mofebubi

Community Member
View Badges
Joined
Aug 28, 2021
Messages
32
Reaction score
47
Location
Spain
Rating - 0%
0   0   0
We apologize that this article was not published last Friday, when it was supposed to be. As you know, there have been a number of updates and changes to the Reef2Reef site, and some of these changes have had significant effects on how articles are published. We hope to get everything back on track this week. We apologize for any inconvenience to you, and we thank you for your indulgence.

This article is Part 7 of a series. Feel free to go back and read Part 1, Part 2, Part 3, Part 4, Part 5, or Part 6.

This article and several future ones by the same author were originally part of several presentations made to a local aquarium club on programming your Neptune Apex Controller. The article is reprinted with permission from the author.

Because this topic will be of great interest to some readers but no interest to others who have not automated their systems, R2R will run these programming articles every Friday until we come to the end of the series.

Photos, images, and diagrams included in this article below are all courtesy of the author, @SuncrestReef ©2019, All Rights Reserved.

~~~~~~~~~~~~~~~~~~~

49C071C6-C2C4-4B87-AD3C-0164AE1BECF7 (1).jpeg

Feed Cycles

The Apex has four Feed Cycle buttons which can be used for a variety of reasons, not just feeding. When you click a Feed button, it activates a timer and a special programming element that you can reference in your program code to turn off or turn on various outputs:

image8-1.png

The Feed Cycles are named FeedA, FeedB, FeedC, and FeedD. You can configure the timers for each in the Misc Setup page:

Click the Advanced (gear icon) at the top of the Fusion dashboard to expand the list of icons

image8-2.png

Click the Misc (wrench icon) to display the Misc Setup page

image8-3.png

Enter the time each Feed Cycle should remain active, between 60 - 65535 seconds (1 minute to 18 hours 12 minutes)

image8-4.png

How you use the Feed Cycles is up to you. Here’s how I use mine:
  • FeedA — Feeding fish. Turns off powerheads, skimmer, and sets return pump to 1% for 5 minutes.
  • FeedB — Feeding corals. Turns off powerheads, skimmer, and sets return pump to 1% for 10 minutes.
  • FeedC — Photography. Turns off powerheads, skimmer, sets return pump to 1%, sets lights to whiter spectrum for 30 minutes.
  • FeedD — Feeding fish with Auto Feeder. Turns off powerheads, skimmer, and sets return pump to 1% for 5 minutes, and activates feeder for one rotation.
This is accomplished by adding the following line to each output you’d like off during the Feed Cycle:

If [FEED CYCLE] [DELAY] Then [ON/OFF/PROFILE]

For example, the powerheads are turned off with this code:

If FeedA 000 Then OFF
If FeedB 000 Then OFF
If FeedC 000 Then OFF
If FeedD 000 Then OFF


For the skimmer, I need it to wait for the sump water level to return to normal after the return pump has been off. This is achieved by using the delay timer:

If FeedA 005 Then OFF
If FeedB 005 Then OFF
If FeedC 005 Then OFF
If FeedD 005 Then OFF


This forces the skimmer to wait an additional 5 minutes after the Feed Cycle has completed. By that time, the return pump has brought the sump water level back down to normal so the skimmer doesn’t overflow.

Feed Cycles must be activated manually by clicking on the buttons in Fusion. They cannot be activated programmatically. If you want your Neptune AFS auto feeder to run with no manual intervention, then you can configure the AFS by clicking the gear icon above the AFS tile on your dashboard:

image8-5.png

After saving these settings, you can see the underlying code for the AFS by changing its Control Type to Advanced:

image8-6.png

However, while this automates the AFS, it does not give you control over your powerheads, pumps, or skimmer. The best way to incorporate an automated feeder and mimic the Feed Cycle buttons is to use a virtual output to control everything. Here’s an example:

Virtual Output vFeed:

Set OFF
If Time 08:00 to 08:02 Then ON
If Time 17:00 to 17:02 Then ON
Defer 005:00 Then OFF


AFS Output Configuration:

Fallback OFF
Set OFF
If Output vFeed = ON Then ON
Defer 001:00 Then ON


Return Pump Configuration:

Fallback ON
Set ON
If Output vFeed = ON Then OFF


Skimmer Configuration:

Fallback OFF
Set ON
If Output vFeed = ON Then OFF
Defer 005:00 Then ON


Now when the vFeed output is set to AUTO, it will turn on at 8am and 5pm for 2 minutes each. This will cause the return pump and skimmer to turn off immediately. The AFS feeder will wait 1 minute (due to the Defer timer) and then make a single rotation. One minute later the vFeed output turns off, so the powerheads and return pump come back on immediately. The skimmer waits an additional 5 minutes due to the Defer timer, allowing the sump water level to return to normal. Just like the manual Feed Cycle buttons, but all unattended!

That’s all for Feed Cycles. In our final tutorial, I’ll cover Lunar Schedules and Lighting Profiles.

~~~~~~~~~~

We encourage all our readers to join the Reef2Reef forum. It’s easy to register, free, and reefkeeping is much easier and more fun in a community of fellow aquarists. We pride ourselves on a warm and family-friendly forum where everyone is welcome. You will also find lots of contests and giveaways with our sponsors.

~~~~~~~~~~~

Author Profile: @SuncrestReef

John Halsey is a reefing hobbyist who keeps a Red Sea Reefer XL 425 in his living room. He is new to reefing with just over one year of experience, but has been successful in keeping a healthy mixed reef by following best practices learned here on R2R as well as actively participating in his local aquarist club--PNWMAS--in Portland, Oregon. John retired from his 30-year career in IT support, and put that technical expertise to good use by automating much of his aquarium equipment with an extensive Neptune Apex system.

~~~~~~~~~~~
Sorry but I cannot find in the thread.
How can I set the return pump to a specific % while feed cycle is active?
 
Back
Top