Over the past few months, I have deliberated with many people, posted in the forum, read articles, reviews and balanced budget items to get myself a controller for my 125 gallon Reef. In looking at all the various controllers, I was able to get a controller for a fair price in a trade/purchase deal.
What controller did I go with?
A Reef Angel!
RA_details.jpgRelay_details.jpg
Or a Reef Demon, depending upon how you look at this review.


So let’s begin with the arrival of the package. The item came when it was promised and it was very nicely packaged and protected. Everything was cleanly wrapped in bubble wrap, no “loosy goosy” products shifting around. Every probe, nicely packaged, and all items arrived in great shape. However, there was ZERO, zilch, none, nada, zip, on instructions, portal access, or “how too's”, of any kind. No starting point which is a major fail in my book! So after I wrote a nasty-gram to RA service and support, I located the download instruction manual and began reading; and reading, and reading, and reading… Yeah, should have done this prior to its arrival.

This thing IS NOT "PLUG AND PLAY" Yes caps... yelling! Take notice!

You need to have the ability to read, understand simple download, upload, setting and computer language devices. No you don't have to be a programmer, but it really helps if you have the basics. To better explain, I have been in this field for 20 years, IT, systems infrastructure, program management, network topology etc... I felt stupid! Not just kind lost, flat out STUPID!
Do you know what a com port is?

How about I/O? or perhaps what they mean by Relay?

So why or how “could someone who has done this so much be so confused?”, because I was trying to do something without reading first. (Neptune and ReefKeepers are both plug and play, I gathered this would be) So if you get one... Go to the ReefAngel Website and just read! Matter of fact, if you want to go this route, go there and read first! Once I fully read and understood there was a download that I needed to get, run on my machine, connect to the computer and load onto the controller... It became much easier. In fact, there was a tool (wizard) that makes it really easy for you to setup a simple system. The tool is very nice and user friendly. It was at this point, I began to like the device again.

Here is where I identified problem 2 with the controller. While they state it is Wifi enabled and you can control it from any wifi enabled device, you have to buy the $109.00 wifi adapter. (I should have read closer.. Notice a pattern?) So I reluctantly purchased this as well. By now I had already been on the forum and talking to people, reading and finding out what other items I would really need. (There are a lot of options!) A few days later my wireless controller appeared and like before I had to figure out where and how to set this up. (Still nothing on instructions on how to begin! Maddening!) Luckily, I saved the URL for the manual and various downloads and pulled up the manual. The manual pointed me to a utility that helps you set it up. It also shows you cable connection and will provide you with the information you will need later in the setup. (Keep a notepad with this device, you'll need it!)

After a little setup, the tool showed me what needed to be added and where, and shortly there after, I was able to start making changes from my phone and tablet. WOOHOO!!! Right? Not so much, I keep getting this error stating my wifi is not active when I am using another wifi controlled device (ie a friends house or work). It has something to do with settings on the router. (still working on this solution as I have not had this but a short time.)

So, frustrations aside… what are my thoughts so far? I like it. Maybe because of the geek in me that likes to play and problem solve. Perhaps it’s having a controller that I can completely control. Now, would I recommend this to my non geeky friends? HELL NO! This isn’t a bash on the tool! I like the tool and the community is great, in fact I have had a couple people assist me in writing specific code for timing. To test my LED ramping. (Example)

#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.AddStandardMenu(); // Add Standard Menu

ReefAngel.Use2014Screen(); // Let's use 2014 Screen
// Ports toggled in Feeding Mode
ReefAngel.FeedingModePorts = Port5Bit | Port6Bit | Port7Bit;
// Ports toggled in Water Change Mode
ReefAngel.WaterChangePorts = Port5Bit | Port6Bit | Port7Bit;
// Ports toggled when Lights On / Off menu entry selected
ReefAngel.LightsOnPorts = Port1Bit | Port2Bit | Port4Bit;
// Ports turned off when Overheat temperature exceeded
ReefAngel.OverheatShutoffPorts = Port1Bit | Port2Bit | Port4Bit | Port7Bit;
// Use T1 probe as temperature and overheat functions
ReefAngel.TempProbe = T1_PROBE;
ReefAngel.OverheatProbe = T1_PROBE;
// Set the Overheat temperature setting
InternalMemory.OverheatTemp_write( 840 );


// Ports that are always on
ReefAngel.Relay.On( Port1 );
ReefAngel.Relay.On( Port5 );
ReefAngel.Relay.On( Port6 );
ReefAngel.Relay.On( Port8 );

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


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

void loop()
{
if ((hour() >= 8 && hour() < 10) || (hour() >=17 && (hour() < 22 && minute() < 15)
{
ReefAngel.Relay.On(Port2);
}
else
{
ReefAngel.Relay.Off(Port2);
}

if (((hour() >= 8 && minute() >= 45) && hour() < 10) || (hour >= 19 && hour() < 22))
{
ReefAngel.Relay.On(Port4);
}
else
{
ReefAngel.Relay.Off(Port4);
}


ReefAngel.StandardHeater( Port7,780,800 );

////// Place your custom code below here


////// Place your custom code above here

// This should always be the last line
ReefAngel.ShowInterface();


This code is fairly simplistic and a majority of it will be generated from the wizard. There are tons of people that will help generate code and they will even review your code to help make certain that you are writing the lines according to the need. But you really need to have an idea of what you are looking to do. What port, what parameters etc… It gets frustrating at times, but it really helps you understand your system.

Some of the cool items, Portal View: Online and available wherever there is a WIFI Signal
(*Note my problem so far)
portal.jpg
*Notes (Red on ATO is good), (Green means the relay (power) is on) you are supposed to be able to toggle the switches, but I am having issues communicating through my port at this time.)
I also can view this from my IOS and from my Android tablet. Beneficial for certain.


There is a larger learning curve, but it’s one that I am glad to accept and play with. I am certain that when I become more proficient, add another relay box and a couple additional expansions, I will have a perfect setup.
Take from this what you will… but if you’re in the least squeamish when people start talking tech… go with Apex or RK. They are more money, but you pay for the convenience & ease, the hardware is essentially the same.

I can post updated information, codes etc. if people are interested… Let me know and I will be glad to continue as people deem it’s needed.