Interactive Python terminal for controlling Anova WiFi devices including Precision Cookers (APC) and Precision Ovens (APO).
- Control both Anova Precision Cookers (sous vide) and Precision Ovens
- Real-time message streaming from devices
- Interactive command menu
- Support for cooking operations, temperature control, and telemetry export
- Clean terminal interface with background message collection
- Python 3.7 or higher
- Personal Access Token from Anova app
macOS:
# Using Homebrew (recommended)
brew install python
# Or download from python.org
# macOS usually comes with Python 3, check with:
python3 --version
Windows:
# Download from python.org and install
# Make sure to check "Add Python to PATH" during installation
Linux (Ubuntu/Debian):
sudo apt update
sudo apt install python3 python3-pip
macOS (with modern Python/Homebrew):
# Create a virtual environment (recommended)
python3 -m venv anova_env
source anova_env/bin/activate
pip install websockets
# Alternative: Install with --user flag
# python3 -m pip install --user websockets
Windows/Linux:
pip install websockets
- Download the Anova Oven app (even if you only have a sous vide cooker)
- Open the app and go to: More → Developer → Personal Access Tokens
- Create a new token - it will start with
anova-
- Copy this token for use with the script
# Navigate to the script directory
cd /path/to/developer-docs
# If using virtual environment, activate it first:
source anova_env/bin/activate
# Run the script
python3 anova_interactive.py
# When done, deactivate virtual environment:
deactivate
- The script will prompt for your Personal Access Token
- Enter the token that starts with
anova-
- The script will discover your devices automatically
- Select your device from the list
- Use the interactive menu to control your device
For Precision Cookers (APC):
- Show message stream - View real-time device communications
- Start sous vide cook - Begin cooking with temperature and timer
- Stop cooking - Stop current cooking session
- Set temperature unit - Change between Celsius/Fahrenheit
- Export telemetry data - Download cooking data (returns an array of urls)
- Exit
For Precision Ovens (APO):
- Show message stream - View real-time device communications
- Start sous vide cook (wet bulb) - Sous vide mode in oven
- Start roasting (dry bulb) - Traditional roasting
- Start steam cooking - Steam cooking with humidity control
- Stop cooking - Stop current cooking session
- Set temperature unit - Change between Celsius/Fahrenheit
- Export telemetry data - Download cooking data (returns an array of urls)
- Exit
"websockets module not found" (macOS):
# Try these commands in order:
pip3 install websockets
# or
python3 -m pip install websockets
# or
python3 -m pip install --user websockets
"Invalid token format":
- Make sure your token starts with
anova-
- Get a new token from the Anova Oven app
"No devices found":
- Ensure your devices are connected to WiFi
- Make sure devices are paired with your Anova account
- Try refreshing the app and generating a new token
Connection issues:
- Check your internet connection
- Verify your devices are online in the Anova app
- Try restarting the script
- Keep the script running to maintain connection with your devices
- The message stream shows real-time updates from your device (temperature, status, etc.)
- All websocket communications are logged and can be viewed via option 1
- Press Ctrl+C to exit the script safely