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
    I know many of us have Apex controllers, post your favorite tips here!
    One thing that I recently implemented is the power outage detection alerting.  With the POWER command, you can detect a power outage on an EB8 and if you use that command on your EmailAlarm outlet, then you can alert on it.  For example, my Apex is in the basement with my sump.  If my display tank upstairs, which is on a totally different circuit, looses power, I'm alerted via text message and e-mail immediately.  The command looks like this:
    If Power EB8_UpStr Off 000 Then OFF
    Where EB8_UpStr is the name that I gave the Upstairs EB8 that's located in my tank stand.  If you only want to alarm if the power has been off for 5 minutes or more, you can set that as follows:

    If Power EB8_UpStr Off 005 Then OFF
    Now, my downstairs EB8 is on the same circuit as my Apex Base module so I don't really have to alert on a power outage for the base module itself, however, if they were not, separate alerts could be configured for both the base module and the downstairs EB8.  The same code is used for my downstairs EB8, but the EB8 name is different:
    If Power EB8_DnStr Off 000 Then OFF
    If all of the EB8s and the Apex itself are on separate circuits, then use the following code to alert when the Apex itself looses power:
    If Power Apex Off 000 Then OFF
    This must be done in conjunction to turning on the power monitor option within the Apex configuration itself (not available on the web interface) in the System / Misc Setup / Power Monitor menu item.  The default value for this is OFF.
    Also, keep in mind, this only works if you have a backup power source for your Apex.  Battery backups that work for the Apex can be purchased online for as little as $12 to $15.
    Since AC3 generation power strips do not have power utilization monitors in them, they cannot be monitored for power outage.
    I hope this helps you!  Now post your favorite bit of Apex code here for others to benefit from!
    --AJ
     
  2. PotRoast

    PotRoast Well-Known ReefKeeper

    999
    Ratings:
    +24 / 0 / -0
    Here is my carbon reactor program....hope this helps anyone that might be dealing with a carbon reactor...

    Fallback ON
    SET ON


    (Ha Ha. Joking....I am just figuring all this programming stuff out)
     
  3. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    Nice!  I think that's the same program I use for my return pump!  ;-)
    --AJ
     
  4. slovan

    slovan Experienced Reefkeeper

    Ratings:
    +0 / 0 / -0
    That statement is beautiful!  It does the same thing as my wall outlet; it's always on! [​IMG]
     
  5. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    Yeah, most "always on" things don't need to be on a controlled outlet.  There are some exceptions to that.  For example, if you want your return pump to turn off when using FeedA mode, but not with FeedB mode.  Or if you want your skimmer to have a 3 minute delayed start after a power interruption.  This can be critically important if your sump water level raises enough during a power interruption to cause your skimmer to overflow if it were to turn on immediately after power was restored. 
    If you're not familiar with feed modes, Neptune gives you four feed modes that you can use on your controller.  These are configurable on your display only, they cannot be configured from the web interface.  Basically all that you do in the configuration of the feed mode is to tell the controller how long the feed mode is.  Then you base your programming on that to determine how your devices will respond when a specific feed mode is enabled. 
    All that being said, the two line program above does none of those functions.  :)   I'll go ahead and put in the programs that will.  Plus, I'll go ahead and go one step further and assume that there's a switch that's used for maintenance mode.  We'll define maintenance mode as a mode where your fluidized carbon and GFO reactors are turned off and so is your skimmer, but the return pump and biopellet reactor run as normal.  This example of a maintenance mode could be used for changing carbon & GFO or cleaning your skimmer.  When the "maintenance" switch is turned to the ON position (again, this is a physical switch, connected to your breakout box which connects to your Apex base module), the skimmer turns off and so does the pump that feeds the carbon and gfo reactors.  Maintenance mode stays enabled until the switch it flipped back to the OFF position.  In my opinion, these are good exceptions for those "always on" devices that help you better manage your tank. So with all of these assumptions, here's what the programming for the 5 different devices would look like.
    [skimmer]
    Fallback ON
    Set ON
    If Power EB8_DnStrs OFF 003 Then OFF   //Leaves skimmer off for 3 minutes after a power outage because water level in the sump is too high
    If FeedA 003 Then OFF                            //Leaves skimmer off for 3 minutes after FeedA cycle has completed because water level is too high
    If FeedB 000 Then OFF                            //Leaves skimmer off during FeedB cycle, but starts it immediately when FeedB ends because water level
                                                                       in sump does not change
    If Switch1 Closed Then OFF                     //Detects the state of Switch1 (maintenance mode switch) on your breakout box and as long as that
                                                                      switch stays in the off position, the skimmer will remain off
    [return]
    Fallback ON
    Set ON
    If FeedA 000 Then OFF                             //Immediately start the return pump at the end of the FeedA cycle
    [carbongfo]
    Fallback ON
    Set ON
    If Switch1 Closed Then OFF                     //Detects the state of a switch (maintenance mode switch) on your breakout box and as long as that
                                                                       switch stays in the off position, the skimmer will remain off
    [biopellets]                                                 //Because the biopellet reactor does not respond to maintenance mode and should start up immediately
    Fallback ON                                                    after a power interruption, the program is very simple
    Set ON
    The skimmer is impacted by the most conditions, hence the longer program.  Also, all of these programs will need to be "Advanced" mode programs since none of the wizards will handle all of these conditions.  I hope the comments help you understand what each line is doing.
    One more interesting thing.  Feed modes don't have to be used for feeding your fish.  They can be used for anything.  One good idea that I've heard feed modes used for is temporary light control.  It seems like frequently people come over at times when you don't have your lights on.  You want to turn your lights on, but just for 30 minutes.  Going into the web interface and manually switching the outlets themselves using MANUAL ON can be dangerous.  You may forget they are in MANUAL ON mode and could make tank inhabitants unhappy from too much light and raise your tank temp.  Instead, a feed mode is used to turn on the lights for a short period of time (an hour), then turn them off automatically at the end of the feed cycle.  Now, taking into consideration my current light schedule, code that shuts the lights off when the tank gets too hot, and hysteresis, and assuming the feedd mode is set up for 30 minutes, the code would look like this:
    [halides]
    Fallback OFF
    Set OFF                                                //lights should be off unless we give them a reason to be on.
    If Time 15:00 to 23:00 Then ON           //turn lights on between 15:00 and 23:00
    If Temp > 82.0 Then OFF                       //turn off lights at 82 degrees
    Min Time 010:00 Then OFF                   //hysteresis – 10 minutes
    If FeedD 000 Then ON                           //turn lights on when feedd is activated
    [actinics]
    Fallback OFF
    Set OFF                                                //lights should be off unless we give them a reason to be on.
    If Time 12:00 to 15:05 Then ON           //turn lights on between 12:00 and 15:05
    If Time 22:55 to 02:00 Then ON           //turn lights on between 22:55 and 02:00
    If Temp > 82.0 Then OFF                       //turn off lights at 82 degrees
    Min Time 005:00 Then OFF                   //hysteresis – 5 minutes
    If FeedD 000 Then ON                           //turn lights on when feedd is activated
    I know this is a lot of stuff, but I hope it helps those Apex owners out there better understand their controllers and empowers them to do more with their investment.
    --AJ
     
  6. slovan

    slovan Experienced Reefkeeper

    Ratings:
    +0 / 0 / -0
    Thanks, AJ! I think I am learning more about programming in this thread than the unofficial guide from aquamaniac (stickied on top of the Neptune forum on RC). So far, I have my main tank and frag tank running on the Apex. The iPhone app has been a blessing as well! /DesktopModules/ActiveForums/themes/_default//emoticons/smile.gif
     
  7. PotRoast

    PotRoast Well-Known ReefKeeper

    999
    Ratings:
    +24 / 0 / -0
    That iphone app is the bomb. I just got my verizon iphone and it was the first app I got. I must have turned my frag lights on and off a hundred times from my phone just because I could.

    Thanks AJ. That post made sense for the most part so I must be getting closer to cracking the code.

    I am not sure where all that code goes though....is it part of Feed Cycle B? Also I have not seen the use of brackets like you are using.....example:[skimmer] and [halides] Do you need to use that in the code or was that used for clarification in your post
     
  8. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    The smart-phone apps are excellent.  I believe the iPhone app to be the best one right now, both visually and functionally.  It's awesome that the Apex community has made such great apps available at no cost.
    I've read that there's an initiative started to get an app for Windows Mobile devices that sounds like it could be the most fully functional smart-phone app for the Apex yet..
    The tags like [skimmer] are just there to indicate what outlet the programming is associated with.  They are not part of the code at all.
    The Feed Cycles are just timers that you configure in the Apex.  If you think of them as just a timer that you can associate specific functions to, that might help you to clarify things in your mind.  Now remember, you have four feed cycles and everything associated with a given feed cycle is going to execute when you call that feed cycle, so don't configure them thinking that feed cycle A will be 15 minutes, B will be 30 minutes, C will be 45 minutes, etc.  Everything associated with a given feed cycle will execute when the feed cycle is called.  Now that we've cleared up how think about the feed cycle, remember that it's the programming in the specific outlets that associate a device to a feed cycle.  And a device can be associated with all four feed cycles, or none of them.  Let me know if you want me to clarify this more.
    --AJ
     
  9. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    Glad it's been helpful Sone.  The aquamaniac guide is an excellent resource, but sometimes taking it from the guide and turning it into practical application can be confusing (at least for me).  So I'm trying to focus on practical application stuff that I've used that hopefully others will be able to reuse.
    Here's one that I implemented tonight after my skimmer overflowed.  Using the 'If Outlet' command so that it evaluates the state of one outlet to determine the state of another.
    I was doing some maintenance on my plumbing tonight and I turned off my return pump.  Water level in the sump went up and my skimmer overflowed.  Great.  So I put the following statement into my skimmer outlet program to prevent that from happening again.  It says:
    [skimmer]
    IF Outlet Tarpon = OFF Then OFF     //Tarpon is my return pump outlet
    Basically all that it does is tells my Apex that if I turn off my return pump (whether it's done with programming or manually), then to always turn off the skimmer too.  Now, since the Fallback and Set commands set the outlet back to ON as soon as the outlet is re-evaluated, shortly after the outlet Tarpon is set back to on, then my skimmer gets set back to on as it no longer meets the condition of Tarpon = OFF. 
    I'm going to work on this a little more to figure out how to delay the start by 3 minutes after the return pump comes on.  I can't remember if it's done with the DELAY command or with the DEFER command.  If I don't add that part, then I'll still have my skimmer overflow as it's currently set to have the skimmer go back online before my sump water level has a chance to return to normal.  I'll post again when I get that figured out.
    Our reef tanks have so many moving parts and dependencies, it's nice to have some of these things take care of themselves vs. me having to remember to do everything on my own.
    --AJ
     
  10. slovan

    slovan Experienced Reefkeeper

    Ratings:
    +0 / 0 / -0
    I use this statement for my skimmer. I have it set to come back on 15 minutes after the EB8 loses power.

    If Power EB8_MainTank Off 015 Then OFF
     
  11. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    Thanks Sone,
    That is perfect implementation of the If Power command. I'm still using If Power, but I actually just modified my code to use the Defer statement. It looks like this:

    [skimmer]
    Fallback OFF
    Set ON
    If Power EB8_DnStr Off 000 Then OFF
    If Outlet Tarpon = OFF Then OFF
    Defer 003:00 Then ON

    The Defer statement takes care of both the "If Power" and "If Outlet" conditions. I'm not really comfortable with this command yet and had to ask for some help with it, but I've tested both conditions and it works perfectly. Even aquamanic's guide (http://reeftech.webs.com/Apex%20New%20User%20Guide.pdf) doesn't make this clear for me...I have to play around with it a bit more to better understand it.

    I also found out I was using the If Power command wrong and in my above examples, I was using an ON condition at the end when it should have been an OFF. I've corrected it but thought I would mention that in case anyone had read it and had used it in their code.

    --AJ
     
  12. slovan

    slovan Experienced Reefkeeper

    Ratings:
    +0 / 0 / -0
    Nice, I'll have to use yours. Thanks for working on it! /DesktopModules/ActiveForums/themes/_default//emoticons/smile.gif
     
  13. PotRoast

    PotRoast Well-Known ReefKeeper

    999
    Ratings:
    +24 / 0 / -0
    I just got two new eb8's and they need the firmware update. I just read about how to do it on a mac and I am scared as hell.

     
  14. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0


    So how do you determine whether your modules are at the latest firmware version?  Easy.  In the web interface, go to Configuration / Module Setup.  Look at the Module List section.  If the SW Rev column says anything but (OK) after the version number, then you need to upgrade the firmware.
    You have your Apex itself upgraded to the latest version, right?  Check
    the web interface at Configuration / Network Setup.  Once on that page,
    look at the bottom for Aquacontroller Version and it should be
    4.04_BC10.  If not, you should consider upgrading to that version.
    Now, once you're on the latest firmware, you can upgrade the firmware on your modules by going to Configuration / Module Setup.  From the Module Setup page, in the Module Configure section, select your EB8, click Update Firmware, then the Submit Module Change button.  This can also be done from the display unit itself.  Go to Setup / Module Setup / Update Module / [Module Name].  As a part of the firmware upgrade, your
    EB8 will power cycle.  Make sure it's
    done at the appropriate time for that.
    Most people don't realize that each firmware release is a full firmware set for all modules, whether you have all modules or not.  They are all loaded on the base unit to be deployed to the modules when necessary.  This is not an automatic step and I know many people forget to do it after upgrading their base unit.  I know I didn't know that I had to do it until recently.
    Don't be scared of this...it's an easy and painless process.
    --AJ
     
  15. PotRoast

    PotRoast Well-Known ReefKeeper

    999
    Ratings:
    +24 / 0 / -0
    hmmm. Both my new EB8's have the old firmware. I haphazardly selected one of them and tried to update the firmware....a new window popped up but nothing happened for a long time. So I decided to read the directions.....

    After reading I am under the impression that since I have a mac I have to install something called MONO so it can load the boot or some crap so my apex can load accept the firmware.....but now you are telling me the firmware update is already loaded on the apex? And it is just a matter of doing what I did before, correct? My apex and modules are all updated except these new eb8's if that helps at all.

    Is there a trick to the timing of your clicking when you update? I read something about this in the forums. You mentioned that the EB8 has to cycle.....am I missing something?


     
  16. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    So take the Mac out of the equation all together. Use the Apex console to perform your updates. First, are you on the 4.04_BC10 firmware? If so, go to Setup / Module Setup / Update Module / [Module Name] and it should flash Updating. Do you now see the (OK) next to the SW Rev for that EB8 in the web interface on the Configuration / Module Setup page?

    --AJ
     
  17. PotRoast

    PotRoast Well-Known ReefKeeper

    999
    Ratings:
    +24 / 0 / -0
    good ideas i'll try them out

     
  18. PotRoast

    PotRoast Well-Known ReefKeeper

    999
    Ratings:
    +24 / 0 / -0
    I'm screwed. I have old firmware on the apex. (4.03_6A10)

    I promise a bluefool style meltdown here this week when I fail and everything stops working.

     
  19. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    Is it an option to mail it to me?  I could ship it back right away upgraded.  Or if you road trip up to CR, I can throw it on my network and have you upgraded in a matter of minutes.  Too bad you're so far away.  Next time you head on up to Craig's store, let me know when you'll be passing thru town and I'll get it upgraded for you.
    Oh, and just because you don't have the latest version, doesn't mean that you're screwed.  In fact, I think even the WXM will work on the 4.03 version of the firmware.  It just doesn't have the latest bug fixes and new features.
    --AJ
     
  20. PotRoast

    PotRoast Well-Known ReefKeeper

    999
    Ratings:
    +24 / 0 / -0
    EB8's are now updated (OK)

    However the aquacontroller still has an older firmware version 4.03_6A10.

    The process to update the firmware is ridiculously complicated for someone who doesn't understand code. There are directions on the internet that describe the process but still.....it is like sending someone to a foreign country with no knowledge of the language....
     

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.