Control Anova Precision Ovens and Precision Cookers (sous vide) via WiFi WebSocket API. Start cooking modes (sous vide, roasting, steam), set temperatures, monitor status, and stop cooking remotely.
Control Anova WiFi devices including Precision Ovens (APO) and Precision Cookers (APC) via WebSocket API.
Personal Access Token from Anova app
anova-)~/.config/anova/tokenPython dependencies
pip3 install websockets
Device Setup
# 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
python3 scripts/anova.py list
# 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
Custom Elements:
# 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:
# 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:
# 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:
# 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
python3 scripts/anova.py stop
python3 scripts/anova.py monitor --monitor-duration 60
Agent prompts:
WebSocket Endpoint: Via Anova cloud service Authentication: Personal Access Token (Bearer token) Protocol: WebSocket with JSON messages
Token file: ~/.config/anova/token
Default device: First device found (or specify with --device-id)
"No token found":
echo "anova-YOUR_TOKEN" > ~/.config/anova/token
"No devices found":
"Connection failed":