-
Notifications
You must be signed in to change notification settings - Fork 97
Pumps
tagyoureit edited this page Aug 25, 2021
·
9 revisions
This Page is for historical reference. Some pumps had the ability to be controlled by directly communicating with them and seeting one of 4 speeds. However, all of these pumps can now be controlled directly from njsPC/Nixie just like a Pentair controller.
This page lists the messages that are sent by the pump. This application is built around systems that have a modern Pentair pool controller (EasyTouch, et al). ~~If you want to control the pumps directly, without the use of a pool controller, see this [CocoonTech thread](http://cocoontech.com/forums/topic/13548-intelliflow-pump-rs485-protocol) (registration required).~~ This application will now read all of the pump commands.
Action | Mode\Command | Description |
---|---|---|
<01> | <02><96> | Speed mode set to |
<01> | <03><33> | Run the following Ext. Program <00><00>=Off, <00><08>=1, <00><10>=2, <00><18>=3, <00><20>=4 |
<01> | <03><39> | Set Speed Setting Program 1 to speed in rpm |
<01> | <03><40> | Set Speed Setting Program 2 to speed in rpm |
<01> | <03><41> | Set Speed Setting Program 3 to speed in rpm |
<01> | <03><42> | Set Speed Setting Program 4 to speed in rpm |
<01> | <03><43> | set pump timer to minutes (or might be hour:min??) |
<01> | <04><196> | set pump to rpm speed |
<01> | <04><228> | set pump to gpm speed |
<04> | <00> | set pump control panel to local (local panel on) |
<04> | <255> | set pump to remote control (local panel off) |
<05> | <00> | set pump to filter |
<05> | <01> | set pump to manual |
<05> | <02> | set pump to speed 1 |
<05> | <03> | set pump to speed 2 |
<05> | <04> | set pump to speed 3 |
<05> | <05> | set pump to speed 4 |
<05> | <06> | set pump to feature 1 |
<06> | <04> | Turn pump off |
<06> | <10> | Turn pump on |
<07> | Request/Return Status | |
<09> | <02><96> | run pump at <00> xx gpm (from Intellitouch) |
Request
Byte | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
Example | 96 | 16 | 7 | 0 | 1 | 28 |
Response
Byte | 1 | 2 | 3 | 4 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 0 | 1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Example | 16 | 96 | 7 | 15 | 10 | 0 | 0 | 0 | 170 | 4 | 226 | 0 | 0 | 0 | 0 | 0 | 1 | 22 | 14 | 2 | 234 |
Byte | Known? | Definition | Details |
---|---|---|---|
1 | Y | Destination | Destination Address of message |
2 | Y | Source Address | Sender Addresses of message |
3 | Y | Action | 7 = Status |
4 | Y | Length | Number of bytes in the message after this byte |
0 | Y | Command | 4=Off; 10=On |
1 | Y | Mode | No desc. |
2 | Y | Drive state | No desc. |
3 | Y | Watts High Bit | This bit * 256 + low bit = total watts |
4 | Y | Watts Low Bit | |
5 | Y | RPM High Bit | This bit * 256 + low bit = total RPM |
6 | Y | RPM Low Bit | |
7 | Y | Flow | VF pump flow |
8 | Y | PPC | VF Filter % used |
9 | N | Maybe timer? | |
10 | N | Maybe timer? | |
11 | Y | Status L | Status message bit low |
12 | Y | Status H | Status message bit high |
13 | Y | Hours | Hour of actual time |
14 | Y | Min | Mins of actual time |
0 | Y | Checksum High Bit | This bit * 256 + low bit = checksum |
1 | Y | Checksum Low Bit |
Request
Byte | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
Example | 96 | 16 | 1 | 4 | 3 | 39 | 2 | 238 | 2 | 52 |
Byte | Known? | Definition | Details |
---|---|---|---|
1 | Y | Destination | Destination Address of message |
2 | Y | Source Address | Sender Addresses of message |
3 | Y | Action | 1=Set speed mode |
4 | Y | Length | Number of bytes in the message after this byte |
5 | Y | Mode/Command | 3=Run program |
6 | Y | Action | 33=Run program XX/Turn off pump 39=Save Program 1 as XX Speed 40=Save Program 2 as XX Speed 41=Prog3 42=Prog4 43=Set pump time for XX mins |
7 | Y | High bit | if save program, the high*256+low=RPM. If timer, hh:mm or mm:mm(?) in low bit & high bit. |
8 | Y | Low Bit | If Run then 0=off; 8=Prog1; 16=Prog2;24=Prog3;32=Prog4 (Low bit will be 0) |
9 | Y | Checksum High Bit | This bit * 256 + low bit = checksum |
10 | Y | Checksum Low Bit |
Response
Byte | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
Example | 34 | 96 | 1 | 2 | 3 | 232 | 2 | 21 |
Byte | Known? | Definition | Details |
---|---|---|---|
1 | Y | Destination | Destination Address of message |
2 | Y | Source Address | Sender Addresses of message |
3 | Y | Action | 1=Speed mode set |
4 | Y | Length | Number of bytes in the message after this byte |
5 | Y | Speed Mode High | (256)*this byte+byte 5 |
6 | Y | Speed Mode Low | |
7 | Y | Checksum High Bit | This bit * 256 + low bit = checksum |
8 | Y | Checksum Low Bit |
Request
Byte | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|
Example | 96 | 16 | 4 | 1 | 255 | 2 | 25 |
Response
Byte | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|
Example | 16 | 96 | 4 | 1 | 255 | 2 | 25 |
Byte | Known? | Definition | Details |
---|---|---|---|
1 | Y | Destination | Destination Address of message |
2 | Y | Source Address | Sender Addresses of message |
3 | Y | Action | 4 = Pump Control Panel On\Off |
4 | Y | Length | Number of bytes in the message after this byte |
5 | Y | Mode/Command | 0=Set pump control panel (local) on; 255=Set pump control panel (local) off |
6 | Y | Checksum High Bit | This bit * 256 + low bit = checksum |
7 | Y | Checksum Low Bit |
16:55:52.137 VERBOSE Sent Packet 255,0,255,165,0,96,34,1,4,3,33,0,8,1,88 Try: 1
16:55:52.150 DEBUG Msg# 7 Msg received: 34,96,1,2,0,8,1,50
Msg written: 255,0,255,165,0,96,34,1,4,3,33,0,8,1,88
Match?: true
16:55:52.164 VERBOSE Msg# 7 Pump1: Speed Set to 8 rpm: [34,96,1,2,0,8,1,50]