Announcement

Collapse
No announcement yet.

Initial Release.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Initial Release.

    Hi All,

    I have released a plugin that will let you control your Web enabled Zodiac or Jandy Iaqualink Pool controller.

    The plugin supports status and Control for Iaqualink Panels and Pumps, But should be able to see other devices (I believe you can get Iaqaulink Heatpumps and Pool Cleaners), If you have a supported Heatpump or Pool cleaner please contact me to you can Dump the protocol and i will add control support (And give you a license for the plugin).

    Any questions or issues please don't hesitate to let me know.

    Thanks
    Mat

    #2
    Mat_Budden Hi Mat, thanks for this! I just installed and am testing with my iAqualink

    The root device (I think) is showing a "Communication Error" in the device list even though it does appear to be properly communicating with, and controlling, the iAqualink.
    2348 Communication Error Zodiac IAqualink IAqualink - QTU294D6HDUN Today 5:32:59 PM
    And the "Chlorinator Output" device shows "Pump" not running" even though the pump it running and the Aquapure shows no errors, is detecting flow and is properly chlorinating (the Autelis is correctly picking up the Aquapure status as "OK", as you can see below).
    2358 Pump Not Running Zodiac IAqualink IAqualink - QTU294D6HDUN Chlorinator Output Today
    5:29:18 PM
    My gear is:
    Model B0029221
    Type RS-8 Combo
    Firmware T.1
    ePump 02.00 1
    OneTouch 1

    OneTouch 4
    iAquaLink WiFi 4
    Serial Adaptr 1
    AquaPure 1

    iAquaLink RSSI
    RSSI: 5/5 Bars
    FW Rev. 4.0.6-w

    Also, here are both your plugin's devices and the Autelis plugin's devices for my system so you can see what they see differently (in case you are curious).
    Ref Status Room Location 2 Name Last Change Control
    408 Connected and Ready Pool Autelis Root Today
    1:46:19 AM
    424
    77 °F
    Pool Air Temperature Today
    5:29:16 PM
    1189
    OK
    Pool Aquapure Status Today
    5:35:18 PM
    420
    Off
    Pool aux7 Today
    3:01:27 PM
    Off On
    418
    Off
    Pool Deck Jets 9/1/2019
    1:38:32 PM
    Off On
    419
    Off
    Pool High Speed 9/1/2019
    1:28:27 PM
    Off On
    1187 40% Pool Pool Chlorination Setpoint 9/1/2019
    10:03:33 AM
    0%1%2%3%4%5%6%7%8%9%10%11%12%13%14%15%16%17%18%19%20%21%22%2 3%24%25%26%27%28%29%30%31%32%33%34%35%36%37%38%39%40%41%42%4 3%44%45%46%47%48%49%50%51%52%53%54%55%56%57%58%59%60%61%62%6 3%64%65%66%67%68%69%70%71%72%73%74%75%76%77%78%79%80%81%82%8 3%84%85%86%87%88%89%90%91%92%93%94%95%96%97%98%99%100%
    411
    On
    Pool Pool Heat Today
    5:32:17 PM
    Off On
    416
    Off
    Pool Pool Light 9/1/2019
    1:29:28 PM
    OffAlpine WhiteSky BlueCobalt BlueCaribbean BlueSpring GreenEmerald GreenEmerald RoseMagentaVioletSlow SplashFast SplashUSA!!!Fat TuesdayDisco Tech
    1185 2900 PPM Pool Pool Salt Level Today
    5:35:18 PM
    428 60 °F Pool Pool Setpoint 2 9/10/2019
    1:46:04 AM
    - +
    421
    86 °F
    Pool Pool Temperature Today
    5:35:18 PM
    426 86 °F Pool Pool Temperature Setpoint 9/10/2019
    1:46:04 AM
    - +
    1184 2350 RPM Pool Pump 1 RPM Today
    5:34:18 PM
    1182 Pool Pool Pump 1 Speed Today
    5:32:17 PM
    Off PoolSpaDeck JetsHigh SpeedPool HeatSpa HeatSpeed 7In Floor
    1183 587 Watts Pool Pump 1 Watts Today
    5:34:18 PM
    409
    On
    Pool Pump 1 Today
    5:31:17 PM
    Off On
    413
    Off
    Pool Solar Heat Off On
    417
    Off
    Pool Spa Air Blower Today
    3:55:25 PM
    Off On
    414
    Off
    Pool Spa Booster Pump Today
    3:55:28 PM
    Off On
    1188 5% Pool Spa Chlorination Setpoint Today
    4:05:25 AM
    0%1%2%3%4%5%6%7%8%9%10%11%12%13%14%15%16%17%18%19%20%21%22%2 3%24%25%26%27%28%29%30%31%32%33%34%35%36%37%38%39%40%41%42%4 3%44%45%46%47%48%49%50%51%52%53%54%55%56%57%58%59%60%61%62%6 3%64%65%66%67%68%69%70%71%72%73%74%75%76%77%78%79%80%81%82%8 3%84%85%86%87%88%89%90%91%92%93%94%95%96%97%98%99%100%
    412
    On
    Pool Spa Heat Today
    3:46:59 PM
    Off On
    415
    Off
    Pool Spa Light 8/14/2019
    9:34:58 PM
    OffAlpine WhiteSky BlueCobalt BlueCaribbean BlueSpring GreenEmerald GreenEmerald RoseMagentaVioletSlow SplashFast SplashUSA!!!Fat TuesdayDisco Tech
    1186 3100 PPM Pool Spa Salt Level Today
    5:35:18 PM
    410
    Off
    Pool Spa Today
    3:55:34 PM
    Off On
    422
    102 °F
    Pool Spa Temperature Today
    5:35:18 PM
    429 102 °F Pool Spa Temperature Setpoint Today
    3:07:30 PM
    - +
    2348 Communication Error Zodiac IAqualink IAqualink - QTU294D6HDUN Today 5:35:53 PM
    2355 77 F Zodiac IAqualink IAqualink - QTU294D6HDUN Air Temp Today
    5:29:18 PM
    2358 Pump Not Running Zodiac IAqualink IAqualink - QTU294D6HDUN Chlorinator Output Today
    5:29:18 PM
    2359
    Off
    Zodiac IAqualink IAqualink - QTU294D6HDUN Chlorinator Override Today
    5:29:06 PM
    Low Boost Normal
    2362
    Off
    Zodiac IAqualink IAqualink - QTU294D6HDUN Freeze Protect Today
    5:29:13 PM
    2352 Auto Zodiac IAqualink IAqualink - QTU294D6HDUN Pool Heater Today
    5:32:05 PM
    On Off
    2349
    On
    Zodiac IAqualink IAqualink - QTU294D6HDUN Pool Pump Today
    5:30:16 PM
    On Off
    2360
    Off
    Zodiac IAqualink IAqualink - QTU294D6HDUN Pool Salinity Today
    5:29:08 PM
    2354 86 F Zodiac IAqualink IAqualink - QTU294D6HDUN Pool Temp Today
    5:32:05 PM
    2357 86 F Zodiac IAqualink IAqualink - QTU294D6HDUN Pool Temp Setting Today
    5:29:18 PM
    123456789101112131415161718192021222324252627282930313233343 53637383940
    2351 Auto Zodiac IAqualink IAqualink - QTU294D6HDUN Spa Heater Today
    5:32:05 PM
    On Off
    2350
    Off
    Zodiac IAqualink IAqualink - QTU294D6HDUN Spa Pump Today
    5:28:51 PM
    On Off
    2361
    Off
    Zodiac IAqualink IAqualink - QTU294D6HDUN Spa Salinity Today
    5:29:09 PM
    2353 Pump Not Running Zodiac IAqualink IAqualink - QTU294D6HDUN Spa Temp Today 5:35:53 PM
    2356 102 F Zodiac IAqualink IAqualink - QTU294D6HDUN Spa Temp Setting Today
    5:29:18 PM
    123456789101112131415161718192021222324252627282930313233343 53637383940

    I have PM'd you the logs and system info. I also have a couple other Aux's setup that your plugin does not pickup (for a floor cleaner I plan to get and for enabling high speed on my pump with one click).

    Please let me know if I can help track any of this down.

    Thanks!

    Comment


      #3
      Hi mda,

      Thanks for the Message and Logs.... I spent a bit of time back tracking, So couple things...

      Firstly one of the devices is causing the "Communication Error", Ultimately if the plugin sees something it doesn't expect in the feed it will skip it and display the error, But will continue to re-try which is why you still get some data, and communication is working... I believe its the Salinity that's causing it, So to test if you can remove that device and see if it works... If so then we know that's it... I will make a change to the plugin so its easier to work out...

      Next up, I went through the logs... The Pool Temp on the plugin will only work while the pump is running... Unfortunately the IAqualink App works that way as well, And i can only get the same info the App gets.... If you see in the message below the pump is status 1 (On) and the pool temp is populated :

      {"status": "Online"},
      {"response": "AQU='70','0B 00 01 02 03 05 06 07 08 0E 0F 1A 01 03 00 03 00 56 00 66 00 4C 00 56 00 00 00'"},
      {"system_type": "0"},
      {"temp_scale": "F"},
      {"spa_temp": ""},
      {"pool_temp": "86"},
      {"air_temp": "76"},
      {"spa_set_point": "102"},
      {"pool_set_point": "86"},
      {"cover_pool": ""},
      {"freeze_protection": "0"},
      {"spa_pump": "0"},
      {"pool_pump": "1"},
      {"spa_heater": "3"},
      {"pool_heater": "3"},
      {"solar_heater": ""},

      {"spa_salinity": ""},
      {"pool_salinity": ""},
      {"orp": ""},
      {"ph": ""}

      However, When the Pump is status 0 (Off) it doesn't have the temp.

      {"status": "Online"},
      {"response": "AQU='70','0A 00 01 02 03 05 06 07 0E 0F 1A 00 03 00 03 00 56 00 66 00 4E 00 00 00'"},
      {"system_type": "0"},
      {"temp_scale": "F"},
      {"spa_temp": ""},
      {"pool_temp": ""},
      {"air_temp": "78"},
      {"spa_set_point": "102"},
      {"pool_set_point": "86"},
      {"cover_pool": ""},
      {"freeze_protection": "0"},
      {"spa_pump": "0"},
      {"pool_pump": "0"},
      {"spa_heater": "3"},
      {"pool_heater": "3"},
      {"solar_heater": ""},

      {"spa_salinity": ""},
      {"pool_salinity": ""},
      {"orp": ""},
      {"ph": ""}

      Unfortunately I am unable to fix that, As its a protocol issue, I believe your Autelis can read it as its communicating locally using the RS485 Bus, Which is also how it gets some other info that I am unable to access.

      As for the Aquapure, I believe this is the same issue, I think the Autelis is hijacking the RS485 info which is not feed into the IAqualink app.... I have had some success and will likely put in a later release at capturing the "Web" Page in the App, but its not stable just yet... This can give you read access to Schedule and the Device screen which gives RPM and what not of devices (I have a Variable Speed pump, so i definitely want that to work.... So it will happen)... But i am not sure i will be able to get all of the info the Autelis can get. I am tossing up writing a plugin for the RS485 protocol..... But it will take a bit more to setup as you will need to get an RS485 Dongle and either a Raspberry PI, or direct connection to the system... I have messed around with this a bit here with my second system on my Spa... But not sure its user friendly enough, But on saying that putting a PI next to your system opens other doors... Like Kodi / Spotify / Spa or Poolside controls and even Lifx control of an RGB strip... So hey maybe i will do it..

      Could you possible get a screenshot of the Device Status Page on the "Web" section of the Iaqualink app with everything going? If some of the text displays there I will enable it in a "Beta" in the next release so you can try that.

      And i can see from the logs you have 8 AUX available, the Plugin only caters for 6 at the moment, I can fix that in the next release.

      Hope some of that helps, and would love to know if removing the salinity device resolves the comms issue.

      Thanks
      Mat

      Comment


        #4
        I'm also missing alot from your plugin.

        Comment


          #5
          Hi Integlikewhoa,

          Thanks for the Message, I can see your system has alot going on... So let me see if I can get it all working.

          If possible, Could you enable the debugging, then leave it on for a minute or so, After that turn it off and download the created log file from the Device config page.

          If you post it here, Or message it to me privately I will have a look and see if i can get all of those devices sorted out for you.

          Thanks
          Mat

          Comment


            #6
            Mat_Budden sorry for the delay, have been heads down at work.

            I tried deleting the salinity devices but the communications error did not go away. I then disabled and re-enabled the plugin and it recreated the salinity devices (the communications error was still there). Debug log attached.

            I turned on a bunch (not all) of the devices and here are some screen shots of the iAqualink devices and status screens, and also of the autelis and your HS3 plug device screens so you can compare.


            Please let me know what else i can provide!

            Thanks.

            -mda

            Click image for larger version

