Drivers for Neptune Systems Apex aquarium controllers. Allows the Hubitat to check a variety of information from the status file provided by the controller, so users can incorporate into their home automation.
- NeptuneSystemsApex.groovy - Required
- NeptuneSystemsApexChild.groovy - Optional
- NSChild-AFS.groovy - Optional
- NSChild-AI.groovy - Optional
- NSChild-Apex2016.groovy - Optional
- NSChild-ApexClassic.groovy - Optional
- NSChild-ApexEL.groovy - Optional
- NSChild-ApexJr.groovy - Optional
- NSChild-ApexA3.groovy - Optional
- NSChild-ApexA3Pro.groovy - Optional
- NSChild-ApexA3Jr.groovy - Optional
- NSChild-ASM.groovy - Optional
- NSChild-COR.groovy - Optional
- NSChild-DOS.groovy - Optional
- NSChild-EB4.groovy - Optional
- NSChild-EB8.groovy - Optional
- NSChild-EB832.groovy - Optional
- NSChild-FMM.groovy - Optional
- NSChild-PM1.groovy - Optional
- NSChild-PM2.groovy - Optional
- NSChild-PM3.groovy - Optional
- NSChild-Sicce.groovy - Optional
- NSChild-SKY.groovy - Optional
- NSChild-Trident.groovy - Optional
- NSChild-VDM.groovy - Optional
- NSChild-Vortech.groovy - Optional
- NSChild-Virtual.groovy - Optional
- NSChild-WAV.groovy - Optional
Features:
- Queries the IP/Hostname of the Apex controller for the status.json then parses that data into a variety of attributes and variables. Officially, Neptune Systems denies the existence of the status.json and states people should use the status.xml. However, I have found that the json is much more complete than the xml is.
- Provides attributes for the most common (and known) variables from a variety of modules.
- Can "recognize" modules attached to the Apex including Apex itself, EB4, EB8, EB832, PM1 (if pH in use), PM2 (if Cond in use), AFS, FMM, VDM, AI, Vortech, Trident, & DOS. Other modules may be recognized but I would prefer more data (if anyone wants to provide me copies of their status.json).
- Can have a set of "custom" variables identified for additional data as the sensors all report as the name a user sets them for, not with a specific standard otherwise.
- If the child driver is also loaded and children are enabled in the parent it will create child devices for each module recognized and put their respective attributes and events there as well. If you disable the children later, it will automatically delete all the child devices. Enabling it again will automatically recreate them the next time there is a data refresh. If you add new modules to your Apex, those will automatically get added as children during the next data refresh as well.
- Driver checks each day for a new version of the driver and will post an event if a new driver version is available. It does not automatically update.
- Available within the Hubitat Package Manager (HPM).
Install Instruction(s):
- Load the parent driver (NeptuneSystemsApex.groovy) and the OPTIONAL desired child driver(s) onto the Hubitat.
a) Go into the drivers section on your Hubitat
b) Select the New Driver button
c) Select the Import button
d) Copy/paste the NeptuneSystemsApex.groovy link from the very first post into the field and select Import.
e) Select the Save button.
f) Repeat a-e for the child drivers if you will want to enable child devices.
NOTE: Load the Hubitat NeptuneSystemsApexChild.groovy if you want the read-only generic child driver. Load the NSChild-[others].groovy drivers if you want active control capabilities.
WARNING: Actively controlling your Neptune System modules from Hubitat CAN interfere with their control by the Apex itself as it is replicating the manual override methods a user can select in their browser interface. - Go to the Devices section on your Hubitat.
- Select the Add Device button.
- Select the </>Virtual button.
- Enter the device name you want, select NeptuneSystemsApex from the Type dropdown, then select the Save Device button.
- In the parent device preferences, enter the Apex controller's URL. If you have authentication required and/or going to perform active control, you MUST also enter your username/password as part of the URL. It would be formatted like: http://[username]:[password]@[IP/Hostname] Just replace [username] with your Apex's admin username, [password] with the appropriate password and [IP/Hostname] with the IP or Hostname used to get to the Apex (as normal now).
Note(s):
- New/updated versions could appear at any time. The links listed above will remain valid (they do not change for versions) and I will make a note in a new post whenever a new version is published.
- When using an Apex Classic or Jr. that requires authentication to poll the JSON file, you can still use these drivers. These versions of the controller do not use any particularly secure method of authentication, so in order to query the JSON enter the URL in the form of: http://[username]:[password]@[IP/Hostname]
Just replace [username] with your Apex's admin username, [password] with the appropriate password and [IP/Hostname] with the IP or Hostname used to get to the Apex (as normal now).