Added Dimmable Lunar Hub. Right now I'm just using the MoonPhase with an on and off time that coincide with my lighting. I added a slope to it so it seems like a moonrise and set

4/8/14 Added some code to turn a pump on every 8 hours for 15 min to stir my Kalkwasser.

5/26/14 Removed code to mix Kalkwasser.

8/1/14 Modified the Denitrification code to use variables instead of hard times. (Thanks to lnevo again for this)

8/4/14 Added Kalk Mixing Code. When the ATO reservoir is at 100% or above the pump in the reservoir turns on for 1 hr to mix the Kalkwasser in the reservoir and then turns off to let the unsaturated Kalk settle to bottom before use as ATO water.

9/11 Updated code for 1.1.1 Libraries. Added DNS server name and Server Authentication. Removed the Else Mode wave function code since it is now incorporated in to the libraries and added the Gyre Wave mode to the choice of Random Waves. Made some slight changes to the ATO code that had to be done because of the new libraries.

// Feeeding and Water Change mode speedReefAngel.DCPump.FeedingSpeed=0;ReefAngel.DCPump.WaterChangeSpeed=0;ReefAngel.DCPump.ActinicChannel=Sync; // Now you're pump will be affected by the portal settings.//ReefAngel.DCPump.DaylightChannel=AntiSync; // Now you're pump will be affected by the portal settings.//ReefAngel.DCPump.AntiSyncOffset=85;

// Disable ATO if ATO High IsActive() if (ReefAngel.HighATO.IsActive()) ReefAngel.WaterLevelATO(0,ATO_Pump,720,0,1);

// Add random mode if we set to Mode to Custom in portalstatic int rmode;static boolean changeMode=true;

// These are the modes we can cycle through. You can add more and even repeat...byte modes[] = { ReefCrest, Gyre, Lagoon, Constant, TidalSwell, ShortPulse, LongPulse, Else, };

if (now()%SECS_PER_DAY==0 || changeMode==true) { // Change at midnight or if controller rebootedrmode=random(100)%sizeof(modes); // Change the mode once per day to pick from our arraychangeMode=false;}

// Set timer when in feeding modestatic unsigned long feeding;if (ReefAngel.DisplayedMenu==FEEDING_MODE) feeding=now();

If i paste your entire code in the arduino and connect my RA and upload. WIll it just effect my jebaos? or will it make all my outlets the same as yours? sorry, very new here and haven't figured much out yet but want to get pumps going.

// Feeeding and Water Change mode speedReefAngel.DCPump.FeedingSpeed=0;ReefAngel.DCPump.WaterChangeSpeed=0;ReefAngel.DCPump.ActinicChannel=Sync; // Now you're pump will be affected by the portal settings.ReefAngel.DCPump.DaylightChannel=AntiSync; // Now you're pump will be affected by the portal settings.

// Disable ATO if lowSalFlag is true if (lowSalFlag) ReefAngel.WaterLevelATO(ATO_Pump,720,0,1);

// Disable ATO if ATO High IsActive() if (ReefAngel.HighATO.IsActive()) ReefAngel.WaterLevelATO(ATO_Pump,720,0,1);

// Add random mode if we set to Mode to Custom in portalstatic int rmode;static boolean changeMode=true;

// Add Else Mode definition..const int Else=16;

// These are the modes we can cycle through. You can add more and even repeat...byte modes[] = { ReefCrest, Lagoon, Constant, TidalSwell, ShortPulse, LongPulse, Else };

if (now()%SECS_PER_DAY==0 || changeMode==true) { // Change at midnight or if controller rebootedrmode=random(100)%sizeof(modes); // Change the mode once per day to pick from our arraychangeMode=false;}

// Set timer when in feeding modestatic unsigned long feeding;if (ReefAngel.DisplayedMenu==FEEDING_MODE) feeding=now();

Actually that code is for the old libraries that do not have Else mode built into them.I'll need a little time to go through my current code and highlight what you need and what to remove for a single pump.I'll try to get it put up today.

// Feeeding and Water Change mode speedReefAngel.DCPump.FeedingSpeed=0;ReefAngel.DCPump.WaterChangeSpeed=0;ReefAngel.DCPump.ActinicChannel=Sync; // Now you're pump will be affected by the portal settings.//Remove this part for single pumpReefAngel.DCPump.DaylightChannel=AntiSync; // Now you're pump will be affected by the portal settings.ReefAngel.DCPump.AntiSyncOffset=100;

// Disable ATO if lowSalFlag is true if (lowSalFlag) ReefAngel.WaterLevelATO(0,ATO_Pump,720,0,1);

// Disable ATO if ATO High IsActive() if (ReefAngel.HighATO.IsActive()) ReefAngel.WaterLevelATO(0,ATO_Pump,720,0,1);

// Add random mode if we set to Mode to Custom in portalstatic int rmode;static boolean changeMode=true;

// These are the modes we can cycle through. You can add more and even repeat...byte modes[] = { ReefCrest, Lagoon, Constant, TidalSwell, ShortPulse, LongPulse, Else, Gyre };

if (now()%SECS_PER_DAY==0 || changeMode==true) { // Change at midnight or if controller rebootedrmode=random(100)%sizeof(modes); // Change the mode once per day to pick from our arraychangeMode=false;}

// Set timer when in feeding modestatic unsigned long feeding;if (ReefAngel.DisplayedMenu==FEEDING_MODE) feeding=now();