any updates from Arctic Spas? I just got one and started looking into connecting to HA.
Iāve look at recently how these Arctic Spas supposed to work, and they should have local control as well, if you donāt have internet at your place.
Might worth to try to capture the communication between the app and the spa to see how it happens.
For iOS they have a local control app, for Android as I understand there is a button for local control.
Unfortunately I do not own an Arctic Spa to investigate it myself, but happy to provide more ideas and ways how to tinker with it.
Iāve gotten access to their API since I asked about it 6 months ago. I think itās still under development, so it might not be open for everyone.
Arctic Spas Public API (myarcticspa.com)
https://myarcticspa.com/spa/SpaAPIManagement.aspx
My experience with custom HA sensors and switches and APIs are limited, but I managed to create sensors from the status API.
sensor:
- platform: rest
resource: https://api.myarcticspa.com/v2/spa/status
headers:
X-API-KEY: !secret arctic_spa_apikey
Content-Type: application/json
method: GET
name: "Arctic Spa Temperature"
value_template: '{{ value_json.temperatureF }}'
scan_interval: 900
- platform: rest
resource: https://api.myarcticspa.com/v2/spa/status
headers:
X-API-KEY: !secret arctic_spa_apikey
Content-Type: application/json
method: GET
name: "Arctic Spa Temperature Setpoint"
value_template: '{{ value_json.setpointF }}'
scan_interval: 900
- platform: rest
resource: https://api.myarcticspa.com/v2/spa/status
headers:
X-API-KEY: !secret arctic_spa_apikey
Content-Type: application/json
method: GET
name: "Arctic Spa Lights"
value_template: '{{ value_json.lights }}'
scan_interval: 900
- platform: rest
resource: https://api.myarcticspa.com/v2/spa/status
headers:
X-API-KEY: !secret arctic_spa_apikey
Content-Type: application/json
method: GET
name: "Arctic Spa Pump 1"
value_template: '{{ value_json.pump1 }}'
scan_interval: 900
- platform: rest
resource: https://api.myarcticspa.com/v2/spa/status
headers:
X-API-KEY: !secret arctic_spa_apikey
Content-Type: application/json
method: GET
name: "Arctic Spa Pump 2"
value_template: '{{ value_json.pump2 }}'
scan_interval: 900
- platform: rest
resource: https://api.myarcticspa.com/v2/spa/status
headers:
X-API-KEY: !secret arctic_spa_apikey
Content-Type: application/json
method: GET
name: "Arctic Spa Pump 3"
value_template: '{{ value_json.pump3 }}'
scan_interval: 900
- platform: rest
resource: https://api.myarcticspa.com/v2/spa/status
headers:
X-API-KEY: !secret arctic_spa_apikey
Content-Type: application/json
method: GET
name: "Arctic Spa Pump 4"
value_template: '{{ value_json.pump4 }}'
scan_interval: 900
Is there anyone that can help me figure out how to make a switch? I guess I need to specify payload in some kind of format, and do I also have to get the current status of the light?
The curl command to turn on the light:
Does all the status comes from that single endpoint?
You could create a RESTFul sensor and add all the details into separate ātemplateā sensors from that. They are actually part of the same rest call. So you would not call 7 times the same endpoint every 900 seconds (15 minutes). But you could call it every 120 seconds and get all 7 at once.
For creating a switch you will need the RESTful Switch:
The integration has the option to verify the value of the switch as well. The example at the bottom of the page will have mostly everything what you need!
Hi, yes they come from the same endpoint. I created a seperate topic for the API. Itās now pulling the data into binary sensors with a single call.
Hi Iām Paul, and recently Iāve been trying to experiment with my spa but I need access to my API key. By any chance did you ever find out how to get it?
@dagm - how did you get early access to the API? Did you email someone? Your API Management link doesnāt work for me. I suspect that is where you would create an X-API-KEY for authentication to your account. Otherwise, Iāll also need help getting the X-API-KEY.
I asked them a year ago if they had an API. He contacted me later and asked if I wanted early access to the API. Iāll send you his email by PM.