Anova Oven

v0.1.0

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.

1· 1.7k·2 current·2 all-time
byAkshay Dodeja@dodeja
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
Name/description (Anova oven control) align with requested artifacts: instructions ask for an Anova personal access token and the code connects to devices.anovaculinary.io over WebSocket. No unrelated cloud providers, binaries, or credentials are requested.
Instruction Scope
SKILL.md stays on scope: it instructs installing the websockets Python library, storing a personal access token at ~/.config/anova/token, and running the included script to list/start/stop/monitor devices. The instructions do not direct reading unrelated files, nor do they instruct exfiltrating local data to third parties.
Install Mechanism
No install spec; the skill is instruction + Python script. Dependencies are minimal (websockets). Nothing is downloaded from untrusted URLs or written to system-wide locations by an installer.
Credentials
No environment variables or unrelated credentials are requested. The skill uses a local token file (~/.config/anova/token) which is appropriate for the API authentication described. The only network target is the Anova cloud WebSocket endpoint.
Persistence & Privilege
The skill is not marked always:true and does not request system-wide configuration or modify other skills. It runs as a user-invoked script and only reads the stated token file.
Scan Findings in Context
[none-detected] expected: The static pre-scan reported no injection signals. That is consistent with the visible code, which is plain Python implementing WebSocket interactions with the Anova cloud. Absence of findings is not proof of safety but matches the observed simple footprint.
Assessment
This skill appears to do what it says: control Anova devices over the Anova cloud WebSocket API. Before installing or running it: (1) review the full scripts/anova.py file yourself (the provided listing was truncated here) to confirm there is no hidden behavior; (2) keep your personal access token secret and store it with restricted permissions (chmod 600) as instructed; (3) be aware the token is sent in the WebSocket URI (it may be exposed in logs or proxy logs), so avoid using a token you wouldn't revoke if leaked; (4) run the script in a minimal, network-limited environment if you have concerns; (5) if you stop using the skill, revoke the personal access token from the Anova app. If you want higher assurance, provide the full untruncated scripts/anova.py for a final review and I can raise confidence to high.

Like a lobster shell, security has layers — review code before you run it.

latestvk978k3qgtje20vwfgv1nw8b79s7zthjm
1.7kdownloads
1stars
1versions
Updated 1mo ago
v0.1.0
MIT-0

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

Comments

Loading comments...