Build or update the BlueBubbles external channel plugin for Moltbot (extension package, REST...
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
- 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 -
Python dependencies
bash pip3 install websockets -
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
# 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
- Anova Device
- Anova Precision Oven (APO) or Precision Cooker (APC)
-
Connected to WiFi and paired with your Anova account
-
Personal Access Token
- Download the Anova Oven app (iOS/Android)
- Navigate to: More → Developer → Personal Access Tokens
- Generate a new token (starts with
anova-) - Python Environment
- Python 3.7 or higher
websocketslibrary:pip3 install websockets
Installation
-
Store your Anova token:
bash mkdir -p ~/.config/anova echo "anova-YOUR_TOKEN_HERE" > ~/.config/anova/token chmod 600 ~/.config/anova/token -
Install Python dependencies:
bash pip3 install websockets -
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.