Linux daemon to control Aqualink RS pool controllers. Provides web UI, MQTT client & HTTP API endpoints. Control your pool equiptment from any phone/tablet or computer. Is also compatible with most Home control systems including Apple HomeKit, Samsung, Alexa, Google, etc.
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.
If you like this project, you can buy me a cup of coffee :)
http://aqualinkd.freeforums.net (Please use this for questions / issues / problems).
For Bugs, please use issues link on top of page.
https://github.com/sfeakes/AqualinkD/wiki
For information on Control panel versions and upgrading the chips.
https://github.com/sfeakes/AqualinkD/wiki/Upgrading-Jandy-Aqualink-PDA-to-RS-panel
Here's where I started to document what I know about the Jandy RS485 protocol.
https://github.com/sfeakes/AqualinkD/wiki/Jandy-Aqualink-RS485-protocol
Designed to mimic AqualinkRS6 All Button keypad and (like the keypad) is used to fully configure the master control panel
- (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).
- http://aqualink.ip/ <- (Standard WEB UI
- http://aqualink.ip/simple.html <- (Simple opion if you don't like the above)
- http://aqualink.ip/simulator.html <- (RS8 All Button Control Panel simulator) #
- Note to Homekit users. Upgrading to 1.3.5c (and above) will add an aditional SWG PPM tile, (look in default room). You'll need to update homebridge-aqualinkd to 0.0.8 (or later) to remove the old tile (or delete you homebridge cache). This is due to a bug in homebridge-aqualinkd < 0.0.7 that didn't delete unused tiles.
- Logic for SWG RS486 checksum_errors.
- Fixed pentair packet logging, missing last byte.
- Support for two programmable lights. (Note must update your aqualinkd.conf).
- Can now display warnings and errors in the web UI (as well as log).
- Memory issue with PDA.
- Fixed SWG bug showing off/0% every ~15 seconds (introduced in 1.3.3).
- PDA updates for freeze protect/SWG and general speed increase.
- Logging changes.
- Fix issues in programming mode.
- Update to simulation mode.
- Changed to serial logger.
- PDA changes for SWG and Setpoints.
- Incremental PDA fixes/enhancements.
- SWG bug fix.
- AqualinkD will now automaticaly find a usable ID if not specifically configured.
- Support for reading (up to 4) Variable Speed Pump info and assigning per device. (Please see wiki for new config options).
- At present only Pentair VSP is supported, if you have Jandy VSP (ePump) and are willing to do some testing, please post on forum as I'd like to get this supported as well.
- For VSP you will need to check configuration for
read_all_devices = yes
&read_pentair_packets = yes
and assign RS485 Pump ID to Device ID in configuration. serial_logger should find ID's for you. - WebUI will display Pump RPM only. RPM, Watts and GPH information is also available from MQTT & API.
- Miscellaneous bug fixes and buffer overrun (could cause core dump).
- VSP update & Pantair device support.
- Changed the way PDA mode will sleep.
- Added preliminary support for Variable Speed Pumps. (Many limitations on support).
- Added int status to Web API.
- Large update for PDA only control panels (Majority of this is ballle98 work)
- Can distinguish between AquaPalm and PDA supported control panels.
- PDA Freeze & Heater setpoints are now supported.
- Added PDA Sleep mode so AqualinkD can work in conjunction with a real Jandy PDA.
- Speeded up many PDA functions.
- Fixed many PDA bugs.
- Non PDA specific updates :-
- Can get button labels from control panel (not in PDA mode).
- RS485 Logging so users can submit information on Variable Speed Pumps & other devices for future support.
- Force SWG status on startup, rather than wait for pump to turn on.
- General bug fixes and improved code in many areas.
- Solution to overcome bug in Mosquitto 1.6.
- Fixed Salt Water Generator when % was set to 0.
- Added support for different SWG % for pool & spa. (SWG reports and sets the mode that is currently active).
- Increased speed of SWG messages.
- Few other bug fixes (Thanks to ballle98).
Update in Release 1.2.6e (This is a quick update, please only use if you need one of the items below.)
- Unstable update.
- Fixed some merge issues.
- Added MQTT topic for delayed start on buttons.
- Removed MQTT flash option for delayed start (never worked well anyway).
- Added MQTT topic for full SWG status (MQTT section in see wiki).
- Configured option to turn on/off listening to extended device information.
- Added service mode topic to MQTT (Thanks to tcm0116).
- Added report zero pool temp (Thanks to tcm0116).
- More PDA fixes (Thanks to ballle98).
- Fix in MQTT requests to change temperature when temperature units are unkown.
- Fix for PDA with SPA messages. (Thanks to ballle98).
- Added report 0 for pool temperature when not available. (Thanks to tcm0116).
- Fix bug for MQTT freeze protect.
- Small fix for Freeze Protect.
- Fix for setpoints on "Pool Only" configurations.
- Support for Spa OR Pool ONLY mode with setpoints; (previous setpoints expected Spa & Pool mode)
- Added support for MQTT Last Will Message.
- NOTE: Fixed spelling errors will effect your configuration and the install.sh script will not overwrite.
- Please compare /var/www/aqualinkd/config.js to the new one, you will need to manually edit or overide.
- MQTT spelling for "enabled" is now accurate, so anything using the /enabled message will need to be changed.
- Homekit will also need to be changed. Please see the new homekit2mqtt.json or modify your existing one.
- PDA support in BETA. (Please see WiKi for details).
- Fixed bug in posting Heater enables topics to MQTT. (order was reversed).
- Serial read change. (Detect escaped DTX in packet, 1 in 10000 chance of happening).
- Changed the way AqualinkD reads USB, fixes the checksum & serial read too small errors that happened on some RS485 networks.
- Figex bug in SWG would read "high voltage" and not "check cell".
- Web UI out of Beta.
- MQTT fix setpoints.
- Simulator is now more stable.
- Updates to serial logger.
- UI updates.
- Bug fix in MQTT_flash (still not perfect).
- New Simpler interface.
- Start of a RS8 Simulator :-
- You can now program the AqualinkRS from a web interface and not just the control panel.
- Please make sure all other browsers and tabs are not using AqualinkD as it does not support multiple devices when in simulator mode.
- Fixed a few bugs.
- -- Release 1.0b --
- NEW WEB UI !!!!!!!!!!!!! (in beta).
- Flash buttons on/off in homekit for enabeling/disabling/cooldown period as they do on the control panel.
- Full SWG support (setting %, not just reporting current state). Also reports Salt Cell status such as (no flow, low salt, high curent, clean cell, low voltage, water temp low, check PCB).
- Update to thermostats, colors are now correct in homekit, green=enabeled, orange=heating, blue=cooling (SWG only).
- Light show program mode should now support most vendors lights.
- Configuration changes for: Spa temp as pool temp/light program mode options/enable homekit button flash.
- Updated to serial_logger.
- Freeze protect, heater temperature and SWG set-points have been added to support for standard HTTP requests (MQTT & WS always had support).
https://github.com/sfeakes/AqualinkD/wiki
This was designed for Jandy Aqualink RS, so should work with AqualinkRS and iAqualink Combo control panels. It will work with Aqualink PDA/AquaPalm and NON Combo iAqualink; but with limitations. Below are verified versions, but should work with any AqualinkRS :-
Version | Notes |
---|---|
Jandy Aqualink 6524 REV GG | Everything working |
Jandy AquaLinkRS 8157 REV JJ | Everything working |
Jandy AquaLinkRS 8157 REV MMM | Everything working |
Jandy AquaLinkRS 8159 REV MMM | Everything working |
Jandy AquaLinkRS B0029221 REV T | Everything working |
Jandy AquaLinkRS B0029223 REV T.2 | Everything working |
Jandy AquaLinkRS B0029235 REV T.1 | Everything working |
Jandy iAqualink E0260801 REV R | Everything working |
AquaLink PDA / AquaPalm | Works, please see WiKi for limitations |
If you have tested a version not listed here, please let me know by opening an issue.
All non commercial projects can be run using our open source code under GPLv2 licensing. As long as your project remains in this category there is no charge. See License.md for more details.
If you still like this project, please consider buying me a cup of coffee :)