Skimmer ignoring "override"

Basic / Standard Reef Angel hardware
Post Reply
User avatar
joshlawless
Posts: 138
Joined: Thu May 23, 2013 2:52 pm

Skimmer ignoring "override"

Post by joshlawless »

I have two lines of code that don't seem to play nice with one another.

In particular, I have

Code: Select all

  ReefAngel.Relay.DelayedOn( Port3 );  
and

Code: Select all

if(!ReefAngel.HighATO.IsActive()) {ReefAngel.Relay.Override(Port3,0);}
The first is intended to keep the skimmer from starting up until the water level in the sump has equalized following a feeding cycle.

The second detects whether the water level in the skimmate collector has reached the sensor, and masks the protein skimmer into the "off" position.

The unexpected behavior follows a feeding mode cycle, where the skimmer has already filled the skimmate collector. The skimmer is masked off before the feeding mode, but turned back into "Auto" mode following the feeding mode (presumably because of the "DelayedOn" command).

While the Override command will mask the skimmer back off again if the HighATO is still active, that is not always the case with the sensor. Sometimes it detects a HighATO condition (based on the Avast Marine water level pressure sensor), masks the skimmer off, but then decides the level isn't high enough to warrant the HighATO switch (either due to leaking air pressure from the upended pipe, or who knows why). In short, sometimes this can cause an overflow from my skimmate collector (the skimmate continues to drain from the collection cup for several seconds after the skimmer is powered off, due to a siphon effect).

Both of these lines are in the loop() command. Is this behavior expected? Can I accomplish what I want (keeping the skimmer masked off) while still benefiting from the DelayedOn behavior?
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

Re: Skimmer ignoring "override"

Post by lnevo »

I think the best way would be to remove the Skimmer from the FeedingModePorts list and then put a seperate line of code to turn it off during feeding mode. delayed on should kick in when feeding mode is done and the override won't ever be cleared.

if (ReefAngel.DisplayedMenu==FEEDING_MODE) ReefAngel.Relay.Off(Port3);
User avatar
joshlawless
Posts: 138
Joined: Thu May 23, 2013 2:52 pm

Re: Skimmer ignoring "override"

Post by joshlawless »

That's a great suggestion, thanks!
Post Reply