This commit is contained in:
manuel83 2019-01-05 22:44:54 +01:00
parent 7ab75f0b01
commit 5533761bb4
8 changed files with 358 additions and 315 deletions

View file

@ -2,105 +2,14 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="1a245e6a-2e43-4348-8759-dc1b63a4c9c8" name="Default" comment="Lots of changes">
<change afterPath="$PROJECT_DIR$/cbpi/api/actor.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cbpi/api/config.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cbpi/api/decorator.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cbpi/api/exceptions.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cbpi/api/extension.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cbpi/api/kettle_logic.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cbpi/api/property.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cbpi/api/sensor.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cbpi/api/step.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cbpi/mqtt/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/craftbeerpi4.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/craftbeerpi4.iml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources.local.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources.local.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Dockerfile" beforeDir="false" afterPath="$PROJECT_DIR$/Dockerfile" afterDir="false" />
<change beforePath="$PROJECT_DIR$/config/config.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/config/config.yaml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/config/create_database.sql" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/config/create_database.sql" afterDir="false" />
<change beforePath="$PROJECT_DIR$/config/plugin_list.txt" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/config/plugin_list.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/controller/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/api/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/controller/actor_controller.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/controller/actor_controller.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/controller/config_controller.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/controller/config_controller.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/controller/crud_controller.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/controller/crud_controller.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/controller/dashboard_controller.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/controller/dashboard_controller.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/controller/job_controller.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/controller/job_controller.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/controller/kettle_controller.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/controller/kettle_controller.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/controller/notification_controller.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/controller/notification_controller.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/controller/plugin_controller.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/controller/plugin_controller.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/controller/sensor_controller.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/controller/sensor_controller.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/controller/step_controller.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/controller/step_controller.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/controller/system_controller.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/controller/system_controller.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/craftbeerpi.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/craftbeerpi.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/database/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/controller/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/database/model.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/database/model.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/database/orm_framework.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/database/orm_framework.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/eventbus.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/eventbus.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/extension/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/database/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/extension/comp/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/extension/comp/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/extension/comp/config.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/extension/comp/config.yaml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/extension/comp/static/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/extension/comp/static/index.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/extension/comp/static/index2.html" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/extension/comp/static/index2.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/extension/dummyactor/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/extension/dummyactor/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/extension/dummyactor/config.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/extension/dummyactor/config.yaml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/extension/dummylogic/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/extension/dummylogic/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/extension/dummylogic/config.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/extension/dummylogic/config.yaml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/extension/dummysensor/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/extension/dummysensor/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/extension/dummysensor/config.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/extension/dummysensor/config.yaml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/extension/dummystep/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/extension/dummystep/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/extension/dummystep/config.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/extension/dummystep/config.yaml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/http_endpoints/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/extension/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/http_endpoints/http_actor.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/http_endpoints/http_actor.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/http_endpoints/http_config.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/http_endpoints/http_config.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/http_endpoints/http_curd_endpoints.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/http_endpoints/http_curd_endpoints.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/http_endpoints/http_dashboard.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/http_endpoints/http_dashboard.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/http_endpoints/http_kettle.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/http_endpoints/http_kettle.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/http_endpoints/http_login.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/http_endpoints/http_login.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/http_endpoints/http_sensor.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/http_endpoints/http_sensor.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/http_endpoints/http_step.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/http_endpoints/http_step.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/job/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/job/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/job/_job.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/job/_job.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/job/_scheduler.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/job/_scheduler.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/job/aiohttp.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/job/aiohttp.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/mqtt/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/http_endpoints/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/mqtt/mqtt.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/mqtt/mqtt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/mqtt/mqtt_matcher.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/mqtt/mqtt_matcher.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/utils/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/utils/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/utils/encoder.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/utils/encoder.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/utils/utils.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/utils/utils.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/core/websocket.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/websocket.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cbpi/cli.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/cli.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cbpi/controller/actor_controller.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/controller/actor_controller.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cbpi/controller/sensor_controller.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/controller/sensor_controller.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cbpi/http_endpoints/http_sensor.py" beforeDir="false" afterPath="$PROJECT_DIR$/cbpi/http_endpoints/http_sensor.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/craftbeerpi.db" beforeDir="false" afterPath="$PROJECT_DIR$/craftbeerpi.db" afterDir="false" />
<change beforePath="$PROJECT_DIR$/logs/sensors/sensor_1.log" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/sensors/sensor_1.log.1" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/sensors/sensor_1.log.10" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/sensors/sensor_1.log.2" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/sensors/sensor_1.log.3" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/sensors/sensor_1.log.4" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/sensors/sensor_1.log.5" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/sensors/sensor_1.log.6" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/sensors/sensor_1.log.7" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/sensors/sensor_1.log.8" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/sensors/sensor_1.log.9" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/sensors/sensor_2.log" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/sensors/sensor_2.log.1" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/sensors/sensor_2.log.2" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/sensors/sensor_2.log.3" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/requirements.txt" beforeDir="false" afterPath="$PROJECT_DIR$/requirements.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/run.py" beforeDir="false" afterPath="$PROJECT_DIR$/run.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/setup.py" beforeDir="false" afterPath="$PROJECT_DIR$/setup.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/tests/test_actor.py" beforeDir="false" afterPath="$PROJECT_DIR$/tests/test_actor.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/tests/test_config.py" beforeDir="false" afterPath="$PROJECT_DIR$/tests/test_config.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/tests/test_dashboard.py" beforeDir="false" afterPath="$PROJECT_DIR$/tests/test_dashboard.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/tests/test_index.py" beforeDir="false" afterPath="$PROJECT_DIR$/tests/test_index.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/tests/test_kettle.py" beforeDir="false" afterPath="$PROJECT_DIR$/tests/test_kettle.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/tests/test_notification_controller.py" beforeDir="false" afterPath="$PROJECT_DIR$/tests/test_notification_controller.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/tests/test_sensor.py" beforeDir="false" afterPath="$PROJECT_DIR$/tests/test_sensor.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/tests/test_step.py" beforeDir="false" afterPath="$PROJECT_DIR$/tests/test_step.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/tests/test_system.py" beforeDir="false" afterPath="$PROJECT_DIR$/tests/test_system.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/tests/test_utils.py" beforeDir="false" afterPath="$PROJECT_DIR$/tests/test_utils.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/tests/test_ws.py" beforeDir="false" afterPath="$PROJECT_DIR$/tests/test_ws.py" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
@ -120,10 +29,10 @@
<SUITE FILE_PATH="coverage/craftbeerpi4$main2.coverage" NAME="main2 Coverage Results" MODIFIED="1546124517142" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/craftbeerpi4$dummy.coverage" NAME="dummy Coverage Results" MODIFIED="1546520051389" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/tests" />
<SUITE FILE_PATH="coverage/craftbeerpi4$pytest_in_test_config_py.coverage" NAME="pytest in test_config.py Coverage Results" MODIFIED="1546113553124" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/craftbeerpi4$pytest_for_tests_test_actor.coverage" NAME="pytest for tests.test_actor Coverage Results" MODIFIED="1546524995902" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/craftbeerpi4$pytest_for_tests_test_actor.coverage" NAME="pytest for tests.test_actor Coverage Results" MODIFIED="1546724599261" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/craftbeerpi4$pytest_in_tests.coverage" NAME="pytest in tests Coverage Results" MODIFIED="1546717215007" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/craftbeerpi4$test_app.coverage" NAME="test_app Coverage Results" MODIFIED="1546525009502" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/tests" />
<SUITE FILE_PATH="coverage/craftbeerpi4$run.coverage" NAME="run Coverage Results" MODIFIED="1546717092702" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/craftbeerpi4$run.coverage" NAME="run Coverage Results" MODIFIED="1546724285020" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/craftbeerpi4$pytest_for_test_kettle_KettleTestCase.coverage" NAME="pytest for test_kettle.KettleTestCase Coverage Results" MODIFIED="1546357864696" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/craftbeerpi4$py_test_in_tests.coverage" NAME="py.test in tests Coverage Results" MODIFIED="1544486432317" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="" />
<SUITE FILE_PATH="coverage/craftbeerpi4$pytest_for_test_config_ConfigTestCase.coverage" NAME="pytest for test_config.ConfigTestCase Coverage Results" MODIFIED="1546212760017" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
@ -163,41 +72,38 @@
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/logs/app.log">
<entry file="file://$PROJECT_DIR$/tests/test_actor.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-10439" />
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/setup.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="424">
<caret line="36" column="1" lean-forward="true" selection-start-line="36" selection-start-column="1" selection-end-line="36" selection-end-column="1" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/.gitignore">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
<state relative-caret-position="60">
<caret line="5" column="4" selection-start-line="5" selection-start-column="4" selection-end-line="5" selection-end-column="4" />
<folding>
<element signature="e#0#14#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app.log">
<entry file="file://$PROJECT_DIR$/cbpi/extension/dummyactor/config.yaml">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cbpi/extension/dummyactor/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1176" />
<state relative-caret-position="-191">
<folding>
<element signature="e#0#14#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cbpi/controller/step_controller.py">
<entry file="file://$PROJECT_DIR$/cbpi/cli.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1356">
<state relative-caret-position="204">
<caret line="37" column="4" lean-forward="true" selection-start-line="37" selection-start-column="4" selection-end-line="38" />
<folding>
<element signature="e#0#14#0" expanded="true" />
</folding>
@ -207,13 +113,18 @@
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cbpi/controller/sensor_controller.py">
<provider selected="true" editor-type-id="text-editor" />
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-229">
<caret line="47" selection-start-line="47" selection-end-line="47" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cbpi/controller/job_controller.py">
<entry file="file://$PROJECT_DIR$/cbpi/http_endpoints/http_sensor.py">
<provider selected="true" editor-type-id="text-editor">
<state>
<state relative-caret-position="193">
<caret line="165" column="54" selection-start-line="165" selection-start-column="54" selection-end-line="165" selection-end-column="54" />
<folding>
<element signature="e#0#14#0" expanded="true" />
</folding>
@ -222,33 +133,34 @@
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/requirements.txt">
<entry file="file://$PROJECT_DIR$/logs/sensors/sensor_1.log">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/cbpi/controller/actor_controller.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120">
<caret line="8" column="19" selection-start-line="8" selection-start-column="19" selection-end-line="8" selection-end-column="19" />
<state relative-caret-position="45">
<caret line="3" column="29" selection-start-line="3" selection-start-column="29" selection-end-line="3" selection-end-column="29" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cbpi/api/sensor.py">
<entry file="file://$PROJECT_DIR$/cbpi/controller/crud_controller.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="68">
<caret line="17" column="9" selection-start-line="17" selection-start-column="9" selection-end-line="17" selection-end-column="9" />
<state relative-caret-position="-117">
<caret line="6" column="6" selection-start-line="6" selection-start-column="6" selection-end-line="6" selection-end-column="6" />
<folding>
<element signature="e#0#48#0" expanded="true" />
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/tests/test_config.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="60">
<caret line="4" column="13" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="13" />
</state>
</provider>
<entry file="file://$PROJECT_DIR$/logs/sensors/sensor_2.log.1">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
</leaf>
@ -262,8 +174,6 @@
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>DONE</find>
<find>start</find>
<find>runng</find>
<find>is_next</find>
<find>S NEXT</find>
@ -292,6 +202,8 @@
<find>DEBUG</find>
<find>PUSH</find>
<find>basicConfig</find>
<find>cbp</find>
<find>HALLOOOOOOO</find>
</findStrings>
<replaceStrings>
<replace />
@ -303,9 +215,9 @@
<dir>$PROJECT_DIR$/core/api</dir>
<dir>$PROJECT_DIR$/tests</dir>
<dir>$PROJECT_DIR$/core/extension</dir>
<dir>$PROJECT_DIR$</dir>
<dir>$PROJECT_DIR$/core</dir>
<dir>$PROJECT_DIR$/cbpi</dir>
<dir>$PROJECT_DIR$</dir>
</dirStrings>
</component>
<component name="Git.Settings">
@ -314,12 +226,10 @@
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/cbpi/controller/job_controller.py" />
<option value="$PROJECT_DIR$/build/lib/cbpi/craftbeerpi.py" />
<option value="$PROJECT_DIR$/build/lib/cbpi/controller/config_controller.py" />
<option value="$APPLICATION_CONFIG_DIR$/consoles/.datagrid/cell" />
<option value="$PROJECT_DIR$/test.py" />
<option value="$PROJECT_DIR$/cbpi/controller/actor_controller.py" />
<option value="$PROJECT_DIR$/cbpi/controller/notification_controller.py" />
<option value="$PROJECT_DIR$/cbpi/controller/plugin_controller.py" />
<option value="$PROJECT_DIR$/cbpi/controller/system_controller.py" />
@ -330,7 +240,6 @@
<option value="$PROJECT_DIR$/cbpi/http_endpoints/http_curd_endpoints.py" />
<option value="$PROJECT_DIR$/cbpi/api/exceptions.py" />
<option value="$PROJECT_DIR$/cbpi/controller/kettle_controller.py" />
<option value="$PROJECT_DIR$/cbpi/controller/sensor_controller.py" />
<option value="$PROJECT_DIR$/cbpi/extension/dummyactor/__init__.py" />
<option value="$PROJECT_DIR$/cbpi/eventbus.py" />
<option value="$PROJECT_DIR$/cbpi/database/orm_framework.py" />
@ -343,7 +252,6 @@
<option value="$PROJECT_DIR$/cbpi/api/kettle_logic.py" />
<option value="$PROJECT_DIR$/cbpi/controller/crud_controller.py" />
<option value="$PROJECT_DIR$/cbpi/api/__init__.py" />
<option value="$PROJECT_DIR$/cbpi/http_endpoints/http_sensor.py" />
<option value="$PROJECT_DIR$/cbpi/http_endpoints/http_step.py" />
<option value="$PROJECT_DIR$/cbpi/config/plugin_list.txt" />
<option value="$PROJECT_DIR$/cfg/plugin_list.txt" />
@ -360,11 +268,15 @@
<option value="$PROJECT_DIR$/cbpi/craftbeerpi.py" />
<option value="$PROJECT_DIR$/cbpi/api/sensor.py" />
<option value="$PROJECT_DIR$/app.log" />
<option value="$PROJECT_DIR$/cbpi/cli.py" />
<option value="$PROJECT_DIR$/tests/test_config.py" />
<option value="$PROJECT_DIR$/cbpi/controller/step_controller.py" />
<option value="$PROJECT_DIR$/setup.py" />
<option value="$PROJECT_DIR$/.gitignore" />
<option value="$PROJECT_DIR$/setup.py" />
<option value="$PROJECT_DIR$/cbpi/controller/sensor_controller.py" />
<option value="$PROJECT_DIR$/cbpi/cli.py" />
<option value="$PROJECT_DIR$/cbpi/http_endpoints/http_sensor.py" />
<option value="$PROJECT_DIR$/tests/test_actor.py" />
<option value="$PROJECT_DIR$/cbpi/controller/actor_controller.py" />
</list>
</option>
</component>
@ -390,7 +302,91 @@
<path>
<item name="craftbeerpi4" type="b2602c69:ProjectViewProjectNode" />
<item name="craftbeerpi4" type="462c0819:PsiDirectoryNode" />
<item name="cbpi.egg-info" type="462c0819:PsiDirectoryNode" />
<item name="cbpi" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="craftbeerpi4" type="b2602c69:ProjectViewProjectNode" />
<item name="craftbeerpi4" type="462c0819:PsiDirectoryNode" />
<item name="cbpi" type="462c0819:PsiDirectoryNode" />
<item name="controller" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="craftbeerpi4" type="b2602c69:ProjectViewProjectNode" />
<item name="craftbeerpi4" type="462c0819:PsiDirectoryNode" />
<item name="cbpi" type="462c0819:PsiDirectoryNode" />
<item name="controller" type="462c0819:PsiDirectoryNode" />
<item name="actor_controller.py" type="8704e2dd:PyFileNode" />
</path>
<path>
<item name="craftbeerpi4" type="b2602c69:ProjectViewProjectNode" />
<item name="craftbeerpi4" type="462c0819:PsiDirectoryNode" />
<item name="cbpi" type="462c0819:PsiDirectoryNode" />
<item name="controller" type="462c0819:PsiDirectoryNode" />
<item name="actor_controller.py" type="8704e2dd:PyFileNode" />
<item name="ActorController" type="dd8bbb05:PyElementNode" />
</path>
<path>
<item name="craftbeerpi4" type="b2602c69:ProjectViewProjectNode" />
<item name="craftbeerpi4" type="462c0819:PsiDirectoryNode" />
<item name="cbpi" type="462c0819:PsiDirectoryNode" />
<item name="controller" type="462c0819:PsiDirectoryNode" />
<item name="crud_controller.py" type="8704e2dd:PyFileNode" />
</path>
<path>
<item name="craftbeerpi4" type="b2602c69:ProjectViewProjectNode" />
<item name="craftbeerpi4" type="462c0819:PsiDirectoryNode" />
<item name="cbpi" type="462c0819:PsiDirectoryNode" />
<item name="controller" type="462c0819:PsiDirectoryNode" />
<item name="crud_controller.py" type="8704e2dd:PyFileNode" />
<item name="CRUDController" type="dd8bbb05:PyElementNode" />
</path>
<path>
<item name="craftbeerpi4" type="b2602c69:ProjectViewProjectNode" />
<item name="craftbeerpi4" type="462c0819:PsiDirectoryNode" />
<item name="cbpi" type="462c0819:PsiDirectoryNode" />
<item name="extension" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="craftbeerpi4" type="b2602c69:ProjectViewProjectNode" />
<item name="craftbeerpi4" type="462c0819:PsiDirectoryNode" />
<item name="cbpi" type="462c0819:PsiDirectoryNode" />
<item name="extension" type="462c0819:PsiDirectoryNode" />
<item name="dummyactor" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="craftbeerpi4" type="b2602c69:ProjectViewProjectNode" />
<item name="craftbeerpi4" type="462c0819:PsiDirectoryNode" />
<item name="cbpi" type="462c0819:PsiDirectoryNode" />
<item name="http_endpoints" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="craftbeerpi4" type="b2602c69:ProjectViewProjectNode" />
<item name="craftbeerpi4" type="462c0819:PsiDirectoryNode" />
<item name="logs" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="craftbeerpi4" type="b2602c69:ProjectViewProjectNode" />
<item name="craftbeerpi4" type="462c0819:PsiDirectoryNode" />
<item name="logs" type="462c0819:PsiDirectoryNode" />
<item name="sensors" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="craftbeerpi4" type="b2602c69:ProjectViewProjectNode" />
<item name="craftbeerpi4" type="462c0819:PsiDirectoryNode" />
<item name="tests" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="craftbeerpi4" type="b2602c69:ProjectViewProjectNode" />
<item name="craftbeerpi4" type="462c0819:PsiDirectoryNode" />
<item name="tests" type="462c0819:PsiDirectoryNode" />
<item name="test_actor.py" type="8704e2dd:PyFileNode" />
</path>
<path>
<item name="craftbeerpi4" type="b2602c69:ProjectViewProjectNode" />
<item name="craftbeerpi4" type="462c0819:PsiDirectoryNode" />
<item name="tests" type="462c0819:PsiDirectoryNode" />
<item name="test_actor.py" type="8704e2dd:PyFileNode" />
<item name="ActorTestCase" type="dd8bbb05:PyElementNode" />
</path>
</expand>
<select />
@ -410,11 +406,11 @@
</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/logs/sensors" />
<recent name="$PROJECT_DIR$/cbpi/api" />
<recent name="$PROJECT_DIR$/test" />
<recent name="$PROJECT_DIR$" />
<recent name="$PROJECT_DIR$/tests" />
<recent name="$PROJECT_DIR$/core/http_endpoints" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/cbpi" />
@ -436,7 +432,7 @@
</list>
</option>
</component>
<component name="RunManager" selected="Python tests.pytest in tests">
<component name="RunManager" selected="Python tests.pytest for tests.test_actor">
<configuration name="cli" type="PythonConfigurationType" factoryName="Python" temporary="true">
<module name="craftbeerpi4" />
<option name="INTERPRETER_OPTIONS" value="" />
@ -630,8 +626,8 @@
</list>
<recent_temporary>
<list>
<item itemvalue="Python tests.pytest in tests" />
<item itemvalue="Python.run" />
<item itemvalue="Python tests.pytest in tests" />
<item itemvalue="Python.sample" />
<item itemvalue="Python.test" />
<item itemvalue="Python.cli" />
@ -656,7 +652,7 @@
<workItem from="1546003397332" duration="543000" />
<workItem from="1546006149688" duration="24136000" />
<workItem from="1546201868140" duration="66956000" />
<workItem from="1546520120024" duration="42748000" />
<workItem from="1546520120024" duration="47278000" />
</task>
<task id="LOCAL-00001" summary="Lots of changes">
<created>1541288846149</created>
@ -676,39 +672,39 @@
<servers />
</component>
<component name="TestHistory">
<history-entry file="pytest_in_tests - 2019.01.04 at 00h 23m 28s.xml">
<configuration name="pytest in tests" configurationId="tests" />
</history-entry>
<history-entry file="pytest_in_tests - 2019.01.04 at 00h 23m 54s.xml">
<configuration name="pytest in tests" configurationId="tests" />
</history-entry>
<history-entry file="pytest_in_tests - 2019.01.04 at 00h 25m 08s.xml">
<configuration name="pytest in tests" configurationId="tests" />
</history-entry>
<history-entry file="pytest_in_tests - 2019.01.04 at 00h 47m 56s.xml">
<configuration name="pytest in tests" configurationId="tests" />
</history-entry>
<history-entry file="pytest_in_tests - 2019.01.04 at 00h 49m 29s.xml">
<configuration name="pytest in tests" configurationId="tests" />
</history-entry>
<history-entry file="pytest_in_tests - 2019.01.04 at 00h 50m 28s.xml">
<configuration name="pytest in tests" configurationId="tests" />
</history-entry>
<history-entry file="pytest_in_tests - 2019.01.04 at 19h 23m 14s.xml">
<configuration name="pytest in tests" configurationId="tests" />
</history-entry>
<history-entry file="pytest_in_tests - 2019.01.04 at 23h 09m 43s.xml">
<configuration name="pytest in tests" configurationId="tests" />
</history-entry>
<history-entry file="pytest_in_tests - 2019.01.05 at 20h 39m 29s.xml">
<configuration name="pytest in tests" configurationId="tests" />
</history-entry>
<history-entry file="pytest_in_tests - 2019.01.05 at 20h 40m 24s.xml">
<configuration name="pytest in tests" configurationId="tests" />
</history-entry>
<history-entry file="pytest_for_tests_test_actor - 2019.01.05 at 22h 38m 41s.xml">
<configuration name="pytest for tests.test_actor" configurationId="tests" />
</history-entry>
<history-entry file="pytest_for_tests_test_actor - 2019.01.05 at 22h 39m 28s.xml">
<configuration name="pytest for tests.test_actor" configurationId="tests" />
</history-entry>
<history-entry file="pytest_for_tests_test_actor - 2019.01.05 at 22h 39m 50s.xml">
<configuration name="pytest for tests.test_actor" configurationId="tests" />
</history-entry>
<history-entry file="pytest_for_tests_test_actor - 2019.01.05 at 22h 40m 42s.xml">
<configuration name="pytest for tests.test_actor" configurationId="tests" />
</history-entry>
<history-entry file="pytest_for_tests_test_actor - 2019.01.05 at 22h 42m 11s.xml">
<configuration name="pytest for tests.test_actor" configurationId="tests" />
</history-entry>
<history-entry file="pytest_for_tests_test_actor - 2019.01.05 at 22h 42m 42s.xml">
<configuration name="pytest for tests.test_actor" configurationId="tests" />
</history-entry>
<history-entry file="pytest_for_tests_test_actor - 2019.01.05 at 22h 43m 01s.xml">
<configuration name="pytest for tests.test_actor" configurationId="tests" />
</history-entry>
<history-entry file="pytest_for_tests_test_actor - 2019.01.05 at 22h 43m 21s.xml">
<configuration name="pytest for tests.test_actor" configurationId="tests" />
</history-entry>
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="147027000" />
<option name="totallyTimeSpent" value="151557000" />
</component>
<component name="TodoView" selected-index="4">
<todo-panel id="selected-file">
@ -723,15 +719,15 @@
<frame x="123" y="23" width="1492" height="910" extended-state="0" />
<editor active="true" />
<layout>
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.3262069" />
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.3262069" />
<window_info id="Structure" order="1" weight="0.24957556" />
<window_info id="Favorites" order="2" side_tool="true" />
<window_info anchor="bottom" id="Event Log" order="0" sideWeight="0.2737931" side_tool="true" weight="0.3997555" />
<window_info anchor="bottom" id="Version Control" order="1" weight="0.32762837" />
<window_info anchor="bottom" id="Run" order="2" sideWeight="0.7262069" weight="0.47432762" />
<window_info active="true" anchor="bottom" id="Run" order="2" sideWeight="0.7262069" visible="true" weight="0.47432762" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.39731053" />
<window_info anchor="bottom" id="Python Console" order="4" weight="0.32885087" />
<window_info anchor="bottom" id="Terminal" order="5" sideWeight="0.49761903" visible="true" weight="0.2811736" />
<window_info anchor="bottom" id="Terminal" order="5" sideWeight="0.49761903" weight="0.29951102" />
<window_info anchor="bottom" id="TODO" order="6" weight="0.3286945" />
<window_info anchor="bottom" id="Message" order="7" />
<window_info anchor="bottom" id="Find" order="8" weight="0.32518336" />
@ -743,7 +739,7 @@
<window_info anchor="bottom" id="Database Console" order="14" weight="0.32885087" />
<window_info anchor="bottom" id="Concurrent Activities Diagram" order="15" weight="0.40342298" />
<window_info anchor="right" id="Data View" order="0" />
<window_info anchor="right" id="Database" order="1" sideWeight="0.49534884" visible="true" weight="0.22344828" />
<window_info anchor="right" id="Database" order="1" sideWeight="0.49534884" visible="true" weight="0.11793104" />
<window_info anchor="right" id="Commander" order="2" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="3" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="4" weight="0.25" />
@ -790,73 +786,6 @@
</watches-manager>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/logs/sensors/sensor_3.log">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/extension/dummysensor/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="236">
<caret line="39" column="22" selection-start-line="39" selection-start-column="22" selection-end-line="39" selection-end-column="22" />
<folding>
<element signature="e#0#14#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/logs/sensors/sensor_1.log">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/test/logs/sensors/sensor_2.log">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/test_env2/lib/python3.7/site-packages/cbpi_api/sensor.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="31">
<caret line="15" column="8" selection-start-line="15" selection-start-column="8" selection-end-line="15" selection-end-column="8" />
</state>
</provider>
</entry>
<entry file="das://633d3113-4e25-4945-a8ff-56edb8af9fa9/schema/main/table/sensor">
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
<state>
<filtering enabled="true" />
</state>
</provider>
</entry>
<entry file="das://6a479d72-eae8-4efb-a6f4-370f17be2a85/schema/main/table/sensor">
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
<state>
<filtering enabled="true" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/controller/actor_controller.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="45">
<caret line="3" selection-start-line="3" selection-end-line="3" selection-end-column="22" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/controller/__init__.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/api/exceptions.py">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="11" selection-start-column="11" selection-end-column="79" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/api/actor.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30">
<caret line="2" column="44" selection-start-line="2" selection-start-column="44" selection-end-line="2" selection-end-column="44" />
<folding>
<element signature="e#0#23#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/api/kettle_logic.py">
<provider selected="true" editor-type-id="text-editor">
<state>
@ -864,13 +793,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/controller/crud_controller.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="45">
<caret line="3" column="11" selection-start-line="3" selection-start-column="11" selection-end-line="3" selection-end-column="11" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/api/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="281">
@ -878,13 +800,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/http_endpoints/http_sensor.py">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="36" selection-start-column="21" selection-end-column="36" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/http_endpoints/http_step.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30">
@ -957,16 +872,6 @@
<entry file="file://$PROJECT_DIR$/test.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/controller/plugin_controller.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="249">
<caret line="39" column="29" selection-start-line="39" selection-start-column="29" selection-end-line="39" selection-end-column="75" />
<folding>
<element signature="e#0#14#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/extension/comp/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="70">
@ -998,16 +903,6 @@
</state>
</provider>
</entry>
<entry file="das://5067e7fe-480d-4433-bc40-f2d1c38362a2/schema/main/table/sensor">
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
<state>
<filtering enabled="true" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/logs/sensors/sensor_2.log.1">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/websocket.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="268">
@ -1045,21 +940,6 @@
<entry file="file://$PROJECT_DIR$/.nojekyll">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/cli.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="7" column="102" selection-start-line="7" selection-start-column="102" selection-end-line="7" selection-end-column="102" />
<folding>
<element signature="e#0#14#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/logs/app.log">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-10439" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/sample.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="45">
@ -1098,9 +978,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/controller/sensor_controller.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/controller/job_controller.py">
<provider selected="true" editor-type-id="text-editor">
<state>
@ -1117,13 +994,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/setup.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="424">
<caret line="36" column="1" lean-forward="true" selection-start-line="36" selection-start-column="1" selection-end-line="36" selection-end-column="1" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.gitignore">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
@ -1131,5 +1001,138 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/setup.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="206">
<caret line="31" column="8" selection-start-line="31" selection-start-column="8" selection-end-line="31" selection-end-column="8" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/http_endpoints/http_curd_endpoints.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270">
<caret line="48" column="8" lean-forward="true" selection-start-line="48" selection-start-column="8" selection-end-line="48" selection-end-column="37" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/cbp42/lib/python3.7/site-packages/aiohttp/web_response.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="546">
<caret line="381" column="14" selection-start-line="381" selection-start-column="14" selection-end-line="381" selection-end-column="14" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/logs/app.log">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-2055">
<caret line="3380" column="65" selection-start-line="3380" selection-start-column="32" selection-end-line="3380" selection-end-column="65" />
</state>
</provider>
</entry>
<entry file="das://5067e7fe-480d-4433-bc40-f2d1c38362a2/schema/main/table/sensor">
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
<state>
<filtering enabled="true" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/controller/plugin_controller.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="126">
<caret line="39" column="29" selection-start-line="39" selection-start-column="29" selection-end-line="39" selection-end-column="75" />
<folding>
<element signature="e#0#14#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/logs/sensors/sensor_2.log.4">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/logs/sensors/sensor_2.log">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/controller/sensor_controller.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-229">
<caret line="47" selection-start-line="47" selection-end-line="47" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/http_endpoints/http_sensor.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="193">
<caret line="165" column="54" selection-start-line="165" selection-start-column="54" selection-end-line="165" selection-end-column="54" />
<folding>
<element signature="e#0#14#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/logs/sensors/sensor_1.log.1">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret selection-end-line="1" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/logs/sensors/sensor_1.log.2">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/logs/sensors/sensor_2.log.1">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/logs/sensors/sensor_1.log">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/cli.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="204">
<caret line="37" column="4" lean-forward="true" selection-start-line="37" selection-start-column="4" selection-end-line="38" />
<folding>
<element signature="e#0#14#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/tests/test_actor.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="60">
<caret line="5" column="4" selection-start-line="5" selection-start-column="4" selection-end-line="5" selection-end-column="4" />
<folding>
<element signature="e#0#14#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/extension/dummyactor/config.yaml">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/extension/dummyactor/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-191">
<folding>
<element signature="e#0#14#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/controller/crud_controller.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-117">
<caret line="6" column="6" selection-start-line="6" selection-start-column="6" selection-end-line="6" selection-end-column="6" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cbpi/controller/actor_controller.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="45">
<caret line="3" column="29" selection-start-line="3" selection-start-column="29" selection-end-line="3" selection-end-column="29" />
</state>
</provider>
</entry>
</component>
</project>

