Log in

View Full Version : Reef Angel Controller Review



Frogman
Mon, 1st Feb 2016, 11:00 AM
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!
2772327724
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)
27722
*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.

alton
Mon, 1st Feb 2016, 12:15 PM
Thanks for the review, but I think I will stick with my cheap RKL $120 unit.

Frogman
Mon, 1st Feb 2016, 01:01 PM
Yeah, It might be easier! But I never do things the easy way!

alton
Mon, 1st Feb 2016, 01:52 PM
So are you happy with it now that is setup?

LuckySingh
Mon, 1st Feb 2016, 02:23 PM
That's some write up bro. I have always been a gadget fan and been through pretty much every controller since they started to show up in market from ghl to Neptune and rk on various tanks. Things still fail and and life is no easy with them. My current system has no controller what so ever. The only thing I invested was in the ati hybrid lights and simple programming so I don't have to use timers . They have come up with so many updates in last couple years and I yet have to update mine and probably won't . As long as my lights are running and reef doing great I care less about updating it . Technology is good and but I am but not for me

JimH
Mon, 1st Feb 2016, 03:22 PM
I've been running my Reef Angel for more than two years. I have not updated the code in over 15 months. It has been rock solid and I absolutely do not regret it! My program is really quite small and 95% was generated by the wizard. At first I played around with writing all kinds of custom code and while it worked I was not enjoying it as much as I thought I would. My day job is writing code and I've come to realize I would rather focus my hobby time on the fish and coral, not programming the controller.

It was definitely fun doing it this time, but I'm going to use Apex for my next build.

12_Egg_Omelette
Tue, 2nd Feb 2016, 12:49 AM
Psh my apex is still in the box. I can't believe y'all and the torture that comes along with programming that.

Frogman
Tue, 2nd Feb 2016, 09:17 AM
Alton, yes I am happy with it. It works really well, while there are things I want to figure out. The controller as a whole is nice. I have my issues but most of that is me! Not the controller. I do have one mechanical issue and they are taking care of that for me. All in all, I'm glad I have it. By the time I am done, I could have bought an Apex. So we will see as I buy attachments and etc. to see if it is still viable.

Frogman
Tue, 2nd Feb 2016, 09:23 AM
Jim, yeah it's cool. I'm not a programmer and I have only had it for a few weeks. The only thing I want to really control on it is temp (failesafes), ph (dosing Kalk), and my ATO. Still trying to figure out the Wifi controllability piece of it as my issue is probably the 2000 port. But it's a work in progress.

Main not putting all my "eggs in one basket" to prevent a total system failure if my controller chokes. But I am very happy with it. Would I rather have done an Apex!? Maybe, it depends on all the expansions and additional times. Overall, I'm not complaining. Just a learning curve as is most of this hobby.

If I need help coding something can I hollar at you?

Frogman
Tue, 2nd Feb 2016, 09:24 AM
Didn't expect everyone to run and get a controller. I just wanted people to know about my experience and update as people wanted. Just trying to be a good "neighbor" as it were.

JimH
Tue, 2nd Feb 2016, 02:52 PM
Jim, yeah it's cool. I'm not a programmer and I have only had it for a few weeks. The only thing I want to really control on it is temp (failesafes), ph (dosing Kalk), and my ATO. Still trying to figure out the Wifi controllability piece of it as my issue is probably the 2000 port. But it's a work in progress.

Main not putting all my "eggs in one basket" to prevent a total system failure if my controller chokes. But I am very happy with it. Would I rather have done an Apex!? Maybe, it depends on all the expansions and additional times. Overall, I'm not complaining. Just a learning curve as is most of this hobby.

If I need help coding something can I hollar at you?

Yes, no problem.

rrasco
Thu, 4th Feb 2016, 01:12 AM
Hey Frogman,

Nice write up on the RA and its capabilities.

Did you get the base model or Plus?

The RA is based on the ATmega328P/ATmega5260, otherwise popularized by the Arduino microcontroller. The wizard that you ran to generate code is actually a clone of the Arduino IDE which has the RA wizard bundled with it.

My ReefAngel has been running just shy of 3 years and still going strong. My program is rather simple now, mainly relays and some sensors. I used to run DC pumps with a lot of custom code until I got some better powerhead controllers. My lights have their own controller too so I skip all that on the RA.

Are you still having issues getting outside access to your RA with the wireless module? I could assist you with that if you'd like. PM me if so.

Frogman
Thu, 4th Feb 2016, 01:24 PM
I have the plus. It's the PWM dimable version. I really like the controller but have been working to resolve a few coding issues I just haven't grasped yet. And yes that goofy wifi attachment is one of them. So I can see my controller on the website, when I am at home utilizing the test code, I can turn on/off ports. I have uploaded the Wifi parts to the code, but still not having luck accessing it through the web.

