Page 1 of 1

Custom Variables for my flow monitoring.

Posted: Sat Apr 14, 2012 7:18 pm
by tkeracer619
I have been using some flow meters and IO modules to monitor flow on my tank for a few items. Right now I am using 4 sensors monitoring my GFO, Carbon, and BioPellets as well as one for the return to my anemone tank.

I was hoping you guys could help me figure out how to attach custom variables so I can view these rates in the portal.

Thanks!

My current code

Code: Select all

    #define Actinic             1
    #define T5A                 2
    #define T5B                 3
    #define MH                  4
    #define Autofeeder          5
    #define Blank2              6
    #define FastFlush           7
    #define ReverseOsmosis      8

    #include <Salinity.h>
    #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 <RF.h>
    #include <IO.h>
    #include <ORP.h>
    #include <AI.h>
    #include <ReefAngel.h>

    byte IOIn[7];
    byte IOIn1[7];
    int Flow0;
    int Flow1;
    int Flow2;
    int Flow01;
    int Flow11;
    int Flow21;
    char text[12];

    void DrawCustomMain()
    {
      // the graph is drawn/updated when we exit the main menu &
      // when the parameters are saved
      ReefAngel.LCD.DrawDate(6, 122);
      pingSerial();
    #if defined DisplayLEDPWM && ! defined RemoveAllLights
      ReefAngel.LCD.DrawMonitor(15, 60, ReefAngel.Params,
      ReefAngel.PWM.GetDaylightValue(), ReefAngel.PWM.GetActinicValue());
    #else // defined DisplayLEDPWM && ! defined RemoveAllLights
      ReefAngel.LCD.DrawMonitor(15, 60, ReefAngel.Params);
    #endif // defined DisplayLEDPWM && ! defined RemoveAllLights
      pingSerial();
      char text[10];
      ConvertNumToString(text, ReefAngel.Params.Salinity, 10);
      strcat(text,"  ");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,15,93,"Salinity:");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,75,93,text);
      pingSerial();
      byte TempRelay = ReefAngel.Relay.RelayData;
      TempRelay &= ReefAngel.Relay.RelayMaskOff;
      TempRelay |= ReefAngel.Relay.RelayMaskOn;
      ReefAngel.LCD.DrawOutletBox(12, 103, TempRelay);
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,4,4,"CBN:");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,4,15,"GFO:");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,4,26,"BIO:");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,42,4,"GPH");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,42,15,"GPH");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,42,26,"GPH");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,4,37,"DSP:");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,4,48,"BTA:");
      //ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,4,59,"CAL:");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,42,37,"GPH");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,42,48,"GPH");
      //ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,42,59,"GPH");

      ConvertNumToString(text, Flow0, 1);
      strcat(text,"");
      ReefAngel.LCD.DrawText(0, 255, 29, 4, text);
      ConvertNumToString(text, Flow1, 1);
      strcat(text,"");
      ReefAngel.LCD.DrawText(0, 255, 29, 15, text);
      ConvertNumToString(text, Flow2, 1);
      strcat(text,"");
      ReefAngel.LCD.DrawText(0, 255, 29, 26, text);

      GetFlow1();
      ConvertNumToString(text, Flow01, 1);
      strcat(text,"");
      ReefAngel.LCD.DrawText(0, 255, 29, 37, text);
      ConvertNumToString(text, Flow11, 1);
      strcat(text,"");
      ReefAngel.LCD.DrawText(0, 255, 29, 48, text);
      //ConvertNumToString(text, Flow21, 1);
      //strcat(text,"");
      //ReefAngel.LCD.DrawText(0, 255, 29, 59, text);
    }

    void DrawCustomGraph()
    {
      //ReefAngel.LCD.DrawGraph(5, 5);
    }
    void setup()
    {
      ReefAngel.Init();  //Initialize controller
      ReefAngel.FeedingModePorts = B00000000;
      ReefAngel.WaterChangePorts = B00000000;
      ReefAngel.OverheatShutoffPorts = B00000000;
      ReefAngel.LightsOnPorts = B00000111;
    }

    void loop()
    {
      ReefAngel.StandardLights(Actinic,11,0,24,0);  //Actinic schedule 11:00am - 12:00am
      ReefAngel.StandardLights(T5A,11,30,22,15);  //Blue Plus 1 schedule 11:30am - 11:15pm
      ReefAngel.StandardLights(T5B,11,45,22,30);  //Blue Plus 2 schedule 11:45am - 11:30pm
      ReefAngel.MHLights(MH,12,30,21,15,15);  //Metal Halide schedule 12:30pm - 9:15pm with 15min cool down
      ReefAngel.StandardLights(FastFlush,9,45,9,55);  //RO Fast Flush schedule 9:45am - 9:55pm
      ReefAngel.StandardLights(ReverseOsmosis,9,45,13,0);  //RO Fast Flush schedule 9:45am - 1:00pm
      ReefAngel.PWM.SetActinic(MoonPhase());
      GetFlow();
      GetFlow1();
      ReefAngel.Portal("tkeracer619");
      ReefAngel.ShowInterface();
    }

    void GetFlow()
    {
      Wire.requestFrom(9,7);
      if(Wire.available())
      {
        for (int a=0;a<8;a++)
          IOIn[a]=Wire.read();
      }
      Flow0=(IOIn[1]<<8)+IOIn[2];
      Flow1=(IOIn[3]<<8)+IOIn[4];
      Flow2=(IOIn[5]<<8)+IOIn[6];
    }

    void GetFlow1()
    {
      Wire.requestFrom(10,7);
      if(Wire.available())
      {
        for (int a=0;a<8;a++)
          IOIn1[a]=Wire.read();
      }
      Flow01=(IOIn1[1]<<8)+IOIn1[2];
      Flow11=(IOIn1[3]<<8)+IOIn1[4];
      Flow21=(IOIn1[5]<<8)+IOIn1[6];
    }

