Anova Oven & Precision Cooker Control
Control Anova WiFi devices including Precision Ovens (APO) and Precision Cookers (APC) via WebSocket API.
Prerequisites
- •
Personal Access Token from Anova app
- •Download Anova Oven app (iOS/Android)
- •Go to: More → Developer → Personal Access Tokens
- •Create token (starts with
anova-) - •Store in
~/.config/anova/token
- •
Python dependencies
bashpip3 install websockets
- •
Device Setup
- •Anova device connected to WiFi
- •Paired with your Anova account
Installation
bash
# Install Python dependency pip3 install websockets # Store your token mkdir -p ~/.config/anova echo "anova-YOUR_TOKEN_HERE" > ~/.config/anova/token chmod 600 ~/.config/anova/token
Usage
List Devices
bash
python3 scripts/anova.py list
Basic Cooking
bash
# Simple cook at 350°F for 30 minutes python3 scripts/anova.py cook --temp 350 --duration 30 # Cook at 175°C for 45 minutes python3 scripts/anova.py cook --temp 175 --unit C --duration 45
Advanced Controls
Custom Elements:
bash
# Rear element only (low-temp slow cook) python3 scripts/anova.py cook --temp 225 --elements rear --duration 180 # Bottom + rear (standard roasting) python3 scripts/anova.py cook --temp 375 --elements bottom,rear --duration 45 # All elements (maximum heat) python3 scripts/anova.py cook --temp 450 --elements top,bottom,rear --duration 20
Custom Fan Speed:
bash
# Low fan (gentle cooking) python3 scripts/anova.py cook --temp 250 --fan-speed 25 --duration 120 # High fan (fast heat circulation) python3 scripts/anova.py cook --temp 400 --fan-speed 100 --duration 30
Probe Cooking:
bash
# Cook to internal temperature (not time-based) python3 scripts/anova.py cook --temp 350 --probe-temp 165 # Low-temp probe cook python3 scripts/anova.py cook --temp 225 --elements rear --fan-speed 25 --probe-temp 135
Combined Advanced Settings:
bash
# Precision low-temp cook python3 scripts/anova.py cook --temp 225 --elements rear --fan-speed 25 --duration 180 # High-heat sear python3 scripts/anova.py cook --temp 500 --elements top,bottom,rear --fan-speed 100 --duration 5
Stop Cooking
bash
python3 scripts/anova.py stop
Monitor (Real-time Stream)
bash
python3 scripts/anova.py monitor --monitor-duration 60
Natural Language Examples
Agent prompts:
- •"Preheat the oven to 375°F for roasting"
- •"Start sous vide at 135°F for 2 hours"
- •"What's the current oven temperature?"
- •"Stop cooking"
- •"Steam vegetables at 212°F for 15 minutes"
Features
Anova Precision Oven (APO)
- •Sous vide cooking (wet bulb mode)
- •Roasting (dry bulb mode)
- •Steam cooking with humidity control
- •Temperature control (C/F)
- •Real-time status monitoring
- •Telemetry export
Anova Precision Cooker (APC)
- •Sous vide cooking
- •Temperature control
- •Timer management
- •Real-time status
API Reference
WebSocket Endpoint: Via Anova cloud service Authentication: Personal Access Token (Bearer token) Protocol: WebSocket with JSON messages
Configuration
Token file: ~/.config/anova/token
Default device: First device found (or specify with --device-id)
Troubleshooting
"No token found":
bash
echo "anova-YOUR_TOKEN" > ~/.config/anova/token
"No devices found":
- •Check device is online in Anova app
- •Verify WiFi connection
- •Generate new token
"Connection failed":
- •Check internet connection
- •Verify token is valid
- •Ensure device is paired with account
Safety Notes
- •Always verify temperature before starting long cooks
- •Use timers to prevent overcooking
- •Monitor remotely but check in-person for safety
- •Default timeout: 4 hours max