mirror of
https://github.com/PiBrewing/craftbeerpi4.git
synced 2024-11-09 17:07:43 +01:00
allow float values for kettle target temp
This commit is contained in:
parent
616503eed6
commit
be59c7c9e4
6 changed files with 60 additions and 22 deletions
|
@ -1,3 +1,3 @@
|
||||||
__version__ = "4.1.1"
|
__version__ = "4.1.2"
|
||||||
__codename__ = "Groundhog Day"
|
__codename__ = "Groundhog Day"
|
||||||
|
|
||||||
|
|
|
@ -89,7 +89,7 @@ class Kettle:
|
||||||
heater: Actor = None
|
heater: Actor = None
|
||||||
sensor: Sensor = None
|
sensor: Sensor = None
|
||||||
type: str = None
|
type: str = None
|
||||||
target_temp: int = 0
|
target_temp: float = 0
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "name={} props={} temp={}".format(self.name, self.props, self.target_temp)
|
return "name={} props={} temp={}".format(self.name, self.props, self.target_temp)
|
||||||
|
|
|
@ -388,7 +388,7 @@ class BoilStep(CBPiStep):
|
||||||
|
|
||||||
self.kettle=self.get_kettle(self.props.get("Kettle", None))
|
self.kettle=self.get_kettle(self.props.get("Kettle", None))
|
||||||
if self.kettle is not None:
|
if self.kettle is not None:
|
||||||
self.kettle.target_temp = int(self.props.get("Temp", 0))
|
self.kettle.target_temp = float(self.props.get("Temp", 0))
|
||||||
|
|
||||||
if self.cbpi.kettle is not None and self.timer is None:
|
if self.cbpi.kettle is not None and self.timer is None:
|
||||||
self.timer = Timer(int(self.props.get("Timer", 0)) *60 ,on_update=self.on_timer_update, on_done=self.on_timer_done)
|
self.timer = Timer(int(self.props.get("Timer", 0)) *60 ,on_update=self.on_timer_update, on_done=self.on_timer_done)
|
||||||
|
@ -450,7 +450,7 @@ class BoilStep(CBPiStep):
|
||||||
self.cbpi.notify("Please remove lid!", "Reached temp close to boiling", NotificationType.INFO)
|
self.cbpi.notify("Please remove lid!", "Reached temp close to boiling", NotificationType.INFO)
|
||||||
self.lid_flag = False
|
self.lid_flag = False
|
||||||
|
|
||||||
if sensor_value >= int(self.props.get("Temp", 0)) and self.timer.is_running is not True:
|
if sensor_value >= float(self.props.get("Temp", 0)) and self.timer.is_running is not True:
|
||||||
self.timer.start()
|
self.timer.start()
|
||||||
self.timer.is_running = True
|
self.timer.is_running = True
|
||||||
estimated_completion_time = datetime.fromtimestamp(time.time()+ (int(self.props.get("Timer", 0)))*60)
|
estimated_completion_time = datetime.fromtimestamp(time.time()+ (int(self.props.get("Timer", 0)))*60)
|
||||||
|
@ -496,7 +496,7 @@ class CooldownStep(CBPiStep):
|
||||||
self.kettle = self.get_kettle(self.props.get("Kettle", None))
|
self.kettle = self.get_kettle(self.props.get("Kettle", None))
|
||||||
self.actor = self.props.get("Actor", None)
|
self.actor = self.props.get("Actor", None)
|
||||||
self.target_temp = int(self.props.get("Temp",0))
|
self.target_temp = int(self.props.get("Temp",0))
|
||||||
self.Interval = 15 # Interval in minutes on how often cooldwon end time is calculated
|
self.Interval = 10 # Interval in minutes on how often cooldwon end time is calculated
|
||||||
|
|
||||||
self.cbpi.notify(self.name, 'Cool down to {}°'.format(self.target_temp), NotificationType.INFO)
|
self.cbpi.notify(self.name, 'Cool down to {}°'.format(self.target_temp), NotificationType.INFO)
|
||||||
if self.timer is None:
|
if self.timer is None:
|
||||||
|
@ -526,7 +526,7 @@ class CooldownStep(CBPiStep):
|
||||||
await self.push_update()
|
await self.push_update()
|
||||||
while self.running == True:
|
while self.running == True:
|
||||||
current_temp = self.get_sensor_value(self.props.get("Sensor", None)).get("value")
|
current_temp = self.get_sensor_value(self.props.get("Sensor", None)).get("value")
|
||||||
if self.count == 10:
|
if self.count == 3:
|
||||||
self.temp_array.append(current_temp)
|
self.temp_array.append(current_temp)
|
||||||
current_time = time.time()
|
current_time = time.time()
|
||||||
if self.initial_date == None:
|
if self.initial_date == None:
|
||||||
|
@ -541,6 +541,10 @@ class CooldownStep(CBPiStep):
|
||||||
target_timestring= datetime.fromtimestamp(target_time)
|
target_timestring= datetime.fromtimestamp(target_time)
|
||||||
self.summary="ECT: {}".format(target_timestring.strftime("%H:%M"))
|
self.summary="ECT: {}".format(target_timestring.strftime("%H:%M"))
|
||||||
self.cbpi.notify("Cooldown Step","Current: {}°, reaching {}° at {}".format(round(current_temp,1), self.target_temp, target_timestring.strftime("%d.%m %H:%M")), NotificationType.INFO)
|
self.cbpi.notify("Cooldown Step","Current: {}°, reaching {}° at {}".format(round(current_temp,1), self.target_temp, target_timestring.strftime("%d.%m %H:%M")), NotificationType.INFO)
|
||||||
|
self.temp_array = []
|
||||||
|
self.time_array = []
|
||||||
|
self.temp_array.append(self.get_sensor_value(self.props.get("Sensor", None)).get("value"))
|
||||||
|
self.time_array.append(time.time())
|
||||||
await self.push_update()
|
await self.push_update()
|
||||||
|
|
||||||
if current_temp <= self.target_temp and self.timer.is_running is not True:
|
if current_temp <= self.target_temp and self.timer.is_running is not True:
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
Metadata-Version: 2.1
|
Metadata-Version: 2.1
|
||||||
Name: cbpi4
|
Name: cbpi4
|
||||||
Version: 4.0.6
|
Version: 4.1.1
|
||||||
Summary: CraftBeerPi4 Brewing Software
|
Summary: CraftBeerPi4 Brewing Software
|
||||||
Home-page: http://web.craftbeerpi.com
|
Home-page: http://web.craftbeerpi.com
|
||||||
Author: Manuel Fritsch / Alexander Vollkopf
|
Author: Manuel Fritsch / Alexander Vollkopf
|
||||||
|
|
|
@ -42,7 +42,6 @@ cbpi/config/plugin_list.txt
|
||||||
cbpi/config/sensor.json
|
cbpi/config/sensor.json
|
||||||
cbpi/config/splash.png
|
cbpi/config/splash.png
|
||||||
cbpi/config/step_data.json
|
cbpi/config/step_data.json
|
||||||
cbpi/config/dashboard/cbpi_dashboard_1.json
|
|
||||||
cbpi/controller/__init__.py
|
cbpi/controller/__init__.py
|
||||||
cbpi/controller/actor_controller.py
|
cbpi/controller/actor_controller.py
|
||||||
cbpi/controller/basic_controller2.py
|
cbpi/controller/basic_controller2.py
|
||||||
|
@ -64,40 +63,60 @@ cbpi/controller/upload_controller.py
|
||||||
cbpi/extension/__init__.py
|
cbpi/extension/__init__.py
|
||||||
cbpi/extension/ConfigUpdate/__init__.py
|
cbpi/extension/ConfigUpdate/__init__.py
|
||||||
cbpi/extension/ConfigUpdate/config.yaml
|
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-37.pyc
|
||||||
cbpi/extension/ConfigUpdate/__pycache__/__init__.cpython-39.pyc
|
cbpi/extension/ConfigUpdate/__pycache__/__init__.cpython-39.pyc
|
||||||
cbpi/extension/FermentationStep/__init__.py
|
cbpi/extension/FermentationStep/__init__.py
|
||||||
cbpi/extension/FermentationStep/config.yaml
|
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-37.pyc
|
||||||
cbpi/extension/FermentationStep/__pycache__/__init__.cpython-39.pyc
|
cbpi/extension/FermentationStep/__pycache__/__init__.cpython-39.pyc
|
||||||
cbpi/extension/FermenterHysteresis/__init__.py
|
cbpi/extension/FermenterHysteresis/__init__.py
|
||||||
cbpi/extension/FermenterHysteresis/config.yaml
|
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-37.pyc
|
||||||
cbpi/extension/FermenterHysteresis/__pycache__/__init__.cpython-39.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-37.pyc
|
||||||
cbpi/extension/__pycache__/__init__.cpython-39.pyc
|
cbpi/extension/__pycache__/__init__.cpython-39.pyc
|
||||||
cbpi/extension/dummyactor/__init__.py
|
cbpi/extension/dummyactor/__init__.py
|
||||||
cbpi/extension/dummyactor/config.yaml
|
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-37.pyc
|
||||||
cbpi/extension/dummyactor/__pycache__/__init__.cpython-39.pyc
|
cbpi/extension/dummyactor/__pycache__/__init__.cpython-39.pyc
|
||||||
cbpi/extension/dummysensor/__init__.py
|
cbpi/extension/dummysensor/__init__.py
|
||||||
cbpi/extension/dummysensor/config.yaml
|
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-37.pyc
|
||||||
cbpi/extension/dummysensor/__pycache__/__init__.cpython-39.pyc
|
cbpi/extension/dummysensor/__pycache__/__init__.cpython-39.pyc
|
||||||
cbpi/extension/gpioactor/__init__.py
|
cbpi/extension/gpioactor/__init__.py
|
||||||
cbpi/extension/gpioactor/config.yaml
|
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-37.pyc
|
||||||
cbpi/extension/gpioactor/__pycache__/__init__.cpython-39.pyc
|
cbpi/extension/gpioactor/__pycache__/__init__.cpython-39.pyc
|
||||||
cbpi/extension/httpsensor/__init__.py
|
cbpi/extension/httpsensor/__init__.py
|
||||||
cbpi/extension/httpsensor/config.yaml
|
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-37.pyc
|
||||||
cbpi/extension/httpsensor/__pycache__/__init__.cpython-39.pyc
|
cbpi/extension/httpsensor/__pycache__/__init__.cpython-39.pyc
|
||||||
cbpi/extension/hysteresis/__init__.py
|
cbpi/extension/hysteresis/__init__.py
|
||||||
cbpi/extension/hysteresis/config.yaml
|
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-37.pyc
|
||||||
cbpi/extension/hysteresis/__pycache__/__init__.cpython-39.pyc
|
cbpi/extension/hysteresis/__pycache__/__init__.cpython-39.pyc
|
||||||
cbpi/extension/mashstep/__init__.py
|
cbpi/extension/mashstep/__init__.py
|
||||||
cbpi/extension/mashstep/config.yaml
|
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-37.pyc
|
||||||
cbpi/extension/mashstep/__pycache__/__init__.cpython-39.pyc
|
cbpi/extension/mashstep/__pycache__/__init__.cpython-39.pyc
|
||||||
cbpi/extension/mqtt_actor/__init__.py
|
cbpi/extension/mqtt_actor/__init__.py
|
||||||
|
@ -105,24 +124,38 @@ cbpi/extension/mqtt_actor/config.yaml
|
||||||
cbpi/extension/mqtt_actor/generic_mqtt_actor.py
|
cbpi/extension/mqtt_actor/generic_mqtt_actor.py
|
||||||
cbpi/extension/mqtt_actor/mqtt_actor.py
|
cbpi/extension/mqtt_actor/mqtt_actor.py
|
||||||
cbpi/extension/mqtt_actor/tasmota_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-37.pyc
|
||||||
cbpi/extension/mqtt_actor/__pycache__/__init__.cpython-39.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-37.pyc
|
||||||
cbpi/extension/mqtt_actor/__pycache__/generic_mqtt_actor.cpython-39.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-37.pyc
|
||||||
cbpi/extension/mqtt_actor/__pycache__/mqtt_actor.cpython-39.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-37.pyc
|
||||||
cbpi/extension/mqtt_actor/__pycache__/tasmota_mqtt_actor.cpython-39.pyc
|
cbpi/extension/mqtt_actor/__pycache__/tasmota_mqtt_actor.cpython-39.pyc
|
||||||
cbpi/extension/mqtt_sensor/__init__.py
|
cbpi/extension/mqtt_sensor/__init__.py
|
||||||
cbpi/extension/mqtt_sensor/config.yaml
|
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-37.pyc
|
||||||
cbpi/extension/mqtt_sensor/__pycache__/__init__.cpython-39.pyc
|
cbpi/extension/mqtt_sensor/__pycache__/__init__.cpython-39.pyc
|
||||||
cbpi/extension/mqtt_util/__init__.py
|
cbpi/extension/mqtt_util/__init__.py
|
||||||
cbpi/extension/mqtt_util/config.yaml
|
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-37.pyc
|
||||||
cbpi/extension/mqtt_util/__pycache__/__init__.cpython-39.pyc
|
cbpi/extension/mqtt_util/__pycache__/__init__.cpython-39.pyc
|
||||||
cbpi/extension/onewire/__init__.py
|
cbpi/extension/onewire/__init__.py
|
||||||
cbpi/extension/onewire/config.yaml
|
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-37.pyc
|
||||||
cbpi/extension/onewire/__pycache__/__init__.cpython-39.pyc
|
cbpi/extension/onewire/__pycache__/__init__.cpython-39.pyc
|
||||||
cbpi/http_endpoints/__init__.py
|
cbpi/http_endpoints/__init__.py
|
||||||
|
|
|
@ -1,23 +1,24 @@
|
||||||
aiohttp==3.8.1
|
typing-extensions>=4
|
||||||
|
aiohttp==3.8.3
|
||||||
aiohttp-auth==0.1.1
|
aiohttp-auth==0.1.1
|
||||||
aiohttp-route-decorator==0.1.4
|
aiohttp-route-decorator==0.1.4
|
||||||
aiohttp-security==0.4.0
|
aiohttp-security==0.4.0
|
||||||
aiohttp-session==2.11.0
|
aiohttp-session==2.12.0
|
||||||
aiohttp-swagger==1.0.16
|
aiohttp-swagger==1.0.16
|
||||||
aiojobs==1.0.0
|
aiojobs==1.1.0
|
||||||
aiosqlite==0.17.0
|
aiosqlite==0.17.0
|
||||||
cryptography==36.0.1
|
cryptography==36.0.1
|
||||||
requests==2.27.1
|
requests==2.28.1
|
||||||
voluptuous==0.12.2
|
voluptuous==0.13.1
|
||||||
pyfiglet==0.8.post1
|
pyfiglet==0.8.post1
|
||||||
click==8.0.4
|
click==8.1.3
|
||||||
shortuuid==1.0.8
|
shortuuid==1.0.11
|
||||||
tabulate==0.8.9
|
tabulate==0.9.0
|
||||||
asyncio-mqtt
|
asyncio-mqtt==0.16.1
|
||||||
PyInquirer==1.0.3
|
inquirer==3.1.1
|
||||||
colorama==0.4.4
|
colorama==0.4.6
|
||||||
psutil==5.9.0
|
psutil==5.9.4
|
||||||
cbpi4gui
|
cbpi4gui
|
||||||
importlib_metadata
|
importlib_metadata
|
||||||
numpy==1.22.2
|
numpy==1.24.1
|
||||||
pandas==1.4.1
|
pandas==1.5.3
|
||||||
|
|
Loading…
Reference in a new issue