Controlling a Goldline Controller

Jan 26, 2011
40
For several years now I've been annoyed at my Goldline controller. It doesn't have enough timers, flakey software on the board, various board problems, etc. Recently I installed a Hayward Ecostar motor and a nice man from Hayward updated the software on the board. Nice! Most of my problems with the software went away, but one annoying thing kept bugging me: There aren't enough timers for me to play with and there isn't a good way to interface this to my other home automation projects without spending tons, literally, of money.

So, I built up a RS485 controller and decoded a significant portion of the protocol. I can now control my pool from my laptop. That's only a couple of small steps away from a web interface and whatever the heck else I want to do with it. I used an Arduino as the controller so I can program anything I want into it. I can turn the lights on when it gets dark and then turn them off at anytime I please. Heh, heh.

All of this without spending hundreds on special protocol converters that are almost as hard to interface with as the pool controller itself. In the spirit of this board, I've described the project in annoyingly exhaustive detail under the "Swimming Pool" tab on my blog at http://draythomp.blogspot.com/.

Feel free to grab any of the ideas and code examples and create your very own custom solution too. :cheers:
 
I saw that post, but wasn't able to contact him for some reason. Actually though, I found that post after I had started decoding and stumbled across how to simulate button presses. One reason I posted the actual code and my findings is so that people like us looking around have a web site to go look at for an example.

An awful lot of us got the Goldline controller before we understood what we were getting into. Now, the challenge is to make it work well for us and preserve the investment.
 
I've been wanting to do something similar with an arduino mega and an ethernet shield. I have the Jandy system though. I have been able to connect a USB to RS-485 converter to it and read some of the data but I have no clue about how to approach deciphering the protocol. I can buy the protocol adapter which converts their protocol into simple ascii commands, but it's $400. I'm trying to avoid that. Any advice on how I can go about decoding this?
 
The price of the devices to convert to the pool controller protocol was the main impetus for me taking on this project. I just couldn't see giving them even more money for something that (I believe) should be documented as part of the owner's manual.

To attack this you can do what I did. I started monitoring and then pushed a button and watched what happened. Then I pushed the button again and watched what happened. At that point I noticed that a few of the characters were different so I wrote some code to convert it to hex so I could see if there were some bits being set or if it was an ascii interface. Well, it turned out it was both and I logged both the ascii and the hex of each interaction. As I pushed buttons and watched things I started to notice that there were distinct packets so I modified the logging code to separate the data into packets that had a beginning and an end. This was the rosetta stone to decoding what I needed.

Once I had it in packets that seemed to do something I tried playing them back to the controller and it worked! From there I was able to cause something to happen and see the response coming back. So it was push a button, read the data, compare it with the other data and move to the next button...and the next...

The key to decoding any protocol is to do something and then observe the change. The change is what's important. For the Goldline there was both a text response and a bunch of bits. The text was to be shown to the customer and the bits were for changing the various lights. Goldline uses a dumb remote philosophy that puts the smarts in the controller itself. I suspect Jandy does much the same thing, but I don't have one to check. Another example is the Hayward motor control protocol. It works completely differently and I may someday try to use it, but for now, my stuff works pretty well and I am going to enjoy it for a while before I break it again.
 
Thread Status
Hello , This thread has been inactive for over 60 days. New postings here are unlikely to be seen or responded to by other members. For better visibility, consider Starting A New Thread.