Skip to main content

A reverse-engineered server for the Picobrew homebrewing machines

Project description

picobrew-server

This project reverse-engineers a server for the proprietary PicoBrew protocol for use with the PicoBrew Zymatic, a homebrewing machine. It is intended to provide an alternative to run the machine without a connection to the official servers at picobrew.com. Run your own server and sync your recipes offline.

HTTP API

The PicoBrew Zymatic's built-in Ardunio uses an unencrypted HTTP communication protocol. All request are GET requests and are not authenticated. The following documentation is based on Firmware 1.1.8.

Installation

  1. Install Python 3.7 or above
  2. In a terminal download, install and run the project:
// Download and install
pip install picobrew_server

// Start the server in production mode on port 80

// Windows 
set FLASK_APP=picobrew_server
flask run --port 80 --host 0.0.0.0

// OSX / Linux
export FLASK_APP=picobrew_server 
flask run --port 80 --host 0.0.0.0
  • Connect the PicoBrew machine to your computer and enable DNS spoofing. Re-route www.picobrew.com to your computer. More Details

Development

  1. Install Python 3.7+ & Poetry:
pip install poetry
  1. Install all dependecies:
poetry install

// Start the server on http://localhost:5000
FLASK_APP=picobrew_server flask run
  1. Lint, Format, and Type Check changes:
pylint picobrew_server
black picobrew_server
mypy picobrew_server

Demo

You can try out the admin UI for uploading your XML files in this online demo. Please note, this website is for showcasing only and you should deploy your own version.

Features

  • Import BeerXML files
  • Send all your recipes to the PicoBrew
  • Send cleaning recipes to the PicoBrew
  • Session Logging
  • Session Recovery
  • Admin Web UI

ToDo

  • Session Charts

Machine Support

  • Picobrew Zymatic

ToDo

  • Picobrew Z Series
  • Picobrew Pico C

Disclaimer

This software is provided "as is" and any expressed or implied warranties are disclaimed. This software submits recipes with temperature targets to your PicoBrew machine and will cause it to heat water. Any damage to your PicoBrew machine is at your own risk.

If the Zymatic faults and the screen goes blank, DON'T leave it powered on. The circulating pump will shut off and the heater stays on. A tube in the glycol loop may rupture.

License

MIT @ Tom Herold

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

picobrew_server-1.0.1.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

picobrew_server-1.0.1-py3-none-any.whl (1.5 MB view details)

Uploaded Python 3

File details

Details for the file picobrew_server-1.0.1.tar.gz.

File metadata

  • Download URL: picobrew_server-1.0.1.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.9 CPython/3.7.7 Linux/5.3.0-1022-azure

File hashes

Hashes for picobrew_server-1.0.1.tar.gz
Algorithm Hash digest
SHA256 4697ae483ca7ef5210f7f5c5d3cdff7811df0e8c160a03bff325cd733222c434
MD5 5609d8c6eb96b79ce049b26b9d7273aa
BLAKE2b-256 326bbb8b6df106d34c01a54b622ff7ce4adfb34a9abfa7c2dd8a0943119a0b69

See more details on using hashes here.

File details

Details for the file picobrew_server-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: picobrew_server-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.9 CPython/3.7.7 Linux/5.3.0-1022-azure

File hashes

Hashes for picobrew_server-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1ce133942ada2cddf0cecaa1282e98eb6b8d4cf9346b58f6d08d92c03c0ade9e
MD5 59fc70014455615905b989086145732f
BLAKE2b-256 6644a44df8f33dccb20175621fed446e70f02d87b94cbaae7dd3cd44896f95f6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page