Home AMX User Forum AMX Technical Discussion

Jandy Battery Query

I have had problems with a Jandy Aqualink system losing date and time because the backup battery was drained. As a result I'd like to add a warning to the system, using Jandy's #VBAT? command (which returns the battery voltage in 1/100s of a volt).
Has anyone added this to their system?
The NetLinx Jandy Module does not directly support this, but mentions a PASS= command which presumably one could use to pass along the #VBAT? command to the Aqualink controller. After that it would be simple to parse the response for the battery voltage. There is virtually nothing mentioned about the syntax, however, and my first few tries did not work.
Any assistance in doing this would be greatly appreciated.
Thx
rich

Comments

  • DHawthorneDHawthorne Posts: 4,584
    richs wrote: »
    I have had problems with a Jandy Aqualink system losing date and time because the backup battery was drained. As a result I'd like to add a warning to the system, using Jandy's #VBAT? command (which returns the battery voltage in 1/100s of a volt).
    Has anyone added this to their system?
    The NetLinx Jandy Module does not directly support this, but mentions a PASS= command which presumably one could use to pass along the #VBAT? command to the Aqualink controller. After that it would be simple to parse the response for the battery voltage. There is virtually nothing mentioned about the syntax, however, and my first few tries did not work.
    Any assistance in doing this would be greatly appreciated.
    Thx
    rich

    I hated the Jandy module, and rolled my own. It was easy enough to implement; I had a harder time figuring how to filter out unused options when I had no idea really how pool controllers worked. I would share ... but my version is not fit for sharing really. I did some funky stuff in it while still rather full of what I could do as opposed to what was needed ... but I digress.

    Your syntax looks correct, but I have no idea how the module handles PASS ... you could try leaving off the initial # in case the module adds it, or, on the flip side, add a CR to the end in case the module doesn't. You could also temporarily turn polling off (to avoid collisions) and send the string directly to the device (bypassing the module queue), then turn the polling back on. You shouldn't need to query battery voltage very often, so this wouldn't interfere too much with normal functions.
  • richsrichs Posts: 13
    Problem Solved

    Hi Dave,

    Thanks for the tips. I probably should try to invent some exotic reason (i.e., lie) why it didn't work, but the embarrassing truth of the matter was that, before I made any changes to my include file, I changed the name and forgot to change the #include statement to match. So the actual running file was never being changed. Before I realized this I had tried the command with and without a # and a $0D terminator, without (of course) any result.

    The statement as I now use it is:

    SEND_COMMAND vdvPoolControl, 'PASS=#VBAT?'

    and this works just fine.

    Again, thanks for your help

    Rich
  • richsrichs Posts: 13
    New Jandy Code

    Hi Dave,
    I finally rolled my own code also. I found that the Jandy controller locked up nearly daily and this was due to the module overflowing the RS Converter input buffer. So I wrote code which set up a round-robin query with a watchdog timeline so that the converter could be reset if it took too long to respond. But once I got the code debugged, the converter never locked up again. To prevent lockup I simply send a command (or status query) and wait for the response before sending another. If a touch panel button event calls for a change in a pool-related item, I push the request on a stack and pull it off at the next query time instead of the next query item in line. I permit five items on the stack, but I don't think that anyone could push buttons that fast (or have the touch panels respond). The response time of the Jandy system is usually under 1/2 second (i.e., over 75% of the time) but some commands take up to 1.5 seconds. Very occasionally it takes over 10 seconds (!) to respond; I believe this is due not to the RS Converter but to the actual Pool Equipment Master. My watchdog will reset the Converter if it takes 60 seconds to respond, but this has never happened since I last touched the code, last month.
    Anyway, all works perfectly now - response to a touch panel command is usually under 500 milliseconds, and NO LOCKUPS!
    Thanks again for your help on the VBAT query.
    Aloha from Maui
    Rich
  • DHawthorneDHawthorne Posts: 4,584
    I had to put a reset function in my module too. The lock-up issue has existed with those interfaces for years.
  • ProdigalProdigal Posts: 90
    I actually had to put a restart on the jandy interface, if there was no communication for over X time (can't recall the time now), it would cut the power to it, and restart it.

    That thing blocked more often then my laptop!

    Since I didn't had much time for that project I used the actual Jandy module, but ended up changing it so much, and putting so many things just in comments that I should have wrote one myself.. Well, knowledge for the future, I guess.
Sign In or Register to comment.