Apex Programming Help, ATO/Skimmer

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Kycelium

Community Member
View Badges
Joined
Jul 18, 2020
Messages
37
Reaction score
59
Location
Phoenix
Rating - 0%
0   0   0
So I have an AIO tank, and when my skimmer starts up, it pulls enough water to trigger my ATO to turn on for a couple of seconds. Can anyone help me program my ATO outlet to have a two-minute delay after my skimmer turns on?
 
So I have an AIO tank, and when my skimmer starts up, it pulls enough water to trigger my ATO to turn on for a couple of seconds. Can anyone help me program my ATO outlet to have a two-minute delay after my skimmer turns on?

It's rare that an Apex question stumps me. I had to put some thought into this one, and I think I have a solution for you. It will require creating 2 virtual outputs; one will act as a 2 minute timer, and the other will perform a logical AND condition to see if the skimmer is on but the 2 minutes has not yet elapsed. The ATO will then use the status of that 2nd virtual output to know when to disable the ATO:


[Skimmer_Start] — virtual output
Set OFF
If Output Skimmer = ON Then ON
Defer 002:00 Then ON

[ATO_Delay] — virtual output
Set OFF
If Output Skimmer = ON Then ON
If Output Skimmer_Start = OFF Then OFF

[ATO] (put this command at the bottom of your current ATO program)
If Output ATO_Delay = ON Then OFF

Just change the name "Skimmer" to the actual name of your skimmer's output.

Here are the various states of each output depending on the skimmer's state:

OutputStatet = 0:00t = 2:00
SkimmerOFFONON
Skimmer_StartOFFOFFON
ATO_DelayOFFONOFF
ATOONOFFON

If you're not familiar with virtual outputs, see my tutorial: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-5-virtual-outputs.703/
 
Could you simplify and set it up on a feed mode. when the skimmer turns on you could say feed C and set feed C for 2 mins, and shut the ATO off when feed C is on? its not as clean as your way. but doable?
 
Could you simplify and set it up on a feed mode. when the skimmer turns on you could say feed C and set feed C for 2 mins, and shut the ATO off when feed C is on? its not as clean as your way. but doable?

Feed modes cannot be triggered programmatically, such as when the skimmer is turned on. They can only be activated when you click the Feed A/B/C/D buttons on the dashboard. See my tutorial on Apex Feed Cycles for more details: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-7-feed-cycles.715/
 
It's rare that an Apex question stumps me. I had to put some thought into this one, and I think I have a solution for you. It will require creating 2 virtual outputs; one will act as a 2 minute timer, and the other will perform a logical AND condition to see if the skimmer is on but the 2 minutes has not yet elapsed. The ATO will then use the status of that 2nd virtual output to know when to disable the ATO:


[Skimmer_Start] — virtual output
Set OFF
If Output Skimmer = ON Then ON
Defer 002:00 Then ON

[ATO_Delay] — virtual output
Set OFF
If Output Skimmer = ON Then ON
If Output Skimmer_Start = OFF Then OFF

[ATO] (put this command at the bottom of your current ATO program)
If Output ATO_Delay = ON Then OFF

Just change the name "Skimmer" to the actual name of your skimmer's output.

Here are the various states of each output depending on the skimmer's state:

OutputStatet = 0:00t = 2:00
SkimmerOFFONON
Skimmer_StartOFFOFFON
ATO_DelayOFFONOFF
ATOONOFFON

If you're not familiar with virtual outputs, see my tutorial: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-5-virtual-outputs.703/
Sorry but I am a wee bit confused. Do I put all of this under the ATO?
[Skimmer_Start] — virtual output
Set OFF
If Output Skimmer = ON Then ON
Defer 002:00 Then ON

[ATO_Delay] — virtual output
Set OFF
If Output Skimmer = ON Then ON
If Output Skimmer_Start = OFF Then OFF

[ATO] (put this command at the bottom of your current ATO program)
If Output ATO_Delay = ON Then OFF

Or do I put the first half under the skimmer and use the ATO part in reference to the first half?
 
Sorry but I am a wee bit confused. Do I put all of this under the ATO?

Or do I put the first half under the skimmer and use the ATO part in reference to the first half?

Each of the names in square brackets below are names of individual outputs. The first two are new virtual outputs you first need to create as explained in my Virtual Outputs tutorial linked in my original reply above. The last one is a line of code you need to add to the end of your existing ATO output program. (I just listed that output as ATO since I don't know what yours is named). No changes are needed on your current Skimmer programming. Just be sure to substitute the name "Skimmer" in the lines of code below to match the actual name of your skimmer output.

[Skimmer_Start] — virtual output
Set OFF
If Output Skimmer = ON Then ON
Defer 002:00 Then ON

[ATO_Delay] — virtual output
Set OFF
If Output Skimmer = ON Then ON
If Output Skimmer_Start = OFF Then OFF

[ATO] (put this command at the bottom of your current ATO program)
If Output ATO_Delay = ON Then OFF
 
Each of the names in square brackets below are names of individual outputs. The first two are new virtual outputs you first need to create as explained in my Virtual Outputs tutorial linked in my original reply above. The last one is a line of code you need to add to the end of your existing ATO output program. (I just listed that output as ATO since I don't know what yours is named). No changes are needed on your current Skimmer programming. Just be sure to substitute the name "Skimmer" in the lines of code below to match the actual name of your skimmer output.

[Skimmer_Start] — virtual output
Set OFF
If Output Skimmer = ON Then ON
Defer 002:00 Then ON

[ATO_Delay] — virtual output
Set OFF
If Output Skimmer = ON Then ON
If Output Skimmer_Start = OFF Then OFF

[ATO] (put this command at the bottom of your current ATO program)
If Output ATO_Delay = ON Then OFF
That makes a ton of sense. I did the first virtual output yesterday but wanted to make sure I was doing it correctly. Now would I leave these Outputs in Auto 24/7 and when I naturally select my feed mode A, which turns my skimmer off for five minutes, these Virtual Outputs will control the ATO Delay?
 
That makes a ton of sense. I did the first virtual output yesterday but wanted to make sure I was doing it correctly. Now would I leave these Outputs in Auto 24/7 and when I naturally select my feed mode A, which turns my skimmer off for five minutes, these Virtual Outputs will control the ATO Delay?

That's correct. Any time the skimmer turns off (whether due to Feed A or if you manually turn it off) and is then turned back on, it will start the timer. Leave both of the virtual outputs on AUTO at all times.
 
That's correct. Any time the skimmer turns off (whether due to Feed A or if you manually turn it off) and is then turned back on, it will start the timer. Leave both of the virtual outputs on AUTO at all times.
Ill test it out right now! Thank you for the help, I dont think I would have ever found out how to do this on my own.
 
So it appears to be switched up, the ATO turns on right away and the skimmer is on a delay.

Please post the code from your ATO, skimmer, and the two new virtual outputs so I can see if I missed any details.
 

IF YOU HAD TO TAKE A REEFING EXAM, WOULD YOU PASS?

  • Yes!

    Votes: 32 45.7%
  • Not yet, but I have one that I want to buy in mind!

    Votes: 9 12.9%
  • No.

    Votes: 26 37.1%
  • Other (please explain).

    Votes: 3 4.3%
Back
Top