Thanks to @devbobo's original work and assistance of @thehoff
- 1. Logging into SpaNET
- 2. Spa Socket
- 3. Spa Status
- 4. Commands
- 5. Raw command list
- 6. Reading Spa Data
- 6.1. Spa Status
- 6.1.1. Set Temperature
- 6.1.2. Water Temperature
- 6.1.3. Heater Temperature
- 6.1.4. Pool Temperature
- 6.1.5. Heating
- 6.1.6. Cleaning (UV/Ozone running)
- 6.1.7. Cleaning (Sanitise cycle running)
- 6.1.8. Auto
- 6.1.9. Sleeping
- 6.1.10. Water Present
- 6.1.11. Awake Minutes Remaining
- 6.1.12. Filter Pump Runtime Total
- 6.1.13. Filter Pump Req Minutes
- 6.1.14. Load Timeout
- 6.1.16. Hour Meter
- 6.1.17. Relay 1
- 6.1.18. Relay 2
- 6.1.19. Relay 3
- 6.1.20. Relay 4
- 6.1.21. Relay 5
- 6.1.22. Relay 6
- 6.1.23. Relay 7
- 6.1.24. Relay 8
- 6.1.25. Relay 9
- 6.2. Pumps
- 6.3. Blower
- 6.4. Lights
- 6.5. Settings
- 6.6. Operating Environment
- 6.7. OEM Settings
- 6.1. Spa Status
To obtain your Encrypted Password for use below, use the utility for your platform from @thehoff's SpaNET Password Hash Generator
POST
https://api.spanet.net.au/api/MemberLogin
Request:
{
"login": [Username],
"api_key": "4a483b9a-8f02-4e46-8bfa-0cf5732dbbd5",
"password": [Encrypted Password]
}
Response:
{
"data": {
"email": null,
"id_member": [MemberId],
"login": [Username],
"name": null,
"password": null,
"notification_enabled": 1,
"id_session": [SessionId]
},
"error": null,
"error_code": null,
"message": null,
"success": true
}
GET
https://api.spanet.net.au/api/membersockets?id_member=[MemberId]&id_session=[SessionId]
Response:
{
"data": {
"email": null,
"id_member": 0,
"login": null,
"name": null,
"password": null,
"notification_enabled": 0,
"id_session": null
},
"sockets": [{
"id": [SocketId],
"active": "1",
"id_member": [MemberId],
"id_sockets": [SocketId],
"mac_addr": [MacAddress],
"moburl": [WebSocketUrl]:9090,
"name": [SpaName],
"spaurl": [WebSocketUrl]:9090,
"signalStrength": -69,
"error": false
}],
"error": null,
"error_code": null,
"message": "",
"success": true
}
Open TCP Socket to [WebUrl]
port 9090
, then send:
Request:
<connect--[SocketId]--[MemberId]>
Response:
Successfully connected
Get the current status of the spa.
Request:
RF\n
Sample Response:
RF:
,R2,18,250,51,70,4,13,50,55,19,6,2020,376,9999,1,0,490,207,34,6000,602,23,20,0,0,0,0,44,35,45,:
,R3,32,1,4,4,4,SW V5 17 05 31,SV3,18480001,20000826,1,0,0,0,0,0,NA,7,0,470,Filtering,4,0,7,7,0,0,:
,R4,NORM,0,0,0,1,0,3547,4,20,4500,7413,567,1686,0,8388608,0,0,5,0,98,0,10084,4,80,100,0,0,4,:
,R5,0,1,0,1,0,0,0,0,0,0,1,0,1,0,376,0,3,4,0,0,0,0,0,1,2,6,:
,R6,1,5,30,2,5,8,1,360,1,0,3584,5120,127,128,5632,5632,2304,1792,0,30,0,0,0,0,2,3,0,:
,R7,2304,0,1,1,1,0,1,0,0,0,253,191,253,240,483,125,77,1,0,0,0,23,200,1,0,1,31,32,35,100,5,:
,R9,F1,255,0,0,0,0,0,0,0,0,0,0,:
,RA,F2,0,0,0,0,0,0,255,0,0,0,0,:
,RB,F3,0,0,0,0,0,0,0,0,0,0,0,:
,RC,0,1,1,0,0,0,0,0,0,2,0,0,1,0,:
,RE,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,-4,13,30,8,5,1,0,0,0,0,0,:*
,RG,1,1,1,1,1,1,1-1-014,1-1-01,1-1-01,0-,0-,0,:*
Full documentation of parsing this data is below at section 7
NOTE - Make sure to include newline (\n) after all websocket commands
Set the target temperature for the spa.
Request:
W40:nnn
Response:
nnn
where nnn
denotes temperature in celsius * 10 between 5.0
-41.0
c (ie: for 35.6c, nnn
= 356)
Start (or cancel) a Clean cycle.
Request:
W12
Response:
W12
Control Pump 1.
Request:
S22:n
Response:
S22-OK
where n
denotes
0
- Off1
- On4
- Auto
Control Pump 2.
Request:
S23:n
Response:
S23-OK
where n
denotes
0
- Off1
- On
Control Pump 3.
Request:
S24:n
Response:
S24-OK
where n
denotes
0
- Off1
- On
Control Pump 4, if installed (section 6.2 shows how to check whether pumps are installed).
Request:
S25:n
Response:
S25-OK
where n
denotes
0
- Off1
- On
Control Pump 5, if installed (section 6.2 shows how to check whether pumps are installed).
Request:
S26:n
Response:
S26-OK
where n
denotes
0
- Off1
- On
Control the Blower.
Request:
S28:n
Response:
S28-OK
where n
denotes
0
- Variable1
- Ramp2
- Off
Set the variable speed of the blower.
Request:
S13:n
Response:
n S13
where n
denotes speed 1
-5
Toggle the state of the lights (on/off). Other commands should be sent first to set the brightness, mode, effect speed and colour if applicable otherwise last used settings will be applied.
Request:
W14
Response:
W14
Turn all lights off.
Request:
S11
Response:
S11
Set the mode for the lights.
Request:
S07:n
Response:
n S07
where n
denotes
0
- White1
- Colour2
- Fade3
- Step4
- Party
Set the brightness for the lights.
Request:
S08:n
Response:
n S08
where n
denotes brightness 1
-5
Set the effect speed for the lights. Only applicable for modes fade, step and party.
Request:
S09:n
Response:
n S09
where n
denotes effect speed 1
-5
Set the colour for the lights. Only applicable for colour mode.
Request:
S10:n
Response:
n S10
where n
denotes colour 0
-30
Set the operation mode.
Request:
W66:n
Response:
n
where n
denotes
0
- Norm1
- Econ2
- Away3
- Week
Set the filtration runtime.
Request:
W60:n
Response:
n
where n
denotes hours between 1
-24
.
Set the time between filtration cycles.
Request:
W90:n
Response:
n
where n
denotes hours as
1
- 1 hr2
- 2 hr3
- 3 hr4
- 4 hr6
- 6 hr8
- 8 hr12
- 12 hr24
- 24 hr
Set the state of sleep timer 1.
Request:
W67:n
Response:
n
where n
denotes
128
- Off127
- Everyday96
- Weekends31
- Weekdays
Set the start time of sleep timer 1 in 24-hour time.
Request:
W68:nnnn
Response:
nnnn
where nnnn
denotes time between 0
-5947
with the formula h*256+m
(ie: for 20:00, nnnn
= 20*256+0 = 5120; for 13:47, nnnn
= 13*256+47 = 3375)
Set the finish time of sleep timer 1 in 24-hour time.
Request:
W69:nnnn
Response:
nnnn
where nnnn
denotes time between 0
-5947
with the formula h*256+m
(ie: for 20:00, nnnn
= 20*256+0 = 5120; for 13:47, nnnn
= 13*256+47 = 3375)
Set the state of sleep timer 2.
Request:
W70:n
Response:
n
where n
denotes
128
- Off127
- Everyday96
- Weekends31
- Weekdays
Set the start time of sleep timer 2 in 24-hour time.
Request:
W71:nnnn
Response:
nnnn
where nnnn
denotes time between 0
-5947
with the formula h*256+m
(ie: for 20:00, nnnn
= 20*256+0 = 5120; for 13:47, nnnn
= 13*256+47 = 3375)
Set the finish time of sleep timer 2 in 24-hour time.
Request:
W72:nnnn
Response:
nnnn
where nnnn
denotes time between 0
-5947
with the formula h*256+m
(ie: for 20:00, nnnn
= 20*256+0 = 5120; for 13:47, nnnn
= 13*256+47 = 3375)
Set the Power Save option.
Request:
W63:n
Response:
n
where n
denotes
0
- Off1
- Low2
- High
Set the start of the Peak Power Time, in hours and minutes.
Request:
W64:nnnn
Response:
nnnn
where nnnn
denotes time between 0
-5947
with the formula h*256+m
(ie: for 20:00, nnnn
= 20*256+0 = 5120; for 13:47, nnnn
= 13*256+47 = 3375)
Set the end of the Peak Power Time, in hours and minutes.
Request:
W64:nnnn
Response:
nnnn
where nnnn
denotes time between 0
-5947
with the formula h*256+m
(ie: for 20:00, nnnn
= 20*256+0 = 5120; for 13:47, nnnn
= 13*256+47 = 3375)
Set the Auto Sanitise starting time.
Request:
W73:nnnn
Response:
nnnn
where nnnn
denotes time between 0
-5947
with the formula h*256+m
(ie: for 20:00, nnnn
= 20*256+0 = 5120; for 13:47, nnnn
= 13*256+47 = 3375)
Set the Time Out duration for pumps and blower.
Request:
W74:nn
Response:
nn
where nn
denotes time in minutes from 10
-60
Set the Heat Pump Mode.
Request:
W99:n
Response:
n
where n
denotes
0
- Auto1
- Heat2
- Cool3
- Disabled
Turn on/off SV Element Boost.
Request:
W98:n
Response:
n
where n
denotes
0
- Off1
- On
Set the hour of the day for the spa.
Request:
S04:nn
Response:
nn
S04
where nn
denotes hour of the day from 0
-23
Set the minute of the hour for the spa.
Request:
S05:nn
Response:
nn
S05
where nn
denotes minute of the hour from 00
-59
Set the year for the spa.
Request:
S01:nnnn
Response:
nnnn
S01
where nnnn
denotes a valid year from 1970
-2037
(correct 2021)
Set the month for the spa.
Request:
S02:nn
Response:
nn
S02
where nn
denotes the month represented by a number from 1
-12
Set the day for the spa.
Request:
S03:nn
Response:
nn
S03
where nn
denotes the day represented from 1
-31
(must be a valid day for the current month)
Set support mode on/off for the spa with a pin.
POST
https://api.spanet.net.au/api/MemberLogin
Request:
{
"login": [Username],
"pin": [Pin],
"password": [Encrypted Password]
}
Response:
{
"error": null,
"error_code": null,
"message": null,
"success": true
}
where Pin is either a 6-digit pin which will be used as the support code to turn it on (should be randomly generated by code), or a blank string to turn it off ("").
Set the Lock Mode.
Request:
S21:n
Response:
n
where n
denotes
0
- Off1
- Partial2
- Full
Set push notification mode on/off
GET
https://api.spanet.net.au/api/membersetnotification?login=[Username]&password=[Encrypted Password]&token=(null)¬ificationOnOff=[Bool]&type=1
Response:
{
"error": null,
"error_code": null,
"message": null,
"success": true
}
where Bool is either true for notifications on, or false for notifications off.
S01 - Date / Year
S02 - Date / Month
S03 - Date / Day
S04 - Time / Hour
S05 - Time / Minute
S06 - Time / N/A
S07 - Lights / Mode
S08 - Lights / Brightness
S09 - Lights / Effect Speed
S10 - Lights / Colour
S11 - Lights / Off
S13 - Blower / Variable Speed
S21 - Settings / Lock Mode
S22 - Pumps / Pump 1
S23 - Pumps / Pump 2
S24 - Pumps / Pump 3
S25 - Pumps / Pump 4
S26 - Pumps / Pump 5
S27 - Pumps / Pump Variable
S28 - Blower / Blower
W12 - Clean / Sanitise
W14 - Lights / Toggle
W40 - Spa / Temperature
W60 - Filtration / Runtime
W63 - Settings / Power Save
W64 - Settings / Power Save / Peak Power Time Begin
W65 - Settings / Power Save / Peak Power Time End
W66 - Settings / Operation Mode
W67 - Sleep Timers / Sleep Timer 1 State
W68 - Sleep Timers / Sleep Timer 1 Start Time
W69 - Sleep Timers / Sleep Timer 1 Finish Time
W70 - Sleep Timers / Sleep Timer 2 State
W71 - Sleep Timers / Sleep Timer 2 Start Time
W72 - Sleep Timers / Sleep Timer 2 Finish Time
W73 - Settings / Auto Sanitise
W74 - Settings / Time Out Duration
W90 - Settings / Time Between Filtration Cycles
W98 - Settings / SV Element Boost
W99 - Settings / Heat Pump Mode
NOTE: The command to get spa data is RF\n as shown in section 4
A sample response is:
RF:
,R2,18,250,51,70,4,13,50,55,19,6,2020,376,9999,1,0,490,207,34,6000,602,23,20,0,0,0,0,44,35,45,:
,R3,32,1,4,4,4,SW V5 17 05 31,SV3,18480001,20000826,1,0,0,0,0,0,NA,7,0,470,Filtering,4,0,7,7,0,0,:
,R4,NORM,0,0,0,1,0,3547,4,20,4500,7413,567,1686,0,8388608,0,0,5,0,98,0,10084,4,80,100,0,0,4,:
,R5,0,1,0,1,0,0,0,0,0,0,1,0,1,0,376,0,3,4,0,0,0,0,0,1,2,6,:
,R6,1,5,30,2,5,8,1,360,1,0,3584,5120,127,128,5632,5632,2304,1792,0,30,0,0,0,0,2,3,0,:
,R7,2304,0,1,1,1,0,1,0,0,0,253,191,253,240,483,125,77,1,0,0,0,23,200,1,0,1,31,32,35,100,5,:
,R9,F1,255,0,0,0,0,0,0,0,0,0,0,:
,RA,F2,0,0,0,0,0,0,255,0,0,0,0,:
,RB,F3,0,0,0,0,0,0,0,0,0,0,0,:
,RC,0,1,1,0,0,0,0,0,0,2,0,0,1,0,:
,RE,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,-4,13,30,8,5,1,0,0,0,0,0,:*
,RG,1,1,1,1,1,1,1-1-014,1-1-01,1-1-01,0-,0-,0,:*
Each below aspect of the spa will show which value of this RF fix needs to be read and what it's possible values are. It will say the read line (R2, R3, R4 etc.) and the read bit, which is the index number of the value to read from the line seperated by commas. The first value of each line is index number 2 (the name of each line is index number 1). e.g. If an aspect of the spa was represented by the 70 on line R2, the information for reading it would be Line R2, Read Bit 5.
,R6,1,5,30,2,5,8,1,
360,1,0,3584,5120,127,128,5632,5632,2304,1792,0,30,0,0,0,0,2,3,0,:
Line: R6
Read Bit: 9
Data Type: Integer
Range: 50
to 410
Data: Represents spa set temperature in degrees celcius * 10 (e.g. 360
is 36.00°C and 76
is 7.60°C)
,R5,0,1,0,1,0,0,0,0,0,0,1,0,1,0,
376,0,3,4,0,0,0,0,0,1,2,6,:
Line: R5
Read Bit: 16
Data Type: Integer
Data: Represents spa actual temperature in degrees celcius * 10 (e.g. 360
is 36.00°C and 76
is 7.60°C)
,R2,18,250,51,70,4,13,50,55,19,6,2020,
376,9999,1,0,490,207,34,6000,602,23,20,0,0,0,0,44,35,45,:
Line: R2
Read Bit: 13
Data Type: Integer
Data: Represents heater temperature in degrees celcius * 10 (e.g. 360
is 36.00°C and 76
is 7.60°C)
,R2,0,243,43,223,6,19,14,36,9,1,2022,320,
9999,1,0,106,607,0,147,33207,791,819,0,721,0,0,1673,354,854,241,:
Line: R2
Read Bit: 14
Data Type: Integer
Data: Pool temperature * 10. Note seems to return rubish value on most spas. Use Water Temperature instead.
,R5,0,1,0,1,0,0,0,0,0,0,1,
0,1,0,376,0,3,4,0,0,0,0,0,1,2,6,:
Line: R5
Read Bit: 13
Data Type: Integer
Range: 0
to 1
Data: Integer is 1
when the heater is on (currently heating/cooling the water) and 0
when it is off
,R5,0,1,0,1,0,0,0,0,0,0,
1,0,1,0,376,0,3,4,0,0,0,0,0,1,2,6,:
Line: R5
Read Bit: 12
Data Type: Integer
Range: 0
to 1
Data: Integer is 1
when the Ozone/UV is cleaning the spa and 0
when it is off
,R5,0,1,0,1,0,0,0,0,0,0,1,0,1,0,376,
0,3,4,0,0,0,0,0,1,2,6,:
Line: R5
Read Bit: 17
Data Type: Integer
Range: 0
to 1
Data: Integer is 1
when clean cycle is running and 0
when it is not
,R5,0,1,0,1,0,0,0,0,0,0,1,0,
1,0,376,0,3,4,0,0,0,0,0,1,2,6,:
Line: R5
Read Bit: 14
Data Type: Integer
Range: 0
to 1
Data: Integer is 1
when the auto is enabled and 0
when it is not
,R5,0,1,0,1,0,0,0,0,0,
0,1,0,1,0,376,0,3,4,0,0,0,0,0,1,2,6,:
Line: R5
Read Bit: 11
Data Type: Integer
Range: 0
to 1
Data: Integer is 1
when the spa is currently sleeping due to a sleep timer 0
when it is not
,R2,0,243,43,223,6,19,14,36,9,1,2022,320,9999,
1,0,106,607,0,147,33207,791,819,0,721,0,0,1673,354,854,241,:
Line: R2
Read Bit: 15
Data Type: Integer
Data: 1 = Water present, 0 = No water detected
,R2,0,243,43,223,6,19,14,36,9,1,2022,320,9999,1,0,
106,607,0,147,33207,791,819,0,721,0,0,1673,354,854,241,:
Line: R2
Read Bit: 17
Data Type: Integer
Data: Minutes remaining of Awake time. Note: Clarification of this would be appreciated.
,R2,0,243,43,223,6,19,14,36,9,1,2022,320,9999,1,0,106,
607,0,147,33207,791,819,0,721,0,0,1673,354,854,241,:
Line: R2
Read Bit: 18
Data Type: Integer
Data: Total filter pump run time (min)
,R2,0,243,43,223,6,19,14,36,9,1,2022,320,9999,1,0,106,607,
0,147,33207,791,819,0,721,0,0,1673,354,854,241,:
Line: R2
Read Bit: 19
Data Type: Integer
Data Unit: Minutes
Data: Unsure
,R2,0,243,43,223,6,19,14,36,9,1,2022,320,9999,1,0,106,607,0,
147,33207,791,819,0,721,0,0,1673,354,854,241,:
Line: R2
Read Bit: 20
Data Type: Integer
Data Unit of Measure: Seconds
Data: Unsure
,R2,0,243,43,223,6,19,14,36,9,1,2022,320,9999,1,0,106,607,0,147,
33207,791,819,0,721,0,0,1673,354,854,241,:
Line: R2
Read Bit: 22
Data Type: Integer
Data Unit of Measure: Hours * 10
Data: Hours of runtime. 33207 = 3320.7 hours
,R2,0,243,43,223,6,19,14,36,9,1,2022,320,9999,1,0,106,607,0,147,33207,
791,819,0,721,0,0,1673,354,854,241,:
Line: R2
Read Bit: 23
Data Type: Integer
Data Unit of Measure: Unknown
Data: Unknown
,R2,0,243,43,223,6,19,14,36,9,1,2022,320,9999,1,0,106,607,0,147,33207,791,
819,0,721,0,0,1673,354,854,241,:
Line: R2
Read Bit: 24
Data Type: Integer
Data Unit of Measure: Unknown
Data: Unknown
,R2,0,243,43,223,6,19,14,36,9,1,2022,320,9999,1,0,106,607,0,147,33207,791,819,
0,721,0,0,1673,354,854,241,:
Line: R2
Read Bit: 25
Data Type: Integer
Data Unit of Measure: Unknown
Data: Unknown
,R2,0,243,43,223,6,19,14,36,9,1,2022,320,9999,1,0,106,607,0,147,33207,791,819,0,
721,0,0,1673,354,854,241,:
Line: R2
Read Bit: 26
Data Type: Integer
Data Unit of Measure: Unknown
Data: Unknown
,R2,0,243,43,223,6,19,14,36,9,1,2022,320,9999,1,0,106,607,0,147,33207,791,819,0,721,
0,0,1673,354,854,241,:
Line: R2
Read Bit: 27
Data Type: Integer
Data Unit of Measure: Unknown
Data: Unknown
,R2,0,243,43,223,6,19,14,36,9,1,2022,320,9999,1,0,106,607,0,147,33207,791,819,0,721,0,
0,1673,354,854,241,:
Line: R2
Read Bit: 28
Data Type: Integer
Data Unit of Measure: Unknown
Data: Unknown
,R2,0,243,43,223,6,19,14,36,9,1,2022,320,9999,1,0,106,607,0,147,33207,791,819,0,721,0,0,
1673,354,854,241,:
Line: R2
Read Bit: 29
Data Type: Integer
Data Unit of Measure: Unknown
Data: Unknown
,R2,0,243,43,223,6,19,14,36,9,1,2022,320,9999,1,0,106,607,0,147,33207,791,819,0,721,0,0,1673,
354,854,241,:
Line: R2
Read Bit: 30
Data Type: Integer
Data Unit of Measure: Unknown
Data: Unknown
,R2,0,243,43,223,6,19,14,36,9,1,2022,320,9999,1,0,106,607,0,147,33207,791,819,0,721,0,0,1673,354,
854,241,:
Line: R2
Read Bit: 31
Data Type: Integer
Data Unit of Measure: Unknown
Data: Unknown
,R5,0,1,0,1,0,0,0,0,0,0,1,0,1,0,376,0,3,
4,0,0,0,0,0,1,2,6,:
Line: R5
Read Bit: 19
Data Type: Integer
Range: 0
to 4
Data: Integer is 4
when pump is set to auto, 1
when it is on and 0
when it is off
,RG,1,1,1,1,1,1,
1-1-014,1-1-01,1-1-01,0-,0-,0,:*
Line: RG
Read Bit: 8
Data Type: String
Data: First part (1- or 0-) indicates whether the pump is installed/fitted. If so (1- means it is), the second part (1- above) indicates it's speed type. The third part (014 above) represents it's possible states (0 OFF, 1 ON, 4 AUTO)
,R5,0,1,0,1,0,0,0,0,0,0,1,0,1,0,376,0,3,4,
0,0,0,0,0,1,2,6,:
Line: R5
Read Bit: 20
Data Type: Integer
Range: 0
to 1
Data: Integer is 1
when pump is on and 0
when it is off
,RG,1,1,1,1,1,1,1-1-014,
1-1-01,1-1-01,0-,0-,0,:*
Line: RG
Read Bit: 9
Data Type: String
Data: First part (1- or 0-) indicates whether the pump is installed/fitted. If so (1- means it is), the second part (1- above) indicates it's speed type. The third part (01 above) represents it's possible states (0 OFF, 1 ON)
,RG,1,
1,1,1,1,1,1-1-014,1-1-01,1-1-01,0-,0-,0,:*
Line: RG
Read Bit: 3
Data Type: Integer
Range: 0
to 1
Data: Integer is 1
when the pump is OK to turn on and 0
when it is not
,R5,0,1,0,1,0,0,0,0,0,0,1,0,1,0,376,0,3,4,0,
0,0,0,0,1,2,6,:
Line: R5
Read Bit: 21
Data Type: Integer
Range: 0
to 1
Data: Integer is 1
when pump is on and 0
when it is off
,RG,1,1,1,1,1,1,1-1-014,1-1-01,
1-1-01,0-,0-,0,:*
Line: RG
Read Bit: 10
Data Type: String
Data: First part (1- or 0-) indicates whether the pump is installed/fitted. If so (1- means it is), the second part (1- above) indicates it's speed type. The third part (01 above) represents it's possible states (0 OFF, 1 ON)
,RG,1,1,
1,1,1,1,1-1-014,1-1-01,1-1-01,0-,0-,0,:*
Line: RG
Read Bit: 4
Data Type: Integer
Range: 0
to 1
Data: Integer is 1
when the pump is OK to turn on and 0
when it is not
,R5,0,1,0,1,0,0,0,0,0,0,1,0,1,0,376,0,3,4,0,0,
0,0,0,1,2,6,:
Line: R5
Read Bit: 22
Data Type: Integer
Range: 0
to 1
Data: Integer is 1
when pump is on and 0
when it is off
,RG,1,1,1,1,1,1,1-1-014,1-1-01,1-1-01,
0-,0-,0,:*
Line: RG
Read Bit: 11
Data Type: String
Data: First part (1- or 0-) indicates whether the pump is installed/fitted. If so (1- means it is), the second part indicates it's speed type. The third part represents it's possible states
,RG,1,1,1,
1,1,1,1-1-014,1-1-01,1-1-01,0-,0-,0,:*
Line: RG
Read Bit: 5
Data Type: Integer
Range: 0
to 1
Data: Integer is 1
when the pump is OK to turn on and 0
when it is not
,R5,0,1,0,1,0,0,0,0,0,0,1,0,1,0,376,0,3,4,0,0,0,
0,0,1,2,6,:
Line: R5
Read Bit: 23
Data Type: Integer
Range: 0
to 1
Data: Integer is 1
when pump is on and 0
when it is off
,RG,1,1,1,1,1,1,1-1-014,1-1-01,1-1-01,0-,
0-,0,:*
Line: RG
Read Bit: 12
Data Type: String
Data: First part (1- or 0-) indicates whether the pump is installed/fitted. If so (1- means it is), the second part indicates it's speed type. The third part represents it's possible states
,RG,1,1,1,1,
1,1,1-1-014,1-1-01,1-1-01,0-,0-,0,:*
Line: RG
Read Bit: 6
Data Type: Integer
Range: 0
to 1
Data: Integer is 1
when the pump is OK to turn on and 0
when it is not
,RC,0,1,1,0,0,0,0,0,0,
2,0,0,1,0,:
Line: RC
Read Bit: 11
Data Type: Integer
Range: 0
to 2
Data: Integer is 2
when pump is off, 1
when it is on ramp mode and 0
when it is on variable mode
,R6,
1,5,0,2,5,8,1,360,1,0,3584,5120,127,128,5632,5632,2304,1792,0,30,0,0,0,0,2,3,0,:
Line: R6
Read Bit: 2
Data Type: Integer
Range: 1
to 5
Data: Integer represents blower variable speed from speed 1
to speed 5
,R5,0,1,0,1,0,0,0,0,0,0,1,0,1,
0,376,0,3,4,0,0,0,0,0,1,2,6,:
Line: R5
Read Bit: 15
Data Type: Integer
Range: 0
to 1
Data: Integer is 1
when lights are on 0
when they are off
,R6,1,5,0,
2,5,8,1,360,1,0,3584,5120,127,128,5632,5632,2304,1792,0,30,0,0,0,0,2,3,0,:
Line: R6
Read Bit: 5
Data Type: Integer
Range: 0
to 4
Data: Integer is 0
for mode white, 1
for mode colour, 2
for mode step, 3
for mode fade and 4
for mode party
,R6,1,
5,0,2,5,8,1,360,1,0,3584,5120,127,128,5632,5632,2304,1792,0,30,0,0,0,0,2,3,0,:
Line: R6
Read Bit: 3
Data Type: Integer
Range: 1
to 5
Data: Integer represents brightness from 1
to 5
,R6,1,5,30,2,
5,8,1,360,1,0,3584,5120,127,128,5632,5632,2304,1792,0,30,0,0,0,0,2,3,0,:
Line: R6
Read Bit: 6
Data Type: Integer
Range: 1
to 5
Data: Integer represents effect speed from 1
to 5
,R6,1,5,
0,2,5,8,1,360,1,0,3584,5120,127,128,5632,5632,2304,1792,0,30,0,0,0,0,2,3,0,:
Line: R6
Read Bit: 4
Data Type: Integer
Range: 0
to 30
Data: Integer represents colour from 0
to 30
,R4,
NORM,0,0,0,1,0,3547,4,20,4500,7413,567,1686,0,8388608,0,0,5,0,98,0,10084,4,80,100,0,0,4,:
Line: R4
Read Bit: 2
Data Type: String
Data: NORM
represents normal mode, ECON
economy mode, AWAY
away mode and WEEK
weekdays mode
,R6,1,5,30,2,5,
8,1,360,1,0,3584,5120,127,128,5632,5632,2304,1792,0,30,0,0,0,0,2,3,0,:
Line: R6
Read Bit: 7
Data Type: Integer
Range: 1
to 24
Data: Integer represents hours from 1
to 24
,R6,1,5,30,2,5,8,
1,360,1,0,3584,5120,127,128,5632,5632,2304,1792,0,30,0,0,0,0,2,3,0,:
Line: R6
Read Bit: 8
Data Type: Integer
Range: 1
to 24
Data: Integer represents hours, where possible values are 1
, 2
, 3
, 4
, 6
, 8
, 12
and 24
,R6,1,5,30,2,5,8,1,360,1,0,3584,5120,
127,128,5632,5632,2304,1792,0,30,0,0,0,0,2,3,0,:
Line: R6
Read Bit: 14
Data Type: Integer
Range: 1
to 128
Data: 128
represents off, 127
represents everyday mode, 96
represents weekends mode and 31
represents weekdays mode
,R6,1,5,30,2,5,8,1,360,1,0,3584,5120,127,128,
5632,5632,2304,1792,0,30,0,0,0,0,2,3,0,:
Line: R6
Read Bit: 16
Data Type: Integer
Range: 0
to 5947
Data: Time with the formula h*256+m
(ie: for 20:00, integer will be 20*256+0 = 5120; for 13:47, integer will be 13*256+47 = 3375)
,R6,1,5,30,2,5,8,1,360,1,0,3584,5120,127,128,5632,5632,
2304,1792,0,30,0,0,0,0,2,3,0,:
Line: R6
Read Bit: 18
Data Type: Integer
Range: 0
to 5947
Data: Time with the formula h*256+m
(ie: for 20:00, integer will be 20*256+0 = 5120; for 13:47, integer will be 13*256+47 = 3375)
,R6,1,5,30,2,5,8,1,360,1,0,3584,5120,127,
128,5632,5632,2304,1792,0,30,0,0,0,0,2,3,0,:
Line: R6
Read Bit: 15
Data Type: Integer
Range: 1
to 128
Data: 128
represents off, 127
represents everyday mode, 96
represents weekends mode and 31
represents weekdays mode.
,R6,1,5,30,2,5,8,1,360,1,0,3584,5120,127,128,5632,
5632,2304,1792,0,30,0,0,0,0,2,3,0,:
Line: R6
Read Bit: 17
Data Type: Integer
Range: 0
to 5947
Data: Time with the formula h*256+m
(ie: for 20:00, integer will be 20*256+0 = 5120; for 13:47, integer will be 13*256+47 = 3375)
,R6,1,5,30,2,5,8,1,360,1,0,3584,5120,127,128,5632,5632,2304,
1792,0,30,0,0,0,0,2,3,0,:
Line: R6
Read Bit: 19
Data Type: Integer
Range: 0
to 5947
Data: Time with the formula h*256+m
(ie: for 20:00, integer will be 20*256+0 = 5120; for 13:47, integer will be 13*256+47 = 3375)
,R6,1,5,30,2,5,8,1,360,1,
0,3584,5120,127,128,5632,5632,2304,1792,0,30,0,0,0,0,2,3,0,:
Line: R6
Read Bit: 11
Data Type: Integer
Range: 0
to 2
Data: Integer is 0
for off, 1
for low and 2
for high
,R6,1,5,30,2,5,8,1,360,1,0,
3584,5120,127,128,5632,5632,2304,1792,0,30,0,0,0,0,2,3,0,:
Line: R6
Read Bit: 12
Data Type: Integer
Range: 0
to 5947
Data: Time with the formula h*256+m
(ie: for 20:00, integer will be 20*256+0 = 5120; for 13:47, integer will be 13*256+47 = 3375)
,R6,1,5,30,2,5,8,1,360,1,0,3584,
5120,127,128,5632,5632,2304,1792,0,30,0,0,0,0,2,3,0,:
Line: R6
Read Bit: 13
Data Type: Integer
Range: 0
to 5947
Data: Time with the formula h*256+m
(ie: for 20:00, integer will be 20*256+0 = 5120; for 13:47, integer will be 13*256+47 = 3375)
,R7,
2304,0,1,1,1,0,1,0,0,0,253,191,253,240,483,125,77,1,0,0,0,23,200,1,0,1,31,32,35,100,5,:
Line: R7
Read Bit: 2
Data Type: Integer
Range: 0
to 5947
Data: Time with the formula h*256+m
(ie: for 20:00, integer will be 20*256+0 = 5120; for 13:47, integer will be 13*256+47 = 3375)
,R6,1,5,30,2,5,8,1,360,1,0,3584,5120,127,128,5632,5632,2304,1792,0,
30,0,0,0,0,2,3,0,:
Line: R6
Read Bit: 21
Data Type: Integer
Range: 10
to 30
Data: Integer is time in minutes before pump and blower auto time-out
,R7,2304,0,1,1,1,0,1,0,0,0,253,191,253,240,483,125,77,1,0,0,0,23,200,1,0,
1,31,32,35,100,5,:
Line: R7
Read Bit: 27
Data Type: Integer
Range: 0
to 3
Data: 0
represents auto mode, 1
heat mode, 2
cool mode and 3
disabled mode
,R7,2304,0,1,1,1,0,1,0,0,0,253,191,253,240,483,125,77,1,0,0,0,23,200,1,
0,1,31,32,35,100,5,:
Line: R7
Read Bit: 26
Data Type: Integer
Range: 0
to 1
Data: Integer is 0
when off and 1
when on
,R2,18,250,51,70,4,
13,50,55,19,6,2020,376,9999,1,0,490,207,34,6000,602,23,20,0,0,0,0,44,35,45,:
Line: R2
Read Bit: 7
Data Type: Integer
Range: 0
to 23
Data: Represents hour of the day in 24-hour time
,R2,18,250,51,70,4,13,
50,55,19,6,2020,376,9999,1,0,490,207,34,6000,602,23,20,0,0,0,0,44,35,45,:
Line: R2
Read Bit: 8
Data Type: Integer
Range: 0
to 59
Data: Represents minute of the hour
,R2,18,250,51,70,4,13,50,55,19,6,
2020,376,9999,1,0,490,207,34,6000,602,23,20,0,0,0,0,44,35,45,:
Line: R2
Read Bit: 12
Data Type: Integer
Range: 1970
to 2037
(correct 2021)
Data: Represents current year
,R2,18,250,51,70,4,13,50,55,19,
6,2020,376,9999,1,0,490,207,34,6000,602,23,20,0,0,0,0,44,35,45,:
Line: R2
Read Bit: 11
Data Type: Integer
Range: 1
to 12
Data: Represents current month of the year, where 1
is January and 12
is December
,R2,18,250,51,70,4,13,50,55,
19,6,2020,376,9999,1,0,490,207,34,6000,602,23,20,0,0,0,0,44,35,45,:
Line: R2
Read Bit: 10
Data Type: Integer
Range: 1
to 31
Data: Represents current day of the month, where the integer will only be a valid day of the current month
If your application sets a support pin for the spa, it must locally store this pin. Support PIN's created by the official SpaLINK app are registered through a web request (see 4.5.9) but not shared across to other devices running the same app with the same spa logged in. That goes to say, PIN's are registered for the spa on the SpaNET server but individual to devices on which they were created/registered.
,RG,1,1,1,1,1,1,1-1-014,1-1-01,1-1-01,0-,0-,
0,:*
Line: RG
Read Bit: 13
Data Type: Integer
Range: 0
to 2
Data: 0
represents keypad lock off, 1
partial keypad lock and 2
full keypad lock
Notifications status for devices is sent to the SpaNET API server but is individual to devices, so your app must keep track if it has turned notifications on for itself. This setting should not be applicable for most plugins/code anyway, unless you are making an app which can send a type of notifications (e.g. push notifications).
,R2,18,
250,51,70,4,13,50,55,19,6,2020,376,9999,1,0,490,207,34,6000,602,23,20,0,0,0,0,44,35,45,:
Line: R2
Read Bit: 3
Data Type: Integer, current power supply voltage (volts)
,R2,
18,250,51,70,4,13,50,55,19,6,2020,376,9999,1,0,490,207,34,6000,602,23,20,0,0,0,0,44,35,45,:
Line: R2
Read Bit: 2
Data Type: Integer, current power supply current draw (amps)
,R3,32,1,4,4,4,SW V5 17 05 31,SV3,18480001,20000826,1,0,0,0,0,0,NA,7,0,470,Filtering,4,
0,7,7,0,0,:
Line: R3
Read Bit: 23
Data Type: Integer, current variable heat element current draw x 10 (amps) eg 213 = 21.3 amps
,R2,0,243,
43,223,6,19,14,36,9,1,2022,320,9999,1,0,106,607,0,147,33207,791,819,0,721,0,0,1673,354,854,241,:
Line: R2 Read Bit: 4 Data Type: Integer, current case temperature C
,R3,
32,1,4,4,4,SW V5 17 05 31,SV3,18480001,20000826,1,0,0,0,0,0,NA,7,0,470,Filtering,4,0,7,7,0,0,:
Line: R3
Read Bit: 2
Data Type: Integer, current limit.
,R3,32,1,4,4,4,SW V5 17 05 31,SV3,18480001,20000826,1,0,0,0,0,0,NA,
7,0,470,Filtering,4,0,7,7,0,0,:
Line: R3
Read Bit: 18
Data Type: Integer, current limit.
COMING SOON - IN DEVELOPMENT