A Python Library for Anova Precision Cooker
Project description
pyanova
An Anova Precision Cooker (Sous Vide) Bluetooth API Python Wrapper
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
- This work relies heavily on the researches from dfrankland/sous-vide, a very nice API for Node JS. Commands used in pyanova are based on its research on the Android APP APK.
- Bluetooh LE communication is made easy with pygatt
Installation
Prerequisites
- pygatt - specifically, it uses the gatttool backend
- bluez - specifically, the gatttool backend requires hcitool, make sure you can find
hcitool
in your system.
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
- 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyanova-0.2.0.tar.gz
.
File metadata
- Download URL: pyanova-0.2.0.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.4.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5eb6f469a48780cd968d845e4ff401519a5d8cd801c981aed4957ee5ae937d38 |
|
MD5 | d6f29f0836d1c01bb61a6ef0dfc17f5a |
|
BLAKE2b-256 | 2132ec3a7981e1f97299242dadfa9994419df610bad224deabad997949ed88ba |
File details
Details for the file pyanova-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: pyanova-0.2.0-py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.4.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b31f153b4fbe206bb234a7043e34f0c1d9eae8e679c197fa889e5b1a9d6744b9 |
|
MD5 | 52caabc263817e3d4a4837975d4b7f01 |
|
BLAKE2b-256 | ffd445352c491dbc047b523dbe8eff0af3fe9b16afc4e33455cce2cabb3c7fea |