From 77213fefaa5a43f49c0160eab8e22006db0b5895 Mon Sep 17 00:00:00 2001 From: jens Date: Wed, 25 Nov 2020 20:48:03 +0100 Subject: [PATCH] - Reverted Initially enqueue GUI setter --- brewpi.py | 2 +- brewpi.ui | 64 ++++++++++++++++++++++++++++++++++++--------------- brewpi_gui.py | 16 ++++++++----- brewpi_win.py | 12 ++++++++-- 4 files changed, 66 insertions(+), 28 deletions(-) diff --git a/brewpi.py b/brewpi.py index 92b73b3..4333217 100644 --- a/brewpi.py +++ b/brewpi.py @@ -69,7 +69,7 @@ class HeaterTask(ATask): self.heater.process() power.set(round(self.heater.getPower())) if power.is_changed(): - await self.send({'Power': power.get()}) + await self.send({'Power': power.get(), 'Activate': int(self.heater.getPower() != 0)}) await asyncio.sleep(self.interval) diff --git a/brewpi.ui b/brewpi.ui index 3c661c4..10c23bb 100644 --- a/brewpi.ui +++ b/brewpi.ui @@ -1925,30 +1925,56 @@ - + - 430 - 90 - 91 - 381 + 410 + 30 + 261 + 441 - - 0.000000000000000 - - - 100.000000000000000 - - - 7 - - - 3 - - - 0.000000000000000 + + Heater + + + + 140 + 390 + 92 + 23 + + + + Activate + + + + + + 10 + 40 + 91 + 381 + + + + 0.000000000000000 + + + 100.000000000000000 + + + 7 + + + 3 + + + 0.000000000000000 + + diff --git a/brewpi_gui.py b/brewpi_gui.py index bca966b..c774ce1 100644 --- a/brewpi_gui.py +++ b/brewpi_gui.py @@ -29,12 +29,9 @@ class Window(QtWidgets.QMainWindow, Ui_MainWindow): self.actionStart.triggered.connect(self.connect) self.actionStop.triggered.connect(self.disconnect) self.Slider.valueChanged.connect(self.on_slider_changed) + self.checkbox_heater_activate.stateChanged.connect(self.on_checkbox_changed) self.send_data = Queue() - # Initially enqueue GUI setter - # Slider - self.msg_heater.send_from_thread({'Activate': 1, 'Power': self.Slider.value()}) - def connect(self): self.ws_client.connect(uri="ws://localhost:8765") @@ -43,7 +40,11 @@ class Window(QtWidgets.QMainWindow, Ui_MainWindow): def on_slider_changed(self, value): print("on_slider_changed {}".format(value)) - self.msg_heater.send_from_thread({'Activate': 1, 'Power': value}) + self.msg_heater.send_from_thread({'Power': value}) + + def on_checkbox_changed(self, value): + print("on_checkbox_changed {}".format(value)) + self.msg_heater.send_from_thread({'Activate': int(value == 2)}) async def on_pot_changed(self, msg): print("on_pot_changed {}".format(msg)) @@ -58,8 +59,11 @@ class Window(QtWidgets.QMainWindow, Ui_MainWindow): async def on_heater_changed(self, msg): print("on_heater_changed {}".format(msg)) for key in msg: - if "Power" in key: + if "Activate" in key: + self.checkbox_heater_activate.setCheckState(2 if msg['Activate'] == 1 else 0) + elif "Power" in key: self.lcdNumber.display(msg['Power']) + self.Slider.setValue(msg['Power']) elif "Capabilities" in key: submsg = msg['Capabilities'] if "Power" in submsg: diff --git a/brewpi_win.py b/brewpi_win.py index 0dfb627..294769e 100644 --- a/brewpi_win.py +++ b/brewpi_win.py @@ -658,8 +658,14 @@ class Ui_MainWindow(object): self.Thermo = QwtThermo(self.centralwidget) self.Thermo.setGeometry(QtCore.QRect(890, 50, 56, 201)) self.Thermo.setObjectName("Thermo") - self.Slider = QwtSlider(self.centralwidget) - self.Slider.setGeometry(QtCore.QRect(430, 90, 91, 381)) + self.groupBox = QtWidgets.QGroupBox(self.centralwidget) + self.groupBox.setGeometry(QtCore.QRect(410, 30, 261, 441)) + self.groupBox.setObjectName("groupBox") + self.checkbox_heater_activate = QtWidgets.QCheckBox(self.groupBox) + self.checkbox_heater_activate.setGeometry(QtCore.QRect(140, 390, 92, 23)) + self.checkbox_heater_activate.setObjectName("checkbox_heater_activate") + self.Slider = QwtSlider(self.groupBox) + self.Slider.setGeometry(QtCore.QRect(10, 40, 91, 381)) self.Slider.setLowerBound(0.0) self.Slider.setUpperBound(100.0) self.Slider.setScaleMaxMajor(7) @@ -702,6 +708,8 @@ class Ui_MainWindow(object): MainWindow.setWindowTitle(_translate("MainWindow", "BrewPi")) self.horizontalTabWidget.setTabText(self.horizontalTabWidget.indexOf(self.tab), _translate("MainWindow", "Seite")) self.horizontalTabWidget.setTabText(self.horizontalTabWidget.indexOf(self.tab_2), _translate("MainWindow", "Seite")) + self.groupBox.setTitle(_translate("MainWindow", "Heater")) + self.checkbox_heater_activate.setText(_translate("MainWindow", "Activate")) self.menu_File.setTitle(_translate("MainWindow", "&File")) self.menu_Help.setTitle(_translate("MainWindow", "&Help")) self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar"))