Many guess is that it has to do with the 2000 port being blocked, but I am not certain the best method to resolve it. I have accessed my firewall and tried to set it that way and that didn't work. In fact I had to reset defaults after doing what was "suggested". It was easy enough, but still no luck.

Im going to be trying it again tonight, I'm wondering if I need to plug in Ethernet to the router and set it from my computer. But the best method for that still eludes me.

if you can help me get that taken care of, there would be a frag in it for you!!!

id appreciate the help!

rrasco
Thu, 4th Feb 2016, 01:39 PM
Okay.

For clarification: You can see the controller through RA's portal? In order to do that you would have had to setup proper NAT on your router. This filters the external request to the internal device that will be responding (the RA).

Did you use the RA WiFi configuration tool to configure the wifi adapter?

By default, the RA wifi adapter listens on port 2000. This means you will be able to connect to the RA on your internal network using the local IP address of the RA and the designated port (2000 by default).

Do you know the IP of your RA? This will likely be in 192.168.1.x range depending on your local network. For example, I can connect to the RA from a device on the internal network (same as RA) by using something like this in a browser: 192.168.1.100:2000

That's all you need to connect internally. However, to talk to the RA from externally. That is, from the Internet, the portal, starbucks, wherever you are connected to the Internet that is NOT your local network.

You will need 2 things to accomplish this:

1) Your WAN IP. This is your address to the outside world, very similar to your home address but subject to change depending on your ISP. You can find your WAN IP by either checking your router if you know where to find it, or by simply visiting a site like: https://www.whatismyip.com/ Write this value down, it is your WAN IP.

2) An external port to NAT/forward to your local device. The default for the portal is 9150 and I have had trouble getting a non-default port to stick in the RA Portal, so I just use 9150.

So let's assume we are going to use 9150 as the external port. We will need to instruct the router to forward incoming requests from the WAN on port 9150 to the internal IP and port of the RA. This is port forwarding/translation in a nutshell. You typically don't have to define the WAN IP while configuring this, but you will need it to connect later.

[WAN_IP]:9150 --> [LAN_IP]:2000

Let's pretend our WAN IP is 1.1.1.1 and our LAN IP is 192.168.1.100. Your port forward would look something like this:

External Port: 9150
Internal IP: 192.168.1.100
Internal Port: 2000

Once this is configured, your router now knows to send incoming requests for port 9150 to the RA device on its listening port, 2000. 1.1.1.1:9150 is all you would need to establish a connection from externally.

This configuration can vary depending on your router. If you let me know which router you have I can give you more specifics on how to configure it.

Also, check out this document: http://reefangel.com/files/Reef%20Angel%20Wifi%20Attachment%20Manual%20v1.1.p df

IIRC, I had to plug the wifi adapter into my computer via USB with the TTL cable that comes with it and run the initial config that way.

JimH
Thu, 4th Feb 2016, 04:47 PM
That's a great overview! I had to configure my wifi adaptor connected to my computer initially too. Also, I think sometimes a router provided by your ISP will not allow port forwarding by default. Getting that to work would be router-specific though.

rrasco
Thu, 4th Feb 2016, 04:59 PM
That's a great overview! I had to configure my wifi adaptor connected to my computer initially too. Also, I think sometimes a router provided by your ISP will not allow port forwarding by default. Getting that to work would be router-specific though.

That's correct. Most ISP provided routers would have port forwarding, virtual servers or NAT, but they are very low end and it usually doesn't work very well if at all. I'd never advocate someone using an ISP provided router for anything outside of casual browsing. This qualifies as outside of that.

Frogman
Thu, 4th Feb 2016, 05:40 PM
Okay.

For clarification: You can see the controller through RA's portal? In order to do that you would have had to setup proper NAT on your router. This filters the external request to the internal device that will be responding (the RA).

Did you use the RA WiFi configuration tool to configure the wifi adapter?

By default, the RA wifi adapter listens on port 2000. This means you will be able to connect to the RA on your internal network using the local IP address of the RA and the designated port (2000 by default).

Do you know the IP of your RA? This will likely be in 192.168.1.x range depending on your local network. For example, I can connect to the RA from a device on the internal network (same as RA) by using something like this in a browser: 192.168.1.100:2000

That's all you need to connect internally. However, to talk to the RA from externally. That is, from the Internet, the portal, starbucks, wherever you are connected to the Internet that is NOT your local network.

You will need 2 things to accomplish this:

1) Your WAN IP. This is your address to the outside world, very similar to your home address but subject to change depending on your ISP. You can find your WAN IP by either checking your router if you know where to find it, or by simply visiting a site like: https://www.whatismyip.com/ Write this value down, it is your WAN IP.

2) An external port to NAT/forward to your local device. The default for the portal is 9150 and I have had trouble getting a non-default port to stick in the RA Portal, so I just use 9150.

So let's assume we are going to use 9150 as the external port. We will need to instruct the router to forward incoming requests from the WAN on port 9150 to the internal IP and port of the RA. This is port forwarding/translation in a nutshell. You typically don't have to define the WAN IP while configuring this, but you will need it to connect later.

[WAN_IP]:9150 --> [LAN_IP]:2000

Let's pretend our WAN IP is 1.1.1.1 and our LAN IP is 192.168.1.100. Your port forward would look something like this:

External Port: 9150
Internal IP: 192.168.1.100
Internal Port: 2000

Once this is configured, your router now knows to send incoming requests for port 9150 to the RA device on its listening port, 2000. 1.1.1.1:9150 is all you would need to establish a connection from externally.

This configuration can vary depending on your router. If you let me know which router you have I can give you more specifics on how to configure it.

Also, check out this document: http://reefangel.com/files/Reef%20Angel%20Wifi%20Attachment%20Manual%20v1.1.p df

IIRC, I had to plug the wifi adapter into my computer via USB with the TTL cable that comes with it and run the initial config that way.

Sweet! Send you a PM with a pic of my settings. Is that right?


It's in everyone's best interest to take care of those who take care of you. Support a local Veteran!

Frogman
Sat, 6th Feb 2016, 01:36 PM
Ok. I'm still not having any luck with this. Either one of you two care to help a brother out?


It's in everyone's best interest to take care of those who take care of you. Support a local Veteran!

JimH
Sat, 6th Feb 2016, 04:24 PM
I can try. When you are at home, can you see the reef angel in a web browser? For me, I type this URL into the browser (it is an IP address and a port number, so my reef angel is at 192.168.1.117 and talking on port 2000):

http://192.168.1.117:2000

And then I see this web page in my browser:
Reef Angel Controller Web Server
Are you able to do that much? If so, what is the address you use to see it in a browser at home (ip address and port number)?

Frogman
Sat, 6th Feb 2016, 04:51 PM
Yes Jim. I can do that much, the frustrating part is that through the app (iPhone) I get all zeros. And I can't seem to connect to the device away from the house. (Have that IP as well but won't post it here).

If I add Wifi at the end, I can see the web version of my RA App.

Like this:

Http://192.168.1.64:2000/wifi



It's in everyone's best interest to take care of those who take care of you. Support a local Veteran!

JimH
Sat, 6th Feb 2016, 05:22 PM
Yes Jim. I can do that much, the frustrating part is that through the app (iPhone) I get all zeros.


It's in everyone's best interest to take care of those who take care of you. Support a local Veteran!

OK, so the wifi expansion is working. There is more than one app out there and only one of them worked for me. It is this one:

https://itunes.apple.com/us/app/reef-angel-uapp/id891972085?ls=1&mt=8

I have mine configured to point to the address outside my home firewall, and talk to port 2000.

My home firewall had to be configured to forward 192.168.1.117:2000 to the outside world. Then I have to configure the RA app to point to the external address my firewall shows the world + port 2000.

For you, you would have to:

1) set your router to forward address 192.168.1.64 port 2000 to the external world
2) figure out what your external address is, using https://www.whatismyip.com/
3) configure the RA app to talk to the adrress obtained in setp 2, and port 2000. You do this under the 'add controller' button which you get to by tapping the little gear icon on the App main screen

Let me know how many of steps 1-3 you can perform?

Frogman
Sat, 6th Feb 2016, 05:57 PM
Ok. I guess this is where I am having the trouble. Do you have an iPhone? And maybe 10 min to FaceTime?


It's in everyone's best interest to take care of those who take care of you. Support a local Veteran!

Frogman
Sat, 6th Feb 2016, 06:14 PM
http://uploads.tapatalk-cdn.com/20160206/dcb1b563de68f8212601cce1635cecd1.jpg
So here is the RA app: see values at 0

http://uploads.tapatalk-cdn.com/20160206/0b75cc8a788395b00b5c6007968091e7.jpg
Settings are correct

Here is what I see when I go through the phones browser. http://uploads.tapatalk-cdn.com/20160206/95cbdf051490dcaea68c7bff5b6532a7.jpg
Small albeit, but it connects.

This is why I am so frustrated. It won't allow me to use the app. But from home I can use it ok. But I can't use either from outside my home.

Maddening!

I have my IP Passthrough set as DHcPS fixed and pointing to the RA device.

I have set my NAT to Fixed for the RA device at port 2000

I'm not sure what to do next


It's in everyone's best interest to take care of those who take care of you. Support a local Veteran!

rrasco
Sat, 6th Feb 2016, 09:41 PM
Looks like it's working but the app is not. Have you tried another app? I only have an Android app I have used mine on.

klwheat
Mon, 8th Feb 2016, 11:08 PM
Thanks for the great write up! Sounds like some fun for a gadget geek like me, but probably a bit maddening too!