1. Do you have an old account but can't access it?


    See Accessing your GIRS Account or Contact Us - We are here to help!

Apex Favorite Tips & Tricks

Discussion in 'General Discussion' started by AJ, Feb 9, 2011.

  1. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    Yeah, I don't have a Mac so I can't direct you on that, but like I mentioned, next time you go to Craig's store, let me know when you're passing thru and I'll get your base unit upgraded for you. It will literally take just a few minutes. Glad you were able to get the 4.03 firmware pushed to the EB8s. It's really not a hard or scary process using the Apex display unit.

    --AJ
     
  2. PotRoast

    PotRoast Well-Known ReefKeeper

    999
    Ratings:
    +24 / 0 / -0
    My next challenge is updating my mp40w drivers to version 3.1 firmware. Because the WXM module needs that firmware. But it is not available from Ecotech of course.

    So now another email to Curt. I am a fan of this controller don't get me wrong. But it seems everyone that owns one has his email addy in their address book. (for a reason!)
     
  3. PotRoast

    PotRoast Well-Known ReefKeeper

    999
    Ratings:
    +24 / 0 / -0
    OK I have a confession. I emailed Curt before I started typing this post and his response came before I could finish.
    That kind of service is really tough to beat.
    Oh yeah he told me the WXM module has the firmware for the MP40w on it already and it will do the update for me.
    I made a breakout box last night too. And I received my ozone reactor and the skimmate locker. I'm in reef nerd heaven right now.
     
  4. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    Nice.  Yeah, the WXM has the 3.1 firmware on it.  For what it's worth, I found the old style drivers to update right away, while the EcoSmart drivers gave me some problems.  There's a manual update mode in the documentation.  If anyone is using the WXM, use the manual update mode.  It works fine.  The automatic does not.
    I would love to see pics of your breakout box.  Did you find the project to be pretty easy?  And how long did it take you?  What I found to be most difficult was the soldering, but after looking at a few things on the web, I think I needed to use more flux and it would have been easier.  I'll upload pics of mine too.
    Also looking forward to hearing about if you see much of a change when you add the ozone.  And are you monitoring your ORP via your Apex or using a dedicated ORP controller?  If you haven't found out by now, the ORP probes that Neptune uses are supposedly calibrated for life.  You can re-calibrate them, but you have to use some exotic powder that you saturate your pH calibration fluids with and it's hard to find and expensive.  However, the Pinpoint controllers have 400 mV calibration fluid for about $3. 
    --AJ
     
  5. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    OK...so here's some code out there for those of you that dose supplements. The OSC command. The OSC command is a command that's great for dosing because it allows you to spread your dosing out into small amounts throughout the day. There are a couple of things that make the OSC command easy to understand and key to it's operation. First, it resets at Midnight. Whatever it's doing at Midnight, the OSC command starts fresh at the beginning of the listed cycle. Second, it's more predictable if you have the total between the three values add up to a value that's easy to work with. For example, in my dosing, I like to dose each calcium, alkalinity and magnesium at separate times, so my osc commands look like this:

    [calcium]
    Fallback OFF
    OSC 015:00/011:00/034:00 Then ON
    If Time 15:00 to 23:00 Then OFF
    If pH > 08.40 Then OFF

    [alkalinity]
    Fallback OFF
    OSC 045:00/006:00/009:00 Then ON
    If Time 15:00 to 23:00 Then OFF
    If pH > 08.50 Then OFF

    [magnesium]
    Fallback OFF
    OSC 030:00/000:25/029:35 Then ON
    If Time 15:00 to 23:00 Then OFF
    If pH > 08.50 Then OFF

    If you look at the OSC command in all three sections of code, you'll see that the total of the three always equal 60 minutes. This is for two reasons. First, I always want my calcium to start at the 15 minute mark, my magnesium at the 30 minute mark, and my alkalinity at the 45 minute mark. I decided not to dose at the top of the hour because that's typically when other activities are going on (like lights on/off) and I didn't want those things to interfere with the start and end times of the dosing. So the OSC command basically says, beginning at Midnight, wait xx number of minutes before taking action, then wait xx number of minutes to go back to the original state, then wait xx minutes before you restart the cycle. So the calcium program would work like this:

    OSC 015:00/011:00/034:00 Then ON
    OFF / ON / OFF

    00:00 - Reset OSC command - begin first OSC command which indicates to wait for 15 minutes - the outlet is off during this time
    00:15 - Turn the outlet on for 11 minutes
    00:26 - Turn the outlet off and begin the second wait cycle which is 34 minutes.
    01:00 - Begin the OSC command again by waiting 15 minutes
    01:15 - Wait cycle ends, turn on the outlet for 11 minutes
    01:26 - Turn the outlet off and begin the second wait cycle
    02:00 - Begin the OSC command again by waiting 15 minutes

    The last part of the statement indicates what the second part of the OSC command is. If the calcium statement said OFF at the end, it would be ON first, then OFF, then ON again.

    OSC 015:00/011:00/034:00 Then OFF
    ON / OFF / ON

    It's important for the three time values to equal 60 minutes to me because I want these things to happen on an hourly basis and because they do equal an hour, the OSC command ends, then restarts at the top of each hour as that's when the Off/On/Off cycle ends.

    If you want something to happen every four hours, then you make the total of the cycle equal 240 minutes, maybe like:

    OSC 180:00/015:00/045:00 Then ON
    OFF / ON / OFF

    Another reason why you might want to use the OSC command is because you can use intervals of less than a minute...like if you want powerheads to go on and off in 15 second intervals, you could use a command like this:

    OSC 000:15/000:15/000:00 Then ON
    OFF / ON /Nothing

    If you had another powerhead that you wanted to run opposite this one, you just tell it to turn OFF instead or switch the 000:00 part of the cycle to the beginning instead of the end. By making the total of the three values equal 30 seconds, it restarts the OSC cycle every 30 seconds.

    The OSC command runs all the time, even if you have a subsequent command which changes the state of the outlet. So in the programming at the beginning of this post, you see that from 3 PM to 11 PM, the dosing pumps do not run because the If Time command told them not to. Also, at any time, if the pH exceeds 8.5, they don't run either. But the important thing to note is that just because they don't run, doesn't mean that the OSC cycle ends. So if the pH exceeded 8.5 for 30 minutes, that doesn't offset your OSC cycle by 30 minutes, it just prevents the outlet from turning on if that statement is true at the time it's supposed to turn on.

    For me, this was a difficult command to grasp, but I once you understand how it works, you can do all sorts of things with it. I hope you find it helpful!

    --AJ
     
  6. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0

    Using Telnet to reset your Apex Webserver


    Has your Apex web server ever frozen up on you? You just keep refreshing the page and nothing? Well, here's a fix. Assuming that you have a telnet client on your machine, open a Command Prompt and Enter the following commands:
    Telnet {aquacontroller IP}
    You will see a prompt saying AquaController Login / login: Enter your Apex username and hit [Enter].
    One that's done, it will ask you for your password. Enter the Apex password and click [Enter].
    Assuming you typed in the correct credentials, you're now greeted with a AquaController> prompt. At this prompt, type 'reboot' and hit [Enter]
    At this point, the telnet session basically dies. If you hit the [Enter] button, it will say 'Connection to host lost' and drop you out of the telnet session.
    If for whatever reason you're brought back to an AquaController> prompt, type in exit and hit [Enter]
    All of this can be done with any Telnet client so Microsoft telnet does not have to be what you use. I've found this to be particularly helpful when I'm not at home and the webserver freezes up. This gets me back in without having to disconnect/reconnect the power.
    DO NOT play around in this interface typing arbitrary commands as you can clear your programming, reinitialize memory, royally screw things up.
    If you're a Windows 7 user, this may be returning errors saying:
    'telnet' is not recognized as an internal or external command, operable program or batch file.
    then you need to enable the command line telnet client. Do that by doing the following:
    Start Button / Control Panel / Programs / Turn Windows Features on or off / Select Telnet Client / Click OK
    The instability of the web interface is one of my biggest complaints about the Apex...but with this easy reset option, I don't have to worry about it as much anymore.
    As I read about more of the telnet commands, I'll add information on them.
    --AJ
     
  7. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    New firmware upgrade out. 4.04_2B11 Download it at http://www.neptunesys.com/apex_4_04.zip

    --AJ
     
  8. Patmack

    Patmack Inactive User

    1
    Ratings:
    +0 / 0 / -0
    Hey AJ,

    There is some good info here,
    Thanks!
     
  9. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    I recently added 16 virtual outlets to my Apex and started to make use of them.  I think the addition of them is going to make my programming easier to maintain.  Let me explain how I use them and why this makes things better for me.
    First of all, a little on what a virtual outlet is.  A virtual outlet is an outlet that you add to your configuration that doesn't really physically exist, but is used for a variety of reasons such as:
    • To put a rule in a single place that might exist in multiple outlets - for example, hours for your lights to be on, or what your high and low pH watermarks are, etc.
    • To set a "condition" that might impact multiple outlets - for example, Every Monday at 11 AM, your system may perform an automatic water change.  The virtual outlet evaluates the date/time to set the outlet to ON, then that condition is evaluated on a number of different outlets to determine their state such as to turn the return pump off, the auto top-off to off, the automatic water change pump to ON, etc.
    • To indicate the state of something that you might not be able to see any other way - for example, switch status.
    Now, before you start using virtual outlets, you have to add them to your Apex.  These are added as modules.  In the web interface, go to Configuration / Module Setup / Add Module.  I add them as DC8's so that I can add 8 at a time.  You can use any addressable outlet space that's not currently occupied by a device, but you may want to leave the first few letters for potential legacy physical devices and start with something like the "D" range.  To understand what I mean by that, you need to understand a bit about the AC3 generation hardware.  When using the AC3 generation peripheral devices, you had to assign an address to each one.  For example, you might address a DC8 as "A1".  This would mean your outlets were A1-A8.  Each letter range can have up to 16 outlets so you can assign another DC8 to "A9" for outlets A9-A16.  I don't recall how many letter ranges you have, but it does not go all the way to Z...so skip just a few, then start adding your virtual outlets.  As soon as I create my virtual outlets, I name them so that I know they are virtual outlets.  This keeps me from getting the default outlet names confused with real outlets.  I also put a line of code in there (Set Off) and remove the default sample code.  Virtual outlets get named Virtual_{outlet address} so for example, the virtual outlet at D1 would be Virtual_D1.  I think it's important to create a naming convention so that you know
    what outlets are real and which are virtual.  Once I give the outlet a real purpose, then I prefix it with V_ to save characters...and the outlet address is no longer important.
    I added virtual outlets for pH too high, pH too low, temp too high, temp too low, hours for my halides and VHOs and switch status.  Here's why I put these items in as virtual outlets.
    First of all, pH and temp outlets.  I put my pH and temp high and low watermarks into virtual outlets so that I could record these values in just one place.  pH high /low  is used in alarm code, dosing code, etc.  If I have my high/low vales in one place, then I can adjust them just once and have every outlet that uses these values, reflect the new change.  For example, if I want to change my pH Too Low value from 7.69 to 7.79, I just change it in the virtual outlet.  If I did not use a virtual outlet for this, I would have had to change multiple outlets and take the chance of some getting updated and others not getting updated.
    For things light lights, I used virtual outlets because of the amount of code that applies to each outlet.  For example, on my halides, there's code for time on/off, what temp to shut off at, hysteresis, what do do after a power outage, etc.  Now, there's also halide related code on other outlets like the dosing pumps.  I don't want to dose when the lights are on.  If I put all of that code into a single virtual outlet, then I can do a simple If Outlet evaluation on each impacted outlet (i.e. the outlets the dosing pumps are plugged into and the outlets the halides are plugged into) to appropriately impact the state of the controlled device.  It also allows me to change my photo period in one place instead of five or so.  For example, a virtual outlet was created that looks like this:
      [V_Halides]
      Fallback Off
      Set Off
      If Time 15:00 to 23:00 Then On
      If Temp > 81.0 Then Off  //why not use the V_TempTooHigh outlet here?  Because I want my lights to turn
                                                off before it gets to the the V_TempTooHigh condition.  It's too bad that simple
                                                math is not allowed and we're not able to set variables like TempTooHot = 82,
                                                then set this line to say "If Temp > (TempTooHot - 1.0 ) Then Off"...but alas, we
                                                work with what we have.
      Min Time 010:00 Then Off
    And this code is then used for my other outlets like this:
      [MH1]  //MH Light 1
      Fallback Off
      Set Off
      If Outlet V_Halides = On Then On
      [MH2] //MH Light 2
      Fallback Off
     
    Set Off
      If Outlet V_Halides = On Then On
      [calcium]  //similar code is used for alk and mag pumps
      Fallback Off
      OSC 015:000/011:00/034:00 Then ON
      If Outlet V_Halides = On Then Off
      If Outlet pHTooHigh = On Then Off
    So now, by using virtual outlets, I've been able to have my Apex evaluate an outlet based on a set of rules, then use the result of that outlet to determine the state of many others.
    Finally switches.  Switches are something that you can use in your programs, but by default, you're not able to see their current state.  This can make troubleshooting very difficult.  To solve this, create a virtual outlet for each switch.  Switches also operate in Open/Closed states vs. On/Off, so this also converts the switch to use the standard On/Off nomenclature because you're using the Open or Closed conditions to set the outlet On or Off.  From that point forward, you can then use the status of the Virtual Outlet to make decisions based on the switch status.    For example,
    [V_Switch1]
    Fallback Off
    Set Off
    If Switch1 = Closed Then On
    This simple virtual outlet tells you the state of the switch in your breakout box.  Now, if you want, you can rename that to something more meaningful like V_S1_Wtr2HFS.  OK, now to you that's probably not more meaningful, but to me, that means it's a Virtual Outlet (V_) that's watching the state of Switch One (S1_) and is attached to my Water Too High (Wtr2H)  float switch (FS).  Another option is that you can just leave the V_Switch1 named as is, then create another outlet called V_WtrTooHigh like:
    [V_WtrTooHigh]
    Fallback Off
    Set Off
    If Outlet V_Switch1 = On Then On
    The key to all of this...use these outlets wisely.  The idea is to *simplify* your code and to enable you to do things you might not otherwise be able to accomplish...not to make your Apex more complex than it has to be.
    I hope this makes sense.  Leave a question here if not and I'll clarify things.  Thanks!
    --AJ
     
  10. jtesdall Expert Reefkeeper

    Ames/Des Moines
    Ratings:
    +1 / 0 / -0
    Good tips AJ. I like the virtual outlet idea a lot.
    A few general basic tips for Neptune Aquacontrollers:
    1. Programming is always run by the controller in order. In other words the last line of code overrides the previous lines. I don't think the Apex has changed this rule any place.
    2. Use "If Temp" lines to turn off Halides if your system gets too Hot. i.e. IF Temp > 83 then Halide1 OFF
    3. The OSC command is great bt sometimes can get confusing on what is happening when. Use multiple "If Time" commands to accomplish a similar thing. This is sometimes necessary for dosing if you want to dose more at one time of day like I do for Alkalinity which has the double purpose of flattening your pH range throughout the day.
    4. Use my Program ReefTrakker to add one GREAT piece of functionality: Turn any outlet on or off for a specified time period all with a few clicks. I use this for mixing salt water mostly (no overflowed trash can) but have used it for many other things like turning on my Lights for visitors. ReefTrakker isn't ready for the Apex yet but now it will have to be. Give me a few weeks, many things have changed it may be longer /DesktopModules/ActiveForums/themes/_default/emoticons/tongue.gif.
     
  11. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    Thanks for the post Joel...responses numbered the same as your post numbers...
    [list type=decimal][*]YES!  This is a really important point and I'm glad that you brought it up.[*]Yes, the "If Temp" should always be used on lights to turn them off when the tank gets too hot...but I do want to make a slight adjustment to your syntax.  The syntax is correct for AC3, but not for Apex.  The difference is that with Apex, the programming is outlet specific, so instead of having one long program where you have to name each device/outlet, you have small programs that are run for each individual outlet.  With this in mind, there's no need to mention the device that you want to turn on or off...so for Apex, your above statement would be
          If Temp > 83.0 Then Off[*]The OSC command is wicked confusing for sure...no doubt about it.  One key benefit of the OSC command is that it's more granular than the Time command.  With OSC, you can specify the on/off times down to the second.  With the Time command, you can only manage down to the minute.  This rarely matters to anything except dosing, but it's good to know.  And you're absolutely correct, multiple "If Time" statements can be used to achieve the same results for the most part.  There are a couple of things to remember.  With AC3, you had to turn the outlet on, then off based on the time as such:
          If Time > 11:00 Then Halide1 On
          If Time > 23:00 Then Halide 1 Off
    With the Apex, the idea of time blocks are introduced so you specify a start, end time, then the state you want to invoke, so the above two lines in AC3 code are reduced to one in Apex code as such
          If Time 11:00 to 23:00 Then On
    And the beauty of this is that your Fallback or initial state will apply when the time expires without having to use a separate line of code to turn it off.  This improvement also makes multiple If Time blocks much easier and a sometimes more practical than using the OSC command.
    [*]They still have not added the functionality to turn off an outlet for a specific period of time.  They really need this.  I'm glad your app addresses this.  One thing that you *can* do is to use the "Min Time" command to indicate how long something should run.  One example of how you could use this would be to use a push button type switch to tell your salt to mix for an hour.  For example:
         [saltmix]
         Fallback Off
         Set Off
         If Switch1 Closed Then ON
         Min Time 060:00 Then ON
    This would leave the saltmix outlet on for 60 minutes, then go back to Off.  So it is possible, but it has to use a pre-defined program.  Your Reeftrakker program would be a better solution because you can do that on any outlet.  I plan on using this solution to put a door-bell style switch in my canopy that can be pressed when people come over and I want to turn the lights on for an hour.[/list type=decimal]I look forward to your Reeftrakker program being Apex enabled.  And I look forward to you converting your AC3 programming prowess to the Apex generation programming.  I know you've been a huge asset to the club as one of the resident AC3 programming experts.  I think over the next month as you become more comfortable with the Apex, you'll really find some of the Apex improvements to be really nice.
    --AJ
     
  12. jtesdall Expert Reefkeeper

    Ames/Des Moines
    Ratings:
    +1 / 0 / -0
    Hey just had a thought. One thing sorely missing from the AC programming language is "AND" and "OR" Logic (unless the Apex has added this). The virtual outlets could add this functionality which is basically what you've done in your virtual outlets, very cool.  I know I will find uses for this in the future.
    AJ, does the Apex allow comments in the code yet?
    The Min Time will work but anytime you want to change the length you have to go into the program. I like the switch idea in the canopy though. I use the ReefTrakker Manual timer feature like this: I have a 30 gallon reservoir for RO/DI with a pump in it of course, I call this my TopOff. I know it takes 7 minutes to put 20 gallons in my salt mixing container so I don't overflow. So I choose a drop down for topoff and type in 7 minutes and wallah. I could just put 7 minutes in the program  but sometime I only add 5, 10 or 15 gallons. I also use this pump for water changes on my Freshwater tank which takes about an hour to fill through a 1/4 inch line. So I can just set it and walk away.
     
  13. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    No, still no AND / OR logic and no comments allowed. 
    And you're right...the switch based stuff does have to be pre-defined..adding something like that to ReefTrakker will certainly be more flexible.
    --AJ
     
  14. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    I need to recant something that I said yesterday.  I said that no comments were allowed and that's not correct.  Comments are allowed by using the "//" to indicate that the line of code has ended and the comment is beginning.  I had thought that it was only used to indicate a comment in the threads that I've read, but it will save your comment in your program.  Thought you might want to know.
    --AJ
     
  15. jtesdall Expert Reefkeeper

    Ames/Des Moines
    Ratings:
    +1 / 0 / -0
    // Commented Code!
    // Yeah! That is almost worth the Apex upgrade right there!
     
  16. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    Couple of new things:

    1) Disable Aquaserv in the Network configuration section. It will help with web server stability.
    2) Max number of outlets is 56. When you hit this limit, you need to contact Neptune Systems support to get them to change it for you. Takes a couple of minutes for them to change this, but I was quite surprised that this was the "fix"

    --AJ
     
  17. JB Veteran Reefkeeper

    Marion
    Ratings:
    +3 / 0 / -0
    Does anyone have any clue yet what the "Aquaserv" functionality is going to be?
     
  18. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    If they do, they are being closed lipped about it. Personally, I would guess that it's going to be some sort of a web based management portal that tracks stats long term more like Aquanotes did for the AC3 vs the shorter term of stats available directly in the Apex database. I think web based is the way to go, but the Aquanotes did have the advantage of keeping stats longer. Who knows, maybe they build in some sort of managed notification service when certain thresholds were exceeded, alerts when the Apex is unreachable, etc. There's so much that they could do...but no word on what it really is.

    And a little more info on the 56 outlet max situation. I exchanged a few emails with Curt and he was saying that it's a bug in the software, however, there are so few users that hit this limit that it's been very low priority to get resolved. People asking for new features and fixing issues that impact more people have (and should) taken a more prominent place on the "to do" list. That being said, it doesn't give me warm fuzzies knowing that there is a known bugs that are not being fixed because it does not impact many people. As long as I have his ear, I'm going to ask him about tracking the web server stability issue I've been dealing with and maybe he will also give me some hints as to what Aquaserv is going to be...we'll see. I'll post what I find out.

    --AJ
     
  19. PotRoast

    PotRoast Well-Known ReefKeeper

    999
    Ratings:
    +24 / 0 / -0
    Personally I love my apex but there are WAY too many bugs in it. Really, for the money, I think it is a piece of crap. But the best piece of crap you can buy IMO. I have well over $1000.00 into my apex so this does not make me happy to report.

    Issues I am having....

    1. No internet connectivity
    2. No email forwarding
    *Both probably due to my ignorance
    3. Web server is horribly unstable
    4. Webserver works some times, other times won't load pages correctly


    Issues I am predicting will happen.

    1. Apex failure when doing a firmware update
    2. Apex becoming a brick
    3. Apex one day not working, then working the next.

    I watch and post to the Neptune board daily and it is a ****storm of activity over there. I know there are a lot of fanboys out there for this product...My final judgement is that I would buy all this stuff over again if I had too. But the product itself is pretty crappy IMO.

     
  20. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    I agree that 1 and 2 are probably configuration issues, but I also see the webserver instability.  Make sure that Aquaserv is disabled and that should hopefully help.  Also, make sure you're on the latest firmware release.  Personally, I think there's a memory leak in the web server that's causing the issue and hopefully it will be fixed in the next firmware release (which is currently in beta).
    I agree...the best you can buy for the $$, but it does have a few issues.  No doubt about it.  I watch the Neptune forums daily too and most issues that I see out there are related to:
    [list type=decimal][*]Programming questions (far and away the #1 topic of discussion - which is good IMO, shows how many people are successfully using their Apex)[*]Network configuration issues (Yes, it's true.  There are many people that have stunning tanks, understanding the complex topics of maintaining excellent water chemistry, detect issues in their tank before they cause problems, set up very complex & automated reef tank management systems, but don't know the first thing about home networking.  It's OK...the others that regularly watch the Neptune forum are really good about helping others out.)[*]DIY questions - how to get the Apex to work with their new DIY project.
    [*]Product quality issues - component failures.  I wonder if Curt has any stats on failure rate of Apex components...
    [*]Power quality (spike, brown-out, etc.) issues causing Apex or components to fail.[*]Complaining because they don't understand how to use it.
    Consider a few mitigating factors to reduce your exposure:
    [*]Keep your Apex and components on conditioned power (i.e. a good quality surge suppressor) and consider a battery backup.  Battery backups that work with these can be found on eBay for under $20.
    [*]If you don't know how to do something relating to your Apex, locate the people that can and get them to help out when needed.  GIRS is full of helpful people and I bet there's one near you that understands the stuff you're having issues with.
    [*]Educate yourself on controller programming.  Most of the issues you will have with the Apex are due to program flaws.  If you're not sure about something, post it on the RC forum or the GIRS forum and ask others.
    [*]Have a backup plan.  Things will fail.  Whether it's tomorrow or ten years from tomorrow.  Think about how you would handle component failures and try to be prepared if you can.[*]Consider a backup controller.  This would be the case no matter what controller you use.  You can buy an AC3 with basic probes (temp & pH) for around $125 to $150 these days.  IMO, that's pretty cheap insurance and protects your tank in the case of a temp probe on your Apex going bad and not heating your tank when it should...or not turning off the lights when the water gets too hot, etc.[/list type=decimal]Now I know you've done some of these things Jim and it's good to see that you're concerned about potential issues.  I'm sure it means that you're giving thought to how to handle them if they were to occur...which is great.
    Yes, I'm a fan...I admit it, but I don't think it's unwarranted.  The Apex allows me to do some pretty amazing stuff and I rest easier at night knowing that I have my Apex watching my tank when I can't.  I'm with you when you say that I would buy it all over again.  No doubt about it for me.
    --AJ
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.