Thu, 09 Feb 2023 12:53:21 +0100
Fixed error messages about log and camera buttons. Only show items that are really used.
317 | 1 | /** |
2 | * DetailFermenter.cpp is part of bmsapp. | |
3 | * | |
4 | * bmsapp is free software: you can redistribute it and/or modify | |
5 | * it under the terms of the GNU General Public License as published by | |
6 | * the Free Software Foundation, either version 3 of the License, or | |
7 | * (at your option) any later version. | |
8 | * | |
9 | * bmsapp is distributed in the hope that it will be useful, | |
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | * GNU General Public License for more details. | |
13 | * | |
14 | * You should have received a copy of the GNU General Public License | |
15 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | |
16 | */ | |
17 | #include "DetailFermenter.h" | |
333
499c95108bbd
Moved Fermenter and iSpindel charts to their own functions. Added these to DetailFermenter and DetailiSpindel too.
Michiel Broek <mbroek@mbse.eu>
parents:
328
diff
changeset
|
18 | #include "ChartFermenter.h" |
391
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
19 | #include "Webcam.h" |
317 | 20 | #include "../ui/ui_DetailFermenter.h" |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
21 | #include "global.h" |
317 | 22 | #include "MainWindow.h" |
23 | ||
24 | ||
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
25 | /* |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
26 | * Results are available via MySQL and websockets. Because we initialize using |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
27 | * MySQL we only use that for the results and up to date status. |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
28 | * Commands are send via websockets only. |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
29 | */ |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
30 | |
317 | 31 | DetailFermenter::DetailFermenter(int id, QWidget *parent) : QDialog(parent), ui(new Ui::DetailFermenter) |
32 | { | |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
33 | QSqlQuery query; |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
34 | |
317 | 35 | ui->setupUi(this); |
36 | this->recno = id; | |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
37 | setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
38 | setWindowTitle(tr("BMSapp - Details Fermenter")); |
317 | 39 | |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
40 | ui->airThermo->setMaximum(40.0); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
41 | ui->airThermo->setNominal(15.0); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
42 | ui->airThermo->setCritical(20.0); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
43 | ui->airThermo->setSuffix(QString("°C")); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
44 | |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
45 | ui->beerThermo->setMaximum(40.0); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
46 | ui->beerThermo->setNominal(15.0); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
47 | ui->beerThermo->setCritical(20.0); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
48 | ui->beerThermo->setSuffix(QString("°C")); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
49 | |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
50 | ui->chillerThermo->setMinimum(-15.0); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
51 | ui->chillerThermo->setMaximum(25.0); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
52 | ui->chillerThermo->setNominal(0.0); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
53 | ui->chillerThermo->setCritical(15.0); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
54 | ui->chillerThermo->setSuffix(QString("°C")); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
55 | |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
56 | ui->modeEdit->addItem("OFF"); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
57 | ui->modeEdit->addItem("NONE"); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
58 | ui->modeEdit->addItem("FRIDGE"); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
59 | ui->modeEdit->addItem("BEER"); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
60 | ui->modeEdit->addItem("PROFILE"); |
317 | 61 | |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
62 | ui->stageEdit->addItem("PRIMARY"); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
63 | ui->stageEdit->addItem("SECONDARY"); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
64 | ui->stageEdit->addItem("TERTIARY"); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
65 | ui->stageEdit->addItem("CARBONATION"); |
317 | 66 | |
415
dd4ab5c2a8e5
Handle choose beer if it needs to be cleared better. Fixed unit offline view
Michiel Broek <mbroek@mbse.eu>
parents:
414
diff
changeset
|
67 | ui->codePick->addItem("Erase beer"); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
68 | query.exec("SELECT code,name FROM products WHERE stage='1' OR stage='2' OR stage='3' OR stage='4' OR stage='5' OR stage='6' OR stage='7' ORDER BY code"); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
69 | while (query.next()) { |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
70 | ui->codePick->addItem(query.value("code").toString()+" - "+query.value("name").toString()); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
71 | } |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
72 | |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
73 | ui->profilePick->addItem(tr("Erase profile")); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
74 | query.exec("SELECT name FROM profile_fermentation ORDER BY name"); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
75 | while (query.next()) { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
76 | ui->profilePick->addItem(query.value("name").toString()); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
77 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
78 | |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
79 | connect(ui->loEdit, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this, &DetailFermenter::lo_changed); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
80 | connect(ui->hiEdit, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this, &DetailFermenter::hi_changed); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
81 | connect(ui->heatSwitch, SIGNAL(clicked()), this, SLOT(heat_switched())); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
82 | connect(ui->coolSwitch, SIGNAL(clicked()), this, SLOT(cool_switched())); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
83 | connect(ui->fanSwitch, SIGNAL(clicked()), this, SLOT(fan_switched())); |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
84 | connect(ui->modeButton1, SIGNAL(clicked()), this, SLOT(button1_pressed())); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
85 | connect(ui->modeButton2, SIGNAL(clicked()), this, SLOT(button2_pressed())); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
86 | connect(ui->modeEdit, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &DetailFermenter::mode_changed); |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
87 | connect(ui->stageEdit, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &DetailFermenter::stage_changed); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
88 | connect(ui->codePick, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &DetailFermenter::code_changed); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
89 | connect(ui->profilePick, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &DetailFermenter::profile_changed); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
90 | connect(parent, SIGNAL(updateFermenter(QString)), this, SLOT(refreshFermenter(QString))); |
317 | 91 | emit refreshTable(); |
92 | } | |
93 | ||
94 | ||
95 | void DetailFermenter::refreshTable() | |
96 | { | |
97 | QSqlQuery query; | |
98 | ||
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
99 | qDebug() << "refreshTable fermenter rec:" << this->recno; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
100 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
101 | QIcon icon_done, icon_start, icon_abort, icon_pause, icon_cont; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
102 | icon_done.addFile(QString::fromUtf8(":icons/silk/accept.png"), QSize(), QIcon::Normal, QIcon::Off); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
103 | icon_start.addFile(QString::fromUtf8(":icons/silk/resultset_next.png"), QSize(), QIcon::Normal, QIcon::Off); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
104 | icon_abort.addFile(QString::fromUtf8(":icons/silk/bomb.png"), QSize(), QIcon::Normal, QIcon::Off); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
105 | icon_pause.addFile(QString::fromUtf8(":icons/silk/cup.png"), QSize(), QIcon::Normal, QIcon::Off); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
106 | icon_cont.addFile(QString::fromUtf8(":icons/silk/cup_go.png"), QSize(), QIcon::Normal, QIcon::Off); |
317 | 107 | |
108 | query.prepare("SELECT * FROM mon_fermenters WHERE record = :recno"); | |
109 | query.bindValue(":recno", this->recno); | |
110 | query.exec(); | |
111 | if (query.next()) { | |
112 | ||
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
113 | const QSignalBlocker blocker1(ui->codePick); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
114 | const QSignalBlocker blocker2(ui->modeEdit); |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
115 | const QSignalBlocker blocker3(ui->loEdit); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
116 | const QSignalBlocker blocker4(ui->hiEdit); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
117 | const QSignalBlocker blocker5(ui->stageEdit); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
118 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
119 | _node = query.value("node").toString(); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
120 | _alias = query.value("alias").toString(); |
328
ee2c8b29f389
Added CO2 meter monitor detail screen.
Michiel Broek <mbroek@mbse.eu>
parents:
325
diff
changeset
|
121 | _uuid = query.value("uuid").toString(); |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
122 | _beercode = query.value("beercode").toString(); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
123 | _beername = query.value("beername").toString(); |
391
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
124 | _webcam_url = query.value("webcam_url").toString(); |
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
125 | _webcam_light = query.value("webcam_light").toInt(); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
126 | |
328
ee2c8b29f389
Added CO2 meter monitor detail screen.
Michiel Broek <mbroek@mbse.eu>
parents:
325
diff
changeset
|
127 | ui->uuidEdit->setText(_uuid); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
128 | ui->systemEdit->setText(_node+"/"+_alias); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
129 | ui->codePick->setItemText(0, _alias.toUpper()+" - "+_alias); |
318
ff02aca2b63c
Removed LED plugin, now using the one from the AnalogWidgets.
Michiel Broek <mbroek@mbse.eu>
parents:
317
diff
changeset
|
130 | |
317 | 131 | if (query.value("online").toInt()) { |
318
ff02aca2b63c
Removed LED plugin, now using the one from the AnalogWidgets.
Michiel Broek <mbroek@mbse.eu>
parents:
317
diff
changeset
|
132 | ui->statusEdit->setText(tr("Online")); |
415
dd4ab5c2a8e5
Handle choose beer if it needs to be cleared better. Fixed unit offline view
Michiel Broek <mbroek@mbse.eu>
parents:
414
diff
changeset
|
133 | ui->codeEdit->show(); |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
134 | ui->codeEdit->setText(_beercode+" - "+_beername); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
135 | ui->airThermo->setNominal(query.value("yeast_lo").toDouble()); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
136 | ui->airThermo->setCritical(query.value("yeast_hi").toDouble()); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
137 | ui->beerThermo->setNominal(query.value("yeast_lo").toDouble()); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
138 | ui->beerThermo->setCritical(query.value("yeast_hi").toDouble()); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
139 | |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
140 | ui->modeEdit->show(); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
141 | if (query.value("mode").toString() == "OFF") |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
142 | ui->modeEdit->setCurrentIndex(0); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
143 | else if (query.value("mode").toString() == "NONE") |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
144 | ui->modeEdit->setCurrentIndex(1); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
145 | else if (query.value("mode").toString() == "FRIDGE") |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
146 | ui->modeEdit->setCurrentIndex(2); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
147 | else if (query.value("mode").toString() == "BEER") |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
148 | ui->modeEdit->setCurrentIndex(3); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
149 | else if (query.value("mode").toString() == "PROFILE") |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
150 | ui->modeEdit->setCurrentIndex(4); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
151 | |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
152 | ui->stageEdit->show(); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
153 | if (query.value("stage").toString() == "PRIMARY") |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
154 | ui->stageEdit->setCurrentIndex(0); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
155 | else if (query.value("stage").toString() == "SECONDARY") |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
156 | ui->stageEdit->setCurrentIndex(1); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
157 | else if (query.value("stage").toString() == "TERTIARY") |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
158 | ui->stageEdit->setCurrentIndex(2); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
159 | else if (query.value("stage").toString() == "CARBONATION") |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
160 | ui->stageEdit->setCurrentIndex(3); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
161 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
162 | if (query.value("door_address").toString() != "") { |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
163 | ui->doorLED->show(); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
164 | ui->doorLabel->show(); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
165 | ui->doorLED->setChecked((query.value("door_state").toInt() != 0) ? true:false); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
166 | } else { |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
167 | ui->doorLED->hide(); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
168 | ui->doorLabel->hide(); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
169 | } |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
170 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
171 | if (query.value("light_address").toString() != "") { |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
172 | ui->lightLED->show(); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
173 | ui->lightLabel->show(); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
174 | ui->lightLED->setChecked((query.value("light_state").toInt() != 0) ? true:false); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
175 | } else { |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
176 | ui->lightLED->hide(); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
177 | ui->lightLabel->hide(); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
178 | } |
318
ff02aca2b63c
Removed LED plugin, now using the one from the AnalogWidgets.
Michiel Broek <mbroek@mbse.eu>
parents:
317
diff
changeset
|
179 | |
317 | 180 | if (query.value("mode").toString() == "OFF") { |
181 | ui->powerLED->setChecked(false); | |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
182 | ui->codePick->show(); |
317 | 183 | } else { |
184 | ui->powerLED->setChecked(true); | |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
185 | ui->codePick->hide(); |
317 | 186 | } |
187 | ui->alarmLED->setChecked((query.value("alarm").toInt() != 0) ? true:false); | |
188 | ||
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
189 | ui->tempsetBox->show(); |
489
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
190 | if ((query.value("mode").toString() == "OFF") || (query.value("mode").toString() == "NONE")) { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
191 | ui->loEdit->hide(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
192 | ui->loLabel->hide(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
193 | ui->hiEdit->hide(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
194 | ui->hiLabel->hide(); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
195 | } else { |
489
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
196 | ui->loEdit->show(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
197 | ui->loLabel->show(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
198 | ui->hiEdit->show(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
199 | ui->hiLabel->show(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
200 | if ((query.value("mode").toString() == "FRIDGE") || (query.value("mode").toString() == "BEER")) { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
201 | ui->loEdit->setReadOnly(false); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
202 | ui->loEdit->setButtonSymbols(QAbstractSpinBox::UpDownArrows); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
203 | ui->hiEdit->setReadOnly(false); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
204 | ui->hiEdit->setButtonSymbols(QAbstractSpinBox::UpDownArrows); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
205 | } else { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
206 | ui->loEdit->setReadOnly(true); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
207 | ui->loEdit->setButtonSymbols(QAbstractSpinBox::NoButtons); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
208 | ui->hiEdit->setReadOnly(true); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
209 | ui->hiEdit->setButtonSymbols(QAbstractSpinBox::NoButtons); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
210 | } |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
211 | lo_set = query.value("setpoint_low").toDouble(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
212 | hi_set = query.value("setpoint_high").toDouble(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
213 | ui->loEdit->setValue(lo_set); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
214 | ui->hiEdit->setValue(hi_set); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
215 | } |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
216 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
217 | ui->switchBox->show(); |
489
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
218 | if (query.value("heater_address").toString().length() == 36) { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
219 | ui->heatLED->show(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
220 | ui->heatLabel->show(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
221 | ui->heatLED->setChecked((query.value("heater_state").toInt() != 0) ? true:false); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
222 | if (query.value("mode").toString() == "NONE") { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
223 | ui->heatSwitch->show(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
224 | heat_state = (query.value("heater_state").toInt()) ? true:false; |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
225 | ui->heatSwitch->setChecked(heat_state); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
226 | } else { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
227 | ui->heatSwitch->hide(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
228 | heat_state = false; |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
229 | } |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
230 | } else { |
489
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
231 | ui->heatLED->hide(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
232 | ui->heatLabel->hide(); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
233 | ui->heatSwitch->hide(); |
489
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
234 | } |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
235 | if (query.value("cooler_address").toString().length() == 36) { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
236 | ui->coolLED->show(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
237 | ui->coolLabel->show(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
238 | ui->coolLED->setChecked((query.value("cooler_state").toInt() != 0) ? true:false); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
239 | if (query.value("mode").toString() == "NONE") { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
240 | ui->coolSwitch->show(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
241 | cool_state = (query.value("cooler_state").toInt()) ? true:false; |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
242 | ui->coolSwitch->setChecked(cool_state); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
243 | } else { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
244 | ui->coolSwitch->hide(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
245 | cool_state = false; |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
246 | } |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
247 | } else { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
248 | ui->coolLED->hide(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
249 | ui->coolLabel->hide(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
250 | ui->coolSwitch->hide(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
251 | } |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
252 | if (query.value("fan_address").toString().length() == 36) { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
253 | ui->fanLED->show(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
254 | ui->fanLabel->show(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
255 | ui->fanLED->setChecked((query.value("fan_state").toInt() != 0) ? true:false); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
256 | if (query.value("mode").toString() == "NONE") { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
257 | ui->fanSwitch->show(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
258 | fan_state = (query.value("fan_state").toInt()) ? true:false; |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
259 | ui->fanSwitch->setChecked(fan_state); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
260 | } else { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
261 | ui->fanSwitch->hide(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
262 | fan_state = false; |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
263 | } |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
264 | } else { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
265 | ui->fanLED->hide(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
266 | ui->fanLabel->hide(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
267 | ui->fanSwitch->hide(); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
268 | } |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
269 | |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
270 | if (query.value("profile_name").toString() == "") { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
271 | qobject_cast<QStandardItemModel*>(ui->modeEdit->model())->item(4)->setEnabled(false); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
272 | } else { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
273 | qobject_cast<QStandardItemModel*>(ui->modeEdit->model())->item(4)->setEnabled(true); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
274 | } |
415
dd4ab5c2a8e5
Handle choose beer if it needs to be cleared better. Fixed unit offline view
Michiel Broek <mbroek@mbse.eu>
parents:
414
diff
changeset
|
275 | ui->profileEdit->show(); |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
276 | ui->profileEdit->setText(query.value("profile_name").toString()); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
277 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
278 | if (query.value("mode").toString() == "PROFILE") { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
279 | _profile = query.value("profile_state").toString(); // So we know the profile state anywhere. |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
280 | qDebug() << "profile state" << query.value("profile_state").toString(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
281 | if (query.value("profile_state").toString() == "OFF") { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
282 | ui->profilePick->show(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
283 | ui->profileShow->hide(); // Both on the same location. |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
284 | ui->modeButton1->show(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
285 | ui->modeButton1->setText(tr("Start")); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
286 | ui->modeButton1->setIcon(icon_start); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
287 | ui->modeButton2->hide(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
288 | } else if (query.value("profile_state").toString() == "RUN") { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
289 | ui->profilePick->hide(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
290 | ui->profileShow->show(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
291 | ui->profileShow->setText(QString(tr("Profile active %1% done")).arg(query.value("profile_percent").toDouble())); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
292 | ui->modeButton1->show(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
293 | ui->modeButton1->setText(tr("Abort")); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
294 | ui->modeButton1->setIcon(icon_abort); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
295 | ui->modeButton2->show(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
296 | ui->modeButton2->setText(tr("Pause")); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
297 | ui->modeButton2->setIcon(icon_pause); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
298 | } else if (query.value("profile_state").toString() == "PAUSE") { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
299 | ui->profilePick->hide(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
300 | ui->profileShow->show(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
301 | ui->profileShow->setText(QString(tr("Profile paused %1% done")).arg(query.value("profile_percent").toDouble())); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
302 | ui->modeButton1->show(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
303 | ui->modeButton1->setText(tr("Abort")); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
304 | ui->modeButton1->setIcon(icon_abort); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
305 | ui->modeButton2->show(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
306 | ui->modeButton2->setText(tr("Continue")); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
307 | ui->modeButton2->setIcon(icon_cont); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
308 | } else if (query.value("profile_state").toString() == "DONE") { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
309 | ui->profilePick->hide(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
310 | ui->profileShow->show(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
311 | ui->profileShow->setText(QString(tr("Profile ready"))); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
312 | ui->modeButton1->show(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
313 | ui->modeButton1->setText(tr("Profile Ok")); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
314 | ui->modeButton1->setIcon(icon_done); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
315 | ui->modeButton2->hide(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
316 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
317 | } else { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
318 | ui->profilePick->show(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
319 | ui->profileShow->hide(); // Both on the same location. |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
320 | ui->modeButton1->hide(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
321 | ui->modeButton2->hide(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
322 | _profile = QString(""); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
323 | } |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
324 | |
391
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
325 | if (_webcam_url == "") { |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
326 | ui->camButton->hide(); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
327 | } else { |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
328 | ui->camButton->show(); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
329 | } |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
330 | |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
331 | ui->thermoBox->show(); |
489
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
332 | if (query.value("air_address").toString().length() == 36) { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
333 | ui->airThermo->show(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
334 | ui->airLabel->show(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
335 | if (query.value("air_state").toString() == "OK") { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
336 | ui->airThermo->setValue(query.value("air_temperature").toDouble()); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
337 | } |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
338 | } else { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
339 | ui->airThermo->hide(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
340 | ui->airLabel->hide(); |
317 | 341 | } |
489
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
342 | if (query.value("beer_address").toString().length() == 36) { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
343 | ui->beerThermo->show(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
344 | ui->beerLabel->show(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
345 | if (query.value("beer_state").toString() == "OK") { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
346 | ui->beerThermo->setValue(query.value("beer_temperature").toDouble()); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
347 | } |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
348 | } else { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
349 | ui->beerThermo->hide(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
350 | ui->beerLabel->hide(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
351 | } |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
352 | if (query.value("chiller_address").toString().length() == 36) { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
353 | ui->chillerThermo->show(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
354 | ui->chillerLabel->show(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
355 | if (query.value("chiller_state").toString() == "OK") { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
356 | ui->chillerThermo->setValue(query.value("chiller_temperature").toDouble()); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
357 | } |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
358 | } else { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
359 | ui->chillerThermo->hide(); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
360 | ui->chillerLabel->hide(); |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
361 | } |
317 | 362 | |
363 | } else { | |
364 | /* Offline */ | |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
365 | ui->statusEdit->setText(tr("Offline")); |
317 | 366 | ui->powerLED->setChecked(false); |
367 | ui->alarmLED->setChecked(true); | |
415
dd4ab5c2a8e5
Handle choose beer if it needs to be cleared better. Fixed unit offline view
Michiel Broek <mbroek@mbse.eu>
parents:
414
diff
changeset
|
368 | ui->codeEdit->hide(); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
369 | ui->codePick->hide(); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
370 | ui->modeEdit->hide(); |
415
dd4ab5c2a8e5
Handle choose beer if it needs to be cleared better. Fixed unit offline view
Michiel Broek <mbroek@mbse.eu>
parents:
414
diff
changeset
|
371 | ui->profileEdit->hide(); |
dd4ab5c2a8e5
Handle choose beer if it needs to be cleared better. Fixed unit offline view
Michiel Broek <mbroek@mbse.eu>
parents:
414
diff
changeset
|
372 | ui->profileShow->hide(); |
dd4ab5c2a8e5
Handle choose beer if it needs to be cleared better. Fixed unit offline view
Michiel Broek <mbroek@mbse.eu>
parents:
414
diff
changeset
|
373 | ui->profilePick->hide(); |
dd4ab5c2a8e5
Handle choose beer if it needs to be cleared better. Fixed unit offline view
Michiel Broek <mbroek@mbse.eu>
parents:
414
diff
changeset
|
374 | ui->modeButton1->hide(); |
dd4ab5c2a8e5
Handle choose beer if it needs to be cleared better. Fixed unit offline view
Michiel Broek <mbroek@mbse.eu>
parents:
414
diff
changeset
|
375 | ui->modeButton2->hide(); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
376 | ui->stageEdit->hide(); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
377 | ui->thermoBox->hide(); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
378 | ui->tempsetBox->hide(); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
379 | ui->switchBox->hide(); |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
380 | ui->camButton->hide(); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
381 | ui->logButton->hide(); |
317 | 382 | } |
383 | } | |
384 | } | |
385 | ||
386 | ||
387 | DetailFermenter::~DetailFermenter() | |
388 | { | |
389 | delete ui; | |
390 | emit entry_changed(); | |
391 | } | |
392 | ||
393 | ||
394 | /* | |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
395 | * Receive signals destined for all fermenters. |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
396 | * Check if the signal is for us. |
317 | 397 | */ |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
398 | void DetailFermenter::refreshFermenter(QString data) |
317 | 399 | { |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
400 | if (_node+"/"+_alias == data) { |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
401 | emit refreshTable(); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
402 | } |
317 | 403 | } |
404 | ||
405 | ||
489
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
406 | void DetailFermenter::on_logButton_clicked() |
333
499c95108bbd
Moved Fermenter and iSpindel charts to their own functions. Added these to DetailFermenter and DetailiSpindel too.
Michiel Broek <mbroek@mbse.eu>
parents:
328
diff
changeset
|
407 | { |
499c95108bbd
Moved Fermenter and iSpindel charts to their own functions. Added these to DetailFermenter and DetailiSpindel too.
Michiel Broek <mbroek@mbse.eu>
parents:
328
diff
changeset
|
408 | ChartFermenter dialog(_beercode, _beername, this); |
499c95108bbd
Moved Fermenter and iSpindel charts to their own functions. Added these to DetailFermenter and DetailiSpindel too.
Michiel Broek <mbroek@mbse.eu>
parents:
328
diff
changeset
|
409 | } |
499c95108bbd
Moved Fermenter and iSpindel charts to their own functions. Added these to DetailFermenter and DetailiSpindel too.
Michiel Broek <mbroek@mbse.eu>
parents:
328
diff
changeset
|
410 | |
499c95108bbd
Moved Fermenter and iSpindel charts to their own functions. Added these to DetailFermenter and DetailiSpindel too.
Michiel Broek <mbroek@mbse.eu>
parents:
328
diff
changeset
|
411 | |
489
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
412 | void DetailFermenter::on_camButton_clicked() |
391
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
413 | { |
489
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
414 | if (_webcam_light) { |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
415 | QString msg = QString("{\"device\":\"fermenters\",\"node\":\""+_node+"\",\"unit\":\""+_alias+"\",\"light_state\":100}"); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
416 | webSocket->sendTextMessage(msg); |
4db768aea3df
Fixed error messages about log and camera buttons. Only show items that are really used.
Michiel Broek <mbroek@mbse.eu>
parents:
415
diff
changeset
|
417 | } |
391
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
418 | Webcam dialog(_webcam_url, this); |
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
419 | } |
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
420 | |
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
421 | |
317 | 422 | void DetailFermenter::on_quitButton_clicked() |
423 | { | |
424 | this->close(); | |
425 | this->setResult(1); | |
426 | } | |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
427 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
428 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
429 | void DetailFermenter::lo_changed(double val) |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
430 | { |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
431 | double hi = ui->hiEdit->value(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
432 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
433 | if (val >= hi) |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
434 | hi = val + 0.1; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
435 | QString msg = QString("{\"device\":\"fermenters\",\"node\":\""+_node+"\",\"unit\":\""+_alias+"\",\"setpoint_low\":%1,\"setpoint_high\":%2}") |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
436 | .arg(val, 2, 'f', 1, '0').arg(hi, 2, 'f', 1, '0'); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
437 | qDebug() << "lo_changed" << val << msg; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
438 | webSocket->sendTextMessage(msg); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
439 | } |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
440 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
441 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
442 | void DetailFermenter::hi_changed(double val) |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
443 | { |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
444 | double lo = ui->loEdit->value(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
445 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
446 | if (val <= lo) |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
447 | lo = val - 0.1; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
448 | QString msg = QString("{\"device\":\"fermenters\",\"node\":\""+_node+"\",\"unit\":\""+_alias+"\",\"setpoint_low\":%1,\"setpoint_high\":%2}") |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
449 | .arg(lo, 2, 'f', 1, '0').arg(val, 2, 'f', 1, '0'); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
450 | qDebug() << "hi_changed" << val << msg; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
451 | webSocket->sendTextMessage(msg); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
452 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
453 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
454 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
455 | void DetailFermenter::send_switches() |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
456 | { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
457 | QString msg=QString("{\"device\":\"fermenters\",\"node\":\""+_node+"\",\"unit\":\""+_alias+"\",\"heater_state\":%1,\"cooler_state\":%2,\"fan_state\":%3}") |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
458 | .arg((heat_state)?100:0).arg((cool_state)?100:0).arg((fan_state)?100:0); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
459 | webSocket->sendTextMessage(msg); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
460 | } |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
461 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
462 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
463 | void DetailFermenter::heat_switched() |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
464 | { |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
465 | heat_state = !heat_state; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
466 | cool_state = false; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
467 | send_switches(); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
468 | } |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
469 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
470 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
471 | void DetailFermenter::cool_switched() |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
472 | { |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
473 | cool_state = !cool_state; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
474 | heat_state = false; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
475 | send_switches(); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
476 | } |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
477 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
478 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
479 | void DetailFermenter::fan_switched() |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
480 | { |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
481 | fan_state = !fan_state; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
482 | send_switches(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
483 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
484 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
485 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
486 | void DetailFermenter::button1_pressed() |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
487 | { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
488 | qDebug() << "button1" << _profile; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
489 | if (_profile == "OFF") { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
490 | QString msg = QString("{\"device\":\"fermenters\",\"node\":\"" + _node + "\",\"unit\":\"" + _alias + "\",\"profile\":{\"command\":\"start\"}}"); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
491 | qDebug() << msg; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
492 | webSocket->sendTextMessage(msg); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
493 | return; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
494 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
495 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
496 | if ((_profile == "RUN") || (_profile == "PAUSE")) { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
497 | int rc = QMessageBox::warning(this, tr("Profile running"), tr("Profile is active, really abort?"), |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
498 | QMessageBox::Yes | QMessageBox::No, QMessageBox::No); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
499 | if (rc == QMessageBox::Yes) { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
500 | QString msg = QString("{\"device\":\"fermenters\",\"node\":\"" + _node + "\",\"unit\":\"" + _alias + "\",\"profile\":{\"command\":\"abort\"}}"); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
501 | qDebug() << msg; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
502 | webSocket->sendTextMessage(msg); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
503 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
504 | return; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
505 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
506 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
507 | if (_profile == "DONE") { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
508 | QString msg = QString("{\"device\":\"fermenters\",\"node\":\"" + _node + "\",\"unit\":\"" + _alias + "\",\"profile\":{\"command\":\"done\"}}"); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
509 | qDebug() << msg; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
510 | webSocket->sendTextMessage(msg); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
511 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
512 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
513 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
514 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
515 | void DetailFermenter::button2_pressed() |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
516 | { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
517 | qDebug() << "button2" << _profile; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
518 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
519 | if ((_profile == "RUN") || (_profile == "PAUSE")) { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
520 | QString msg = QString("{\"device\":\"fermenters\",\"node\":\"" + _node + "\",\"unit\":\"" + _alias + "\",\"profile\":{\"command\":\"pause\"}}"); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
521 | qDebug() << msg; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
522 | webSocket->sendTextMessage(msg); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
523 | } |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
524 | } |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
525 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
526 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
527 | void DetailFermenter::mode_changed(int val) |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
528 | { |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
529 | QStringList mode ({ "OFF", "NONE", "FRIDGE", "BEER", "PROFILE" }); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
530 | QString msg = QString("{\"device\":\"fermenters\",\"node\":\"" + _node + "\",\"unit\":\"" + _alias + "\",\"mode\":\"" + mode[val] + "\"}"); |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
531 | webSocket->sendTextMessage(msg); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
532 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
533 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
534 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
535 | void DetailFermenter::stage_changed(int val) |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
536 | { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
537 | QStringList stage ({ "PRIMARY", "SECONDARY", "TERTIARY", "CARBONATION" }); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
538 | QString msg = QString("{\"device\":\"fermenters\",\"node\":\"" + _node + "\",\"unit\":\"" + _alias + "\",\"stage\":\"" + stage[val] + "\"}"); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
539 | webSocket->sendTextMessage(msg); |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
540 | } |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
541 | |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
542 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
543 | void DetailFermenter::code_changed(int val) |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
544 | { |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
545 | QJsonParseError parseError; |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
546 | QSqlQuery query; |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
547 | |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
548 | QString msg = QString("{\"device\":\"fermenters\",\"node\":\"" + _node + "\",\"unit\":\"" + _alias + "\","); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
549 | if (val == 0) { |
328
ee2c8b29f389
Added CO2 meter monitor detail screen.
Michiel Broek <mbroek@mbse.eu>
parents:
325
diff
changeset
|
550 | msg.append(QString("\"beeruuid\":\"") + _uuid + "\","); |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
551 | msg.append(QString("\"beercode\":\"") + _alias.toUpper() + "\","); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
552 | msg.append(QString("\"beername\":\"") + _alias + "\","); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
553 | msg.append(QString("\"yeast_lo\":12.0,")); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
554 | msg.append(QString("\"yeast_hi\":24.0}")); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
555 | |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
556 | } else { |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
557 | query.exec("SELECT code,name,uuid,stage,json_yeasts FROM products WHERE stage='1' OR stage='2' OR stage='3' OR stage='4' OR stage='5' OR stage='6' OR stage='7' ORDER BY code"); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
558 | for (int i = 0; i < val; i++) { |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
559 | query.next(); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
560 | } |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
561 | double yl = 0; |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
562 | double yh = 40; |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
563 | const auto& y_json = query.value("json_yeasts").toString(); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
564 | if (! y_json.trimmed().isEmpty()) { |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
565 | const auto& formattedJson = QString("%1").arg(y_json); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
566 | QJsonDocument yeasts = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
567 | if (parseError.error != QJsonParseError::NoError) { |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
568 | qWarning() << "Parse error: " << parseError.errorString() << "at" << parseError.offset ; |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
569 | } else if (yeasts.isArray()) { |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
570 | for (int i = 0; i < yeasts.array().size(); i++) { |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
571 | QJsonObject obj = yeasts.array().at(i).toObject(); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
572 | if (obj["y_use"].toInt() == 0) { // Primary yeast |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
573 | if (obj["y_min_temperature"].toDouble() > yl) |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
574 | yl = obj["y_min_temperature"].toDouble(); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
575 | if (obj["y_max_temperature"].toDouble() < yh) |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
576 | yh = obj["y_max_temperature"].toDouble(); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
577 | } |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
578 | } |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
579 | } |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
580 | } |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
581 | msg.append(QString("\"beeruuid\":\"") + query.value("uuid").toString() + "\","); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
582 | msg.append(QString("\"beercode\":\"") + query.value("code").toString() + "\","); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
583 | msg.append(QString("\"beername\":\"") + query.value("name").toString() + "\","); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
584 | msg.append(QString("\"yeast_lo\":%1,").arg(yl)); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
585 | msg.append(QString("\"yeast_hi\":%1}").arg(yh)); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
586 | } |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
587 | |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
588 | qDebug() << "code_changed" << val << msg; |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
589 | webSocket->sendTextMessage(msg); |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
590 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
591 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
592 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
593 | void DetailFermenter::profile_changed(int val) |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
594 | { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
595 | QString payload; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
596 | QSqlQuery query; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
597 | QJsonParseError parseError; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
598 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
599 | if (val == 0) { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
600 | payload = QString("\"profile\":null"); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
601 | } else { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
602 | query.exec("SELECT * FROM profile_fermentation ORDER BY name"); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
603 | for (int i = 0; i < val; i++) { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
604 | query.next(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
605 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
606 | payload = QString("\"profile\":{\"uuid\":\""+query.value("uuid").toString()+"\",\"name\":\""+query.value("name").toString()); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
607 | payload.append(QString("\",\"inittemp\":{\"low\":") + QString("%1").arg(query.value("inittemp_lo").toDouble(), 2, 'f', 1, '0' )); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
608 | payload.append(QString(",\"high\":") + QString("%1").arg(query.value("inittemp_hi").toDouble(), 2, 'f', 1, '0' ) + QString("},")); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
609 | payload.append(QString("\"fridgemode\":") + QString("%1").arg(query.value("fridgemode").toInt()) ); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
610 | payload.append(QString(",\"steps\":[")); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
611 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
612 | const auto& s_json = query.value("steps").toString(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
613 | if (! s_json.trimmed().isEmpty()) { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
614 | const auto& formattedJson = QString("%1").arg(s_json); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
615 | QJsonDocument steps = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
616 | if (parseError.error != QJsonParseError::NoError) { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
617 | qWarning() << "Parse error: " << parseError.errorString() << "at" << parseError.offset ; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
618 | } else if (steps.isArray()) { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
619 | for (int i = 0; i < steps.array().size(); i++) { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
620 | QJsonObject obj = steps.array().at(i).toObject(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
621 | if (i > 0) |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
622 | payload.append(QString(",")); |
414
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
623 | if (obj["steptime"].isString()) |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
624 | payload.append(QString("{\"steptime\":%1").arg(obj["steptime"].toString().toDouble())); |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
625 | else |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
626 | payload.append(QString("{\"steptime\":%1").arg(obj["steptime"].toDouble())); |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
627 | if (obj["resttime"].isString()) |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
628 | payload.append(QString(",\"resttime\":%1").arg(obj["resttime"].toString().toDouble())); |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
629 | else |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
630 | payload.append(QString(",\"resttime\":%1").arg(obj["resttime"].toDouble())); |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
631 | if (obj["target_lo"].isString()) |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
632 | payload.append(QString(",\"target_lo\":%1").arg(obj["target_lo"].toString().toDouble())); |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
633 | else |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
634 | payload.append(QString(",\"target_lo\":%1").arg(obj["target_lo"].toDouble())); |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
635 | if (obj["target_hi"].isString()) |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
636 | payload.append(QString(",\"target_hi\":%1").arg(obj["target_hi"].toString().toDouble())); |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
637 | else |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
638 | payload.append(QString(",\"target_hi\":%1").arg(obj["target_hi"].toDouble())); |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
639 | if (obj["fridgemode"].isString()) |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
640 | payload.append(QString(",\"fridgemode\":%1").arg(obj["fridgemode"].toString().toInt())); |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
641 | else |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
642 | payload.append(QString(",\"fridgemode\":%1").arg(obj["fridgemode"].toInt())); |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
643 | payload.append(QString(",\"name\":\"") + obj["name"].toString() + QString("\"}")); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
644 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
645 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
646 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
647 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
648 | payload.append(QString("]}")); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
649 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
650 | QString msg = QString("{\"device\":\"fermenters\",\"node\":\"" + _node + "\",\"unit\":\"" + _alias + "\",%1}").arg(payload); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
651 | qDebug() << "profile_changed" << val << msg; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
652 | webSocket->sendTextMessage(msg); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
653 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
654 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
655 |