Skip to content

Python 3.6+ module to interface with the Anova 👨🏽‍🍳 Sous-vide cooker ⏱️ private API.

Notifications You must be signed in to change notification settings

bmedicke/anova.py

Repository files navigation

what is it?

Python 3.6 module to interface with the Anova private API.

motivation

API access is something we’re considering for the future, and we’re researching the ways people would want to interact with it.

That was more than a year ago. This is a little nudge ;)

how to use it

import anova

cooker_id = 'anova xxx-xxxxxxxxxxx'
secret = 'xxxxxxxxxx'

cooker = anova.AnovaCooker(cooker_id, secret)

# get status of the device. all methods return json:
print(cooker.get_status())
{
  "status": {
      "cooker_id": "anova xxx-xxxxxxxxxxx",
      "current_temp": 27.3,
      "is_running": false,
      "speaker_mode": true,
      "target_temp": 30,
      "temp_unit": "c"
  }
}

Examples:

# set temperature and start it:
cooker.target_temperature = 60
cooker.running = True

# check if running:
print(cooker.running)
#  True

# get current temperature and unit:
print(cooker.current_temperature)
#  59.8
print(cooker.temperature_unit)
# 'c'

# to use the timer we have to create a job.
# 45 degrees (currently set unit), 900 seconds:
cooker.create_job(45, 900)

# 80 degrees Fahrenheit, 600 seconds:
cooker.create_job(80, 600, 'f')

TODO: add documentation

installation for development

# clone it and cd to the project folder.
pip3 install -e .

getting your cooker_id and secret

You could use anova.util.get_secret_cookerid with ip address as argument.

from anova.util import get_secret_cookerid

cooker_id, secret = get_secret_cookerid("192.168.1.234")
print(f"Cooker id: {cooker_id}")
print(f"Secret: {secret}")

About

Python 3.6+ module to interface with the Anova 👨🏽‍🍳 Sous-vide cooker ⏱️ private API.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages