Giter VIP home page Giter VIP logo

Comments (94)

sfeakes avatar sfeakes commented on September 26, 2024

Your control panel will have 4 wires for connections to control keypads. (usually a small screw-in terminal block). These are labeled 1,2,3,4 or Red,Blk,Yel,Gre. 2 wires are for power, and 2 are for data. I don't want to tell you which wires are which, as this may depend on year / model / version. But use your manual to find the 2 data lines, (D+ and D-).
Use page 20 of the below link as an example.
https://www.zodiacpoolsystems.com/~/media/Zodiac/Global/Downloads/0748-91071/6594.ashx

Your USB2RS485 converter will wither have 2 or 3 connections. (if 2 ignore the next part). One is power and the other two are A and B. Find the two labeled A and B.

Then simply connect the USB2RS485 A to D+ on the Control Panel and B to D- on the control panel. That should get the connection working. If not, just flip the wires over.

If you've got a windows PC, then you can connect the USB2RS adapter to that and use the below jandy simulator software to test it. I found it painful to get working & use, but it's a good test of the connection.
http://www.jandy.com/~/media/zodiac/global/downloads/simulators/aqualink_rs_simulator.exe

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

anovaski avatar anovaski commented on September 26, 2024

@sfeakes Thank you for your work on this. As others have stated, this was something I've been looking for. I too will be building an automation system with this and post how it goes. Just a quick question on your hook up - I have a RS8 control panel inside the house already wired to the 485 4-pin. Do I continue to leave the RS8 wired up and simply add the A/B cables from the USB2RS485? Or do I disconnect the RS8 and use the Pi solely for control?

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@anovaski you can do either. I designed this to act as another control panel on the RS485 buss, so it will work with the RS8 connected or without it connected. I have an RS6 panel connected as well as the PI (aqualinkd) on the RS buss (also SWG and Heater.). It’s very hard to tell from the documentation, but I believe Aqualinkd took the ID of a “one touch” control panel, so if you have that hooked up to the RS buss then you may have a conflict. The aqualinkd config allowed you to change the ID on the RS buss, so you can change the ID if there is a conflict.

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

That RS485 adapter looks perfect. Do the lights on it flash when aqualinkd is running? (that means at least it's trying to send / receive info over the adapter).

Can you run aqualinkd in debug mode and write the output to a file, then upload a copy. That way I should be able to help you.

In the /etc/aqualinkd.conf make sure you set debug and log to file, as below

log_level=DEBUG
log_file=/tmp/aqualinkd.log

Make sure aqualinkd is not running as a service.

sudo systemctl stop aqualinkd

Then run aqualinkd manually and stop it demonizing.

sudo /usr/local/bin/aqualinkd -d -c /etc/aqualinkd.conf

Let that run for a few minutes, hit it from the web UI if you want, then post/upload /tmp/aqualinkd.log to this thread. (use crtl-c to kill it)

For reference, as long as you only hit the data lines on the RS485 you shouldn't need to worry about it being powered down, the 2nd and 3rd pins are usually the correct ones to tap and 1 and 4 are usually power. (But that's just a general rule, not a given).

The first thing to check (assuming the USB connection & RS pins are accurate) would be the device_id. the RS8 will only probe particular ID's. 0x0a is default, next you could try 0x09.

Also, if you have a windows laptop, you could try Jandy's emulator, just plug the RS458 into that laptop and download the software from a few posts above.

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

Great to hear you are making progress. (The segfault is worrying on aux, that simply sends a blind command to the RS485 buss). The light modes are all hard coded to my setup (as in the instructions, that needs some work to make it generic, your logs will help). But the on / off should be working, only the pulsing to set modes will be an issue. I don't see any logs, try to upload them again so I can take a look and help fix some of your issues.

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@johnluber Thanks for the log. Interesting how your panel differs from mine. I uploaded a version than should fix the temp and a lot of other missing information from the programming mode.
Getting your salt generator % and PPM will be easy, but it will take me some time to implement, let's get you up and running first before adding functionality.
Please use the latest version, give it a try, and report back with logs.

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

Set Temps are probably the labels again, (your's give different text over RS485 than mine) I'll double check my code, I know the problems in my code.
I can see the issue on buttons, I looks like the Aux and Names are mismatched. I'll take a look when I get some time, but this may be a little harder to debug. Just checking that you changed the aqualinkd config to match your setup with the Button Names to AUX labels?

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

As long as you have the Aux_? set correctly in the MQTT json file to match the buttons on the Homekit, then all should be fine. All I have to go by is my setup and the really bad documentation from the pool equipment companies. So this will be a bit of trial and error, I'll upload some code to general more important debug info when I get chance and we should have it sorted. BTW a few days ago, homekitmqtt made some changes for spa & pool heaters for this project, now you can set HomeKit to heat only (no AC, no Auto), and have the correct set points in HomeKit. I haven't published a new json file yet, but here is my heater setup, hopefully you can make the appropriate changes.

"Aqualinkd SpaHeater": {
    "id": "AqualinkdSpaHeater",
    "name": "Spa Heater",
    "service": "Thermostat",
    "manufacturer": "Feakes Inc",
    "model": "AqualinkDThermostat",
    "topic": {
      "setTargetTemperature": "aqualinkd/Spa_Heater/setpoint/set",
      "statusTargetTemperature": "aqualinkd/Spa_Heater/setpoint",
      "statusCurrentTemperature": "aqualinkd/Temperature/Spa",
      "setTargetHeatingCoolingState": "aqualinkd/Spa_Heater/set",
      "statusTargetHeatingCoolingState": "aqualinkd/Spa_Heater"
    },
    "props": {
      "TargetTemperature": {
        "maxValue": 40,
        "minValue": 4
      },
      "TargetHeatingCoolingState": {
        "validValues": [0, 1]
      }
    },
    "payload": {},
    "config": {}
  }

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@johnluber can you download the latest code, let it run for 3~4 mins without hitting it from the web or HomeKit (I need to see the programming messages), then run the command sequence that makes it crash.

On the unifivideo code, it's so you can use the motion detection on unifvideo server to post to home automation motion sensors and turn on lights etc.

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@johnluber The file didn't post again..:).

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@johnluber Just made a few changes, don't think I've fixed everything but it should be closer. Also I should be storing your SWG info (not posting it to HomeKit just yet).
Can you do the same as last time, get he latest version, run for a ~5 mins then post the Debug output.

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Thanks John - I had spare low voltage landscape wires that seem to do the trick. I connected the RS485 adapter and loaded up the drivers for my Windows 10 surface and set the COM port to COM2, 3, 4, etc but the AquaLink windows simulator doesn’t seem to find the control panel.

I connected A/B to the 2nd and 3rd pins. After I installed the driver, I started to get flashy lights on the RA485 board but the software couldn’t find the control panel. I will connect up the Raspberry Pi tomorrow but was hoping to see something on my Windows machine.

Has anyone else tried the Windows simulator?

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

That’s awesome John!

I was able to get past my issues. After a reboot and messing with the ports, Ianded on COM port 7 which seemed to work after a couple of times. I’m awaiting a mini HDMI converter for the Raspberry Pi and will setup aqualinkd from there.

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Shaun - very impressive! I downloaded your code and ran the install.sh and fired up aqualinkd. It worked great even though it wasn’t connected to the pool. I got the web interface with no data (as I’d expect).

However, after rebooting my RaspPi, I tried to fire up aqualinkd again and I get the message saying “Can not start web server on port 80.” Is this correct or should I expect something different?

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

If you ran the install, it will setup the pi so it automatically starts at boot. So the cannot connect to port 80 is probably because you are trying to start it twice. (Unless you installed another web server). Have you tried hitting the web interface without ruining aqualinkd manually?

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Hey Shaun - you are correct! Thanks! I’ll be plugging in today to panel. I found a 5v Molex to USB connector that I will try for power as well. Will let you know how it goes.

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Unfortunately, I was not initially successful. The web interface showed it was not connected to the equipment and while there was a solid light on the RS485, nothing was flashing (like it did when connected to my PC).

I will run it in debug mode tomorrow and grab the logs. Was there another configuration step I may have missed? I think I have the Aqualinkd RS 8. We just got it installed.

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Thanks John. I haven’t tried it out yet (want to at least get the web interface working first) but here’s the link for the Molex to USB cable: Coolerguys 4 pin Molex to Dual USB 5V Power Connecter https://www.amazon.com/dp/B006JCHN08/ref=cm_sw_r_cp_apip_NngDwgVe2d4Yu

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

I completely agree with you John - nice work Shaun! Hopefully I'm not far behind you.

I enabled serial connections on the pi and switched the device_id to 0x09 and the lights started flashing on the RS485. In addition the battery icon in the top/right of the web interface went to a small red line (versus the full green battery icon).

However, it still stated that there was no connection. I ran it in DEBUG mode and hit the interface again (log file attached). I'm guessing my next approach will be to try a few different device_ids. I feel like there's something I'm still missing.

Apologies for being a pest but appreciate any thoughts you may have.

aqualinkd.2018-02-24.log

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@csherida Your problem at the moment looks to be the usb connection to the RS485, there doesn’t seem to be anything happening over that connection. Are you sure /dev/ttyUSB0 is the correct port for your setup?

I would suggest leaving aqualinkd running for at least 10 minutes without hitting the web interface or trying to make it do anything, and then look / post the log, it will start to reset the serial/usb connection and that might give us some more information in what’s going wrong.

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Thanks gents. I will order a new cord just in case but I see the the file ttyUSB0 in /dev (screenshot attached). I followed your directions Shaun. I assume you wanted me to stop running as a daemon and capture the log files. I also attached a screenshot of the web UI. Appreciate any other thoughts.
aqualinkd 2018-02-25b
aqualinkd 2018-02-25a
aqualinkd.2018-02-25a.log

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

There is no reason to not run it as a daemon, just make sure debug is on as well as log to file.

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Thanks Shaun. Unfortunately, the same result. I followed your steps on waiting before hitting the web interface but the same results.. I tested again with my Windows emulator to confirm nothing happened with the cable/card and it worked fine. I will order a new USB cable anyways because I have an adapter in there.

I also turned on the Serial switch in the Pi configuration to see if that would make a difference but no luck.

Looking at the log file, nothing stands out to me.

I will try again tomorrow perhaps trying different device_ids. Thanks again gents.
aqualinkd.2018-02-25c.log

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Once again, apologies for the nag but same luck as today. Went back through the install steps and believe everything is in the same location. No errors posted to the daemon logs (like the ttylUSB0 missing like before). Is there something in the attached log files I don't see? Should I just skip trying to connect to the web interface?
aqualinkd.2018-03-03a.log

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@csherida There is a problem with seeing anything over the serial interface. I’ll need to add some debug statements in the initializing function to get any information. That will take some time. I can see in the log it’s been sitting there for over 10mins and not seen anything it understands, what’s strange is it should have reset the connection within that time if it saw nothing at all, and since it didn’t, I’m assuming it may be seeing data, but it either doesn’t understand it, or it’s labeled to a different device on the rs485 buss.

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Thanks Shaun. I got the wrong cable but I think I think it’s working fine as it connects to the PC okay. Here’s the JSON from the request: {"type": "status","status":"Ready","version":"","date":"","time":"","pool_htr_set_pnt":"-999","spa_htr_set_pnt":"-999","frz_protect_set_pnt":"-999","air_temp":" ","pool_temp":" ","spa_temp":" ","temp_units":"f","battery":"ok","leds":{"Filter_Pump": "off","Spa_Mode": "off","Aux_1": "off","Aux_2": "off","Aux_3": "off","Aux_4": "off","Aux_5": "off","Aux_6": "off","Aux_7": "off","Pool_Heater": "off","Spa_Heater": "off","Solar_Heater": "off"}}

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Shaun - should I have the Serial option disabled for the pi? I have it enabled.

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Gents - I tried with a different Raspberry Pi (3) and same result :(. I confirmed ttylUSB0 is there and see flashing lights on the RS485 board. I attached the logs and the status.

Shaun - I am happy to debug. Are there good visual debuggers out there for this or is it just throwing in DEBUG statements?
aqualinkd.2018-03-04.status.log
aqualinkd.2018-03-04.log

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@csherida I've added some extra information to be able to debug the serial connection. Please download the latest release and make sure you have the following in your config file
log_level=DEBUG_SERIAL

Then run it for a few minutes and post the output.

It still won't work, but I may be able to tell what's going on from the log.

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Thanks Shaun. I gave it a go tonight with the same result. I tried changing the device_id as well as turning on/off the Serial option for the Pi but no luck. I don't see something in the logs but hoping you do. Thanks again!
aqualinkd.2018-03-05.log

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@csherida you either didn't load/use the latest code, or you missed the log_level=DEBUG_SERIAL in the config file.

I've uploaded a new version with a few more debug statements.
From your logs you have

Mar-06-18 00:05:51 AM Notice: Aqualink Daemon v0.8a
Mar-06-18 00:05:51 AM Notice: Config log_level         = 7

You should have

Aqualink Daemon v0.9a
Config log_level         = 8

It may be easier to load the new code and run it manually. Once downloaded

sudo systemctl stop aqualinkd
sudo <path to aqualinkd>\aqualinkd -d -c <path to cfg>\aqualinkd.conf

That should output messages to console AND log file. You should see a lot more information.

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

I missed this

Shaun - I am happy to debug. Are there good visual debuggers out there for this or is it just throwing in DEBUG statements?

There are no good visual debuggers on a PI, and even harder to use them on a serial connection like this due to timings. Debug statements are the best option. If you know C, by all means modify the code and report back. The logging mechanism inside aqualinkd is quite strait forward, should be easy to decipher if you look in aq_serial.c for examples.

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Apologies (once again) - I got the latest code but missed the DEBUG_SERIAL direction. :( I made that fix earlier tonight am getting messages like the ones below which makes me thing the device_id is off:
othing read on serial
Mar-06-18 20:36:09 PM Debug: Serial read 7 bytes
Mar-06-18 20:36:09 PM Debug: Received Packet, but not for us, ID is for 0x78
Mar-06-18 20:36:09 PM Debug: Serial read 9 bytes
Mar-06-18 20:36:09 PM Debug: Received Packet, but not for us, ID is for 0x00
Mar-06-18 20:36:09 PM Debug: Serial read 7 bytes
Mar-06-18 20:36:09 PM Debug: Received Packet, but not for us, ID is for 0x81
Mar-06-18 20:36:09 PM Debug: Nothing read on serial
Mar-06-18 20:36:09 PM Debug: Nothing read on serial
Mar-06-18 20:36:09 PM Debug: Nothing read on serial
Mar-06-18 20:36:09 PM Debug: Nothing read on serial
Mar-06-18 20:36:09 PM Debug: Serial read 7 bytes
Mar-06-18 20:36:09 PM Debug: Received Packet, but not for us, ID is for 0x33

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

ok this is good, it's reading the information on the RS485 buss, but for some reason it's not registered correctly, so the controller is not sending messages to the PI directly. Can you run if for a minute and upload the complete log? Also what other devices (pool equipment) is connected to the pool controller? ie keypads / SWG / Heater etc?

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Thanks again Shaun. I did the make install and confirmed version 0.9a and the logs are attached. As far as equipment goes, this is on the second RS485 terminal bar as the link for the remote PDA is on the first one. I'll attach a picture on my next post.
aqualinkd.log

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

5a1d6df2-590e-4326-90fd-72c8818773f8
The first terminal bar goes to the antenna for the remote PDA I believe and we have a spa, heater, etc.

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Interesting point John. I do control all settings from the PDA remote but I don’t have connectivity to the iOS app. However, because the same terminal port works through the Windows app, it makes me think the box is okay and it’s something in the configuration.

My remote also says the model is PDA-PS4 which leads me to believe it’s the same card in the box.

I am tempted to disconnect the first port and plug the aqualinkd into that to see if that changes things but want to do it when it’s daylight.

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

John,

You hit the nail on the head. From everything I have read and documentation I've found what I've done should work for all controllers, but I simply don't have the equipment to test that. Jandy/Zodiac make everything exceptionally difficult, and I'm sure for the reasons you stated.

In csherida's case since their windows software works, I should easily be able to duplicate that, it's just super hard without having that exact setup so I can reverse engineer what's going on.
I will start to sift over all the information I have and see if I've missed something, as it seems to me I just need to create some form initialization sequence.

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@csherida if I am understanding these two documents correctly, those 2 red terminal bars are not the same. (It's not very clear in either, so I'll keep looking for a definitive answer)
https://www.jandy.com/~/media/zodiac/global/downloads/h/h0370100.pdf
https://www.jandy.com/~/media/zodiac/global/downloads/0748-91071/6840.pdf

I would try to move the RS4862USB adapter over to the first set.

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@csherida The other thing you can do is to steal the ID of your PDA. I see from your logs that the PDA is acting on ID 60. So turn off (or disconnect) your PDA remote, set the id to 60 in aqualinkd config, then fire it all up and see what happens.
Set the below in the config.
device_id=0x60

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Awesome gents! I will give it a try in the morning when I have some more light to work with.

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@csherida I've updated the code to include more serial information that should help us find the best ID for your setup.

Basically, the master control panel poles particular ID's on the RS485 bus, and if it receives an ACK from that ID it starts communicating with it. Your panel is not using any of the ID's from any documentation I have or anything I've sniffed on my setup (except 60 that is the PDA). So I put in some code that logs every device ID and every ACK over the RS485 buss. So if you run the new code with the debug_serial option for a few minutes and post the logs, I should be able to find an ID we can use on your configuration.

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

You are awesome Shaun. I ran it and definitely saw much more diagnostic information. My guess is from the logs below that 33, 38, 58, 68, 80 and even 81 would be the ID. Appreciate your input!

Please note, I had to pull the file via PSFTP which stripped off the char returns.
aqualinkd.2018-03-10a.log

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@csherida This may be a little harder than I thought. The only "unknown" packets should be errors from devices. Unless you have something really messed up on your RS485 bus (which I doubt) there should not be as many the logs as I'm seeing in yours. So maybe your protocol is vastly different to the ones I've seen so far.

Anyway. I've uploaded a new version that will tell me a little more about the unknowns. Can you please download latest and try again. (please post that log)

I'd also suggest you unplug your PDA and set aqualinkd.conf to below
device_id=0x60
Fire it up and see if you get anything different in the logs / web interface. (also post that log)

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Thanks Shaun. It’s raining here tonight but I will give that a go in the morning, weather permitting.

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@csherida if you have remote access to the PI and it’s connected to the RS485 bus, you could try ID 0x33 or 0x38 in the aqualinkd config. Those look like the best ID options to try from your logs.

Update. I just found some documents online that support the 33 and 38, so give those a try first.

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Thanks @sfeakes ! I tried several IDs and while 33, 38 and others didn't change much, it looks like 80 provided some chatter. The command=status didn't really change but the web UI thought it was connected (see screenshot). I also uploaded the logs of each of my ID changes...
aqualinkd.2018-03-10-id50.log
aqualinkd.2018-03-10-id80.log
aqualinkd.2018-03-10-id68.log
aqualinkd.2018-03-10-id60.log
aqualinkd.2018-03-10-id58.log
aqualinkd.2018-03-10-id38b.log
aqualinkd.2018-03-10-id38.log
aqualinkd.2018-03-10-id33.log
aqualinkd 2018-03-10-id80b
aqualinkd 2018-03-10-id80a

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@csherida Thanks. It looks like the RS485 information your controller is using is very different to what I have and anything I can find on the net. BUT, Interesting enough with ID 60 aqualinkd get's status messages it knows about. So that means (if they are in the same format) that it can tell when any the devices (pump, filter, spa etc) are on or off. You could try ID 60, and then hit any of the buttons in the web interface and see if anything comes to life (like the pump / spa) etc.
By the looks of the logs, It won't get any over information, like temp or set points etc, but basic button presses may work.

I'll have a think about this and search see if anything comes up, but I think John hit the nail on the head, it may be easier to get a RS4/6/8 card for your panel.

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

@sfeakes @johnluber - I think you guys are right - need to look at the card. I swapped the RS485 terminal ports so that aqualinkd is on the first one. I pointed the config file to ID 60 and much of the same results of ID 80 on the previous experiment. Not reading information but showing as connected. I attached the logs.

It looks like I have the PS4 combo card. @johnluber - did you get a combo card or something different?
Thanks again.
aqualinkd.2018-03-11-id60.log
img_0195
img_0196

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@csherida I can't really comment on the pool hardware as I'm not exert. But, it seems as though my RS interface board also supports the PDA functionality. Sniffing the RS485 protocol of my setup I'm getting very similar results to your logs on ID's or 40 & 60. So there is hope that I can code Aqualinkd against that. My issue is I have no PDA remote, so I only have one side of the equation. (ie I can see what the master controller is putting out, but I'm totally guessing as to the appropriate response, so this will take a lot of time. BUT, I can confirm that aqualinkd is reading the status correctly. So if you fire up aqualinkd on ID 40 or 60, you will see the correct status in the Web UI as to pump / spa / etc being on/off. But it doesn't respond to the actual button presses, so you can't control anything yet.

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@csherida Not sure what your end goal is. But looking for information on the PDA protocol I can across this.
https://github.com/earlephilhower/aquaweb

So if you are simply looking for a PDA interface on a computer, this may work for the time being until I manage to find time to get into the details of the PDA RS485 interface.

from aqualinkd.

johnluber avatar johnluber commented on September 26, 2024

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Thanks @johnluber and @sfeakes - my goal is to set this up with Alexa and probably the Echo Plus (since Nexia is my home automation). I was viewing the web interface as a stepping stone to that end - if the web interface isn't working than I assume I won't be able to do any home automation.

@sfeakes - I am C++ illiterate but I am ready to roll-up my sleeves. If you point me a starting point in the code to modify, I'll start trying things out.

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@csherida you are correct, if the web doesn’t work neither will Alexa. It reports the status currectly on the PDA setup you have, but that’s it. I need to find some time to play and debug this, but it’ll take a lot of time to figure out and probably a lot of code changes to make it work. I may have to create a RS485 logger and get you to run that, then run through some sequences on your PDA so I can see exactly what’s going on.

But if you want to play, this is in C not C++, first make sure you can compile the software, then see if you can find the right key codes for Pump / Spa / Aux etc. you can edit aq_serial.h look at the codes for KEY-Pump to KEY-AUX7 see if you can find the correct values online somewhere and enter them there. Compile the code, and if the web interface turns stuff on and off, you know you have got the right code. That’s a big start just getting that far. If you look at the code in the url posted above in this thread for PDA that may have the right codes.

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Thanks @sfeakes - I have started to look at the code to understand what the codes are. I have successfully run the make file so I can do some trial and error. Let me know if you’re interested in doing a joint debug session over WebEx or something.

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

In that aquaweb repo listed a few posts up, if you look at the below it may give you an idea of some of the key codes.
aquaweb.py
Line 372
Line 597
Look at the 2 digit code and simply prefix it with 0x when you put it in aq-serial.h.

WebEx may be the easiest option, but I need to do some more reading and write to RS485 protocol logging software first.

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@csherida I've made a little progress. I can get a few things working, but it's a real pain with he PDA menu. I really need to spend a full weekend debugging this to get it right. But if you want to play, you can get the latest code. Set aqualinkd.conf to have the following lines

device_id=0x60
pda_mode = yes

And you should see the status & temperature being accurate in the web interface. You can look in aq_programmer.c line 295. That get's called once the PDA handshake is complete, play with commands in there see if you can get items to turn on and off.
aqualinkd.c line 372 will get called for each text message received from control panel.

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Thanks @sfeakes. I am back at it today. Will the logs say anything if everything connects?

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

You should see the text that’s displayed on the PDA in the logs, under “RS PDA message”

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

Good progress! I was able to get the aquaweb.py script working and looked at the codes. The only difference I say in that headers file was this:
#define KEY_PDA_PGDN 0x01

I made the change/recompiled and saw the air temperature was coming through which matched the PDA remote. (the temperature in Parkland, FL is slightly cooler than that but I'll recalibrate later.)

aqualinkd 2018-03-17

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

While I see the temperature in the web interface and I get an occasional flash of the pool temperature, none of the commands seem to impact the pool. You mentioned Aux 7. I have a flood light connected to Aux 3 and tried to turn it on via the command=Aux_3 but no luck.

I tried some other IDs as well but seems like 60 is the only one that will work. I attached the logs as well.
aqualinkd.2018-03-17.log

from aqualinkd.

csherida avatar csherida commented on September 26, 2024

@sfeakes, do I assume correctly that to interface with the board, we would need to essentially 'macro out' the operation? I can't find the links online but I attached the documentation the pool builder left me (slightly different than the links you have above). Unfortunately, I can't find the online documentation for the Installation Manual (although it's similar to the AquaPalm) but the document number is H0572200 Rev F.
Jandy-Aqualink-RS-PDA-Wireless-Pool-Controller_manual.pdf

from aqualinkd.

bthome avatar bthome commented on September 26, 2024

@sfeakes, appreciate all your work on this. I just started my implementation this weekend and have reached a dead end. I think I'm getting close, but could use some hints.

Problem:

  1. Trying to get the web page to work first. No updates are getting applied.

Info:

  1. AqualinkRS B0029221 Rev T.21
  2. I'm running from an Onion Omega2+. Have been able to compile the code and get it running. Accessing the serial port from it's onboard chip and GPIO.
  3. I have a variable pump and the wireless controller connected.
  4. Have the Omega hooked up to the 2nd Red connector.

Issues found:

  1. Had to insert "#include <fcntl.h>" in utils.c to get to compile
  2. Commented out "log_packet" call in the "get_packet" function in aq_serial.c was getting a segfault

sl.log
aqualinkd.log

Thanks.

from aqualinkd.

anovaski avatar anovaski commented on September 26, 2024

Well thanks everyone for your prior instructions. I got everything wired and programmed correctly and everything is working great. But one problem, I believe the Raspberry Pi keeps changing the time of the Aqualink. I set it to 9p, it changes to 1am a couple minutes later. Any ideas?

from aqualinkd.

warwickwebb avatar warwickwebb commented on September 26, 2024

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

Aqualinkd will set the time on the Aqualink control panel to it's time. You just need to make sure your Pi has the right time (usually timezone setting) and all is OK. (Aqualnk doesn't keeps time accurately, that's why I did that). I didn't think about a config option to turn the feature off, but if it's a problem let me know and I can create a setting to turn it off.

from aqualinkd.

anovaski avatar anovaski commented on September 26, 2024

from aqualinkd.

sfeakes avatar sfeakes commented on September 26, 2024

@bthome Sorry I completely overlooked your post. I had a quick look at your logs, it seems that either AqualinkD is not sending on the RS485 adapter only receiving, or the control panel is ignoring what it's being sent from AqualinkD.

Please try to pull the latest version, compile and run. Use the new logging utility. Start a new thread for this, since this is not closed.

Cheers. and sorry again for overlooking this.

from aqualinkd.

Related Issues (20)

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.