Available Commands
The Anova Precision® Cooker Mini supports a comprehensive set of commands for control and monitoring.
Core Commands
Command | Description | Operation |
---|---|---|
get-state | Get current device state | Read from STATE characteristic |
start-cook | Start cooking process | Write to STATE characteristic |
stop-cook | Stop cooking process | Write to STATE characteristic |
set-temp | Set target temperature | Write to SET_TEMPERATURE characteristic |
set-unit | Change temperature unit | Write to STATE characteristic |
set-clock | Sync device time | Write to SET_CLOCK characteristic |
get-system-info | Read device information | Read 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 valuetimer
: Optional duration in secondscookableId
: Optional recipe identifiercookableType
: 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
- Set temperature: Send temperature payload to SET_TEMPERATURE characteristic
- Start cooking: Send start cook payload to STATE characteristic
- Monitor: Read from STATE and CURRENT_TEMPERATURE characteristics
Changing Temperature Unit
- Check current state: Read from STATE characteristic
- Change unit: Send change unit payload to STATE characteristic
- 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"
}