Fri, 01 Jul 2022 19:52:11 +0200
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
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" | |
18 | #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
|
19 | #include "global.h" |
317 | 20 | #include "MainWindow.h" |
21 | ||
22 | ||
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
23 | /* |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
24 | * 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
|
25 | * 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
|
26 | * 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
|
27 | */ |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
28 | |
317 | 29 | DetailFermenter::DetailFermenter(int id, QWidget *parent) : QDialog(parent), ui(new Ui::DetailFermenter) |
30 | { | |
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
|
31 | 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
|
32 | |
317 | 33 | qDebug() << "DetailFermenter record:" << id; |
34 | ui->setupUi(this); | |
35 | 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
|
36 | 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
|
37 | setWindowTitle(tr("BMSapp - Details Fermenter")); |
317 | 38 | |
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
|
39 | ui->airThermo->setMaximum(45.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
|
40 | 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
|
41 | 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
|
42 | 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
|
43 | |
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 | ui->beerThermo->setMaximum(45.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
|
45 | 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
|
46 | 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
|
47 | 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
|
48 | |
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 | 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
|
50 | 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
|
51 | 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
|
52 | 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
|
53 | ui->modeEdit->addItem("PROFILE"); |
317 | 54 | |
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
|
55 | 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
|
56 | 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
|
57 | 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
|
58 | ui->stageEdit->addItem("CARBONATION"); |
317 | 59 | |
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
|
60 | ui->codePick->addItem("Free - Dummy"); // Will be replaced later |
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
|
61 | 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
|
62 | 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
|
63 | 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
|
64 | } |
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 | |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
66 | 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
|
67 | 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
|
68 | 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
|
69 | 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
|
70 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
71 | |
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
|
72 | 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
|
73 | 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
|
74 | 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
|
75 | 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
|
76 | 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
|
77 | 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
|
78 | 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
|
79 | 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
|
80 | 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
|
81 | 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
|
82 | 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
|
83 | connect(parent, SIGNAL(updateFermenter(QString)), this, SLOT(refreshFermenter(QString))); |
317 | 84 | emit refreshTable(); |
85 | } | |
86 | ||
87 | ||
88 | void DetailFermenter::refreshTable() | |
89 | { | |
90 | QSqlQuery query; | |
91 | ||
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
92 | 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
|
93 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
94 | 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
|
95 | 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
|
96 | 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
|
97 | 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
|
98 | 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
|
99 | icon_cont.addFile(QString::fromUtf8(":icons/silk/cup_go.png"), QSize(), QIcon::Normal, QIcon::Off); |
317 | 100 | |
101 | query.prepare("SELECT * FROM mon_fermenters WHERE record = :recno"); | |
102 | query.bindValue(":recno", this->recno); | |
103 | query.exec(); | |
104 | if (query.next()) { | |
105 | ||
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
|
106 | 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
|
107 | 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
|
108 | 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
|
109 | 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
|
110 | 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
|
111 | |
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
|
112 | _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
|
113 | _alias = query.value("alias").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
|
114 | |
318
ff02aca2b63c
Removed LED plugin, now using the one from the AnalogWidgets.
Michiel Broek <mbroek@mbse.eu>
parents:
317
diff
changeset
|
115 | ui->uuidEdit->setText(query.value("uuid").toString()); |
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
|
116 | 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
|
117 | 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
|
118 | |
317 | 119 | 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
|
120 | ui->statusEdit->setText(tr("Online")); |
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
|
121 | ui->codeEdit->setText(query.value("beercode").toString()+" - "+query.value("beername").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
|
122 | 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
|
123 | 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
|
124 | 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
|
125 | 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
|
126 | |
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
|
127 | 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
|
128 | 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
|
129 | 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
|
130 | 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
|
131 | 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
|
132 | 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
|
133 | 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
|
134 | 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
|
135 | 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
|
136 | 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
|
137 | |
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 | 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
|
139 | 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
|
140 | 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
|
141 | 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
|
142 | 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
|
143 | 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
|
144 | 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
|
145 | 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
|
146 | |
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 | 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
|
148 | 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
|
149 | 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
|
150 | 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
|
151 | } 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
|
152 | 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
|
153 | 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
|
154 | } |
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 | |
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 | 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
|
157 | 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
|
158 | 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
|
159 | 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
|
160 | } 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
|
161 | 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
|
162 | 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
|
163 | } |
318
ff02aca2b63c
Removed LED plugin, now using the one from the AnalogWidgets.
Michiel Broek <mbroek@mbse.eu>
parents:
317
diff
changeset
|
164 | |
317 | 165 | if (query.value("mode").toString() == "OFF") { |
166 | 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
|
167 | ui->codePick->show(); |
317 | 168 | } else { |
169 | 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
|
170 | ui->codePick->hide(); |
317 | 171 | } |
172 | ui->alarmLED->setChecked((query.value("alarm").toInt() != 0) ? true:false); | |
173 | ||
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
|
174 | ui->tempsetBox->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
|
175 | if ((query.value("mode").toString() == "FRIDGE") || (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
|
176 | ui->loEdit->setReadOnly(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
|
177 | ui->loEdit->setButtonSymbols(QAbstractSpinBox::UpDownArrows); |
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 | ui->hiEdit->setReadOnly(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
|
179 | ui->hiEdit->setButtonSymbols(QAbstractSpinBox::UpDownArrows); |
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
|
180 | } 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
|
181 | ui->loEdit->setReadOnly(true); |
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->loEdit->setButtonSymbols(QAbstractSpinBox::NoButtons); |
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
|
183 | ui->hiEdit->setReadOnly(true); |
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
|
184 | ui->hiEdit->setButtonSymbols(QAbstractSpinBox::NoButtons); |
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 | } |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
186 | lo_set = query.value("setpoint_low").toDouble(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
187 | hi_set = query.value("setpoint_high").toDouble(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
188 | ui->loEdit->setValue(lo_set); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
189 | 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
|
190 | |
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
|
191 | ui->switchBox->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
|
192 | ui->heatLED->setChecked((query.value("heater_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
|
193 | ui->coolLED->setChecked((query.value("cooler_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
|
194 | ui->fanLED->setChecked((query.value("fan_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
|
195 | |
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
|
196 | 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
|
197 | ui->heatSwitch->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
|
198 | ui->coolSwitch->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
|
199 | ui->fanSwitch->show(); |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
200 | heat_state = (query.value("heater_state").toInt()) ? true:false; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
201 | cool_state = (query.value("cooler_state").toInt()) ? true:false; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
202 | fan_state = (query.value("fan_state").toInt()) ? true:false; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
203 | ui->heatSwitch->setChecked(heat_state); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
204 | ui->coolSwitch->setChecked(cool_state); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
205 | ui->fanSwitch->setChecked(fan_state); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
206 | // Copy state values to variables and set the 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
|
207 | } 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
|
208 | ui->heatSwitch->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
|
209 | ui->coolSwitch->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
|
210 | ui->fanSwitch->hide(); |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
211 | heat_state = cool_state = fan_state = 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
|
212 | } |
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
|
213 | |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
214 | 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
|
215 | 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
|
216 | } else { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
217 | 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
|
218 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
219 | 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
|
220 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
221 | 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
|
222 | _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
|
223 | 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
|
224 | 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
|
225 | 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
|
226 | 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
|
227 | 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
|
228 | 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
|
229 | 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
|
230 | 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
|
231 | } 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
|
232 | 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
|
233 | 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
|
234 | 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
|
235 | 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
|
236 | 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
|
237 | 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
|
238 | 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
|
239 | 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
|
240 | 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
|
241 | } 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
|
242 | 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
|
243 | 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
|
244 | 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
|
245 | 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
|
246 | 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
|
247 | 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
|
248 | 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
|
249 | 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
|
250 | 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
|
251 | } 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
|
252 | 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
|
253 | 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
|
254 | 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
|
255 | 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
|
256 | 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
|
257 | 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
|
258 | 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
|
259 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
260 | } else { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
261 | 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
|
262 | 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
|
263 | 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
|
264 | 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
|
265 | _profile = QString(""); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
266 | } |
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
|
267 | |
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 | ui->thermoBox->show(); |
317 | 269 | if (query.value("air_state").toString() == "OK") { |
270 | ui->airThermo->setValue(query.value("air_temperature").toDouble()); | |
271 | } | |
272 | if (query.value("beer_state").toString() == "OK") { | |
273 | ui->beerThermo->setValue(query.value("beer_temperature").toDouble()); | |
274 | } | |
275 | ||
276 | } else { | |
277 | /* 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
|
278 | ui->statusEdit->setText(tr("Offline")); |
317 | 279 | ui->powerLED->setChecked(false); |
280 | ui->alarmLED->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
|
281 | 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
|
282 | ui->modeEdit->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
|
283 | 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
|
284 | 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
|
285 | 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
|
286 | ui->switchBox->hide(); |
317 | 287 | } |
288 | } | |
289 | ||
290 | } | |
291 | ||
292 | ||
293 | DetailFermenter::~DetailFermenter() | |
294 | { | |
295 | qDebug() << "DetailFermenter done"; | |
296 | delete ui; | |
297 | emit entry_changed(); | |
298 | } | |
299 | ||
300 | ||
301 | /* | |
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
|
302 | * 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
|
303 | * Check if the signal is for us. |
317 | 304 | */ |
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
|
305 | void DetailFermenter::refreshFermenter(QString data) |
317 | 306 | { |
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
|
307 | 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
|
308 | qDebug() << "for us"; |
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
|
309 | 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
|
310 | } |
317 | 311 | } |
312 | ||
313 | ||
314 | void DetailFermenter::on_quitButton_clicked() | |
315 | { | |
316 | this->close(); | |
317 | this->setResult(1); | |
318 | } | |
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
|
319 | |
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
|
320 | |
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
|
321 | 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
|
322 | { |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
323 | 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
|
324 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
325 | 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
|
326 | 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
|
327 | 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
|
328 | .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
|
329 | 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
|
330 | 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
|
331 | } |
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
|
332 | |
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
|
333 | |
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
|
334 | 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
|
335 | { |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
336 | 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
|
337 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
338 | 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
|
339 | 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
|
340 | 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
|
341 | .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
|
342 | 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
|
343 | 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
|
344 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
345 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
346 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
347 | 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
|
348 | { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
349 | 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
|
350 | .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
|
351 | qDebug() << msg; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
352 | 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
|
353 | } |
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
|
354 | |
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
|
355 | |
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
|
356 | 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
|
357 | { |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
358 | 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
|
359 | 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
|
360 | 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
|
361 | } |
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
|
362 | |
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
|
363 | |
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
|
364 | 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
|
365 | { |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
366 | 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
|
367 | 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
|
368 | 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
|
369 | } |
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 | |
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
|
371 | |
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
|
372 | 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
|
373 | { |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
374 | 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
|
375 | send_switches(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
376 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
377 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
378 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
379 | 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
|
380 | { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
381 | 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
|
382 | 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
|
383 | 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
|
384 | qDebug() << msg; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
385 | 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
|
386 | return; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
387 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
388 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
389 | 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
|
390 | // use popup |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
391 | 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
|
392 | 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
|
393 | 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
|
394 | 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
|
395 | qDebug() << msg; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
396 | 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
|
397 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
398 | return; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
399 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
400 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
401 | 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
|
402 | 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
|
403 | qDebug() << msg; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
404 | 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
|
405 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
406 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
407 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
408 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
409 | 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
|
410 | { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
411 | 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
|
412 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
413 | 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
|
414 | 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
|
415 | qDebug() << msg; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
416 | 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
|
417 | } |
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
|
418 | } |
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
|
419 | |
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
|
420 | |
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
|
421 | 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
|
422 | { |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
423 | 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
|
424 | 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
|
425 | qDebug() << "mode_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
|
426 | 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
|
427 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
428 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
429 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
430 | 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
|
431 | { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
432 | 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
|
433 | QString msg = QString("{\"device\":\"fermenters\",\"node\":\"" + _node + "\",\"unit\":\"" + _alias + "\",\"stage\":\"" + stage[val] + "\"}"); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
434 | qDebug() << "stage_changed" << val << 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
|
435 | 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
|
436 | } |
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
|
437 | |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
438 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
439 | 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
|
440 | { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
441 | QString msg = QString(""); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
442 | qDebug() << "code_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
|
443 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
444 | |
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 | 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
|
447 | { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
448 | QString payload; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
449 | QSqlQuery query; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
450 | QJsonParseError parseError; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
451 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
452 | 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
|
453 | 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
|
454 | } else { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
455 | 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
|
456 | 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
|
457 | query.next(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
458 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
459 | 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
|
460 | 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
|
461 | 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
|
462 | 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
|
463 | 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
|
464 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
465 | 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
|
466 | 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
|
467 | 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
|
468 | 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
|
469 | 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
|
470 | 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
|
471 | } 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
|
472 | 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
|
473 | 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
|
474 | 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
|
475 | 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
|
476 | payload.append(QString("{\"steptime\":%1").arg(obj["steptime"].toString().toDouble())); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
477 | payload.append(QString(",\"resttime\":%1").arg(obj["resttime"].toString().toDouble())); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
478 | payload.append(QString(",\"target_lo\":%1").arg(obj["target_lo"].toString().toDouble())); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
479 | payload.append(QString(",\"target_hi\":%1").arg(obj["target_hi"].toString().toDouble())); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
480 | payload.append(QString(",\"fridgemode\":%1").arg(obj["fridgemode"].toString().toInt())); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
481 | 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
|
482 | } |
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 | 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
|
487 | // qDebug() << 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
|
488 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
489 | 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
|
490 | 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
|
491 | 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
|
492 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
493 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
494 |