POST
https://api.spanet.net.au/api/MemberLogin
Request:
{
"login": [Username],
"api_key": "4a483b9a-8f02-4e46-8bfa-0cf5732dbbd5",
"password": [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,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,:
,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,:*
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 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
TODO
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
TODO
Set the Power Save option.
Request:
W63:n
Response:
n
where n
denotes
0
- Off1
- Low2
- High
TODO
TODO
TODO
TODO
TODO
Set the Lock Mode.
Request:
S21:n
Response:
n
where n
denotes
0
- Off1
- Partial2
- Full
TODO
@jbergler
Is there anything that you can share at this point?
The controller has inbuilt voltage & amp measurements. Have a look here https://github.com/wayne-love/spanet-api/blob/main/spanet.md, I've forked @BlaT2512's document and am adding to it as I discover stuff. I have a pile of additions (such as power consumption, etc) to add to this but real life is getting in the way. I'll do a pull once it is up to date to merge back to the original.
I've pH and ORP sensors on my todo list but they are way way way down the list.