Package: pyhottop
pyHottop gives you the power to control your Hottop KN-8828b-2k+ roaster directly through python code.This library is meant to be used within applications and should not be used by itself to conduct a roast. Questions, comments or for support needs, please use theissuespage on Github.Getting StartedIn order to interact with your Hottop roaster, you need to ensure your model has a USB-serial port which comes standard with the KN-8828b-2k+.Install the CP210x USB driver to read from the serial port:https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-driversInstall the pyHotop module:pip install pyhottoporpython setup.py installPlug your Hottop roaster into your laptop.Test connectivity to the roaster by running the diagnostic utility:pyhottop-testtestFeaturesThis library provides full control of the Hottop roaster. Built-in callback functionality allows you to build applications that decouple the processing logic from the library from the core of your application.Stream Hottop readingsEasy-to-use callbacks that return readingsAdjustable polling intervalHuman-readable settingsFlexible collection of dataDebugging interfaceControl the Hottop directlyHeater settingsFan speedsDrum motor toggleCooling motor toggleSolenoid (drum door) toggleChaff tray (detection) readerAuto-discover roaster connectionLoops over USB connections to find the proper serialChangelog2017-03-15Bugfix: Capture error when validating byte sequence2017-03-07Change: Removed non-python3 dict methodBugfix: Error in valid config checking2017-02-24Change: Added logic to add event code to find a valid configuration before saving2017-02-10Change: Added logic to turning point logic to avoid setting too soon2017-12-20Feature: Added a mock service to simulate a roast without being connected to a machine2017-12-10Bugfix: Removed the reset on start as it clears any properties set by the user2017-12-06Change: Keep the drum on by default to avoid any stalls2017-12-03Change: Wrap the buffer read and pull from cache if it continues to failChange: Adjusted lower bound temperature to 50Feature: Reset all the roast settings when starting a roast2017-12-02Bugfix: Called the proper logging object on buffer measurementChange: Added raw buffer responses to the event logFeature: Added a validate routine to the buffer read to account for inaccurate responses from the roasterFeature: Automatically derive charge and turning point events based on temperature data2017-12-01Bugfix: Turned drum motor on when doing a cool-down to push beans out2017-11-29Bugfix: Replaced existing extenal_temp with environment_tempBugfix: Fixed issue with buffer retry loop where it was not being calledChange: Adjusted default interval to 1 second to avoid buffer issuesChange: Toggle serial connection if having trouble reading buffer2017-11-28Change: Adjusted duration to be of format MM:SS instead of total secondsChange: Return roast state when toggling monitoring2017-11-24Feature: several new methods for getting additional roast detailsChange: Refactored code related to tracking roast properties and timingChange: Updated documentation within the codeBugfix: when running with python3 due to queue library