Pool Control (PI) HTTP Command Reference

From Autelis

Jump to: navigation, search

Contents

HTTP Commands

Pool Control uses simple HTTP GET commands to pass status information and commands back and forth to clients. You can use these commands to integrate Pool Control into other network-enabled controllers and software packages. Access to these resources requires you to pass the username 'admin' and your password via HTTP Basic Authentication in the HTTP header for all requests.

Status Information

Status information can be retrieved from http://poolcontrol/status.xml or http://your.ip.address/status.xml.


This XML document contains all the status information available from Pool Control and can be easily parsed for individual values.


The document root node is <response>. It has three child nodes which contain the status values. They are: <system>, <equipment>, and <temp>. They are enumerated below along with their child nodes and possible values. NOTE: If a child node has a null value then it is not available because it is not supported by the specific Intellitouch® model or configuration.

<response>

<system>
<runstate>
Definition: The current state of the Pool Control device
Possible values: 1-50
1 = Starting Up
2-49 = Getting Data
50 = Connected and Ready
</runstate>
<model>
Definition: The model of the Intellitouch® controller
Possible values: 0-5 (0 = i5+3, 1 = i7+3, 2 = i9+3, 3 = i5+3S, 4 = i9+3S, 5 = i10+3D)
</model>
<opmode>
Definition: The current state of the Intellitouch® controller
Possible values: 0 = Auto, 1 = Service/Timeout
</opmode>
<freeze>
Definition: The state of freeze protect
Possible values: 0 = Off, 1 = On
</freeze>
<sensor1>
Definition: The state of sensor 1 (water sensor)
Possible values: 0 = OK, 1 = ERROR
</sensor1>
<sensor2>
Definition: The state of sensor 2 (solar sensor)
Possible values: 0 = OK, 1 = ERROR
</sensor2>
<sensor3>
Definition: The state of sensor 3 (air sensor)
Possible values: 0 = OK, 1 = ERROR
</sensor3>
<sensor4>
Definition: The state of sensor 4 (water sensor 2)
Possible values: 0 = OK, 1 = ERROR
</sensor4>
<sensor5>
Definition: The state of sensor 5 (solar sensor 2)
Possible values: 0 = OK, 1 = ERROR
</sensor5>
<version>
Definition: The firmware version of the Pool Control device
Possible values: string
</version>
<time>
Definition: The time as kept by the Pool Control device
Possible values: Unix timestamp
</time>
</system>
<equipment>
<circuit1>
Definition: The current state of circuit 1 (Spa or Lo-Temp)
Possible values: 0-1
0 = Off
1 = On
</circuit1>

...

<circuit6>
Definition: The current state of circuit 6 (Pool or Hi-Temp)
Possible values: 0-1
0 = Off
1 = On
</circuit6>

...

<circuit10>
Definition: The current state of circuit 10
Possible values: 0-1 for AUX; for dimmers 0, 3-10
0 = Off
1 = On
3-10 = Dim Level / 10, e.g. 3 = 30% (dimmers only)
</circuit10>
<feature1>
Definition: The current state of feature/macro 1
Possible values: 0-1; for dimmers 0, 3-10
0 = Off
1 = On
3-10 = Dim Level / 10, e.g. 3 = 30% (dimmers only)
</feature1>

...

<feature10>
Definition: The current state of feature/macro 10
Possible values: 0-1
0 = Off
1 = On
</feature10>
</equipment>
<temp>
<htstatus>
Definition: The current heater status
Possible values: 4-bit value (bit0 = pool heat, bit1 = spa heat, bit2 = pool solar, bit3 = spa solar; 0 = off/standby, 1 = heating)
</htstatus>
<poolht>
Definition: The current pool/hi-temp heater settings
Possible values: 0 = off, 1 = heater, 2 = solar preferred, 3 = solar only
</poolht>
<spaht>
Definition: The current spa/lo-temp heater settings
Possible values: 0 = off, 1 = heater, 2 = solar preferred, 3 = solar only
</spaht>
<poolsp>
Definition: The current pool/hi-temp setpoint
Possible values: positive integer
</poolsp>
<spasp>
Definition: The current spa/lo-temp setpoint
Possible values: positive integer
</spasp>
<pooltemp>
Definition: The current pool temperature
Possible values: positive integer
Note: Only accurate when pool is running
</pooltemp>
<spatemp>
Definition: The current spa temperature
Possible values: positive integer
Note: Only accurate when spa is running
</spatemp>
<airtemp>
Definition: The current air temperature
Possible values: positive integer
</airtemp>
<tempunits>
Definition: The selected units for temperature
Possible values: one character
F = Fahrenheit
C = Celsius
</tempunits>
</temp>

