dodeja

anova-oven

11
0
# Install this skill:
npx skills add dodeja/anova-skill

Or install specific skill: npx add-skill https://github.com/dodeja/anova-skill

# 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.

# SKILL.md


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
  2. Download Anova Oven app (iOS/Android)
  3. Go to: More → Developer → Personal Access Tokens
  4. Create token (starts with anova-)
  5. Store in ~/.config/anova/token

  6. Python dependencies
    bash pip3 install websockets

  7. Device Setup

  8. Anova device connected to WiFi
  9. 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

# README.md

Anova Oven & Precision Cooker Skill

An Agent Skill for controlling Anova Precision Ovens (APO) and Precision Cookers (APC) via their WiFi WebSocket API.

Example prompts:
- "Start sous vide at 135°F for 2 hours"
- "Preheat to 375°F for roasting"
- "What's the oven temperature?"
- "Stop cooking"

See AGENTS.md for agent instructions. Works with Claude, Cursor, ChatGPT, and other LLMs.

Prerequisites

  1. Anova Device
  2. Anova Precision Oven (APO) or Precision Cooker (APC)
  3. Connected to WiFi and paired with your Anova account

  4. Personal Access Token

  5. Download the Anova Oven app (iOS/Android)
  6. Navigate to: More → Developer → Personal Access Tokens
  7. Generate a new token (starts with anova-)
  8. Python Environment
  9. Python 3.7 or higher
  10. websockets library: pip3 install websockets

Installation

  1. Store your Anova token:
    bash mkdir -p ~/.config/anova echo "anova-YOUR_TOKEN_HERE" > ~/.config/anova/token chmod 600 ~/.config/anova/token

  2. Install Python dependencies:
    bash pip3 install websockets

  3. Test the connection:
    bash python3 scripts/anova.py list

Usage

See SKILL.md for complete usage instructions and examples.

Quick examples:

# List your devices
python3 scripts/anova.py list

# Basic cooking
python3 scripts/anova.py cook --temp 350 --duration 30

# Advanced: Custom elements and fan speed
python3 scripts/anova.py cook --temp 225 --elements rear --fan-speed 25 --duration 180

# Probe cooking (cook to internal temperature)
python3 scripts/anova.py cook --temp 350 --probe-temp 165

# Monitor real-time status
python3 scripts/anova.py monitor --monitor-duration 60

# Stop cooking
python3 scripts/anova.py stop

Advanced Controls

The skill supports full control over:
- Temperature: Any value in °F or °C
- Heating Elements: Individual control (top, bottom, rear) or combinations
- Fan Speed: 0-100 for precise air circulation control
- Cooking Mode: Timer-based or probe-based (cook to internal temperature)

This enables advanced techniques like:
- Low-temp slow roasting (rear element only, low fan)
- High-heat searing (all elements, high fan)
- Probe-based cooking (stop when meat reaches target temp)

Safety Notes

  • Always verify temperatures before starting long cooks
  • Monitor cooking remotely but check in person for safety
  • Use timers to prevent overcooking
  • Default timeout: 4 hours maximum

Testing

Tested January 2026 with Anova Precision Oven (APO).

Feature Status
Device discovery
Sous-vide mode
Roast mode
Steam mode
Stop cooking
Real-time monitoring
Temperature units (F/C)
APC (Precision Cooker) Not tested

License

Apache 2.0 - See LICENSE for details.

Credits

Built with the Anova Developer API.

Contributing

Issues and pull requests welcome! This skill is part of the Agent Skills ecosystem.

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.