Apex Programming Command Reference

SuncrestReef

That Apex guy
View Badges
Joined
Jan 18, 2018
Messages
4,214
Reaction score
9,212
Location
Oregon
Rating - 0%
0   0   0
This article is a reference guide for all of the Neptune Apex programming commands. All of this information is publicly available, but is scattered amongst several Neptune documents and posts in the Neptune Community Forums. My goal is to consolidate all of this information into a single reference document.

Apex.png


Documentation Conventions
Before presenting the list of commands, here is an overview of the documentation conventions for parameters:

Input, Output, and Profile names are shown in bold italics.

Examples:
If Temp > 80 Then OFF
If Flow1 < 100 Then OFF
If pH > 6.80 Then ON
If Output Return_Pump = OFF Then OFF
If FeedA 000 Then Slow_Mode

Various parameters are listed in square brackets, separated by a slash: [ON/OFF/Profile_Name/%]

Examples:
If Time 08:00 To 10:00 Then [ON/OFF/Profile_Name/%] includes the following possible uses:

If Time 08:00 To 10:00 Then ON (turns the output ON)
If Time 08:00 To 10:00 Then OFF (turns the output OFF)
If Time 08:00 To 10:00 Then Morning_Mode (sets the output to use the Morning_Mode profile)
If Time 08:00 To 10:00 Then 25 (sets the output to 25%)

Note: Profiles can only be used on specific output types. For example, a Pump profile only works on 0-10v variable outputs, DOS profiles only work on DOS outputs, Radion profiles only work on Radion outputs, etc.

Note: Only certain types of outputs support percentages. For details, see this Neptune FAQ: https://forum.neptunesystems.com/showthread.php?20677-Using-percentages-in-programming

Operators are also listed in square brackets, separated by a slash: [>/<]

Examples:

If Input_name [>/<] ### Then [ON/OFF/Profile_Name/%] includes the following possible uses:

If Temp > 80.0 Then OFF
If Temp < 76.0 Then ON

### represents a numeric value, which may or may not include a decimal point.

Times are specified in hours, minutes, and seconds represented by H, M, and S respectively. Some commands use hours & minutes, some use minutes only, and others use minutes & seconds.

Examples:

If Time HH:MM To HH:MM Then [ON/OFF/Profile_Name/%]
OSC MMM:SS/MMM:SS/MMM:SS Then [ON/OFF/Profile_Name/%]
Defer MMM:SS Then [ON/OFF]

Apex Programming Command Reference

Set [ON/OFF/Profile_Name/%]


Set is used to unconditionally set an output state, and is commonly used as the first command in a program to set the default state prior to applying various conditions that would override that initial state.

For more details on the Set command, see: https://forum.neptunesystems.com/sh...d-This-Thread!&p=114462&viewfull=1#post114462

If Time HH:MM To HH:MM Then [ON/OFF/Profile_Name/%]

If Time is used to set an output state between a set of fixed times, inclusive of the start and end time.

Example:
Set OFF
If Time 10:00 to 10:01 Then ON


will turn on the output at 10:00 and turn it off at 10:02:

image3-4.png


For more details of the If Time command, see my tutorial on Apex Timers: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-2-timers.689/

If DOW [SMTWTFS] Then [ON/OFF/Profile_Name/%]

The DOW command is used to set an output state based on the day of week. Each day is represented by a letter placeholder starting with Sunday and ending with Saturday. If a letter is listed, the command will evaluate True for that day. If a dash is substituted for a day, the command will evaluate False for that day.

Example:
If DOW SMT-TFS Then ON

This will turn the output ON each day of the week except for Wednesday, since Wednesday's placeholder is listed with a dash.

For more details of the DOW command, see my tutorial on Apex Timers: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-2-timers.689/

If Input_Name [>/<] ### Then [ON/OFF/Profile_Name/%]

This command is used to measure the reading of a probe, including temperature, pH, ORP, salinity, dissolved oxygen, flow sensor, PAR sensor, Trident alkalinity, Trident calcium, or Trident magnesium.

If Output Output_Name = [ON/OFF] Then [ON/OFF/Profile_Name/%]

This command is used to react to the current state of an output, whether physical or virtual.

If Switch_Name [OPEN/CLOSED] Then [ON/OFF/Profile_Name/%]

This command is used to react to either an optical sensor, leak sensor, or a switch connected to a Breakout Box port.

If [FeedA/FeedB/FeedC/FeedD] MMM Then [ON/OFF/Profile_Name/%]

This command sets an output state when a Feed Cycle is activated. The MMM delay extends the output state for a number of minutes beyond the set time of the selected Feed Cycle.

For more details on If Feed, see my tutorial on Apex Feed Cycles: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-7-feed-cycles.715/