Name:	Screen Shot 2019-09-28 at 3.39.28 PM.png
Views:	679
Size:	100.2 KB
ID:	1329519
            Click image for larger version

Name:	Screen Shot 2019-09-28 at 3.38.11 PM.png
Views:	630
Size:	78.0 KB
ID:	1329520
            Click image for larger version

Name:	Screen Shot 2019-09-28 at 3.39.33 PM.png
Views:	661
Size:	99.5 KB
ID:	1329521
            Click image for larger version

Name:	Screen Shot 2019-09-28 at 3.39.44 PM.png
Views:	585
Size:	16.2 KB
ID:	1329523Click image for larger version

Name:	Screen Shot 2019-09-28 at 3.39.48 PM.png
Views:	603
Size:	13.0 KB
ID:	1329524Click image for larger version

Name:	Screen Shot 2019-09-28 at 3.39.52 PM.png
Views:	623
Size:	11.8 KB
ID:	1329525
            Click image for larger version

Name:	Screen Shot 2019-09-28 at 3.40.08 PM.png
Views:	655
Size:	300.8 KB
ID:	1329526
            Attached Files

            Comment


              #7
              Mat,

              I PMed you the same information and a debug log for my system along with screenshots of the current layout. I only use the web app provided by iAqualink to control my system and do not have any other interfaces connected.

              Thanks
              Forrest

              Sent from my Pixel 3 XL using Tapatalk

              Comment


                #8
                Hi All,

                Thanks for the info.... I have been nutting out a couple of the bugs and the Info helps enormously.....

                So where to from here, I still have a bit of Tidying up with the Comms issues, and it seems that some devices do not communicate through JSON at all.... My Salt Chlorinator is a Zodiac Aqualink Tri which does communicate to the App via JSON, But the Aquapure does not, But it does through RS485 and looking above it does display on the devices page...

                The Devices page is Tricky..... I have this working in my Beta, but unfortunately its Buggy as hell as if you open the Web or App it can mess up the devices and cause text Duplication.... I am working through how to prevent this and hope to have it nutted out this week...

                The other problem is i have to know what to Scrape off this page as its a HTML feed, I have it working for Schedule and "RPM" and "PUMP STATUS" which come up on mine, But i hard coded them, I think what i will need to do is give you some control to add the text that you want to create a device for, So in effect it will catch that Text then the next text on that line and display that on the corresponding device.... I am just thinking out aloud so the implemented method may be different.

                Will try and get it sorted out ASAP. Thanks for your ongoing patience.

                Thanks.
                Mat

                Comment


                  #9
                  Originally posted by Mat_Budden View Post
                  Will try and get it sorted out ASAP. Thanks for your ongoing patience.
                  Mat
                  Thanks Mat!

                  If it would be helpful, I can PM you the login to my iAquaLink so you can see how it reports the Aquapure and my other devices live?

                  Comment


                    #10
                    Originally posted by Mat_Budden View Post
                    Hi Integlikewhoa,

                    Thanks for the Message, I can see your system has alot going on... So let me see if I can get it all working.

                    If possible, Could you enable the debugging, then leave it on for a minute or so, After that turn it off and download the created log file from the Device config page.

                    If you post it here, Or message it to me privately I will have a look and see if i can get all of those devices sorted out for you.

                    Thanks
                    Mat
                    Mat,

                    I have PM'd the log as requested.

                    Thanks,

                    Comment


                      #11
                      Hi Mda,

                      Thanks for the offer, If you don't mind it would be extremely helpful.

                      Thanks
                      Mat

                      Comment


                        #12
                        Hi integlikewhoa,

                        Got your logs, Thanks for that.

                        Will run them through the Debug.

                        Thanks
                        Mat

                        Comment


                          #13
                          Hi All,

                          Exciting News, I am just about to Submit the updated Plugin, Its been a bit of coding to iron out everything so far and to be honest I couldn't have done it without the support of MDA particularly who was good enough to Share his details and allow me to test using his system.... There are others who submitted logs to me that also assisted in debugging, But the live Debug made a lot of the difference as i picked up on a small detail in the protocol which i needed to enable other things.....

                          Now the disclaimer, I'm sure i have not got everything worked out.... So I will need assistance going forward and bug by bug we will get this going well..... I am particularly interested in anyone who has an Iaqualink controlled Cleaner (Eg Zodiac VX65IQ here in Aus, I believe its Rebranded in the US as a Polaris 9650IQ) Or anyone who has a Zodiac Heatpump (Like the JXI) that is either directly controlled by the Aqualink App, Or has Live Status feed to the Aqualink Web Interface. Also anyone who has Sprinklers or Dimmers attached to there unit may be able to help.

                          I have a Variable Speed pump Interface that Directly talks to Iaqualink, This pump is currently supported, However i will update support for Live Variable speed changes soon - This is NOT currently done as the pumps controlled by my IAqualink TRI so the standalone controller sits on a shelf.

                          Adjusting the Variable speed through the IAqualink Controller is likely not achievable, I wont say that it cant be done, But the process involved is Buggy... The Plugin will now show the RPM and Watts of supported units, But to control its better to setup an "AUX" on the speed you need and use that.

                          So What is Working now :
                          • The Communication Error is gone - This was due to the Plugin trying to Parse info that controller doesn't support, The Fix is now you can only select items supported by your controller directly for the Base Feed. With saying that, The AquaPure is NOT directly controlled by the Aqualink, It just has a status link if that make sense, The Zodiac Tri series Chlorinators are Directly controlled by the Aqualink.
                          • VS Pumps and AquaPure are now supported with Status Only - The VS Pump / Aquapure is controlled by Screen Scraping the Web Portal. You need to set these up manually, I will show that below. (I will add support for Boost Mode on the Aquapure soon, But I needed to get this update out....)
                          • The Debug log has been expanded - This is due to missing some key protocol messages in the last release.
                          • The AUX and One Touch are now all working, and Individually Selectable from the Config Page. - This was a Typo.... My Bad......
                          • Jandy Coloured Lights are Now Supported with Colour Selection - I will need some feedback on if this is working correctly as i couldn't tell from the protocol if it is, and the pool i was testing is half way across the globe....
                          • Status and Schedule are now showing and have a Poll function - These show elements of the Status Screen, Some Text I know is on them is already covered and I will expand it as i encounter them, But you can setup any other text manually in the config for a device. The Poll for these will take about a minute to perform.
                          • The Degree ranges on the Heater settings have been fixed, Will now show the Appropriate Scale, They Default to Celsius and update later if they need to.
                          • There is also now an option to Delete the Log file.
                          Here are some Screenshots of the changes :

                          Click image for larger version

