Code Monkey home page Code Monkey logo

aquaweb's Introduction

aquaweb

Control Jandy Aqualink via a web interface from anywhere in the world

Warnings and Disclaimers

  • USE AT YOUR OWN RISK
  • DO NOT PUT YOUR POOL ON THE PUBLIC INTERNET.
  • DO NOT NAT PORT-FORWARD FROM YOUR ROUTER TO THE CONTROLLER.
  • DO NOT PUT THIS ON AN UNSECURED WIFI NETWORK.
  • THIS MAY VOID YOUR POOL WARRANTY
  • I AM NOT ASSOCIATED WITH JANDY OR RELATED COMPANIES

This Python script allows control of Jandy Aqualink pools with remotes via a web interface. Your existing setup needs to already have the new-style PDA, old-style square remote or SpaLink installed.

Square Remote Image

Square Remote

PDA Remote Image

PDA Remote

SpaLink Image

SpaLink Remote

You will need a USB RS485 interface, a Raspberry Pi, and either a wireless or wired connection to your home network.

It emulates a LCD controller and a SpaLink control panel on the web interface as well as the RS485 bus.

Square Remote Web Interface

Web Interface

PDA Remote Web Interface

PDA Interface

SpaLink Web Interface

SpaLink Web

Usage

With no parameters specified on the command line, it will attempt to use /dev/ttyUSB0 and run an auto-detect routine to see what controllers it can simulate. To manually specify which control models, or change the RS485 interface device, the following options are available:

  -h, --help            show this help message and exit
  --device DEVICE, -d DEVICE
                        RS485 device, default=dev/ttyUSB0
  --spalink, -s         Enable a SPALINK emulator at http://localhost/spa.html
  --pda, -p             Enable a PDA emulator at http://localhost/
  --aqualink, -a        Enable a AQUALINK emulator at http://localhost/

Install and run it from /etc/local.rc on a RaspberryPi and go to:

There is no authentication, so anyone with access to your network has unrestricted access.

Some of the RS485 protocol routine was borrowed from https://github.com/ericbuehl/pyaqualink and some code on the excellent Trouble Free Pool forums: http://www.troublefreepool.com/threads/27391-Control-your-Jandy-equipment-from-your-PC-with-a-15-adapter The PDA style codes were uncovered by @johnnytaco.

-Earle F. Philhower, III [email protected]

aquaweb's People

Contributors

ballle98 avatar earlephilhower avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aquaweb's Issues

int object is not iterable toHex

pi@raspberrypi:~/git/aquaweb $ ./aquaweb.py
Creating RS485 port...
RS485           : ready
Attempting to auto-detect emulation settings, wait 15 seconds...
...Detected new-style Aqualink PDA.
Detection completed...
Creating PDA emulator...
Creating web server...
Main loop begins...
Started httpserver on port 8080
Traceback (most recent call last):
  File "/home/pi/git/aquaweb/./aquaweb.py", line 883, in <module>
    main()
  File "/home/pi/git/aquaweb/./aquaweb.py", line 877, in main
    screen.processMessage(ret, i)
  File "/home/pi/git/aquaweb/./aquaweb.py", line 627, in processMessage
    print("unk: cmd=" + toHex(ret['cmd']) + " args=" + toHex(ret['args']))
  File "/home/pi/git/aquaweb/./aquaweb.py", line 652, in toHex
    return ''.join(format(x, "02x") for x in blist)
TypeError: 'int' object is not iterable
^CException ignored in: <module 'threading' from '/usr/lib/python3.9/threading.py'>
Traceback (most recent call last):
  File "/usr/lib/python3.9/threading.py", line 1428, in _shutdown
    lock.acquire()
KeyboardInterrupt:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.