If Temp [>/<] [RT+/RT-] [###] Then [ON/OFF/PROFILE/%]

This command is used to set an output state based on the regional temperature defined in the Apex seasonal tables.

For more details on regional temperatures, see page 65 of the Apex Comprehensive Reference Guide: https://www.neptunesystems.com/downloads/docs/Comprehensive_Reference_Manual.pdf

If Sun [+/-] [MMM] / [+/-] [MMM] Then [ON/OFF/Profile_Name/%]

This command is used to set an output state based on the sunrise or sunset cycles defined in the Apex seasonal tables. The first timer is relative to sunrise, and the second timer is relative to sunset. A positive number delays the action to after the event, and a negative number proceeds the event.

For more details on If Sun, see page 66 of the Apex Comprehensive Reference Guide: https://www.neptunesystems.com/downloads/docs/Comprehensive_Reference_Manual.pdf

If Moon [+/-] [MMM] / [+/-] [MMM] Then [ON/OFF/Profile_Name/%]

This command is used to set an output state based on the moonrise or moonset cycles defined in the Apex seasonal tables. The first timer is relative to moonrise, and the second timer is relative to moonset. A positive number delays the action to after the event, and a negative number proceeds the event.

For more details on If Moon, see page 67 of the Apex Comprehensive Reference Guide: https://www.neptunesystems.com/downloads/docs/Comprehensive_Reference_Manual.pdf
For an example of If Moon usage, see my tutorial on Apex Lunar Schedule and Lighting Profiles: https://www.reef2reef.com/ams/neptu...sion-lunar-schedule-and-lighting-profiles.717

If Output Output_Name [Amps/Watts] [>/<] ### Then [ON/OFF/Profile_Name/%]

This command is used to react to the Amps or Watts currently consumed by an EB832 output. This does not apply to the older EB4, EB6, EB8, or the DC24 accessory outputs of the EB832.

For more details about the Amps/Watts programming, see my tutorial on Apex Power Monitoring: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-4-power-monitoring.698/

If Power [Power Probe] [ON/OFF] [###] Then [ON/OFF/Profile_Name/%]

This command is used to set an output state based on the detection of a power failure. The [Power Probe] is either the Apex or the name of an attached Energy bar.

For more details on If Power and instructions on how to integrate the Apex with a UPS backup battery, see my tutorial on Apex Power Monitoring: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-4-power-monitoring.698/

1599440886476.png

OSC MMM:SS/MMM:SS/MMM:SS Then [ON/OFF/Profile/%]

OSC is used to control an output on a repeating schedule. There are 3 timers:
  • Initial delay in minutes and seconds
  • minutes and seconds of actual run time
  • minutes and seconds of trailing delay
Example:
OSC 000:00/005:00/005:00 Then ON

This would turn on the output at midnight for 5 minutes, then turn it off for 5 minutes, and repeat indefinitely:

image3-1.png

For details and examples of the OSC command, see my tutorial on Apex Timers: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-2-timers.689/

Defer MMM:SS Then [ON/OFF]

Defer delays switching an output from ON to OFF, or from OFF to ON. This command applies to the output after all the conditions have been evaluated. Only one Defer ON and one Defer OFF command can be used on an output. When the output changes from ON to OFF, only the Defer OFF timer is applied. When the output changes from OFF to ON, only the Defer ON timer is applied.

Example:

Set OFF
If Time 10:00 to 10:01 Then ON
Defer 001:00 Then ON


This will cause it to wait until 10:01 to turn on, then turn off at 10:02. effectively giving you a 1 minute timer:

image3-5.png


For details and more examples of Defer, see my tutorial on Apex Timers: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-2-timers.689/

Min Time MMM:SS Then [ON/OFF]

Min Time forces an output to remain ON or OFF for a minimum amount of time regardless of the conditions evaluated in the programming. If the output is ON, only the Min Time Then ON timer is applied. If the output is OFF, only the Min Time Then OFF timer is applied.

For more details and examples of Min Time, see my tutorial on Apex Timers: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-2-timers.689/

When [ON/OFF] > MMM:SS Then [ON/OFF]

When is used to switch an output’s tile from AUTO to OFF or ON if a condition is met. This is the only command in the Apex programming language that can physically move an output tile's slider position on the dashboard, and once moved, manual intervention is required to set it back to AUTO before the programming will be resumed.

For more details and examples of When, see https://forum.neptunesystems.com/showthread.php?18393-Using-the-%91When%92-statement
Also see my tutorial on Apex Timers: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-2-timers.689/

If Error Output_Name Then [ON/OFF]

The If Error command will evaluate True if the When timer described above is exceeded. For details about If Error, see https://forum.neptunesystems.com/showthread.php?18393-Using-the-%91When%92-statement

Fallback [ON/OFF/Profile_Name/%]

Fallback is used to set the output state in an AquaBus module when that module loses communications with the Apex.

For more details on Fallback, see https://forum.neptunesystems.com/showthread.php?8510-All-About-FALLBACK
 
Last edited by a moderator:

Shaun Sweeney

Active Member
View Badges
Joined
Aug 5, 2016
Messages
477
Reaction score
281
Location
Lantzville, BC, Canada
Rating - 0%
0   0   0
This article is a reference guide for all of the Neptune Apex programming commands. All of this information is publicly available, but is scattered amongst several Neptune documents and posts in the Neptune Community Forums. My goal is to consolidate all of this information into a single reference document.

Apex.png


Documentation Conventions
Before presenting the list of commands, here is an overview of the documentation conventions for parameters:

Input, Output, and Profile names are shown in bold italics.

Examples:
If Temp > 80 Then OFF
If Flow1 < 100 Then OFF
If pH > 6.80 Then ON
If Output Return_Pump = OFF Then OFF
If FeedA 000 Then Slow_Mode

Various parameters are listed in square brackets, separated by a slash: [ON/OFF/Profile_Name/%]

Examples:
If Time 08:00 To 10:00 Then [ON/OFF/Profile_Name/%] includes the following possible uses:

If Time 08:00 To 10:00 Then ON (turns the output ON)
If Time 08:00 To 10:00 Then OFF (turns the output OFF)
If Time 08:00 To 10:00 Then Morning_Mode (sets the output to use the Morning_Mode profile)
If Time 08:00 To 10:00 Then 25 (sets the output to 25%)

Note: Profiles can only be used on specific output types. For example, a Pump profile only works on 0-10v variable outputs, DOS profiles only work on DOS outputs, Radion profiles only work on Radion outputs, etc.

Note: Only certain types of outputs support percentages. For details, see this Neptune FAQ: https://forum.neptunesystems.com/showthread.php?20677-Using-percentages-in-programming

Operators are also listed in square brackets, separated by a slash: [>/<]

Examples:

If Input_name [>/<] ### Then [ON/OFF/Profile_Name/%] includes the following possible uses:

If Temp > 80.0 Then OFF
If Temp < 76.0 Then ON

### represents a numeric value, which may or may not include a decimal point.

Times are specified in hours, minutes, and seconds represented by H, M, and S respectively. Some commands use hours & minutes, some use minutes only, and others use minutes & seconds.

Examples:

If Time HH:MM To HH:MM Then [ON/OFF/Profile_Name/%]
OSC MMM:SS/MMM:SS/MMM:SS Then [ON/OFF/Profile_Name/%]
Defer MMM:SS Then [ON/OFF]

Apex Programming Command Reference

Set [ON/OFF/Profile_Name/%]


Set is used to unconditionally set an output state, and is commonly used as the first command in a program to set the default state prior to applying various conditions that would override that initial state.

For more details on the Set command, see: https://forum.neptunesystems.com/sh...d-This-Thread!&p=114462&viewfull=1#post114462

If Time HH:MM To HH:MM Then [ON/OFF/Profile_Name/%]

If Time is used to set an output state between a set of fixed times, inclusive of the start and end time.

Example:
Set OFF
If Time 10:00 to 10:01 Then ON


will turn on the output at 10:00 and turn it off at 10:02:

image3-4.png


For more details of the If Time command, see my tutorial on Apex Timers: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-2-timers.689/

If DOW [SMTWTFS] Then [ON/OFF/Profile_Name/%]

The DOW command is used to set an output state based on the day of week. Each day is represented by a letter placeholder starting with Sunday and ending with Saturday. If a letter is listed, the command will evaluate True for that day. If a dash is substituted for a day, the command will evaluate False for that day.

Example:
If DOW SMT-TFS Then ON

This will turn the output ON each day of the week except for Wednesday, since Wednesday's placeholder is listed with a dash.

For more details of the DOW command, see my tutorial on Apex Timers: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-2-timers.689/

If Input_Name [>/<] ### Then [ON/OFF/Profile_Name/%]

This command is used to measure the reading of a probe, including temperature, pH, ORP, salinity, dissolved oxygen, flow sensor, PAR sensor, Trident alkalinity, Trident calcium, or Trident magnesium.

If Output Output_Name = [ON/OFF] Then [ON/OFF/Profile_Name/%]

This command is used to react to the current state of an output, whether physical or virtual.

If Switch_Name [OPEN/CLOSED] Then [ON/OFF/Profile_Name/%]

This command is used to react to either an optical sensor, leak sensor, or a switch connected to a Breakout Box port.

If [FeedA/FeedB/FeedC/FeedD] MMM Then [ON/OFF/Profile_Name/%]

This command sets an output state when a Feed Cycle is activated. The MMM delay extends the output state for a number of minutes beyond the set time of the selected Feed Cycle.

For more details on If Feed, see my tutorial on Apex Feed Cycles: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-7-feed-cycles.715/

If Temp [>/<] [RT+/RT-] [###] Then [ON/OFF/PROFILE/%]

This command is used to set an output state based on the regional temperature defined in the Apex seasonal tables.

For more details on regional temperatures, see page 65 of the Apex Comprehensive Reference Guide: https://www.neptunesystems.com/downloads/docs/Comprehensive_Reference_Manual.pdf

If Sun [+/-] [MMM] / [+/-] [MMM] Then [ON/OFF/Profile_Name/%]

This command is used to set an output state based on the sunrise or sunset cycles defined in the Apex seasonal tables. The first timer is relative to sunrise, and the second timer is relative to sunset. A positive number delays the action to after the event, and a negative number proceeds the event.

For more details on If Sun, see page 66 of the Apex Comprehensive Reference Guide: https://www.neptunesystems.com/downloads/docs/Comprehensive_Reference_Manual.pdf

If Moon [+/-] [MMM] / [+/-] [MMM] Then [ON/OFF/Profile_Name/%]

This command is used to set an output state based on the moonrise or moonset cycles defined in the Apex seasonal tables. The first timer is relative to moonrise, and the second timer is relative to moonset. A positive number delays the action to after the event, and a negative number proceeds the event.

For more details on If Moon, see page 67 of the Apex Comprehensive Reference Guide: https://www.neptunesystems.com/downloads/docs/Comprehensive_Reference_Manual.pdf
For an example of If Moon usage, see my tutorial on Apex Lunar Schedule and Lighting Profiles: https://www.reef2reef.com/ams/neptu...sion-lunar-schedule-and-lighting-profiles.717

If Output Output_Name [Amps/Watts] [>/<] ### Then [ON/OFF/Profile_Name/%]

This command is used to react to the Amps or Watts currently consumed by an EB832 output. This does not apply to the older EB4, EB6, EB8, or the DC24 accessory outputs of the EB832.

For more details about the Amps/Watts programming, see my tutorial on Apex Power Monitoring: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-4-power-monitoring.698/

If Power [Power Probe] [ON/OFF] [###] Then [ON/OFF/Profile_Name/%]

This command is used to set an output state based on the detection of a power failure. The [Power Probe] is either the Apex or the name of an attached Energy bar.

For more details on If Power and instructions on how to integrate the Apex with a UPS backup battery, see my tutorial on Apex Power Monitoring: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-4-power-monitoring.698/

1599440886476.png

OSC MMM:SS/MMM:SS/MMM:SS Then [ON/OFF/Profile/%]

OSC is used to control an output on a repeating schedule. There are 3 timers:
  • Initial delay in minutes and seconds
  • minutes and seconds of actual run time
  • minutes and seconds of trailing delay
Example:
OSC 000:00/005:00/005:00 Then ON

This would turn on the output at midnight for 5 minutes, then turn it off for 5 minutes, and repeat indefinitely:

image3-1.png

For details and examples of the OSC command, see my tutorial on Apex Timers: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-2-timers.689/

Defer MMM:SS Then [ON/OFF]

Defer delays switching an output from ON to OFF, or from OFF to ON. This command applies to the output after all the conditions have been evaluated. Only one Defer ON and one Defer OFF command can be used on an output. When the output changes from ON to OFF, only the Defer OFF timer is applied. When the output changes from OFF to ON, only the Defer ON timer is applied.

Example:

Set OFF
If Time 10:00 to 10:01 Then ON
Defer 001:00 Then ON


This will cause it to wait until 10:01 to turn on, then turn off at 10:02. effectively giving you a 1 minute timer:

image3-5.png


For details and more examples of Defer, see my tutorial on Apex Timers: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-2-timers.689/

Min Time MMM:SS Then [ON/OFF]

Min Time forces an output to remain ON or OFF for a minimum amount of time regardless of the conditions evaluated in the programming. If the output is ON, only the Min Time Then ON timer is applied. If the output is OFF, only the Min Time Then OFF timer is applied.

For more details and examples of Min Time, see my tutorial on Apex Timers: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-2-timers.689/

When [ON/OFF] > MMM:SS Then [ON/OFF]

When is used to switch an output’s tile from AUTO to OFF or ON if a condition is met. This is the only command in the Apex programming language that can physically move an output tile's slider position on the dashboard, and once moved, manual intervention is required to set it back to AUTO before the programming will be resumed.

For more details and examples of When, see https://forum.neptunesystems.com/showthread.php?18393-Using-the-%91When%92-statement
Also see my tutorial on Apex Timers: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-2-timers.689/

If Error Output_Name Then [ON/OFF]

The If Error command will evaluate True if the When timer described above is exceeded. For details about If Error, see https://forum.neptunesystems.com/showthread.php?18393-Using-the-%91When%92-statement

Fallback [ON/OFF/Profile_Name/%]

Fallback is used to set the output state in an AquaBus module when that module loses communications with the Apex.

For more details on Fallback, see https://forum.neptunesystems.com/showthread.php?8510-All-About-FALLBACK
I have an older unit (6 years, a Classic I think) but for the life of me, I can't figure out how or where to do a profile. The firmware was updated earlier this year but the little gear icon is not available on some of the switches. Where do I start? Thanks.
 
OP
OP
SuncrestReef

SuncrestReef

That Apex guy
View Badges
Joined
Jan 18, 2018
Messages
4,214
Reaction score
9,212
Location
Oregon
Rating - 0%
0   0   0
I have an older unit (6 years, a Classic I think) but for the life of me, I can't figure out how or where to do a profile. The firmware was updated earlier this year but the little gear icon is not available on some of the switches. Where do I start? Thanks.

I show an example of setting up a profile in Part 8 of my tutorial series. Scroll down to the section titled Lighting Profiles. That should get you started. See: https://www.reef2reef.com/ams/neptu...ion-lunar-schedule-and-lighting-profiles.717/
 

JMR5

Community Member
View Badges
Joined
Jul 16, 2020
Messages
69
Reaction score
47
Location
PA
Rating - 0%
0   0   0
Thank you! Currently wrestling ours into compliance, this will be so useful!
 

Shaun Sweeney

Active Member
View Badges
Joined
Aug 5, 2016
Messages
477
Reaction score
281
Location
Lantzville, BC, Canada
Rating - 0%
0   0   0
I show an example of setting up a profile in Part 8 of my tutorial series. Scroll down to the section titled Lighting Profiles. That should get you started. See: https://www.reef2reef.com/ams/neptu...ion-lunar-schedule-and-lighting-profiles.717/
Starting to feel pretty stupid here but I read thru your posting and still have no idea how to even start into a profile. Maybe I'm describing it wrong. What if all I want to do is have "SW2" described as "MainPmp" when I get an email msg? Is that a profile?
 
OP
OP
SuncrestReef

SuncrestReef

That Apex guy
View Badges
Joined
Jan 18, 2018
Messages
4,214
Reaction score
9,212
Location
Oregon
Rating - 0%
0   0   0
Starting to feel pretty stupid here but I read thru your posting and still have no idea how to even start into a profile. Maybe I'm describing it wrong. What if all I want to do is have "SW2" described as "MainPmp" when I get an email msg? Is that a profile?

It sounds like we're talking about different things.

If I'm reading your question correctly, you have a switch named SW2, but would like to rename it to MainPmp so if you have alarm programming based on that switch, the email message you receive for the alarm includes the name "MainPmp". If that's what you're asking, go to your list of Inputs, click SW2, then rename it. Keep in mind Input names are limited to 6 characters, so you'll need to further abbreviate it to MainPm or similar.

Profiles on the other hand, are pre-defined settings that can be applied to an output to control it. For example, a variable speed pump can use a profile that slowly ramps it up or down over time. Or a Radion profile contains the brightness of each color spectrum for the Radion lights.

Let me know if this still doesn't clear it up for you.
 

Shaun Sweeney

Active Member
View Badges
Joined
Aug 5, 2016
Messages
477
Reaction score
281
Location
Lantzville, BC, Canada
Rating - 0%
0   0   0
It sounds like we're talking about different things.

If I'm reading your question correctly, you have a switch named SW2, but would like to rename it to MainPmp so if you have alarm programming based on that switch, the email message you receive for the alarm includes the name "MainPmp". If that's what you're asking, go to your list of Inputs, click SW2, then rename it. Keep in mind Input names are limited to 6 characters, so you'll need to further abbreviate it to MainPm or similar.

Profiles on the other hand, are pre-defined settings that can be applied to an output to control it. For example, a variable speed pump can use a profile that slowly ramps it up or down over time. Or a Radion profile contains the brightness of each color spectrum for the Radion lights.

Let me know if this still doesn't clear it up for you.
Many thanks for your efforts but I cannot even find a list of inputs and I've looked high and low. I have outputs and I have an input log and an output log but no option called inputs. I can find the variable profiles but they seem limited in scope and for the moment are not really my concern. Is it possible that my software is lacking the function you describe? Near as I can tell, I've pushed every button.
 
OP
OP
SuncrestReef

SuncrestReef

That Apex guy
View Badges
Joined
Jan 18, 2018
Messages
4,214
Reaction score
9,212
Location
Oregon
Rating - 0%
0   0   0
Many thanks for your efforts but I cannot even find a list of inputs and I've looked high and low. I have outputs and I have an input log and an output log but no option called inputs. I can find the variable profiles but they seem limited in scope and for the moment are not really my concern. Is it possible that my software is lacking the function you describe? Near as I can tell, I've pushed every button.

Which model of Apex are you using? The buttons visible in Fusion will depend on whether you have a current Apex (2016) or Apex-EL, or if you're using the older generation of Apex Classic or Apex Jr.
 

Shaun Sweeney

Active Member
View Badges
Joined
Aug 5, 2016
Messages
477
Reaction score
281
Location
Lantzville, BC, Canada
Rating - 0%
0   0   0
Which model of Apex are you using? The buttons visible in Fusion will depend on whether you have a current Apex (2016) or Apex-EL, or if you're using the older generation of Apex Classic or Apex Jr.
I have the Classic which I bought circa 2014 but the firmware was updated late last year. I'm thinking that's the issue here.
 
OP
OP
SuncrestReef

SuncrestReef

That Apex guy
View Badges
Joined
Jan 18, 2018
Messages
4,214
Reaction score
9,212
Location
Oregon
Rating - 0%
0   0   0
I have the Classic which I bought circa 2014 but the firmware was updated late last year. I'm thinking that's the issue here.

OK, that explains the discrepancy. Fusion is fully functional for the newer Apex models, but the Apex Classic still requires you to manage many settings from the "Classic" or "Local" dashboard. Below you can see the difference in menus available from Fusion, with my Apex 2016 on the left and my Apex Classic on the right. Notice the fewer items available under the "Configuration" and "Configuration" sections:

Screen Shot 2020-09-10 at 9.41.43 PM.png


Here is a screenshot of the Classic Dashboard's Configuration menu:

Screen Shot 2020-09-10 at 9.48.05 PM.png

You can access this dashboard at http://apex.local (or if your Apex hostname has been changed, use http://hostname.local, or if you know the IP address, use http://IPaddress)

Be aware the username and password for the local dashboard is not the same as your Fusion username & password. If you never set the local password, the default is:

Username: admin
Password: 1234

From the Classic Dashboard, click the Configuration menu, then select "Probe/Input Setup" menu option:

Screen Shot 2020-09-10 at 9.48.47 PM.png
 

Shaun Sweeney

Active Member
View Badges
Joined
Aug 5, 2016
Messages
477
Reaction score
281
Location
Lantzville, BC, Canada
Rating - 0%
0   0   0
OK, that explains the discrepancy. Fusion is fully functional for the newer Apex models, but the Apex Classic still requires you to manage many settings from the "Classic" or "Local" dashboard. Below you can see the difference in menus available from Fusion, with my Apex 2016 on the left and my Apex Classic on the right. Notice the fewer items available under the "Configuration" and "Configuration" sections:

Screen Shot 2020-09-10 at 9.41.43 PM.png


Here is a screenshot of the Classic Dashboard's Configuration menu:

Screen Shot 2020-09-10 at 9.48.05 PM.png

You can access this dashboard at http://apex.local (or if your Apex hostname has been changed, use http://hostname.local, or if you know the IP address, use http://IPaddress)

Be aware the username and password for the local dashboard is not the same as your Fusion username & password. If you never set the local password, the default is:

Username: admin
Password: 1234

From the Classic Dashboard, click the Configuration menu, then select "Probe/Input Setup" menu option:

Screen Shot 2020-09-10 at 9.48.47 PM.png
By gar, I think you've got it. I will have a go tomorrow when I'm a little more awake. Is there an easy way to find my IP address?
 

Shaun Sweeney

Active Member
View Badges
Joined
Aug 5, 2016
Messages
477
Reaction score
281
Location
Lantzville, BC, Canada
Rating - 0%
0   0   0
By gar, I think you've got it. I will have a go tomorrow when I'm a little more awake. Is there an easy way to find my IP address?
By the way, that pic of mine pretty much depicts my age in case you hadn't guessed. Maybe we can hookup on email or something to compare stories. I've got about 400 gallons running around the house in 7 tanks. My email is [email protected]
 

dwfain

Community Member
View Badges
Joined
Sep 18, 2020
Messages
96
Reaction score
40
Location
Benton
Rating - 0%
0   0   0
This article is a reference guide for all of the Neptune Apex programming commands. All of this information is publicly available, but is scattered amongst several Neptune documents and posts in the Neptune Community Forums. My goal is to consolidate all of this information into a single reference document.

Apex.png


Documentation Conventions
Before presenting the list of commands, here is an overview of the documentation conventions for parameters:

Input, Output, and Profile names are shown in bold italics.

Examples:
If Temp > 80 Then OFF
If Flow1 < 100 Then OFF
If pH > 6.80 Then ON
If Output Return_Pump = OFF Then OFF
If FeedA 000 Then Slow_Mode

Various parameters are listed in square brackets, separated by a slash: [ON/OFF/Profile_Name/%]

Examples:
If Time 08:00 To 10:00 Then [ON/OFF/Profile_Name/%] includes the following possible uses:

If Time 08:00 To 10:00 Then ON (turns the output ON)
If Time 08:00 To 10:00 Then OFF (turns the output OFF)
If Time 08:00 To 10:00 Then Morning_Mode (sets the output to use the Morning_Mode profile)
If Time 08:00 To 10:00 Then 25 (sets the output to 25%)

Note: Profiles can only be used on specific output types. For example, a Pump profile only works on 0-10v variable outputs, DOS profiles only work on DOS outputs, Radion profiles only work on Radion outputs, etc.

Note: Only certain types of outputs support percentages. For details, see this Neptune FAQ: https://forum.neptunesystems.com/showthread.php?20677-Using-percentages-in-programming

Operators are also listed in square brackets, separated by a slash: [>/<]

Examples:

If Input_name [>/<] ### Then [ON/OFF/Profile_Name/%] includes the following possible uses:

If Temp > 80.0 Then OFF
If Temp < 76.0 Then ON

### represents a numeric value, which may or may not include a decimal point.

Times are specified in hours, minutes, and seconds represented by H, M, and S respectively. Some commands use hours & minutes, some use minutes only, and others use minutes & seconds.

Examples:

If Time HH:MM To HH:MM Then [ON/OFF/Profile_Name/%]
OSC MMM:SS/MMM:SS/MMM:SS Then [ON/OFF/Profile_Name/%]
Defer MMM:SS Then [ON/OFF]

Apex Programming Command Reference

Set [ON/OFF/Profile_Name/%]


Set is used to unconditionally set an output state, and is commonly used as the first command in a program to set the default state prior to applying various conditions that would override that initial state.

For more details on the Set command, see: https://forum.neptunesystems.com/sh...d-This-Thread!&p=114462&viewfull=1#post114462

If Time HH:MM To HH:MM Then [ON/OFF/Profile_Name/%]

If Time is used to set an output state between a set of fixed times, inclusive of the start and end time.

Example:
Set OFF
If Time 10:00 to 10:01 Then ON


will turn on the output at 10:00 and turn it off at 10:02:

image3-4.png


For more details of the If Time command, see my tutorial on Apex Timers: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-2-timers.689/

If DOW [SMTWTFS] Then [ON/OFF/Profile_Name/%]

The DOW command is used to set an output state based on the day of week. Each day is represented by a letter placeholder starting with Sunday and ending with Saturday. If a letter is listed, the command will evaluate True for that day. If a dash is substituted for a day, the command will evaluate False for that day.

Example:
If DOW SMT-TFS Then ON

This will turn the output ON each day of the week except for Wednesday, since Wednesday's placeholder is listed with a dash.

For more details of the DOW command, see my tutorial on Apex Timers: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-2-timers.689/

If Input_Name [>/<] ### Then [ON/OFF/Profile_Name/%]

This command is used to measure the reading of a probe, including temperature, pH, ORP, salinity, dissolved oxygen, flow sensor, PAR sensor, Trident alkalinity, Trident calcium, or Trident magnesium.

If Output Output_Name = [ON/OFF] Then [ON/OFF/Profile_Name/%]

This command is used to react to the current state of an output, whether physical or virtual.

If Switch_Name [OPEN/CLOSED] Then [ON/OFF/Profile_Name/%]

This command is used to react to either an optical sensor, leak sensor, or a switch connected to a Breakout Box port.

If [FeedA/FeedB/FeedC/FeedD] MMM Then [ON/OFF/Profile_Name/%]

This command sets an output state when a Feed Cycle is activated. The MMM delay extends the output state for a number of minutes beyond the set time of the selected Feed Cycle.

For more details on If Feed, see my tutorial on Apex Feed Cycles: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-7-feed-cycles.715/

If Temp [>/<] [RT+/RT-] [###] Then [ON/OFF/PROFILE/%]

This command is used to set an output state based on the regional temperature defined in the Apex seasonal tables.

For more details on regional temperatures, see page 65 of the Apex Comprehensive Reference Guide: https://www.neptunesystems.com/downloads/docs/Comprehensive_Reference_Manual.pdf

If Sun [+/-] [MMM] / [+/-] [MMM] Then [ON/OFF/Profile_Name/%]

This command is used to set an output state based on the sunrise or sunset cycles defined in the Apex seasonal tables. The first timer is relative to sunrise, and the second timer is relative to sunset. A positive number delays the action to after the event, and a negative number proceeds the event.

For more details on If Sun, see page 66 of the Apex Comprehensive Reference Guide: https://www.neptunesystems.com/downloads/docs/Comprehensive_Reference_Manual.pdf

If Moon [+/-] [MMM] / [+/-] [MMM] Then [ON/OFF/Profile_Name/%]

This command is used to set an output state based on the moonrise or moonset cycles defined in the Apex seasonal tables. The first timer is relative to moonrise, and the second timer is relative to moonset. A positive number delays the action to after the event, and a negative number proceeds the event.

For more details on If Moon, see page 67 of the Apex Comprehensive Reference Guide: https://www.neptunesystems.com/downloads/docs/Comprehensive_Reference_Manual.pdf
For an example of If Moon usage, see my tutorial on Apex Lunar Schedule and Lighting Profiles: https://www.reef2reef.com/ams/neptu...sion-lunar-schedule-and-lighting-profiles.717

If Output Output_Name [Amps/Watts] [>/<] ### Then [ON/OFF/Profile_Name/%]

This command is used to react to the Amps or Watts currently consumed by an EB832 output. This does not apply to the older EB4, EB6, EB8, or the DC24 accessory outputs of the EB832.

For more details about the Amps/Watts programming, see my tutorial on Apex Power Monitoring: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-4-power-monitoring.698/

If Power [Power Probe] [ON/OFF] [###] Then [ON/OFF/Profile_Name/%]

This command is used to set an output state based on the detection of a power failure. The [Power Probe] is either the Apex or the name of an attached Energy bar.

For more details on If Power and instructions on how to integrate the Apex with a UPS backup battery, see my tutorial on Apex Power Monitoring: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-4-power-monitoring.698/

1599440886476.png

OSC MMM:SS/MMM:SS/MMM:SS Then [ON/OFF/Profile/%]

OSC is used to control an output on a repeating schedule. There are 3 timers:
  • Initial delay in minutes and seconds
  • minutes and seconds of actual run time
  • minutes and seconds of trailing delay
Example:
OSC 000:00/005:00/005:00 Then ON

This would turn on the output at midnight for 5 minutes, then turn it off for 5 minutes, and repeat indefinitely:

image3-1.png

For details and examples of the OSC command, see my tutorial on Apex Timers: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-2-timers.689/

Defer MMM:SS Then [ON/OFF]

Defer delays switching an output from ON to OFF, or from OFF to ON. This command applies to the output after all the conditions have been evaluated. Only one Defer ON and one Defer OFF command can be used on an output. When the output changes from ON to OFF, only the Defer OFF timer is applied. When the output changes from OFF to ON, only the Defer ON timer is applied.

Example:

Set OFF
If Time 10:00 to 10:01 Then ON
Defer 001:00 Then ON


This will cause it to wait until 10:01 to turn on, then turn off at 10:02. effectively giving you a 1 minute timer:

image3-5.png


For details and more examples of Defer, see my tutorial on Apex Timers: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-2-timers.689/

Min Time MMM:SS Then [ON/OFF]

Min Time forces an output to remain ON or OFF for a minimum amount of time regardless of the conditions evaluated in the programming. If the output is ON, only the Min Time Then ON timer is applied. If the output is OFF, only the Min Time Then OFF timer is applied.

For more details and examples of Min Time, see my tutorial on Apex Timers: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-2-timers.689/

When [ON/OFF] > MMM:SS Then [ON/OFF]

When is used to switch an output’s tile from AUTO to OFF or ON if a condition is met. This is the only command in the Apex programming language that can physically move an output tile's slider position on the dashboard, and once moved, manual intervention is required to set it back to AUTO before the programming will be resumed.

For more details and examples of When, see https://forum.neptunesystems.com/showthread.php?18393-Using-the-%91When%92-statement
Also see my tutorial on Apex Timers: https://www.reef2reef.com/ams/neptune-apex-programming-tutorials-part-2-timers.689/

If Error Output_Name Then [ON/OFF]

The If Error command will evaluate True if the When timer described above is exceeded. For details about If Error, see https://forum.neptunesystems.com/showthread.php?18393-Using-the-%91When%92-statement

Fallback [ON/OFF/Profile_Name/%]

Fallback is used to set the output state in an AquaBus module when that module loses communications with the Apex.

For more details on Fallback, see https://forum.neptunesystems.com/showthread.php?8510-All-About-FALLBACK
This is fantastic information, thanks. Couple of questions. How often are the expressions evaluated. For example if I wanted to put a statement on my DOS for Calcium and I do not want the Calcium to be over 450. I wrote "If Cax3 > 450 Then OFF" but am unsure how often this would get checked. My plan is to have it skip dosing each day when the Calcium is over 450. Will this accomplish that?
 

A worm with high fashion and practical utility: Have you ever kept feather dusters in your reef aquarium?

  • I currently have feather dusters in my tank.

    Votes: 64 36.8%
  • Not currently, but I have had feather dusters in my tank in the past.

    Votes: 59 33.9%
  • I have not had feather dusters, but I hope to in the future.

    Votes: 25 14.4%
  • I have no plans to have feather dusters in my tank.

    Votes: 26 14.9%
  • Other.

    Votes: 0 0.0%

New Posts

Back
Top