🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

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.

Versionv0.1.0
Downloads2,170
Installs2
Stars⭐ 1
TERMINAL
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 websockets

Store 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 30

Cook 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 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

Stop Cooking

python3 scripts/anova.py stop

Monitor (Real-time Stream)

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":

    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
  • GitHub: anova-wifi-device-controller
  • πŸ’‘ 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 30

    Cook 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 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

    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":

  • 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