Anova Oven
by @dodeja
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.
clawhub install anova-skillπ About This Skill
name: anova-oven description: 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. license: Apache-2.0 compatibility: Requires Python 3.7+, websockets library, and internet access to Anova cloud API metadata: author: Akshay Dodeja version: "1.0.0" repository: https://github.com/dodeja/anova-skill
Anova Oven & Precision Cooker Control
Control Anova WiFi devices including Precision Ovens (APO) and Precision Cookers (APC) via WebSocket API.
Prerequisites
1. 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
2. Python dependencies
pip3 install websockets
3. Device Setup - Anova device connected to WiFi - Paired with your Anova account
Installation
# Install Python dependency
pip3 install websocketsStore your token
mkdir -p ~/.config/anova
echo "anova-YOUR_TOKEN_HERE" > ~/.config/anova/token
chmod 600 ~/.config/anova/token
Usage
List Devices
python3 scripts/anova.py list
Basic Cooking
# Simple cook at 350Β°F for 30 minutes
python3 scripts/anova.py cook --temp 350 --duration 30Cook at 175Β°C for 45 minutes
python3 scripts/anova.py cook --temp 175 --unit C --duration 45
Advanced Controls
Custom Elements:
# Rear element only (low-temp slow cook)
python3 scripts/anova.py cook --temp 225 --elements rear --duration 180Bottom + rear (standard roasting)
python3 scripts/anova.py cook --temp 375 --elements bottom,rear --duration 45All 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 120High 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 165Low-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 180High-heat sear
python3 scripts/anova.py cook --temp 500 --elements top,bottom,rear --fan-speed 100 --duration 5
Stop Cooking
python3 scripts/anova.py stop
Monitor (Real-time Stream)
python3 scripts/anova.py monitor --monitor-duration 60
Natural Language Examples
Agent prompts:
Features
Anova Precision Oven (APO)
Anova Precision Cooker (APC)
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":
echo "anova-YOUR_TOKEN" > ~/.config/anova/token
"No devices found":
"Connection failed":
Safety Notes
References
π‘ Examples
List Devices
python3 scripts/anova.py list
Basic Cooking
# Simple cook at 350Β°F for 30 minutes
python3 scripts/anova.py cook --temp 350 --duration 30Cook at 175Β°C for 45 minutes
python3 scripts/anova.py cook --temp 175 --unit C --duration 45
Advanced Controls
Custom Elements:
# Rear element only (low-temp slow cook)
python3 scripts/anova.py cook --temp 225 --elements rear --duration 180Bottom + rear (standard roasting)
python3 scripts/anova.py cook --temp 375 --elements bottom,rear --duration 45All 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 120High 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 165Low-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 180High-heat sear
python3 scripts/anova.py cook --temp 500 --elements top,bottom,rear --fan-speed 100 --duration 5
Stop Cooking
python3 scripts/anova.py stop
Monitor (Real-time Stream)
python3 scripts/anova.py monitor --monitor-duration 60
βοΈ Configuration
Token file: ~/.config/anova/token
Default device: First device found (or specify with --device-id)
π Tips & Best Practices
"No token found":
echo "anova-YOUR_TOKEN" > ~/.config/anova/token
"No devices found":
"Connection failed":