Skip to content

c3V6a2Vy/pyanova

Repository files navigation

pyanova

An Anova Precision Cooker (Sous Vide) Bluetooth API Python Wrapper

pypi-pyanova

Descirption

This is a Python wrapper of the Anova Precision Cooker (Sous Vide) API via the Bluetooth LE connection. Under the hood, it utilizes peplin/pygatt for the Bluetooth LE communications.

The library is tested on C.H.I.P with Debian + Python 2.7 and Python 3.4

Acknowledgements

Installation

Prerequisites

Install using Python pip

Once the prerequisite are satisfied, you can install pyanova with pip: pip install pyanova

Usage

The GATTTool backend normally requires root permission. Hence you might need to run your program with root permission or setup passwordless sudo for 'hcitool'.

Automode

You can initialize PyAnova easily with automode which will automatically discover and connect to the first available Anova device

from pyanova import pyanova

pa = pyanova.PyAnova()
pa.get_status()

Manual mode

Alternatively, you can fully control the discover and connect phrases of an PyAnova object

from pyanova import pyanova

pa = pyanova.PyAnova(auto_connect=False)
devices = pa.discover(list_all=False, timeout=3)
pa.connect_device(devices[0])
pa.get_status()

TODO

  • Support Anova Nano: #10
  • Unit tests
  • Autogen docs
  • Probably swtich to pygattlib?

Demo

see: samples/pyanova_terminal.py

Disclaimer

This software may harm your device. Use it at your own risk.

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.