Fri, 18 Nov 2022 16:57:02 +0100
Details CO2 monitor shows the style limits for the specific beer. Adjust the scale of the pressure widget to the beer limits. Moved more functions to the global Utils. Fix expected pressure in the package screen for other priming sugars. Disabled some debug log messages.
317 | 1 | /** |
2 | * DetailFermenter.cpp is part of bmsapp. | |
3 | * | |
4 | * bmsapp is free software: you can redistribute it and/or modify | |
5 | * it under the terms of the GNU General Public License as published by | |
6 | * the Free Software Foundation, either version 3 of the License, or | |
7 | * (at your option) any later version. | |
8 | * | |
9 | * bmsapp is distributed in the hope that it will be useful, | |
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | * GNU General Public License for more details. | |
13 | * | |
14 | * You should have received a copy of the GNU General Public License | |
15 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | |
16 | */ | |
17 | #include "DetailFermenter.h" | |
333
499c95108bbd
Moved Fermenter and iSpindel charts to their own functions. Added these to DetailFermenter and DetailiSpindel too.
Michiel Broek <mbroek@mbse.eu>
parents:
328
diff
changeset
|
18 | #include "ChartFermenter.h" |
391
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
19 | #include "Webcam.h" |
317 | 20 | #include "../ui/ui_DetailFermenter.h" |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
21 | #include "global.h" |
317 | 22 | #include "MainWindow.h" |
23 | ||
24 | ||
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
25 | /* |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
26 | * Results are available via MySQL and websockets. Because we initialize using |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
27 | * MySQL we only use that for the results and up to date status. |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
28 | * Commands are send via websockets only. |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
29 | */ |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
30 | |
317 | 31 | DetailFermenter::DetailFermenter(int id, QWidget *parent) : QDialog(parent), ui(new Ui::DetailFermenter) |
32 | { | |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
33 | QSqlQuery query; |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
34 | |
317 | 35 | qDebug() << "DetailFermenter record:" << id; |
36 | ui->setupUi(this); | |
37 | 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
|
38 | 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
|
39 | setWindowTitle(tr("BMSapp - Details Fermenter")); |
317 | 40 | |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
41 | ui->airThermo->setMaximum(40.0); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
42 | 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
|
43 | 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
|
44 | 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
|
45 | |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
46 | ui->beerThermo->setMaximum(40.0); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
47 | 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
|
48 | 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
|
49 | 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
|
50 | |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
51 | ui->chillerThermo->setMinimum(-15.0); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
52 | ui->chillerThermo->setMaximum(25.0); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
53 | ui->chillerThermo->setNominal(0.0); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
54 | ui->chillerThermo->setCritical(15.0); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
55 | ui->chillerThermo->setSuffix(QString("°C")); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
56 | |
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
|
57 | 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
|
58 | 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
|
59 | 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
|
60 | 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
|
61 | ui->modeEdit->addItem("PROFILE"); |
317 | 62 | |
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
|
63 | 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
|
64 | 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
|
65 | 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
|
66 | ui->stageEdit->addItem("CARBONATION"); |
317 | 67 | |
415
dd4ab5c2a8e5
Handle choose beer if it needs to be cleared better. Fixed unit offline view
Michiel Broek <mbroek@mbse.eu>
parents:
414
diff
changeset
|
68 | ui->codePick->addItem("Erase beer"); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
69 | 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
|
70 | 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
|
71 | 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
|
72 | } |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for 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 | |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
74 | 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
|
75 | 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
|
76 | 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
|
77 | 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
|
78 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
79 | |
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
|
80 | 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
|
81 | 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
|
82 | 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
|
83 | 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
|
84 | 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
|
85 | 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
|
86 | 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
|
87 | 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
|
88 | 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
|
89 | 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
|
90 | connect(ui->profilePick, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &DetailFermenter::profile_changed); |
333
499c95108bbd
Moved Fermenter and iSpindel charts to their own functions. Added these to DetailFermenter and DetailiSpindel too.
Michiel Broek <mbroek@mbse.eu>
parents:
328
diff
changeset
|
91 | connect(ui->logButton, SIGNAL(clicked()), this, SLOT(on_ChartButton_clicked())); |
391
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
92 | connect(ui->camButton, SIGNAL(clicked()), this, SLOT(on_WebcamButton_clicked())); |
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
|
93 | connect(parent, SIGNAL(updateFermenter(QString)), this, SLOT(refreshFermenter(QString))); |
317 | 94 | emit refreshTable(); |
95 | } | |
96 | ||
97 | ||
98 | void DetailFermenter::refreshTable() | |
99 | { | |
100 | QSqlQuery query; | |
101 | ||
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
102 | 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
|
103 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
104 | 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
|
105 | 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
|
106 | 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
|
107 | 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
|
108 | 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
|
109 | icon_cont.addFile(QString::fromUtf8(":icons/silk/cup_go.png"), QSize(), QIcon::Normal, QIcon::Off); |
317 | 110 | |
111 | query.prepare("SELECT * FROM mon_fermenters WHERE record = :recno"); | |
112 | query.bindValue(":recno", this->recno); | |
113 | query.exec(); | |
114 | if (query.next()) { | |
115 | ||
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 | 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
|
117 | 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
|
118 | 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
|
119 | 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
|
120 | 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
|
121 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for 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 | _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
|
123 | _alias = query.value("alias").toString(); |
328
ee2c8b29f389
Added CO2 meter monitor detail screen.
Michiel Broek <mbroek@mbse.eu>
parents:
325
diff
changeset
|
124 | _uuid = query.value("uuid").toString(); |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
125 | _beercode = query.value("beercode").toString(); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
126 | _beername = query.value("beername").toString(); |
391
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
127 | _webcam_url = query.value("webcam_url").toString(); |
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
128 | _webcam_light = query.value("webcam_light").toInt(); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
129 | |
328
ee2c8b29f389
Added CO2 meter monitor detail screen.
Michiel Broek <mbroek@mbse.eu>
parents:
325
diff
changeset
|
130 | ui->uuidEdit->setText(_uuid); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
131 | 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
|
132 | 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
|
133 | |
317 | 134 | 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
|
135 | ui->statusEdit->setText(tr("Online")); |
415
dd4ab5c2a8e5
Handle choose beer if it needs to be cleared better. Fixed unit offline view
Michiel Broek <mbroek@mbse.eu>
parents:
414
diff
changeset
|
136 | ui->codeEdit->show(); |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
137 | ui->codeEdit->setText(_beercode+" - "+_beername); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
138 | 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
|
139 | 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
|
140 | 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
|
141 | 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
|
142 | |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
143 | ui->modeEdit->show(); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
144 | 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
|
145 | 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
|
146 | 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
|
147 | 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
|
148 | 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
|
149 | 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
|
150 | 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
|
151 | 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
|
152 | 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
|
153 | 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
|
154 | |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
155 | ui->stageEdit->show(); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
156 | 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
|
157 | 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
|
158 | 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
|
159 | 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
|
160 | 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
|
161 | 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
|
162 | 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
|
163 | 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
|
164 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
165 | 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
|
166 | 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
|
167 | 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
|
168 | 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
|
169 | } 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
|
170 | 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
|
171 | 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
|
172 | } |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
173 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for 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 | 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
|
175 | 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
|
176 | 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
|
177 | 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
|
178 | } 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
|
179 | 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
|
180 | 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
|
181 | } |
318
ff02aca2b63c
Removed LED plugin, now using the one from the AnalogWidgets.
Michiel Broek <mbroek@mbse.eu>
parents:
317
diff
changeset
|
182 | |
317 | 183 | if (query.value("mode").toString() == "OFF") { |
184 | 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
|
185 | ui->codePick->show(); |
317 | 186 | } else { |
187 | 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
|
188 | ui->codePick->hide(); |
317 | 189 | } |
190 | ui->alarmLED->setChecked((query.value("alarm").toInt() != 0) ? true:false); | |
191 | ||
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
|
192 | 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
|
193 | 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
|
194 | 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
|
195 | 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
|
196 | 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
|
197 | 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
|
198 | } 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
|
199 | 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
|
200 | 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
|
201 | 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
|
202 | 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
|
203 | } |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
204 | 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
|
205 | 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
|
206 | 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
|
207 | 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
|
208 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for 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->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
|
210 | 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
|
211 | 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
|
212 | 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
|
213 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
214 | 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
|
215 | 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
|
216 | 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
|
217 | 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
|
218 | 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
|
219 | 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
|
220 | 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
|
221 | 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
|
222 | 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
|
223 | 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
|
224 | // 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
|
225 | } 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
|
226 | 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
|
227 | 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
|
228 | 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
|
229 | 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
|
230 | } |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
231 | |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
232 | 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
|
233 | 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
|
234 | } else { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
235 | 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
|
236 | } |
415
dd4ab5c2a8e5
Handle choose beer if it needs to be cleared better. Fixed unit offline view
Michiel Broek <mbroek@mbse.eu>
parents:
414
diff
changeset
|
237 | ui->profileEdit->show(); |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
238 | 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
|
239 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
240 | 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
|
241 | _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
|
242 | 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
|
243 | 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
|
244 | 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
|
245 | 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
|
246 | 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
|
247 | 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
|
248 | 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
|
249 | 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
|
250 | } 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
|
251 | 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
|
252 | 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
|
253 | 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
|
254 | 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
|
255 | 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
|
256 | 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
|
257 | 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
|
258 | 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
|
259 | 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
|
260 | } 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
|
261 | 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
|
262 | 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
|
263 | 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
|
264 | 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
|
265 | 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
|
266 | 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
|
267 | 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
|
268 | 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
|
269 | 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
|
270 | } 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
|
271 | 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
|
272 | 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
|
273 | 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
|
274 | 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
|
275 | 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
|
276 | 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
|
277 | 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
|
278 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
279 | } else { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
280 | 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
|
281 | 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
|
282 | 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
|
283 | 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
|
284 | _profile = QString(""); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
285 | } |
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
|
286 | |
391
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
287 | if (_webcam_url == "") { |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
288 | ui->camButton->hide(); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
289 | } else { |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
290 | ui->camButton->show(); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
291 | } |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
292 | |
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
|
293 | ui->thermoBox->show(); |
317 | 294 | if (query.value("air_state").toString() == "OK") { |
295 | ui->airThermo->setValue(query.value("air_temperature").toDouble()); | |
296 | } | |
297 | if (query.value("beer_state").toString() == "OK") { | |
298 | ui->beerThermo->setValue(query.value("beer_temperature").toDouble()); | |
299 | } | |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
300 | if (query.value("chiller_state").toString() == "OK") { |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
301 | ui->chillerThermo->setValue(query.value("chiller_temperature").toDouble()); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
302 | } |
317 | 303 | |
304 | } else { | |
305 | /* 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
|
306 | ui->statusEdit->setText(tr("Offline")); |
317 | 307 | ui->powerLED->setChecked(false); |
308 | ui->alarmLED->setChecked(true); | |
415
dd4ab5c2a8e5
Handle choose beer if it needs to be cleared better. Fixed unit offline view
Michiel Broek <mbroek@mbse.eu>
parents:
414
diff
changeset
|
309 | ui->codeEdit->hide(); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
310 | 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
|
311 | ui->modeEdit->hide(); |
415
dd4ab5c2a8e5
Handle choose beer if it needs to be cleared better. Fixed unit offline view
Michiel Broek <mbroek@mbse.eu>
parents:
414
diff
changeset
|
312 | ui->profileEdit->hide(); |
dd4ab5c2a8e5
Handle choose beer if it needs to be cleared better. Fixed unit offline view
Michiel Broek <mbroek@mbse.eu>
parents:
414
diff
changeset
|
313 | ui->profileShow->hide(); |
dd4ab5c2a8e5
Handle choose beer if it needs to be cleared better. Fixed unit offline view
Michiel Broek <mbroek@mbse.eu>
parents:
414
diff
changeset
|
314 | ui->profilePick->hide(); |
dd4ab5c2a8e5
Handle choose beer if it needs to be cleared better. Fixed unit offline view
Michiel Broek <mbroek@mbse.eu>
parents:
414
diff
changeset
|
315 | ui->modeButton1->hide(); |
dd4ab5c2a8e5
Handle choose beer if it needs to be cleared better. Fixed unit offline view
Michiel Broek <mbroek@mbse.eu>
parents:
414
diff
changeset
|
316 | ui->modeButton2->hide(); |
323
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
317 | 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
|
318 | 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
|
319 | 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
|
320 | ui->switchBox->hide(); |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
321 | ui->camButton->hide(); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
322 | ui->logButton->hide(); |
317 | 323 | } |
324 | } | |
325 | ||
326 | } | |
327 | ||
328 | ||
329 | DetailFermenter::~DetailFermenter() | |
330 | { | |
331 | qDebug() << "DetailFermenter done"; | |
332 | delete ui; | |
333 | emit entry_changed(); | |
334 | } | |
335 | ||
336 | ||
337 | /* | |
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
|
338 | * 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
|
339 | * Check if the signal is for us. |
317 | 340 | */ |
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
|
341 | void DetailFermenter::refreshFermenter(QString data) |
317 | 342 | { |
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
|
343 | 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
|
344 | 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
|
345 | } |
317 | 346 | } |
347 | ||
348 | ||
333
499c95108bbd
Moved Fermenter and iSpindel charts to their own functions. Added these to DetailFermenter and DetailiSpindel too.
Michiel Broek <mbroek@mbse.eu>
parents:
328
diff
changeset
|
349 | void DetailFermenter::on_ChartButton_clicked() |
499c95108bbd
Moved Fermenter and iSpindel charts to their own functions. Added these to DetailFermenter and DetailiSpindel too.
Michiel Broek <mbroek@mbse.eu>
parents:
328
diff
changeset
|
350 | { |
499c95108bbd
Moved Fermenter and iSpindel charts to their own functions. Added these to DetailFermenter and DetailiSpindel too.
Michiel Broek <mbroek@mbse.eu>
parents:
328
diff
changeset
|
351 | ChartFermenter dialog(_beercode, _beername, this); |
499c95108bbd
Moved Fermenter and iSpindel charts to their own functions. Added these to DetailFermenter and DetailiSpindel too.
Michiel Broek <mbroek@mbse.eu>
parents:
328
diff
changeset
|
352 | } |
499c95108bbd
Moved Fermenter and iSpindel charts to their own functions. Added these to DetailFermenter and DetailiSpindel too.
Michiel Broek <mbroek@mbse.eu>
parents:
328
diff
changeset
|
353 | |
499c95108bbd
Moved Fermenter and iSpindel charts to their own functions. Added these to DetailFermenter and DetailiSpindel too.
Michiel Broek <mbroek@mbse.eu>
parents:
328
diff
changeset
|
354 | |
391
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
355 | void DetailFermenter::on_WebcamButton_clicked() |
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
356 | { |
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
357 | QString msg = QString("{\"device\":\"fermenters\",\"node\":\""+_node+"\",\"unit\":\""+_alias+"\",\"light_state\":100}"); |
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
358 | webSocket->sendTextMessage(msg); |
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
359 | Webcam dialog(_webcam_url, this); |
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
360 | } |
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
361 | |
42936c86cbac
Initial webcam interface for fermenter view
Michiel Broek <mbroek@mbse.eu>
parents:
333
diff
changeset
|
362 | |
317 | 363 | void DetailFermenter::on_quitButton_clicked() |
364 | { | |
365 | this->close(); | |
366 | this->setResult(1); | |
367 | } | |
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
|
368 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for 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 | 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
|
371 | { |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
372 | 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
|
373 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
374 | 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
|
375 | 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
|
376 | 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
|
377 | .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
|
378 | 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
|
379 | 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
|
380 | } |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
381 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
382 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
383 | 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
|
384 | { |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
385 | 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
|
386 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
387 | 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
|
388 | 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
|
389 | 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
|
390 | .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
|
391 | 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
|
392 | 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
|
393 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
394 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
395 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
396 | 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
|
397 | { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
398 | 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
|
399 | .arg((heat_state)?100:0).arg((cool_state)?100:0).arg((fan_state)?100:0); |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
400 | //qDebug() << msg; |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
401 | 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
|
402 | } |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
403 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
404 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
405 | 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
|
406 | { |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
407 | 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
|
408 | 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
|
409 | 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
|
410 | } |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
411 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
412 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
413 | 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
|
414 | { |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
415 | 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
|
416 | 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
|
417 | 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
|
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::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
|
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 | 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
|
424 | send_switches(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
425 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
426 | |
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 | 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
|
429 | { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
430 | 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
|
431 | 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
|
432 | 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
|
433 | qDebug() << msg; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
434 | 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
|
435 | return; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
436 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
437 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
438 | 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
|
439 | 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
|
440 | 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
|
441 | 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
|
442 | 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
|
443 | qDebug() << msg; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
444 | 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
|
445 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
446 | return; |
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 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
449 | 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
|
450 | 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
|
451 | qDebug() << msg; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
452 | 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
|
453 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
454 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
455 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
456 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
457 | 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
|
458 | { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
459 | 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
|
460 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
461 | 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
|
462 | 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
|
463 | qDebug() << msg; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
464 | 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
|
465 | } |
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
|
466 | } |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
467 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
468 | |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
469 | 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
|
470 | { |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
471 | 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
|
472 | QString msg = QString("{\"device\":\"fermenters\",\"node\":\"" + _node + "\",\"unit\":\"" + _alias + "\",\"mode\":\"" + mode[val] + "\"}"); |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
473 | //qDebug() << "mode_changed" << val << msg; |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
474 | 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
|
475 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
476 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
477 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
478 | 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
|
479 | { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
480 | 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
|
481 | QString msg = QString("{\"device\":\"fermenters\",\"node\":\"" + _node + "\",\"unit\":\"" + _alias + "\",\"stage\":\"" + stage[val] + "\"}"); |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
482 | //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
|
483 | 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
|
484 | } |
d053ffbbf3e9
Started with change and signal functions. Implemented mode change for test. The MainWindow webSocket is now global so the Detail screens can send websocket messages.
Michiel Broek <mbroek@mbse.eu>
parents:
318
diff
changeset
|
485 | |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
486 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
487 | 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
|
488 | { |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
489 | QJsonParseError parseError; |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
490 | QSqlQuery query; |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
491 | |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
492 | QString msg = QString("{\"device\":\"fermenters\",\"node\":\"" + _node + "\",\"unit\":\"" + _alias + "\","); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
493 | if (val == 0) { |
328
ee2c8b29f389
Added CO2 meter monitor detail screen.
Michiel Broek <mbroek@mbse.eu>
parents:
325
diff
changeset
|
494 | msg.append(QString("\"beeruuid\":\"") + _uuid + "\","); |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
495 | msg.append(QString("\"beercode\":\"") + _alias.toUpper() + "\","); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
496 | msg.append(QString("\"beername\":\"") + _alias + "\","); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
497 | msg.append(QString("\"yeast_lo\":12.0,")); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
498 | msg.append(QString("\"yeast_hi\":24.0}")); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
499 | |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
500 | } else { |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
501 | query.exec("SELECT code,name,uuid,stage,json_yeasts FROM products WHERE stage='1' OR stage='2' OR stage='3' OR stage='4' OR stage='5' OR stage='6' OR stage='7' ORDER BY code"); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
502 | for (int i = 0; i < val; i++) { |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
503 | query.next(); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
504 | } |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
505 | double yl = 0; |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
506 | double yh = 40; |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
507 | const auto& y_json = query.value("json_yeasts").toString(); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
508 | if (! y_json.trimmed().isEmpty()) { |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
509 | const auto& formattedJson = QString("%1").arg(y_json); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
510 | QJsonDocument yeasts = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
511 | if (parseError.error != QJsonParseError::NoError) { |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
512 | qWarning() << "Parse error: " << parseError.errorString() << "at" << parseError.offset ; |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
513 | } else if (yeasts.isArray()) { |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
514 | for (int i = 0; i < yeasts.array().size(); i++) { |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
515 | QJsonObject obj = yeasts.array().at(i).toObject(); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
516 | if (obj["y_use"].toInt() == 0) { // Primary yeast |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
517 | if (obj["y_min_temperature"].toDouble() > yl) |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
518 | yl = obj["y_min_temperature"].toDouble(); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
519 | if (obj["y_max_temperature"].toDouble() < yh) |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
520 | yh = obj["y_max_temperature"].toDouble(); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
521 | } |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
522 | } |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
523 | } |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
524 | } |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
525 | msg.append(QString("\"beeruuid\":\"") + query.value("uuid").toString() + "\","); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
526 | msg.append(QString("\"beercode\":\"") + query.value("code").toString() + "\","); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
527 | msg.append(QString("\"beername\":\"") + query.value("name").toString() + "\","); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
528 | msg.append(QString("\"yeast_lo\":%1,").arg(yl)); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
529 | msg.append(QString("\"yeast_hi\":%1}").arg(yh)); |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
530 | } |
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
531 | |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
532 | qDebug() << "code_changed" << val << msg; |
325
fa946d12d937
Workaround for the thermometer scale ranges. Added chiller thermometer settings. Added beer select.
Michiel Broek <mbroek@mbse.eu>
parents:
324
diff
changeset
|
533 | webSocket->sendTextMessage(msg); |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
534 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
535 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
536 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
537 | 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
|
538 | { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
539 | QString payload; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
540 | QSqlQuery query; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
541 | QJsonParseError parseError; |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
542 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
543 | 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
|
544 | 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
|
545 | } else { |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
546 | 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
|
547 | 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
|
548 | query.next(); |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
549 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
550 | 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
|
551 | 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
|
552 | 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
|
553 | 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
|
554 | 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
|
555 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
556 | 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
|
557 | 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
|
558 | 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
|
559 | 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
|
560 | 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
|
561 | 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
|
562 | } 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
|
563 | 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
|
564 | 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
|
565 | 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
|
566 | payload.append(QString(",")); |
414
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
567 | if (obj["steptime"].isString()) |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
568 | payload.append(QString("{\"steptime\":%1").arg(obj["steptime"].toString().toDouble())); |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
569 | else |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
570 | payload.append(QString("{\"steptime\":%1").arg(obj["steptime"].toDouble())); |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
571 | if (obj["resttime"].isString()) |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
572 | payload.append(QString(",\"resttime\":%1").arg(obj["resttime"].toString().toDouble())); |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
573 | else |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
574 | payload.append(QString(",\"resttime\":%1").arg(obj["resttime"].toDouble())); |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
575 | if (obj["target_lo"].isString()) |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
576 | payload.append(QString(",\"target_lo\":%1").arg(obj["target_lo"].toString().toDouble())); |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
577 | else |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
578 | payload.append(QString(",\"target_lo\":%1").arg(obj["target_lo"].toDouble())); |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
579 | if (obj["target_hi"].isString()) |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
580 | payload.append(QString(",\"target_hi\":%1").arg(obj["target_hi"].toString().toDouble())); |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
581 | else |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
582 | payload.append(QString(",\"target_hi\":%1").arg(obj["target_hi"].toDouble())); |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
583 | if (obj["fridgemode"].isString()) |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
584 | payload.append(QString(",\"fridgemode\":%1").arg(obj["fridgemode"].toString().toInt())); |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
585 | else |
6582a2a95583
With edited fermentation profile make sure the steps values are handled as string and double/integer values when loaded in a fermenter.
Michiel Broek <mbroek@mbse.eu>
parents:
391
diff
changeset
|
586 | payload.append(QString(",\"fridgemode\":%1").arg(obj["fridgemode"].toInt())); |
324
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
587 | 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
|
588 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
589 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
590 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
591 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
592 | 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
|
593 | // 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
|
594 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
595 | QString 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
|
596 | 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
|
597 | 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
|
598 | } |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
599 | |
c1bb6b197763
Implemented profile control. Added stage edit. Added manual control. Added temperature setting.
Michiel Broek <mbroek@mbse.eu>
parents:
323
diff
changeset
|
600 |