anova-oven

Safe
Smart Home & IoT

Control Anova Precision Ovens and Precision Cookers (sous vide) via WiFi WebSocket API.

SKILL.md

# 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** ```bash pip3 install websockets ``` 3. **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 ## References - [Anova Developer Portal](https://developer.anovaculinary.com) - [GitHub: anova-wifi-device-controller](https://github.com/anova-culinary/developer-project-wifi)

More in Smart Home & IoT