LICENSE MANIFEST.in README.md setup.py cbpi/__init__.py cbpi/cli.py cbpi/configFolder.py cbpi/craftbeerpi.py cbpi/eventbus.py cbpi/satellite.py cbpi/websocket.py cbpi4.egg-info/PKG-INFO cbpi4.egg-info/SOURCES.txt cbpi4.egg-info/dependency_links.txt cbpi4.egg-info/entry_points.txt cbpi4.egg-info/requires.txt cbpi4.egg-info/top_level.txt cbpi/api/__init__.py cbpi/api/actor.py cbpi/api/base.py cbpi/api/config.py cbpi/api/dataclasses.py cbpi/api/decorator.py cbpi/api/exceptions.py cbpi/api/extension.py cbpi/api/fermenter_logic.py cbpi/api/kettle_logic.py cbpi/api/property.py cbpi/api/sensor.py cbpi/api/step.py cbpi/api/timer.py cbpi/config/actor.json cbpi/config/chromium.desktop cbpi/config/config.json cbpi/config/config.yaml cbpi/config/craftbeerpi.service cbpi/config/craftbeerpiboot cbpi/config/create_database.sql cbpi/config/fermenter_data.json cbpi/config/kettle.json cbpi/config/plugin_list.txt cbpi/config/sensor.json cbpi/config/splash.png cbpi/config/step_data.json cbpi/controller/__init__.py cbpi/controller/actor_controller.py cbpi/controller/basic_controller2.py cbpi/controller/config_controller.py cbpi/controller/dashboard_controller.py cbpi/controller/fermentation_controller.py cbpi/controller/fermenter_recipe_controller.py cbpi/controller/job_controller.py cbpi/controller/kettle_controller.py cbpi/controller/log_file_controller.py cbpi/controller/notification_controller.py cbpi/controller/plugin_controller.py cbpi/controller/recipe_controller.py cbpi/controller/satellite_controller.py cbpi/controller/sensor_controller.py cbpi/controller/step_controller.py cbpi/controller/system_controller.py cbpi/controller/upload_controller.py cbpi/extension/__init__.py cbpi/extension/ConfigUpdate/__init__.py cbpi/extension/ConfigUpdate/config.yaml cbpi/extension/ConfigUpdate/__pycache__/__init__.cpython-310.pyc cbpi/extension/ConfigUpdate/__pycache__/__init__.cpython-311.pyc cbpi/extension/ConfigUpdate/__pycache__/__init__.cpython-37.pyc cbpi/extension/ConfigUpdate/__pycache__/__init__.cpython-39.pyc cbpi/extension/FermentationStep/__init__.py cbpi/extension/FermentationStep/config.yaml cbpi/extension/FermentationStep/__pycache__/__init__.cpython-310.pyc cbpi/extension/FermentationStep/__pycache__/__init__.cpython-311.pyc cbpi/extension/FermentationStep/__pycache__/__init__.cpython-37.pyc cbpi/extension/FermentationStep/__pycache__/__init__.cpython-39.pyc cbpi/extension/FermenterHysteresis/__init__.py cbpi/extension/FermenterHysteresis/config.yaml cbpi/extension/FermenterHysteresis/__pycache__/__init__.cpython-310.pyc cbpi/extension/FermenterHysteresis/__pycache__/__init__.cpython-311.pyc cbpi/extension/FermenterHysteresis/__pycache__/__init__.cpython-37.pyc cbpi/extension/FermenterHysteresis/__pycache__/__init__.cpython-39.pyc cbpi/extension/__pycache__/__init__.cpython-310.pyc cbpi/extension/__pycache__/__init__.cpython-311.pyc cbpi/extension/__pycache__/__init__.cpython-37.pyc cbpi/extension/__pycache__/__init__.cpython-39.pyc cbpi/extension/dummyactor/__init__.py cbpi/extension/dummyactor/config.yaml cbpi/extension/dummyactor/__pycache__/__init__.cpython-310.pyc cbpi/extension/dummyactor/__pycache__/__init__.cpython-311.pyc cbpi/extension/dummyactor/__pycache__/__init__.cpython-37.pyc cbpi/extension/dummyactor/__pycache__/__init__.cpython-39.pyc cbpi/extension/dummysensor/__init__.py cbpi/extension/dummysensor/config.yaml cbpi/extension/dummysensor/__pycache__/__init__.cpython-310.pyc cbpi/extension/dummysensor/__pycache__/__init__.cpython-311.pyc cbpi/extension/dummysensor/__pycache__/__init__.cpython-37.pyc cbpi/extension/dummysensor/__pycache__/__init__.cpython-39.pyc cbpi/extension/gpioactor/__init__.py cbpi/extension/gpioactor/config.yaml cbpi/extension/gpioactor/__pycache__/__init__.cpython-310.pyc cbpi/extension/gpioactor/__pycache__/__init__.cpython-311.pyc cbpi/extension/gpioactor/__pycache__/__init__.cpython-37.pyc cbpi/extension/gpioactor/__pycache__/__init__.cpython-39.pyc cbpi/extension/httpsensor/__init__.py cbpi/extension/httpsensor/config.yaml cbpi/extension/httpsensor/__pycache__/__init__.cpython-310.pyc cbpi/extension/httpsensor/__pycache__/__init__.cpython-311.pyc cbpi/extension/httpsensor/__pycache__/__init__.cpython-37.pyc cbpi/extension/httpsensor/__pycache__/__init__.cpython-39.pyc cbpi/extension/hysteresis/__init__.py cbpi/extension/hysteresis/config.yaml cbpi/extension/hysteresis/__pycache__/__init__.cpython-310.pyc cbpi/extension/hysteresis/__pycache__/__init__.cpython-311.pyc cbpi/extension/hysteresis/__pycache__/__init__.cpython-37.pyc cbpi/extension/hysteresis/__pycache__/__init__.cpython-39.pyc cbpi/extension/mashstep/__init__.py cbpi/extension/mashstep/config.yaml cbpi/extension/mashstep/__pycache__/__init__.cpython-310.pyc cbpi/extension/mashstep/__pycache__/__init__.cpython-311.pyc cbpi/extension/mashstep/__pycache__/__init__.cpython-37.pyc cbpi/extension/mashstep/__pycache__/__init__.cpython-39.pyc cbpi/extension/mqtt_actor/__init__.py cbpi/extension/mqtt_actor/config.yaml cbpi/extension/mqtt_actor/generic_mqtt_actor.py cbpi/extension/mqtt_actor/mqtt_actor.py cbpi/extension/mqtt_actor/tasmota_mqtt_actor.py cbpi/extension/mqtt_actor/__pycache__/__init__.cpython-310.pyc cbpi/extension/mqtt_actor/__pycache__/__init__.cpython-311.pyc cbpi/extension/mqtt_actor/__pycache__/__init__.cpython-37.pyc cbpi/extension/mqtt_actor/__pycache__/__init__.cpython-39.pyc cbpi/extension/mqtt_actor/__pycache__/generic_mqtt_actor.cpython-310.pyc cbpi/extension/mqtt_actor/__pycache__/generic_mqtt_actor.cpython-311.pyc cbpi/extension/mqtt_actor/__pycache__/generic_mqtt_actor.cpython-37.pyc cbpi/extension/mqtt_actor/__pycache__/generic_mqtt_actor.cpython-39.pyc cbpi/extension/mqtt_actor/__pycache__/mqtt_actor.cpython-310.pyc cbpi/extension/mqtt_actor/__pycache__/mqtt_actor.cpython-311.pyc cbpi/extension/mqtt_actor/__pycache__/mqtt_actor.cpython-37.pyc cbpi/extension/mqtt_actor/__pycache__/mqtt_actor.cpython-39.pyc cbpi/extension/mqtt_actor/__pycache__/tasmota_mqtt_actor.cpython-310.pyc cbpi/extension/mqtt_actor/__pycache__/tasmota_mqtt_actor.cpython-311.pyc cbpi/extension/mqtt_actor/__pycache__/tasmota_mqtt_actor.cpython-37.pyc cbpi/extension/mqtt_actor/__pycache__/tasmota_mqtt_actor.cpython-39.pyc cbpi/extension/mqtt_sensor/__init__.py cbpi/extension/mqtt_sensor/config.yaml cbpi/extension/mqtt_sensor/__pycache__/__init__.cpython-310.pyc cbpi/extension/mqtt_sensor/__pycache__/__init__.cpython-311.pyc cbpi/extension/mqtt_sensor/__pycache__/__init__.cpython-37.pyc cbpi/extension/mqtt_sensor/__pycache__/__init__.cpython-39.pyc cbpi/extension/mqtt_util/__init__.py cbpi/extension/mqtt_util/config.yaml cbpi/extension/mqtt_util/__pycache__/__init__.cpython-310.pyc cbpi/extension/mqtt_util/__pycache__/__init__.cpython-311.pyc cbpi/extension/mqtt_util/__pycache__/__init__.cpython-37.pyc cbpi/extension/mqtt_util/__pycache__/__init__.cpython-39.pyc cbpi/extension/onewire/__init__.py cbpi/extension/onewire/config.yaml cbpi/extension/onewire/__pycache__/__init__.cpython-310.pyc cbpi/extension/onewire/__pycache__/__init__.cpython-311.pyc cbpi/extension/onewire/__pycache__/__init__.cpython-37.pyc cbpi/extension/onewire/__pycache__/__init__.cpython-39.pyc cbpi/http_endpoints/__init__.py cbpi/http_endpoints/http_actor.py cbpi/http_endpoints/http_config.py cbpi/http_endpoints/http_dashboard.py cbpi/http_endpoints/http_fermentation.py cbpi/http_endpoints/http_fermenterrecipe.py cbpi/http_endpoints/http_kettle.py cbpi/http_endpoints/http_log.py cbpi/http_endpoints/http_login.py cbpi/http_endpoints/http_notification.py cbpi/http_endpoints/http_plugin.py cbpi/http_endpoints/http_recipe.py cbpi/http_endpoints/http_sensor.py cbpi/http_endpoints/http_step.py cbpi/http_endpoints/http_system.py cbpi/http_endpoints/http_upload.py cbpi/job/__init__.py cbpi/job/_job.py cbpi/job/_scheduler.py cbpi/job/aiohttp.py cbpi/static/beer_icon.svg cbpi/static/calculator_icon.svg cbpi/static/cbpi_icon.svg cbpi/static/control_icon.svg cbpi/static/glass_icon.svg cbpi/static/grain.svg cbpi/static/hops_icon.svg cbpi/static/kettle2_icon.svg cbpi/static/kettle_icon.svg cbpi/static/led.svg cbpi/static/liquid_icon.svg cbpi/static/paddle_icon.svg cbpi/static/pipe_icon.svg cbpi/static/sensor_icon.svg cbpi/static/splash.png cbpi/static/svg_icon.svg cbpi/static/tank_icon.svg cbpi/static/target_temp.svg cbpi/static/test.html cbpi/static/thermomenter.svg cbpi/static/yeast.svg cbpi/utils/__init__.py cbpi/utils/encoder.py cbpi/utils/utils.py tests/__init__.py tests/cbpi_config_fixture.py tests/test_actor.py tests/test_cli.py tests/test_config.py tests/test_dashboard.py tests/test_gpio.py tests/test_index.py tests/test_kettle.py tests/test_logger.py tests/test_notification_controller.py tests/test_sensor.py tests/test_step.py tests/test_system.py tests/test_ws.py