Re: Custom Variables for my flow monitoring.

Posted: Sat Apr 14, 2012 8:33 pm
by rimai
Try this:

Code: Select all

    #define Actinic             1
    #define T5A                 2
    #define T5B                 3
    #define MH                  4
    #define Autofeeder          5
    #define Blank2              6
    #define FastFlush           7
    #define ReverseOsmosis      8

    #include <Salinity.h>
    #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 <RF.h>
    #include <IO.h>
    #include <ORP.h>
    #include <AI.h>
    #include <ReefAngel.h>

    byte IOIn[7];
    byte IOIn1[7];
    int Flow0;
    int Flow1;
    int Flow2;
    int Flow01;
    int Flow11;
    int Flow21;
    char text[12];

    void DrawCustomMain()
    {
      // the graph is drawn/updated when we exit the main menu &
      // when the parameters are saved
      ReefAngel.LCD.DrawDate(6, 122);
      pingSerial();
    #if defined DisplayLEDPWM && ! defined RemoveAllLights
      ReefAngel.LCD.DrawMonitor(15, 60, ReefAngel.Params,
      ReefAngel.PWM.GetDaylightValue(), ReefAngel.PWM.GetActinicValue());
    #else // defined DisplayLEDPWM && ! defined RemoveAllLights
      ReefAngel.LCD.DrawMonitor(15, 60, ReefAngel.Params);
    #endif // defined DisplayLEDPWM && ! defined RemoveAllLights
      pingSerial();
      char text[10];
      ConvertNumToString(text, ReefAngel.Params.Salinity, 10);
      strcat(text,"  ");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,15,93,"Salinity:");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,75,93,text);
      pingSerial();
      byte TempRelay = ReefAngel.Relay.RelayData;
      TempRelay &= ReefAngel.Relay.RelayMaskOff;
      TempRelay |= ReefAngel.Relay.RelayMaskOn;
      ReefAngel.LCD.DrawOutletBox(12, 103, TempRelay);
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,4,4,"CBN:");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,4,15,"GFO:");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,4,26,"BIO:");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,42,4,"GPH");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,42,15,"GPH");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,42,26,"GPH");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,4,37,"DSP:");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,4,48,"BTA:");
      //ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,4,59,"CAL:");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,42,37,"GPH");
      ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,42,48,"GPH");
      //ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,42,59,"GPH");

      ConvertNumToString(text, Flow0, 1);
      strcat(text,"");
      ReefAngel.LCD.DrawText(0, 255, 29, 4, text);
      ConvertNumToString(text, Flow1, 1);
      strcat(text,"");
      ReefAngel.LCD.DrawText(0, 255, 29, 15, text);
      ConvertNumToString(text, Flow2, 1);
      strcat(text,"");
      ReefAngel.LCD.DrawText(0, 255, 29, 26, text);

      GetFlow1();
      ConvertNumToString(text, Flow01, 1);
      strcat(text,"");
      ReefAngel.LCD.DrawText(0, 255, 29, 37, text);
      ConvertNumToString(text, Flow11, 1);
      strcat(text,"");
      ReefAngel.LCD.DrawText(0, 255, 29, 48, text);
      //ConvertNumToString(text, Flow21, 1);
      //strcat(text,"");
      //ReefAngel.LCD.DrawText(0, 255, 29, 59, text);
    }

    void DrawCustomGraph()
    {
      //ReefAngel.LCD.DrawGraph(5, 5);
    }
    void setup()
    {
      ReefAngel.Init();  //Initialize controller
      ReefAngel.FeedingModePorts = B00000000;
      ReefAngel.WaterChangePorts = B00000000;
      ReefAngel.OverheatShutoffPorts = B00000000;
      ReefAngel.LightsOnPorts = B00000111;
    }

    void loop()
    {
      ReefAngel.StandardLights(Actinic,11,0,24,0);  //Actinic schedule 11:00am - 12:00am
      ReefAngel.StandardLights(T5A,11,30,22,15);  //Blue Plus 1 schedule 11:30am - 11:15pm
      ReefAngel.StandardLights(T5B,11,45,22,30);  //Blue Plus 2 schedule 11:45am - 11:30pm
      ReefAngel.MHLights(MH,12,30,21,15,15);  //Metal Halide schedule 12:30pm - 9:15pm with 15min cool down
      ReefAngel.StandardLights(FastFlush,9,45,9,55);  //RO Fast Flush schedule 9:45am - 9:55pm
      ReefAngel.StandardLights(ReverseOsmosis,9,45,13,0);  //RO Fast Flush schedule 9:45am - 1:00pm
      ReefAngel.PWM.SetActinic(MoonPhase());
      GetFlow();
      GetFlow1();
      ReefAngel.CustomVar[0]=Flow0;
      ReefAngel.CustomVar[1]=Flow1;
      ReefAngel.CustomVar[2]=Flow2;
      ReefAngel.CustomVar[3]=Flow01;
      ReefAngel.CustomVar[4]=Flow11;
      ReefAngel.CustomVar[5]=Flow21;
      
      ReefAngel.Portal("tkeracer619");
      ReefAngel.ShowInterface();
    }

    void GetFlow()
    {
      Wire.requestFrom(9,7);
      if(Wire.available())
      {
        for (int a=0;a<8;a++)
          IOIn[a]=Wire.read();
      }
      Flow0=(IOIn[1]<<8)+IOIn[2];
      Flow1=(IOIn[3]<<8)+IOIn[4];
      Flow2=(IOIn[5]<<8)+IOIn[6];
    }

    void GetFlow1()
    {
      Wire.requestFrom(10,7);
      if(Wire.available())
      {
        for (int a=0;a<8;a++)
          IOIn1[a]=Wire.read();
      }
      Flow01=(IOIn1[1]<<8)+IOIn1[2];
      Flow11=(IOIn1[3]<<8)+IOIn1[4];
      Flow21=(IOIn1[5]<<8)+IOIn1[6];
    }
