Reef nutrition

DIY Neptune Apex Display Module + Dosing Calculator

thesassyindian

Supporting Member
Needed a release from a rather stressful couple of weeks at work, so decided to treat myself to a DIY project.

After upgrading my AQI monitor (see details here) hardware to a bigger screen/microcontroller, I had to find a use for the old module.

Enter: The Neptune Apex, and my need for manual dosing of Calcium + Magnesium supplements.

I decided to solve my #firstworldproblem of opening JDieck's calculator on my phone, punching the numbers in, and calculating Calcium/Magnesium supplement values.

Screenshot 2022-01-13 183013.jpg


Luckily, Neptune Systems provides a wonderful API to access data from the Apex and its peripherals.
For the sake of completeness, some of the URLs are:
  • http://<<apexIP>>/cgi-bin/status.xml
  • http://<<apexIP>>/cgi-bin/program.xml
  • http://<<apexIP>>/cgi-bin/outlog.xml
  • http://<<apexIP>>/cgi-bin/datalog.xml
  • http://<<apexIP>>/cgi-bin/status.json
I wrote some code to pull in data from the Apex over WiFi using this API.
This data is used to calculate the dosing quantities required for my specific supplements/tank volume, and the microcontroller then displays everything neatly on a small LCD screen.
The calculations were based on JDeick's trusty Reef Chemistry Calculator.

Now the process is as simple as looking at the module, dosing the displayed quantities, and tapping the screen to reset the notification.

IMG_0005.jpg


This ain't no badass @phatduckk 's ReefTiles, but a simple solution to my #firstworldproblem.

If y'all have any thoughts or suggestions for improvement, I'd love to hear them!
 
Last edited:
Yes very cool. I also used the direct urls to override trident schedule and very basic xml update and very handy to know
I wish there were an easy way to set the Trident schedule to whatever you want. The way they have it is very frustrating and annoying. I’ve been measuring Alk in the morning and Combined in the evening for a couple months now and it’s working fine but it has to be done manually. Every time I push the button I curse that Neptune won’t let me set a schedule lol.

I’m guessing from what you are saying that it is possible to set whatever schedule you want. If this can be done in Apex Fusion please share. If you are talking some DIY approach with separate hardware that can only be implemented by someone who does this for a living then I‘ll just be jealous from a distance.
 
I wish there were an easy way to set the Trident schedule to whatever you want. The way they have it is very frustrating and annoying. I’ve been measuring Alk in the morning and Combined in the evening for a couple months now and it’s working fine but it has to be done manually. Every time I push the button I curse that Neptune won’t let me set a schedule lol.

I’m guessing from what you are saying that it is possible to set whatever schedule you want. If this can be done in Apex Fusion please share. If you are talking some DIY approach with separate hardware that can only be implemented by someone who does this for a living then I‘ll just be jealous from a distance.
Sent you pm
 
Sorry to keep hijacking @thesassyindian’s thread, but as followup and because I’m excited-

@Plankton showed me how to schedule Trident readings within Apex, which I appreciate! There was a thread at HF explaining it, including a nice video from @phatduckk and a nice example of code used by @Plankton (ditching the obscure OSC function).


It was straightforward to program in apex.local in a browser (not the app) with this info. I have it set to trigger Alk reading at 6a and Combined reading at 6p with the following code. Note that Trident is module 7 for me (will be different for you) so 7_4 is Alk reading and 7_3 is Combined reading (the 3 and 4 appear to be fixed).

Set OFF
If Time 06:00 to 06:01 Then ON

Set OFF
If Time 18:00 to 18:01 Then ON

I’ll let you know if it works as expected. Boo to Neptune for hiding this. Yay to our awesome community for unearthing and explaining it.
 
Sorry to keep hijacking @thesassyindian’s thread, but as followup and because I’m excited-

@Plankton showed me how to schedule Trident readings within Apex, which I appreciate! There was a thread at HF explaining it, including a nice video from @phatduckk and a nice example of code used by @Plankton (ditching the obscure OSC function).


It was straightforward to program in apex.local in a browser (not the app) with this info. I have it set to trigger Alk reading at 6a and Combined reading at 6p with the following code. Note that Trident is module 7 for me (will be different for you) so 7_4 is Alk reading and 7_3 is Combined reading (the 3 and 4 appear to be fixed).

Set OFF
If Time 06:00 to 06:01 Then ON

Set OFF
If Time 18:00 to 18:01 Then ON

I’ll let you know if it works as expected. Boo to Neptune for hiding this. Yay to our awesome community for unearthing and explaining it.
There is a reason we use a 6 hr spacing between tests. If you get an issue with the Trident showing testing errors, please let the support team know that you've changed the testing schedule so we don't run around trying to find the issue.
I do wish we had an option to move the start time.
 
There is a reason we use a 6 hr spacing between tests. If you get an issue with the Trident showing testing errors, please let the support team know that you've changed the testing schedule so we don't run around trying to find the issue.
I do wish we had an option to move the start time.
The lines are also like 1mm ID so if you left tank water in there ‘too long’ you run the risk or precipitation/ clogging; otherwise you could test calcium/magnesium like once per week which would be my choice but not practical for above reasons.
 
Sorry to keep hijacking @thesassyindian’s thread, but as followup and because I’m excited-

@Plankton showed me how to schedule Trident readings within Apex, which I appreciate! There was a thread at HF explaining it, including a nice video from @phatduckk and a nice example of code used by @Plankton (ditching the obscure OSC function).


It was straightforward to program in apex.local in a browser (not the app) with this info. I have it set to trigger Alk reading at 6a and Combined reading at 6p with the following code. Note that Trident is module 7 for me (will be different for you) so 7_4 is Alk reading and 7_3 is Combined reading (the 3 and 4 appear to be fixed).

Set OFF
If Time 06:00 to 06:01 Then ON

Set OFF
If Time 18:00 to 18:01 Then ON

I’ll let you know if it works as expected. Boo to Neptune for hiding this. Yay to our awesome community for unearthing and explaining it.
Followup: This is working perfectly. Yes I’m replying to myself.
 
Sorry to keep hijacking @thesassyindian’s thread, but as followup and because I’m excited-

@Plankton showed me how to schedule Trident readings within Apex, which I appreciate! There was a thread at HF explaining it, including a nice video from @phatduckk and a nice example of code used by @Plankton (ditching the obscure OSC function).


It was straightforward to program in apex.local in a browser (not the app) with this info. I have it set to trigger Alk reading at 6a and Combined reading at 6p with the following code. Note that Trident is module 7 for me (will be different for you) so 7_4 is Alk reading and 7_3 is Combined reading (the 3 and 4 appear to be fixed).

Set OFF
If Time 06:00 to 06:01 Then ON

Set OFF
If Time 18:00 to 18:01 Then ON

I’ll let you know if it works as expected. Boo to Neptune for hiding this. Yay to our awesome community for unearthing and explaining it.
You don’t hijack threads, you elevate them!
 
I have an original iPad mini the I use as an Apex display. Neptune recently killed support for 32bit browsers and there is no app available.

I'm pretty ignorant on the subject. Is it possible to write an html script to pull this data and build a custom display on an old iPad?

I know I'm not the only one with this problem.
 
I have an original iPad mini the I use as an Apex display. Neptune recently killed support for 32bit browsers and there is no app available.

I'm pretty ignorant on the subject. Is it possible to write an html script to pull this data and build a custom display on an old iPad?

I know I'm not the only one with this problem.

@phatduckk made an app for iPad

 
@phatduckk made an app for iPad

This app is not compatible with old ipads
 
Back
Top