the same cmds

I got from same thread

send motor the "set demand" command in Jandy format
10 02 78 44 00 10 00 27 05 10 03 - Jandy command
10 02 00 1F 44 00 10 27 00 AC 10 03 - Motor responds!!!

then
10 02 78 41 CB 10 03 - go command
10 02 00 01 41 00 54 10 03 - motor's response and motor starts!!!!
 
Do you have a Jandy VS FloPro with JEP-R controller? When you issue those commands what speed (RPM) does it show on the pump?

You could also send the following command to request status. Please post back the response so we can attempt to see what it contains.

10 02 78 43 CD 10 03
 
Last edited:
Yes guinness I don't have it now -- maybe I will get it next month,

But if you have any theoretical idea or any good web link - how Jandy controlling 16 VSPs How they have addressed logic
Jandy protocol supports 4 VSP ID's, while Pentair protocol supports 16 ID's. Both Jandy and Pentair controllers can read / write each others protocols and for the most part the different protocols don't clash being on the same 485 bus. IE, a Pentair controller can control a Jandy Salt Water Generator. (In fact that's the default mode for Pentair). Some VSP's can also be set to use the different protocols, so you can set some Jandy VSP's to use the Pentair protocol.
  • Pentair pump ID's
    • 0x60 to 0x6F (0x60, 0x61 0x62, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F)
  • Jandy pump ID's
    • 0x78, 0x79, 0x7A, 0x7B
So for a Jandy controlling 16 VSP's, it could simply be using the Pentair protocol. Another way, Jandy also have some controllers that act as extension boards and a bridge that create a new RS485 bus, so the other way (in theory) could be 1 Jandy master controller and 3 Jandy slave controllers, creating 4 separate RS485 bus's that would give you ability to control 16 VSP's using the Jandy protocol. You'd have to be more specific on where you got that 16 number from to see what was going on.

Their are some ID's I've yet to decode on the Jandy protocol, (0x90 -> 0x93 & 0x98 -> 0x9b) so maybe some pumps could be address in those ranges, but I can't say I've seen any VSP documentation to support that.
 
  • Like
Reactions: zafarpatel7
For anybody wo is still interested in this topic - I have done some analysis of this protocol as well as captured the data between my pump's built in control panel (Jandy JEP-R equivalent) and the pump (Zodiac FloPro VS). The Jandy protocol uses the same command function numbers and addresses as used in the Modbus protocol manual linked previously, but with Jandy header, checksum and terminator. The modbus manual provides details on all the function codes and addresses as well as data formats (e.g. When reading speed we need to swap bytes and then divide the reult by 4)

Below is my analysis of the protocol (borrowing from previous posts)

Request
[0x10, 0x02] = Preamble
[0x78] = Destination Address (pump is always 0x78)
[0x44] = Function Byte
[0x00, 0x10, 0x27] = Payload Data (Variable length)
[0x05] = Checksum
[0x10, 0x03] = Terminator

Checksum
In the Jandy protocol it appears that it calculates a two-byte checksum but only uses the least significant byte.
So 0x10 + 0x02 + 0x78 + 0x44 + 0x00 + 0x10 + 0x27 = 0x105 & 0x00FF = 0x05

Response:
[0x10, 0x02] = Preamble
[0x00] = Destination Address - Always 00 on response to request (Broadcast?)
[0x1F] = Not sure - always seems to be 01 or 1F on response (01 from Go command)
[0x44] = Function Byte (demand)
[0x00, 0x10, 0x27] = Payload
[0x05] = Checksum
[0x10, 0x03] = Terminator

Function Bytes:
[0x41] = Go
[0x42] = Stop
[0x43] = Status request
Status response: 0x00=Stopped, 0x09=Starting, 0x0B=Run, 0x20=Fault
[0x44] = Set Demand (Payload data required: Mode=0, DemandLo=0-0xFF, DemandHi=0-0xFF)
[0x45] = Read Sensor (Payload data required: Page=0-4, Address=0-0xFF) - refer Modbus manual Appendix A for mapping
Response data = Page, Address, ValueLo, ValueHi (need to swap bytes)
[0x46] = Read Identification (Payload data required: Page=0-4, Address=0-0xFF, Length=parameters req -1)
[0x64] = Config read/write )Payload data required, Page, address, length
[0x65] = Store Configuration


Examples:
Status request:
10 02 78 43 CD 10 03
10 02 00 1F 43 0B 00 00 00 7F 10 03
Response 0B = Run Mode


Read Speed (sensor - 45, Page = 0, Address = 0):
10 02 78 45 00 00 CF 10 03 Packet
10 02 00 1F 45 00 00 54 1B E5 10 03 Packet
Response = 54 1B Swap bytes then /4 : 0x1B54= 6996d / 4 = 1749rpm

Read Power (sensor - 45, Page = 0, Address = 5):
10 02 78 45 00 05 D4 10 03
10 02 00 1F 45 00 05 F4 00 6F 10 03
Response =F4 00, Swaped = 0x00F4 = 244W


send motor the "set demand" command in Jandy format
10 02 78 44 00 10 00 27 05 10 03 - Jandy command
10 02 00 1F 44 00 10 27 00 AC 10 03 - Motor responds!!!

Go Command (run):
10 02 78 41 CB 10 03 - go command
10 02 00 01 41 00 54 10 03 - motor's response and motor starts!!!!

Attached is an annotated capture log with a few minutes of comms including starting the pump.
I have used this to develop a Node Red flow to monitor the communication and pass the status, speed and power to Home Assistant
 

Attachments

  • JandyPumpLogStopStart_hex.zip
    20.2 KB · Views: 20

Enjoying this content?

Support TFP with a donation.

Give Support
For anybody wo is still interested in this topic - I have done some analysis of this protocol as well as captured the data between my pump's built in control panel (Jandy JEP-R equivalent) and the pump (Zodiac FloPro VS). The Jandy protocol uses the same command function numbers and addresses as used in the Modbus protocol manual linked previously, but with Jandy header, checksum and terminator. The modbus manual provides details on all the function codes and addresses as well as data formats (e.g. When reading speed we need to swap bytes and then divide the reult by 4)

Below is my analysis of the protocol (borrowing from previous posts)



Attached is an annotated capture log with a few minutes of comms including starting the pump.
I have used this to develop a Node Red flow to monitor the communication and pass the status, speed and power to Home Assistant
@brentk thank you for cracking the code of the crossover between the MODBUS command set to the Jandy command protocol. This is the first time I personally have seen this documented in the wild.
 
  • Like
Reactions: brentk
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.