View file

@ -5,7 +5,6 @@ import os
import pathlib
import shutil
logging.basicConfig(level=logging.INFO,filename='./logs/app.log', filemode='a', format='%(asctime)s - %(levelname)s - %(name)s - %(message)s')
def create_plugin_file():
import os.path
@ -30,10 +29,13 @@ def main():
#import sys
#arg1, arg2 = sys.argv[1], sys.argv[2]
create_home_folder_structure()
create_plugin_file()
create_config_file()
#logging.basicConfig(level=logging.INFO, filename='./logs/app.log', filemode='a', format='%(asctime)s - %(levelname)s - %(name)s - %(message)s')
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(name)s - %(message)s')
cbpi = CraftBeerPi()
cbpi.start()

View file

@ -1,9 +1,7 @@
import logging
from asyncio import Future
from cbpi.api import *
from voluptuous import Schema
from cbpi.controller.crud_controller import CRUDController
from cbpi.database.model import ActorModel
@ -40,7 +38,6 @@ class ActorController(CRUDController):
try:
if actor.type in self.types:
cfg = actor.config.copy()
cfg.update(dict(cbpi=self.cbpi, id=id, name=actor.name))
clazz = self.types[actor.type]["class"];
@ -48,7 +45,6 @@ class ActorController(CRUDController):
self.cache[actor.id].instance.init()
await self.cbpi.bus.fire(topic="actor/%s/initialized" % actor.id, id=actor.id)
else:
print("NOT FOUND")
self.logger.error("Actor type '%s' not found (Available Actor Types: %s)" % (actor.type, ', '.join(self.types.keys())))
except Exception as e:
self.logger.error("Failed to init actor %s - Reason %s" % (actor.id, str(e)))
@ -131,6 +127,7 @@ class ActorController(CRUDController):
:param m:
:return:
'''
print("INIT ACTION")
await self._init_actor(m)
pass

View file

@ -45,6 +45,8 @@ class SensorController(CRUDController):
else:
self.logger.error("Sensor type '%s' not found (Available Sensor Types: %s)" % (sensor.type, ', '.join(self.types.keys())))
async def stop_sensor(self, sensor):
print("STOP", sensor.id)
sensor.instance.stop()

View file

@ -1,3 +1,8 @@
import asyncio
import os
from aiohttp import web
from cbpi.api import request_mapping
from cbpi.http_endpoints.http_curd_endpoints import HttpCrudEndpoints
@ -138,3 +143,31 @@ class SensorHttpEndpoints(HttpCrudEndpoints):
description: successful operation
"""
return await super().http_delete_one(request)
@request_mapping(path="/{id:\d+}/log", auth_required=False)
async def http_get_log(self, request):
sensor_id = request.match_info['id']
resp = web.StreamResponse(status=200, reason='OK', headers={'Content-Type': 'text/html'})
await resp.prepare(request)
for filename in sorted(os.listdir("./logs/sensors"), reverse=True):
if filename.startswith("sensor_%s" % sensor_id):
with open(os.path.join("./logs/sensors/%s" % filename), 'r') as myfile:
await resp.write(str.encode(myfile.read()))
return resp
@request_mapping(path="/{id:\d+}/log", method="DELETE", auth_required=False)
async def http_clear_log(self, request):
sensor_id = request.match_info['id']
for filename in sorted(os.listdir("./logs/sensors"), reverse=True):
print(filename)
if filename == "sensor_%s.log" % sensor_id:
with open(os.path.join("./logs/sensors/%s" % filename), 'w'):
pass
continue
if filename.startswith("sensor_%s" % sensor_id):
os.remove(os.path.join("./logs/sensors/%s" % filename))
return web.Response(status=204)

Binary file not shown.

View file

@ -1,7 +1,7 @@
from setuptools import setup, find_packages
setup(name='cbpi',
version='0.0.1',
version='4.0.2',
description='CraftBeerPi API',
author='Manuel Fritsch',
author_email='manuel@craftbeerpi.com',

View file

@ -1,9 +1,10 @@
import logging
from unittest import mock
from aiohttp.test_utils import AioHTTPTestCase, unittest_run_loop
from cbpi.craftbeerpi import CraftBeerPi
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(name)s - %(message)s')
class ActorTestCase(AioHTTPTestCase):
@ -32,7 +33,7 @@ class ActorTestCase(AioHTTPTestCase):
resp = await self.client.request("POST", "/actor/1/on")
assert resp.status == 204
i = await self.cbpi.actor.get_one(1)
print(i)
assert i.instance.state is True
resp = await self.client.request("POST", "/actor/1/off")
@ -75,6 +76,11 @@ class ActorTestCase(AioHTTPTestCase):
m2 = await resp.json()
sensor_id = m2["id"]
resp = await self.client.request("POST", "/actor/%s/on" % sensor_id)
assert resp.status == 204
# Update Sensor
resp = await self.client.put(path="/actor/%s" % sensor_id, json=m)
assert resp.status == 200