AqualinkD
Daemon to control Jandy Aqualink RS pool equipment from any home automation hub (Alexa, Homekit & Siri, Home Assistant, smartthings, domoticz etc) or web browser.
Install / Use
/learn @aqualinkd/AqualinkDREADME
Aqualinkd
Linux daemon to control Aqualink RS pool controllers. Provides web UI, MQTT client & HTTP API endpoints. Control your pool equipment from any phone/tablet or computer. Is also compatible with most Home control systems including Apple HomeKit, Home Assistant, Samsung, Alexa, Google, etc.
<br> Binaries are supplied for Raspberry Pi both 32 & 64 bit OS, Has been, and can be compiled for many different SBC's, and a Docker is also available.It does not, and will never provide any layer of security. NEVER directly expose the device running this software to the outside world; only indirectly through the use of Home Automation hub's or other security measures. e.g. VPNs.
Donation
If you like this project, you can buy me a cup of coffee :)
<br>
AqualinkD new home
AqualinkD has grown over the years and now has multiple repositories for software / hardware. We are brining them all together under one organization. AqualinkD home page (under construction) -or- AqualinkD organization.<br> AqualinkD will always be open source and so will every associated repository. Nothing will change from that perspective. You will always be able to run this on cheap off the shelf hardware.
Legal and Safety Disclaimer
AqualinkD discussions
- Please use github Discussions for questions (Link at top of page). https://github.com/aqualinkd/AqualinkD/discussions
- For Bugs, please use issues link on top of page. ( please add AqualinkD version to posts ) https://github.com/aqualinkd/AqualinkD/issues
Please see Wiki for installation instructions
https://github.com/aqualinkd/AqualinkD/wiki
Release Notes & Changelog
For detailed release notes and version history, see RELEASE.md
<!-- ### AqualinkD built in WEB Interface(s). <table width="100%" border="0" cellpadding="20px"> <tr><th width="50%">Default web interface</th><th wifth="50%">Simple web interface</img></th><tr> <tr><td><img src="extras/IMG_0251.PNG?raw=true" width="350"></img></td><td><img src="extras/simple.png?raw=true" width="350"</img></td></td></td> <tr><td colspan="2"> Both Interfaces <ul> <li>If loading the web page in a mobile device browser, you will need to save to desktop where an app will be created for you.</li> <li>The order and options shown are configurable for your individual needs and/or preferences.</li> </ul> </td></tr> <tr><td colspan="2"> Default Interfaces <ul> <li>The layout and functionality are from the Apple HomeKit interface. This works in any browser or on any mobile device.</li> <li>Customizable tile icons & background images. (Tiles not used can be hidden).</li> <li>Thermostat, Switch, SWG & Light tiles have more options (ie: setting heater temperature, timers, salt generating percentage and light mode etc). These options are accessible by pressing and holding the tile icon.</li> <li>Supports live background images (ie: poll camera for still image every X seconds).</li> </ul> </td></tr> <tr><td colspan="2"> In web browser/tablet <ul> <img src="extras/web_ui2.png?raw=true" width="800"> </td></tr> </table> -->
AqualinkD built in WEB Interface(s).
In Phone
<img src="extras/IMG_0251.PNG?raw=true" width="350"> <ul> <li>When the web page is loaded in a mobile device browser, you can <b>save to desktop</b> and an mobile app will be created for you.</li> <li>The order and options shown are configurable for your individual needs and/or preferences.</li> </ul>In web browser/tablet
<img src="extras/web_ui2.png?raw=true" width="800"> <ul> <li>The layout and functionality are from the Apple HomeKit interface. This works in any browser or on any mobile device.</li> <li>Customizable tile icons & background images. (Tiles not used can be hidden).</li> <li>Thermostat, Switch, SWG & Light tiles have more options (ie: setting heater temperature, timers, variable speed pump RPM/GPM, salt generating percentage and light mode etc). These options are accessible by pressing and holding the tile icon.</li> <li>Supports live background images (ie: poll camera for still image every X seconds).</li> </ul>Simulators
Designed to mimic AqualinkRS devices, used to fully configure the master control panel<br> <img src="extras/onetouch_sim.png?raw=true"> <img src="extras/allbutton_sim.png?raw=true">
In Apple Home app.
<img src="extras/HomeKit2.png?raw=true" width="800"></img>
- (NOTE: Salt Water Generator is configured as a Thermostat. It is the closest homekit accessory type; so °=% and Cooling=Generating).
- Full support for homekit scenes: ie: Create a "Spa scene" to: "turn spa on, set spa heater to X temperature and turn spa blower on", etc etc).
In Home Assistant
<img src="extras/HASSIO.png?raw=true" width="800"></img>
All Web interfaces.
- http://aqualink.ip/ <- (Standard WEB UI
- http://aqualink.ip/simulator.html <- (Displays all simulators in one page with tabs)
- http://aqualink.ip/aqmanager.html <- (Manage AqualinkD configuration & runtime)
- http://aqualink.ip/allbutton_sim.html <- (All Button Simulator)
- http://aqualink.ip/onetouch_sim.html <- (One Touch Simulator)
- http://aqualink.ip/aquapda_sim.html <- (PDA simulator) #<a name="release"></a>
ToDo (future release)
- Create iAqualink Touch Simulator
- AqualinkD to self configure. (Done for ID's, need to do for Panel type/size)
- Support for (non Jandy) external ORP and Ph sensors
Call for Help.
- The only Jandy devices I have not decoded yet are LX heater & Chemical Feeder. If you have either of these devices and are willing to post some logs, please let me know, or post in the Discussions area
<span style="color: red;">Notice</span>
AqualinkD will soon be dropping support for OS's older than debian bullseye. (GLIBC 2.31 will be minimum).
AqualinkD will be moving over to github hosted runners for compiling, currently AqualinkD is using self hosted. This means supporting old OS releases like Stretch is not worth it. AqualinkD will still be tested and support local compiling on old OS's, just the binaries in the release packages will be for bullseye and newer
<hr> <br> <br> <!-- NEED TO FIX NEXT THIS RELEASE. Panel = RS-2/6 Dual will not have spa on auto config. (fine after saving config and restart). Need to fix SWG when it's set to 0, thinks it's off and can't change, if it states 0 need to be enable, if blank turn off. Need to look at sub panel (combined panels) when serial port is wrong, can't edit config. -->Release 3.0.4 (March 2026)
- Fixed AqualinkD not starting when IP not assigned and MQTT enabled.
- Fixed aqmanager config editor issue when adding pumpType.
Updates in 3.0.3
- Fixed setting SWG for PDA v1.2
- Fixed bug with slider run times in web UI
- Fixed bug with heater max min in web UI
- Added light_programming_iaqualink_delay to delay aqualink protocol while light is being programmed, some users have encountered panel slowing down while light is being programmed through iAqualink.
- Increased allowed length of sensor labels.
- Minor updates to MQTT discovery protocol.
Updates in 3.0.2
- Fixed bug with SWG being enabled if one is not present.
- Fixed bug with light_programs ending in 'show' aqualinkd.conf
Updates in 3.0.1
- UI Update for web config.
- UI Now support for themes. (auto, dark, light -or- custom)
- Fixed UI not updating for sensors.
- Updates to UOM's for HA. gal/min, W, rpm
- Fix issue with multiple bad sensors in config.
Updates in 3.0.0
- <B>NOTE:- When upgradeing to v3.0.0</b> if you see bank AqualinkD screen (ie no buttons), please clear browser cache. This also goes for the mobile/webapp (you may need to delete and re-add to mobile home screen)
- Serial optimization for AqualinkD HAT.
- Can now edit webconfig in aqmanager, added many UI customization options.
- Click for details
- web/config.js is now web/config.json any custom settings will need to be migrated.
- Added example plugin of how to get HomeAssistant devices to show up in AqualinkD UI. Click for details
- upgraded network library ( HTTP(S), MQTT(S), WS )
- Added support for HTTPS and MQTTS.
- HTTPS is for two way auth only, ie You create your own cert and load on both AqualinkD server and all client devices.
- Example script to generate HTTPS certificates is in (./extras/generate-certs.sh)
- Optimized updates to MQTT, web sockets & WebUI (only update when absolutely necessary)
- Added option to select version to install, including dev releases.
- MQTT Discovery for all supporting hubs (HomeAssistant Domoticz Hubitat OpenHAB etc)
- Moved Domoticz support over to MQTT autodiscovery.
- Change tile color & label for ph / orp & ppm tiles when values are out of optimal range.
- Add mV as the UOM for ORP tile.
- Fixed bug with sensor UOM.
- UI code cleanup.
- Included program advance to AqualinkD programmable light mode. (lot quicker for lights that remember state)
- Changed caching of HTTP server. (Better for UI config updates)
- Autoconfigure will now g
Related Skills
node-connect
339.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