Name:	MDA Zodiac System 6102019-2 - E.jpg
Views:	676
Size:	17.0 KB
ID:	1331217Click image for larger version

Name:	My Zodiac System 2 - E.jpg
Views:	625
Size:	46.1 KB
ID:	1331218Click image for larger version

Name:	MDA Zodiac System Config - E.jpg
Views:	632
Size:	49.0 KB
ID:	1331219


                          Thanks
                          Mat

                          Comment


                            #14
                            Hi All,

                            Just one more Update, The Plugin is submitted, Should take a Day or so to be approved.

                            For the "Status Screen Devices" you will need to set them up individually, If you look on the Web Status screen View of your system (Either in Browser or App) you will see devices displayed on the "Status" Screen. Effectively each Line show on the screen can have a device loaded for it....

                            To Set them up you need to "Add Word to Status Search?" in the Config page, You can see in the Above example it shows "RPM" with a Selected Checkbox, The Checkbox handles if a Device should be created. When you punch your word in, Select the "Create Device" Checkbox if you wish to create a device and then hit "Add".

                            If that device is found in the next Status update a Corresponding Device will be created.

                            The Device will update and if there are any numbers in the device string the Text will be stripped on only the Numbers will be updated into the device. From what i Saw in testing this makes sense as devices on this screen are usually RPM, Chlorinators or Monitoring like Aquapure, And showing the text seemed strange, However if a full text string is there it will display it as there are some times this may be used eg "***Priming***". These devices are Scraped from the webpage so they will not always change as frequently as the rest of the plugin. Also, If the string is not displayed any more then there is no trigger to remove it and set the device to nothing.... I did think about adding a watchdog for this, However it wouldn't always be perfect, So the better way to handle this is to setup a script on a timer that will reset the device. I can provide a sample if needed, And if you think the Watchdog approach is a better idea let me know and ill implement it.

                            Please let me know if you get stuck, And if you can share your journey with setting up these devices so other users can benefit i would be grateful.

                            If you have any other suggestions please let me know.

                            Thanks
                            Mat

                            Comment


                              #15
                              Mat, Just PMed you with details on issues with my system.

                              Comment

                              Working...
                              X