A JSON API provided by the spanet server
subcommand if you are using vscode and have Rest-Client installed you can use API.http to make requests
- spanet - API
- GET /spa/status
- GET /spa/lights/modes
- POST /spa/lights
- POST /spa/lights/mode
- POST /spa/lights/brightness
- POST /spa/lights/effectspeed
- POST /spa/lights/colour
- POST /spalights/off
- POST /spa/lights/toggle
- GET /spa/pump/states
- POST /spa/pump/$pumpNumber
- GET /spa/blower/modes
- POST /spa/blower
- POST /spa/blower/speed
- POST /spa/temperature
- GET /spa/operation/modes
- POST /spa/operation/mode
- POST /spa/sanitise
- POST /spa/sanitise/time
- POST /spa/filtration/runtime
- POST /spa/filtration/cycle
- POST /spa/timeout
- GET /spa/heatpump/modes
- POST /spa/heatpump/mode
- POST /spa/svelementboost
- GET /spa/lock/modes
- POST /spa/lock/mode
- Get /spa/powersave/modes
- POST /spa/powersave/mode
- POST /spa/peak/start
- POST /spa/peak/end
- Get /spa/sleeptimer/states
- Post /spa/sleeptimer/$timerNumber/state
- Post /spa/sleeptimer/$timerNumber/start
- Post /spa/sleeptimer/$timerNumber/end
- Post /spa/sleeptimer/$timerNumber
- Post /spa/datetime/year
- Post /spa/datetime/month
- Post /spa/datetime/day
- Post /spa/datetime/hour
- Post /spa/datetime/minute
- Post /spa/datetime
Returns the current state of the spa
Returns a list of supported modes
Accepts a JSON object to define multiple light properties at the same time
{
"Mode": "Fade",
"Brightness": 2,
"EffectSpeed": 1,
"Colour": 4
}
Accepts a JSON object that specifies the lighting mode
{"Mode": "Fade"}
Accepts a JSON object that specifies the lighting brightness
{"Brightness": 1}
Accepts a JSON object that specifies the speed of the lighting effect
{"EffectSpeed": 1}
Accepts a JSON object that specifies the colour of the lights
{"Colour": 1}
Turns the lights off
Toggles the current lighting state
Returns a list of supported pump states
Accepts a JSON object to specify the state of the given $pumpNumber
{"State": "On"}
Returns a list of supported blower modes
Accepts a JSON object to specify the state of the blower
{
"Mode": "Ramp",
"Speed": 1
}
Speed is optional.
Accepts a JSON object to specify the speed of the blower
{
"Speed": 1
}
Accepts a JSON object to specify the target temperature
{
"Temperature": 38.9
}
Returns a list of supported operation modes
Accepts a JSON object to specify the speed of the blower
{
"Mode": "NORM"
}
Toggle sanatise function
Accepts a JSON object to specify the time to auto sanitise
{
"Time": "12:20"
}
Accepts a JSON object to specify the filtration runtime
{
"Hours": 2
}
Accepts a JSON object to specify the filtration cycle
{
"Hours": 2
}
Accepts a JSON object to specify the timeout (sleep)
{
"Minutes": 30
}
Returns a list of supported heatpump modes
Accepts a JSON object to specify the heatpump mode
{
"Mode": "Heat"
}
Accepts a JSON object to enable or disable sv element boost
{
"Boost": false
}
Returns a list of supported lock modes
Accepts a JSON object to specify the lock mode
{
"Mode": "Off"
}
Returns a list of supported powersave modes
Accepts a JSON object to specify the powersave mode
{
"Mode": "Low"
}
Accepts a JSON object to specify when peak power starts
{
"Time": "11:10"
}
Accepts a JSON object to specify when peak power ends
{
"Time": "11:10"
}
Returns a list of supported sleeptimer states
Accepts a JSON object to specify the sleep timer state for the given $timerNumber
{
"State": "Everyday"
}
Accepts a JSON object to specify the sleep timer start for the given $timerNumber
{
"Time": "11:10"
}
Accepts a JSON object to specify the sleep timer end for the given $timerNumber
{
"Time": "11:10"
}
Shortcut to set all 3 parameters for a given sleep $timerNumber
{
"State": "Everyday",
"Start": "11:10",
"End": "11:10"
}
Accepts a json object to specify the year
{
"Year": 2021
}
Accepts a json object to specify the month
{
"Month": 10
}
Accepts a json object to specify the day
{
"Day": 3
}
Accepts a json object to specify the hour
{
"Hour": 21
}
Accepts a json object to specify the minute
{
"Minute": 12
}
If you think the previous 5 methods were a bit silly, well that's how the spa api expects them, you can call this method with a date/time and just get on with life
{
"DateTime": "2006-01-02 15:04"
}