Neptune Systems Apex Aquarium Controller Integration


#1

I have a Neptune Apex on my aquarium, and I’d like to look into how to integrate the two by creating a new component for this device. The simplest way to go about this would be to pull from a status file located on the device itself. There are both XML and JSON formatted files located at [IP Address]/cgi-bin/status.{xml,json}. I’m not entirely sure which would be easier to use. The contents of this file looks like this:

<probes>
   <probe>
      <name>Temp</name>
      <value>78.4</value>
      <type>Temp</type>
   </probe>
   <probe>
      <name>pH</name>
      <value>7.98</value>
      <type>pH</type>
   </probe>
   <probe>
      <name>ORP</name>
      <value>360</value>
      <type>ORP</type>
   </probe>
   <probe>
      <name>Salt</name>
      <value>35.3</value>
      <type>Cond</type>
   </probe>
</probes>

So, I’d like to be able to create a custom component for this, and hopefully build it up to the point that I could push it to the dev branch of Home Assistant. I’ve found the Development 101 documentation, and it’s given me a place to start. However, I’d like to figure out if there is a XML or JSON parsing method that would be preferred.


#2

Is this working? It would be really awesome to integrate HA with my aquarium…


#3

Hello,

I too have a Neptune Apex and have been looking for a component. I’ve started to put one together tonight. So far it is reading info from the status page, but I’m not loading it into sensors or anything like that yet. This is my first custom component and I’m a vb.net developer, so there’s some growing pains while I work through this right now.

I’m looking for some input on how to handle outlets. Showing sensor state should work fine within Hass, but when it comes to outlets the Apex actually has three states (ON, OFF and AUTO). AUTO can be AON or AOFF (Auto and currently on / off). Switches in Hass are either on or off in my experience. Looking for suggestions of how to handle this. I suppose a second switch could be used, but don’t really want to have two switches for each outlet if it can be avoided.

In any event I’ll update again when I’ve made some more progress…


#4

Hi guys,

I start to analyze a future project of recifal tank, and Apex is actually one of the controller i have choosen as an option.

i would like to know, first, are you satisfied with this apex, and second, have you integrate it with hass ?


#5

I haven’t really had a chance to do much with it. I had some issues with Neptune Systems earlier this year where I found a vulnerability in their software and I was practically threatened with legal action when I asked for permission to apply for a CVE and disclose it. Since then, I have isolated the Apex to it’s own little DMZ VLAN where it can only talk to the Internet. I still have the Apex, and it still works, however, I do not plan on keeping my aquarium forever and I definitely will not be getting another Apex.

If you already know your way around Home Assistant, save yourself the headache and just use Home Assistant to automate your aquarium. Seriously.


#6

the problem to use directly home assistant to manage an aquarium is that you can by seperate sensor, and manage it with a raspberry or something like that, but this kind of hardware is not reliable.

in my point of view, i prefer hardware who can work alone, and homeassistant is there to centrilize all theze stuff
I have a box Xiaomi, i have a box tahoma, and i search a box for the aquarium.

Which kind of vulnerability did you find ?
i’ve see an other system who seems to be quite good (iks aquastar), but unfortunatly, i think this is only compatible with pc windows (no smartthings, no app, no mac, no linux)


#7

Well, a Raspberry Pi is only as reliable as it’s power source. Power fluctuations will corrupt an SD card in a heartbeat. You could use MySensors to pass the data to Home Assistant and use an Arduino instead, which is far more reliable. The probes that the Apex uses are just re-branded Milwaukee Instruments probes that can be bought for a fraction of the price, and there are plenty of other options available, though.

While I completely agree with you, and prefer to have hardware dedicated to a task that does a good job of just that one thing, the Apex is not that box. Without disclosing too much, the vulnerability that I discovered is essentially a flaw in the network stack of AOS where it simply cannot handle certain types of traffic and crashes the kernel. This led to all of the relays on their power strip flipping on (meaning my heaters, lights, pumps, everything turned on at once), and the controller completely locked up until I manually power cycled the unit. (This also means their power strips are wired to be normally open, which is a really really bad idea in this case.) While testing my hypothesis, I could fairly reliably replicate the behavior. This is why now it sits in it’s own dunce corner VLAN, isolated from the rest of the network, and the only thing it gets access to is their AWS IPs for ApexFusion. Neptune Systems’ decision to sweep this under the rug has led me to discontinue supporting their business.

If you haven’t already, look into the Reef Angel systems. They are also standalone devices, but they’re also completely open source. Their platform has support for MQTT, meaning you can instantly tie it into Home Assistant with zero effort. While their app’s user interface might not look as pretty, the system’s reliability is far higher, and I have met several people who have had nothing but praise for them. Neptune Systems is all marketing gimmicks.

I’m sorry if this news upsets anybody. I know there has been some other interest in this, but between the closed nature of the Apex ecosystem and Neptune Systems disregard for the security of their product, I would advise you look elsewhere. If you already own an Apex, you can take a crack at parsing their status feeds, but it’s unfortunately not worth my time anymore.


#8

thx for all these info.

well, i will continue to see what is existing (reef angel and other) before making my final choice.


#9

I have done this for GHL (like it or hate it hehe), but we need more computer integrations :slight_smile:

This is a design using lovelace.


#10

i like it :slight_smile:

You can get value from GHL ?
in a first approche, i don’t want to make automation or something like that, but i would like to get information and group them in a view “aquarium” like i’ve make a view “temperature” or “meteo”.

i precise that it’s a futur project, i just get info to select the best harware for me in my project.

how do you do that ? you have made a custom module ?


#11

I see Feed fish, Feed Coral, … you are using bailing method with ghl pump doser ?
do you use the ghl kh director also ?

Profilux 4 ? or a older one ?