</response>

Name Information

Circuit and feature name information can be retrieved from http://poolcontrol/names.xml or http://your.ip.address/names.xml.

Chemistry Information

Information from a chlorinator or chemical automation device can be retrieved from http://poolcontrol/chem.xml or http://your.ip.address/chem.xml

The document root node is <response>. It has two child nodes which contain the status values. They are enumerated below along with their child nodes and possible values. NOTE: If a child node has a null value then it is not available because it is not supported by the specific Intellitouch® model or configuration.

<response>

<chlor>
<chloren>
Definition: Indicates whether the chlorinator is enabled
Possible values: 0,1
</chloren>
<poolsp>
Definition: Pool chlorination setpoint
Possible values: 0-100
</poolsp>
<spasp>
Definition: Spa chlorination setpoint
Possible values: 0-100
</spasp>
<salt>
Definition: Salt level
Possible values: 0-255
Note: For actual salt value in ppm multiply by 50
</salt>
<super>
Definition: Super chlorination hours remaining
Possible values: 0-24
</super>
<chlorerr>
Definition: Chlorinator error bitflags
Possible values: 8-bit value (0 = no errors)
Error strings from LSB to MSB: [ "Check Flow/PCB","Low Salt","Very Low Salt","High Current","Clean Cell","Low Voltage","Water Temp Low","No Comm" ]
</chlorerr>
<chlorname>
Definition: Pool chlorinator model name
Possible values: string
</chlorname>
</chlor>
<ichem>
Definition: Chemical automation controller parameters
Possible values: comma separated array
Note: under development, format may change
</ichem>

</response>

Variable Speed Pump Information

Information for variable speed pumps can be retrieved from http://poolcontrol/pumps.xml or http://your.ip.address/pumps.xml

The document root node is <response>. It has two child nodes which contain the status values. They are enumerated below along with their child nodes and possible values. NOTE: If a child node has a null value then it is not available because it is not supported by the specific Intellitouch® model or configuration.

<response>

<pumps>
<pump1>
Definition: Pump status
Possible values: comma separated array of length 3 (Intelliflo VS) or 5 (Intelliflo VF)
First value: Pump watts
Second value: Pump RPM
Third value (VF): Pump GPM
Fourth value (VF): Filter Status (%)
Last value: Pump error bitflags (16-bit value, 0 = no error)
LSb to MSb [ "OK","Filter Warning","??","Priming Alarm","System Blocked","Unknown Alarm","Over Temperature","Power Outage","Over Current","Over Voltage","??","??","??","??","??","No Communication" ]
</pump1>
...
<pump8>
</pump8>
</pumps>

</response>

Control Commands

Control commands can be sent through a HTTP GET request to http://poolcontrol/set.cgi or http://your.ip.address/set.cgi. A set command will return the text '1' indicating that the command was received. However you must check the status.xml information to see if the command was successful. Depending on the type of command, there may be a small delay in updating the status information. New commands should only be sent when Pool Control is in the 'Connected and Ready' runstate.


To change the value of something in the equipment listing, send a command similar to the following:

http://poolcontrol/set.cgi?name=circuit1&value=1
name = the XML node name of the equipment you want to adjust
value = the value you want to assign to the equipment

To change the value of a dimmer, send a command similar to the following:

http://poolcontrol/set.cgi?name=circuit1&dim=5
name = the XML node name of the equipment you want to adjust
value = the value you want to assign to the dimmer (3-10)

To change the value of a setpoint in the temperature listing, send a command similar to the following:

http://poolcontrol/set.cgi?name=poolsp&temp=up
name = the XML node name of the setpoint you want to adjust
temp = can either be an integer value for temperature or 'up'/'dn' to adjust by 1 degree
Note: You cannot exceed the low and high temperature limits enforced by the Intellitouch® system. Any temperatures outside the acceptable range will have no effect.


To change the value of a heat setting in the temperature listing, send a command similar to the following:

http://poolcontrol/set.cgi?name=poolht&hval=0
name = the XML node name of the setting you want to adjust
hval = can either be an integer value 0-3 or the string 'next' to cycle through settings

To activate a lighting command, send a command similar to the following:

http://poolcontrol/lights.cgi?val=alloff
Possible values: alloff, allon, csync, cset, cswim, party, romance, caribbean, american, sunset, royalty, blue, green, red, white, magenta, hold, recall


To change the value of a chlorination setting, send a command similar to the following:

http://poolcontrol/chlor.cgi?pool=50
key = the XML node name of the setting you want to adjust (en, pool, spa, super)
value = 0 or 1 for enable, 0-100 for pool and spa, 0-24 for super
Personal tools