Skip to main content

Available Commands

The Anova Precision® Cooker Mini supports a comprehensive set of commands for control and monitoring.

Core Commands

CommandDescriptionOperation
get-stateGet current device stateRead from STATE characteristic
start-cookStart cooking processWrite to STATE characteristic
stop-cookStop cooking processWrite to STATE characteristic
set-tempSet target temperatureWrite to SET_TEMPERATURE characteristic
set-unitChange temperature unitWrite to STATE characteristic
set-clockSync device timeWrite to SET_CLOCK characteristic
get-system-infoRead device informationRead from SYSTEM_INFO characteristic

Command Parameters

set-temp

  • setpoint: Target temperature in device's current unit

set-unit

  • unit: Either "C" or "F" (must be uppercase)

start-cook

  • setpoint: Required temperature value
  • timer: Optional duration in seconds
  • cookableId: Optional recipe identifier
  • cookableType: Optional recipe type

Command Payloads

All messages are sent as JSON objects that are Base64 encoded.

Device State

{
"state": "idle",
"currentTemperature": 25.5,
"timer": {
"running": false,
"remaining": 0
}
}

Temperature Setting

{
"setpoint": 65.0
}

Change Unit

{
"command": "changeUnit",
"payload": {
"temperatureUnit": "C"
}
}

Start Cook

{
"command": "start",
"payload": {
"setpoint": 65.0,
"timer": 3600,
"cookableId": "recipe123",
"cookableType": "recipe"
}
}

Stop Cook

{
"command": "stop"
}

Set Clock

{
"currentTime": "2024-02-06T12:00:00Z"
}

Command Flow Examples

Starting a Timed Cook

  1. Set temperature: Send temperature payload to SET_TEMPERATURE characteristic
  2. Start cooking: Send start cook payload to STATE characteristic
  3. Monitor: Read from STATE and CURRENT_TEMPERATURE characteristics

Changing Temperature Unit

  1. Check current state: Read from STATE characteristic
  2. Change unit: Send change unit payload to STATE characteristic
  3. Verify change: Read from STATE characteristic
Message Encoding

Remember that all messages must be Base64 encoded before sending and Base64 decoded when receiving. This applies to both commands and responses.

Command Timing

Some commands (like set-clock) require acknowledgment. Implement proper response handling by adding a response listener when needed.

Error Responses

Commands may return error responses in these cases:

  • Invalid temperature range
  • Invalid unit specification
  • Device in incorrect state
  • Connection issues
  • Timer value out of range

Example error response (after Base64 decoding):

{
"error": "Invalid temperature value",
"code": "INVALID_TEMP"
}