Make sure to turn on custom variables features:
Open RAGen
Move to features tab
Check mark Custom Variables
Click Save

Re: Custom Variables for my flow monitoring.

Posted: Sun Apr 15, 2012 5:40 pm
by tkeracer619
Right on Roberto, ill give it a shot when I get home next weekend.

Thanks for the help!

Re: Custom Variables for my flow monitoring.

Posted: Tue May 08, 2012 8:53 am
by tkeracer619
I can see the custom variables on portal. Is it possible to graph them, change the labels, and set up a text warning so that if the number falls below x then it sends the warning?

Here is my current code.

Thanks!

Code: Select all

    #define Actinic             1
    #define T5A                 2
    #define T5B                 3
    #define MH                  4
    #define Autofeeder          5
    #define Blank2              6
    #define FastFlush           7
    #define ReverseOsmosis      8

    #include <Salinity.h>
    #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 <RF.h>
    #include <IO.h>
    #include <ORP.h>
    #include <AI.h>
    #include <ReefAngel.h>

    byte IOIn[7];
    byte IOIn1[7];
    int Flow0;
    int Flow1;
    int Flow2;
    int Flow01;
    int Flow11;
    int Flow21;
    char text[12];

    void DrawCustomMain()
    {
      // the graph is drawn/updated when we exit the main menu &
      // when the parameters are saved
      ReefAngel.LCD.DrawDate(6, 122);
      pingSerial();
  //  #if defined DisplayLEDPWM && ! defined RemoveAllLights
  //    ReefAngel.LCD.DrawMonitor(15, 60, ReefAngel.Params,
  //    ReefAngel.PWM.GetDaylightValue(), ReefAngel.PWM.GetActinicValue());
  //  #else // defined DisplayLEDPWM && ! defined RemoveAllLights
  //    ReefAngel.LCD.DrawMonitor(15, 60, ReefAngel.Params);
  //  #endif // defined DisplayLEDPWM && ! defined RemoveAllLights
  //    pingSerial();
      
               ReefAngel.LCD.DrawText(0,255,75,3,"Display");
  ConvertNumToString(text, ReefAngel.Params.Temp[T1_PROBE], 10);
  ReefAngel.LCD.DrawLargeText(COLOR_INDIANRED, 255, 80, 11, text, Num8x8);
  pingSerial();
  
  ReefAngel.LCD.DrawText(0,255,75,21,"Ambient");
  ConvertNumToString(text, ReefAngel.Params.Temp[T3_PROBE], 10);
  ReefAngel.LCD.DrawLargeText(COLOR_INDIANRED, 255, 80, 29, text, Num8x8);
  pingSerial();
  
  ReefAngel.LCD.DrawText(0,255,90,39,"PH");
  ConvertNumToString(text, ReefAngel.Params.PH, 100);
  ReefAngel.LCD.DrawLargeText(COLOR_INDIANRED, 255, 80, 46, text, Num8x8);
  pingSerial();
  
  ReefAngel.LCD.DrawText(0,255,73,56,"Salinity");
  ConvertNumToString(text, ReefAngel.Params.Salinity, 10);
  ReefAngel.LCD.DrawLargeText(COLOR_INDIANRED, 255, 80, 64, text, Num8x8);
  pingSerial();
  
  ReefAngel.LCD.DrawText(0,255,4,21,"BIO:");
  ConvertNumToString(text, Flow11, 1);
  strcat(text,"");
  ReefAngel.LCD.DrawText(COLOR_INDIANRED, 255, 29, 21, text);
  pingSerial();
  
  ReefAngel.LCD.DrawText(0,255,4,30,"BTA:");
  ConvertNumToString(text, Flow21, 1);
  strcat(text,"");
  ReefAngel.LCD.DrawText(COLOR_INDIANRED, 255, 29, 30, text); 
  pingSerial(); 
 
  ReefAngel.LCD.DrawText(0,255,4,3,"CBN:");
  ConvertNumToString(text, Flow1, 1);
  strcat(text,"");
  ReefAngel.LCD.DrawText(COLOR_INDIANRED, 255, 29, 3, text);
  pingSerial(); 
  
  ReefAngel.LCD.DrawText(0,255,4,12,"GFO:");
  ConvertNumToString(text, Flow2, 1);
  strcat(text,"");
  ReefAngel.LCD.DrawText(COLOR_INDIANRED, 255, 29, 12, text);
  pingSerial();
  
  //ReefAngel.LCD.DrawText(0,255,4,48,"DSP:");
  //ConvertNumToString(text, Flow01, 1);
  //strcat(text,"");
  //ReefAngel.LCD.DrawText(COLOR_INDIANRED, 255, 29, 48, text);
  //pingSerial();
  
  //ReefAngel.LCD.DrawText(0,255,4,59,"CAL:");
  //ConvertNumToString(text, Flow0, 1);
  //strcat(text,"");
  //ReefAngel.LCD.DrawText(COLOR_INDIANRED, 255, 29, 59, text);
  //pingSerial();
  
   byte TempRelay = ReefAngel.Relay.RelayData;
   TempRelay &= ReefAngel.Relay.RelayMaskOff;
   TempRelay |= ReefAngel.Relay.RelayMaskOn;
   ReefAngel.LCD.DrawOutletBox(12, 107, TempRelay);
   //ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,47,3,"GPH");
   //ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,47,12,"GPH");
   //ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,47,21,"GPH");
   //ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,47,30,"GPH");
   //ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,47,48,"GPH");
   //ReefAngel.LCD.DrawText(DefaultFGColor,DefaultBGColor,47,59,"GPH");
   GetFlow1();
   
    }

    void DrawCustomGraph()
    {
      //ReefAngel.LCD.DrawGraph(5, 5);
    }
    void setup()
    {
      ReefAngel.Init();  //Initialize controller
      ReefAngel.FeedingModePorts = B00000000;
      ReefAngel.WaterChangePorts = B00000000;
      ReefAngel.OverheatShutoffPorts = B00000000;
      ReefAngel.LightsOnPorts = B00000111;
    }

    void loop()
    {
      ReefAngel.StandardLights(Actinic,11,0,24,0);  //Actinic schedule 11:00am - 12:00am
      ReefAngel.StandardLights(T5A,11,30,22,15);  //Blue Plus 1 schedule 11:30am - 11:15pm
      ReefAngel.StandardLights(T5B,11,45,22,30);  //Blue Plus 2 schedule 11:45am - 11:30pm
      ReefAngel.MHLights(MH,12,30,21,15,15);  //Metal Halide schedule 12:30pm - 9:15pm with 15min cool down
      ReefAngel.StandardLights(FastFlush,9,45,9,55);  //RO Fast Flush schedule 9:45am - 9:55pm
      ReefAngel.StandardLights(ReverseOsmosis,9,45,13,0);  //RO Fast Flush schedule 9:45am - 1:00pm
      ReefAngel.PWM.SetActinic(MoonPhase());
      GetFlow();
      GetFlow1();
      //ReefAngel.CustomVar[0]=Flow0;
      ReefAngel.CustomVar[1]=Flow1;
      ReefAngel.CustomVar[2]=Flow2;
      //ReefAngel.CustomVar[3]=Flow01;
      ReefAngel.CustomVar[4]=Flow11;
      ReefAngel.CustomVar[5]=Flow21;
      
      ReefAngel.Portal("tkeracer619");
      ReefAngel.ShowInterface();
    }

    void GetFlow()
    {
      Wire.requestFrom(9,7);
      if(Wire.available())
      {
        for (int a=0;a<8;a++)
          IOIn[a]=Wire.read();
      }
      Flow0=(IOIn[1]<<8)+IOIn[2];
      Flow1=(IOIn[3]<<8)+IOIn[4];
      Flow2=(IOIn[5]<<8)+IOIn[6];
    }

    void GetFlow1()
    {
      Wire.requestFrom(10,7);
      if(Wire.available())
      {
        for (int a=0;a<8;a++)
          IOIn1[a]=Wire.read();
      }
      Flow01=(IOIn1[1]<<8)+IOIn1[2];
      Flow11=(IOIn1[3]<<8)+IOIn1[4];
      Flow21=(IOIn1[5]<<8)+IOIn1[6];
    }

Re: Custom Variables for my flow monitoring.

Posted: Tue May 08, 2012 10:01 am
by rimai
I need to work on changing the labels for those.
Didn't have time... :(
To graph them, use:
http://forum.reefangel.com/status/chart ... &filter=c0
You can change c0 to whatever field you want.
To receive alerts, go to "Portal Settings" and enable "Send email notifications". You will then be able to enter an email and set triggers.

Re: Custom Variables for my flow monitoring.

Posted: Tue May 08, 2012 11:11 am
by tkeracer619
Awesome thanks!

Is there a way to layer those graphs so more variables are shown at once or integrate it into the standard portal graph?

Re: Custom Variables for my flow monitoring.

Posted: Tue May 08, 2012 12:23 pm
by rimai
not right now :(
Only one at a time.

Re: Custom Variables for my flow monitoring.

Posted: Tue May 08, 2012 12:51 pm
by tkeracer619
Cool no worries. Thanks again for your help!