Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pool controller Jandy IQPUMP01 support. #36

Open
aruiz760 opened this issue Sep 12, 2023 · 5 comments
Open

Pool controller Jandy IQPUMP01 support. #36

aruiz760 opened this issue Sep 12, 2023 · 5 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@aruiz760
Copy link

Hello, I hope I'm putting this in the correct location. The Jandy IQPUMP01 shows up in the Iaqualink app but not on the integration. Here is a log output:

_Logger: homeassistant.components.iaqualink
Source: components/iaqualink/init.py:98
Integration: Jandy iAqualink (documentation, issues)
First occurred: 12:28:20 AM (8 occurrences)
Last logged: 1:28:00 PM

No systems detected or supported_

Would appreciate any help. Thanks.

@Joacbe
Copy link

Joacbe commented Sep 18, 2023

IQPUMP seems a bit special and is not supported out of the box by the module apparently (at least I was taking a look at the Home Assistant integration).

I don't have the skills to modify anything of the existing but I've been able to identify the various API URLs to be called to perform the basic operations and validate them all on my pupm.

I'll be more than happy to share if anybody has the skills and is willing to add the IQPUMP01 support.

@aruiz760
Copy link
Author

aruiz760 commented Oct 7, 2023

Thanks.

@flz flz added enhancement New feature or request help wanted Extra attention is needed labels Apr 10, 2024
@robertw
Copy link

robertw commented Apr 13, 2024

IQPUMP seems a bit special and is not supported out of the box by the module apparently (at least I was taking a look at the Home Assistant integration).

I don't have the skills to modify anything of the existing but I've been able to identify the various API URLs to be called to perform the basic operations and validate them all on my pupm.

I'll be more than happy to share if anybody has the skills and is willing to add the IQPUMP01 support.

If you have the api calls and willing to share that would be a big help thnak you

@Joacbe
Copy link

Joacbe commented Apr 18, 2024

I can share my Postman project where all the details are aggregated.
ZodiacIQPump.postman_collection.json

I have 8 variables defined:

image

Below variables values are coming from your Jandy/iAqualink account:

  • JandyUserLogin
  • JandyUserPassword
  • APIKey = EOOEMOW4YR6QNB07 (apparently it never changes)
  • PumpSerial = the serial number without the dashes signs
    image
    Note: the serial number may also be retrieved using the query named "Get Devices" as the "serial_number" attribute in the returned json.

And identified 10 different API calls

Those are allowing to perform all the most important operations over the pump:
image

  • The Auth & GetToken query allows connecting and getting the required values for defining the following variables:

  • IDToken = IdToken

  • AccessToken = AccessToken

  • AuthToken = authentication_token

  • UserID = id

  • Get Devices allows getting all the iAqualink devices existing in association to your account. In my case, I only have the pump, device of type i2d

  • 0 - Get Device All Data

Dealing with pump override/forced activation start / stop

  • 1 - Device Write Mode - Set custom time
  • 2 - Device Write - Custom Speed
  • 3 - Device Write - Custom Operations time
  • 4a - Device Stop pump

Setting back pump in scheduled operating mode

  • 4b - Device Start pump - Resume Schedule

Dealing with pump schedules: reading/writing

  • 5 - Device Read Schedules
  • 6 - Device Write Schedules

Last but not least, this is how to interprete the values returned when dealing with the schedules:

  • Returned data on a single row: Y070018001500YYYYYYYDefault Schedule
    = Y : is schedule enabled? Y / N
    = 0700 : start time (always 4 digits)
    = 1800 : stop time (always 4 digits)
    = 1500 : RPM during the schedule (always 4 digits, filled in with 0 if less than 1000)
    = YYYYYYY : week days the schedule is enabled. Could be N as well if disabled. Note: starting with Sunday!!
    = Default Schedule: name of the schedule

Notes, schedules are all separated by a | and stored on a single line

@robertw
Copy link

robertw commented Apr 20, 2024

Many thanks i am not a great coder but will try to make it work with home Assistant.......

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants