Notification for ATO Low

Related to the Portal

Posts: 187
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA
PostPosted: Wed Nov 12, 2014 7:06 am
Lee...Looked over your code a bit last night. I saw the wifialert but that's where my understanding stopped. Need some more direction...pleeeeaassseeee..... :)
User avatar
Posts: 5364
Joined: Fri Jul 20, 2012 9:42 am
PostPosted: Wed Nov 12, 2014 8:27 pm
Code: Select all
static WiFiAlert myAlert;
myAlert.SetDelay(3600); // send every hour, default is 15 minutes

// Turn off Skimmer if waste collector is full.
if (ReefAngel.LowATO.IsActive()) {
  myAlert.Send("Skimmate+container+full!+Skimmer+disabled.");
  ReefAngel.Relay.Override(Skimmer,0);
}

Posts: 187
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA
PostPosted: Sat Nov 15, 2014 9:13 am
Thanks Lee. After a few days, I've noticed that the portal notifications work fine for me. Since it's every 5 minutes, my ATO will run somewhere in between that and it has triggered the alert each time. I'll keep my code simple for now.

Posts: 187
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA
PostPosted: Sat Nov 15, 2014 7:09 pm
Another question..I want to add a delay after wc mode.

Can I just add this (time is controlled by portal):
Code: Select all
ReefAngel.Relay.DelayedOn( Port1 )


After this:
Code: Select all
ReefAngel.SingleATOLow( Port1 )


So it looks like this:
Code: Select all
ReefAngel.SingleATOLow( Port1 );
ReefAngel.Relay.DelayedOn( Port1 );
ReefAngel.DayLights( Port3 );
ReefAngel.ActinicLights( Port4 );
ReefAngel.Relay.DelayedOn( Port5 );
ReefAngel.DosingPumpRepeat1( Port6 );
ReefAngel.StandardHeater( Port8 );
ReefAngel.DCPump.UseMemory = true;
ReefAngel.DCPump.DaylightChannel = None;
ReefAngel.DCPump.ActinicChannel = Sync;


Since I already have port 5 on delay start, can I combine port 1 into the same line or vice versa or does each port have to have it's own? Thanks!

Posts: 12327
Joined: Fri Mar 18, 2011 6:47 pm
PostPosted: Sun Nov 16, 2014 4:18 am
It won't work.
The last line would always take effect ad disregard the previous ones.
So, ReefAngel.SingleATOLow( Port1 ); would never do anything.
Roberto.
User avatar
Posts: 5364
Joined: Fri Jul 20, 2012 9:42 am
PostPosted: Sun Nov 16, 2014 5:05 am
Each would need its own line and if you repeat a port like that as Roberto said, they overwrite each other. We'll have to write a timer and have an if else to have it control the ATO. I'll throw together some code later

Posts: 187
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA
PostPosted: Sun Nov 16, 2014 7:04 am
Is it something similar to this:
Code: Select all
    {
static time_t wcTimer;
    if (ReefAngel.DisplayedMenu == WATERCHANGE_MODE) wcTimer=now();
    if (now()-wcTimer > 0 && now()-wcTimer < 600) {
     ReefAngel.Relay.Off(Port8);
    } else {
      ReefAngel.WaterLevelATO(Port8,720,0,1);
    }


Except replace this:
Code: Select all
ReefAngel.WaterLevelATO(Port8,720,0,1)


With this:
Code: Select all
ReefAngel.SingleATOLow( Port1 )


And adjust the time to whatever I want?
User avatar
Posts: 5364
Joined: Fri Jul 20, 2012 9:42 am
PostPosted: Sun Nov 16, 2014 7:59 am
Yes exactly. Except the first { is an artifact of wherever you got it from.

Posts: 187
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA
PostPosted: Sun Nov 16, 2014 3:18 pm
Thanks. I'll give a shot but realized something last night during my water change.

I put the relay that the ATO pump is on to off during wc. I realized that after the water change, my ATO clear was triggered. In theory, if the ATO clear is triggered each time, why would I need to do the time delay if I need to manually clear the ATO anyways? Am I thinking about this way too deeply?
User avatar
Posts: 5364
Joined: Fri Jul 20, 2012 9:42 am
PostPosted: Sun Nov 16, 2014 4:46 pm
Did you have it in ReefAngel.WaterChangePorts? Not sure I follow the sequence.
PreviousNext

Return to Portal

Who is online

Users browsing this forum: No registered users and 1 guest

cron