Skip to main content

Provisioning

How it works

When adding a new APO to the app, this is the general sequence of events that occurs:

  1. The user presses and holds on the wifi button for ~5 seconds. The serial console displays:
wifi hold: 108327178 - 107670037
  1. The APO displays a pin code and creates an ad-hoc wifi AP. The AP always uses 192.168.4.1 as its IP address. The credentials for the ad-hoc network follow a predictable pattern based on the pin code. For example, the pin code 0000 creates the following:
SSID: Anova Oven 0000
Password: oven0000
  1. The user enters the pin code in the app, the app looks for the SSID based on the pin code and connects.

  2. The app makes a series of API calls to send the userId, get the device ID, retrieve a list of scanned AP's and configure wifi.

  3. The APO connects to wifi and begins reporting in to the Anova backend.

  4. The app contacts the Anova backend to find the device.

Provisioning OpenAPI Spec

Anova Precision Oven Provision API

Download OpenAPI specification:Download

Used for provisioning the Anova Precision Oven from the mobile app

prov-identity

Sends the Anova userId to the APO and returns the Oven ID

Request Body schema: application/x-www-form-urlencoded
required
user_id
string

Responses

Response samples

Content type
text/html
{
  "device_id": "anova<redacted>"
}

app-info

Gets the firmware build version and build date.

Request Body schema: application/x-www-form-urlencoded
required
object

Responses

Response samples

Content type
text/html
{
  "version": "1.1.23",
  "build-date": "May  7 2021 11:07:06"
}

prov-scan

Get a list of available SSID's

Request Body schema: application/x-www-form-urlencoded
required
request
required
string
Enum: "start" "status" "results"

Requests:

  • start: Start the SSID scan
  • status: Get the status of the SSID scan
  • results: Get the results of the SSID scan

Responses

Response samples

Content type
text/html
{
  "message": "Sorry unable to perform operation."
}

prov-config

prov-config

Request Body schema: application/x-www-form-urlencoded
required
object
ssid
string
passkey
string

Responses

Response samples

Content type
text/html
{
  "status": "OK"
}

prov-status

prov-status

Request Body schema: application/x-www-form-urlencoded
required
string

Responses

Response samples

Content type
text/html
{
  "status": "connected"
}

prov-end

prov-end

Request Body schema: application/x-www-form-urlencoded
required
string

Responses

Response samples

Content type
text/html
{
  "status": "OK"
}