Page 1 of 1

ATO Not working

Posted: Sun Feb 04, 2018 6:47 am
by grnegnhm
for some reason my ato is not functioning. When i operate it through the app it works fine but it will not come on automatically when my float is low.

Code: Select all

#include <ReefAngel_Features.h>
#include <Globals.h>
#include <RA_Wifi.h>
#include <Wire.h>
#include <OneWire.h>
#include <Time.h>
#include <DS1307RTC.h>
#include <InternalEEPROM.h>
#include <RA_NokiaLCD.h>
#include <RA_ATO.h>
#include <RA_Joystick.h>
#include <LED.h>
#include <RA_TempSensor.h>
#include <Relay.h>
#include <RA_PWM.h>
#include <Timer.h>
#include <Memory.h>
#include <InternalEEPROM.h>
#include <RA_Colors.h>
#include <RA_CustomColors.h>
#include <Salinity.h>
#include <RF.h>
#include <IO.h>
#include <ORP.h>
#include <AI.h>
#include <PH.h>
#include <WaterLevel.h>
#include <Humidity.h>
#include <DCPump.h>
#include <PAR.h>
#include <ReefAngel.h>

////// Place global variable code below here


////// Place global variable code above here


void setup()
{
    // This must be the first line
    ReefAngel.Init();  //Initialize controller
    ReefAngel.Use2014Screen();  // Let's use 2014 Screen 
    // Ports toggled in Feeding Mode
    ReefAngel.FeedingModePorts = 0;
    // Ports toggled in Water Change Mode
    ReefAngel.WaterChangePorts = Port1Bit | Port2Bit;
    // Ports toggled when Lights On / Off menu entry selected
    ReefAngel.LightsOnPorts = 0;
    // Ports turned off when Overheat temperature exceeded
    ReefAngel.OverheatShutoffPorts = Port4Bit | Port6Bit;
    // Use T1 probe as temperature and overheat functions
    ReefAngel.TempProbe = T1_PROBE;
    ReefAngel.OverheatProbe = T1_PROBE;
    // Set the Overheat temperature setting
    InternalMemory.OverheatTemp_write( 835 );


    // Ports that are always on
    ReefAngel.Relay.On( Port1 );
    ReefAngel.Relay.On( Port8 );
    ReefAngel.Relay.On( Box1_Port2 );
    ReefAngel.Relay.On( Box1_Port3 );
    ReefAngel.Relay.On( Box1_Port4 );

    ////// Place additional initialization code below here
    

    ////// Place additional initialization code above here
}

void loop()
{
    ReefAngel.Relay.DelayedOn( Port2,8 );
    ReefAngel.StandardLights( Port3,19,0,10,0 );
    ReefAngel.StandardLights( Port4,14,0,20,0 );
    ReefAngel.StandardHeater( Port6,790,800 );
    ReefAngel.SingleATO( true,Port7,180,0 );
    ////// Place your custom code below here
    

Re: ATO Not working

Posted: Mon Feb 05, 2018 1:26 pm
by rimai
Did you test the port and float switch?
Do you have it connected too the correct ato port?

Re: ATO Not working

Posted: Mon Feb 05, 2018 8:53 pm
by grnegnhm
Yes,

When the float is activated, it shows on the app that it is in the low position. But the pump relay dos not activate.

Re: ATO Not working

Posted: Mon Feb 05, 2018 10:09 pm
by rimai
Strange.
Everything looks fine.
Can you try the High ATO port?

Re: ATO Not working

Posted: Tue Feb 06, 2018 3:59 pm
by grnegnhm
i switched the port that the float was plugged into and the ATO high indicated red when the float was floated. Is that good enough for a test?

should i try the other float? I cannot see how that would help though i am kind of grasping at straws. I was really hoping you would find a flaw in the code.

Is there another way to write the ATO line to see if maybe a slightly different syntax would work?

Re: ATO Not working

Posted: Tue Feb 06, 2018 4:27 pm
by rimai
So, do you see it turning both red and green as you move the float switches up and down?
I want to make sure both float switches are working and both ports are also working.

Re: ATO Not working

Posted: Tue Feb 06, 2018 4:27 pm
by grnegnhm
since i am grasping at straws, i also noticed that my portal seems to think i have a whole second relay box. I do not have one or any other expansion at this time and i did not include it in my code (i used the wizard to make it). I cannot figure out why it has the 8 extra slots when i bring up the portal though.

Maybe this is a clue???

Re: ATO Not working

Posted: Tue Feb 06, 2018 4:36 pm
by grnegnhm
I tested my other float and it seems to work. I feel a bit silly but i reconfirmed all of my previous statements. I tested the float i am having issues with and it checks out. But the other float actually works

Re: ATO Not working

Posted: Tue Feb 06, 2018 10:16 pm
by rimai
And you are positive that it is not on ato timeout, right?
Try this code:

Code: Select all

ReefAngel.Relay.Set(Port7,ReefAngel.LowATO.IsActive());

Re: ATO Not working

Posted: Thu Feb 08, 2018 5:36 am
by grnegnhm
it is not in time out, it is working with the other float now