src/DetailiSpindel.cpp

Thu, 18 Aug 2022 20:34:15 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Thu, 18 Aug 2022 20:34:15 +0200
changeset 401
583148eb6e01
parent 333
499c95108bbd
child 416
3fac92cb1ee1
permissions
-rw-r--r--

Init est_carb field for new products.

329
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 /**
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 * DetailiSpindel.cpp is part of bmsapp.
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 *
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 * bmsapp is free software: you can redistribute it and/or modify
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 * it under the terms of the GNU General Public License as published by
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 * the Free Software Foundation, either version 3 of the License, or
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 * (at your option) any later version.
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 *
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 * bmsapp is distributed in the hope that it will be useful,
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 * GNU General Public License for more details.
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 *
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 * You should have received a copy of the GNU General Public License
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 */
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17 #include "DetailiSpindel.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: 329
diff changeset
18 #include "ChartiSpindel.h"
329
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19 #include "../ui/ui_DetailiSpindel.h"
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20 #include "global.h"
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21 #include "Utils.h"
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22 #include "MainWindow.h"
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
25 /*
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26 * Results are available via MySQL and websockets. Because we initialize using
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27 * MySQL we only use that for the results and up to date status.
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28 * Commands are send via websockets only.
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29 */
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
30
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
31 DetailiSpindel::DetailiSpindel(int id, QWidget *parent) : QDialog(parent), ui(new Ui::DetailiSpindel)
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
32 {
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33 QSqlQuery query;
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
34
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35 qDebug() << "DetailiSpindel record:" << id;
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
36 ui->setupUi(this);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
37 this->recno = id;
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
38 setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
39 setWindowTitle(tr("BMSapp - Details iSpindel"));
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
41 ui->thermoMeter->setMaximum(40.0);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42 ui->thermoMeter->setNominal(20.0);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43 ui->thermoMeter->setCritical(25.0);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44 ui->thermoMeter->setSuffix(QString("°C"));
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
46 ui->modeEdit->addItem("OFF");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
47 ui->modeEdit->addItem("ON");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
48
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49 ui->codePick->addItem("Free - Dummy"); // Will be replaced later
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
50 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");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
51 while (query.next()) {
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
52 ui->codePick->addItem(query.value("code").toString()+" - "+query.value("name").toString());
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
53 }
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
54
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
55 connect(ui->codePick, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &DetailiSpindel::code_changed);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
56 connect(ui->modeEdit, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &DetailiSpindel::mode_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: 329
diff changeset
57 connect(ui->logButton, SIGNAL(clicked()), this, SLOT(on_ChartButton_clicked()));
329
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
58 connect(parent, SIGNAL(updateiSpindel(QString)), this, SLOT(refreshiSpindel(QString)));
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
59 emit refreshTable();
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
60 }
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
61
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
62
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
63 void DetailiSpindel::refreshTable()
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
64 {
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
65 QSqlQuery query;
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
66
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
67 qDebug() << "refreshTable ispindel rec:" << this->recno;
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
68
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
69 query.prepare("SELECT * FROM mon_ispindels WHERE record = :recno");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
70 query.bindValue(":recno", this->recno);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
71 query.exec();
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
72 if (query.next()) {
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
73
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
74 const QSignalBlocker blocker1(ui->codePick);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
75 const QSignalBlocker blocker2(ui->modeEdit);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
76
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
77 _node = query.value("node").toString();
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
78 _alias = query.value("alias").toString();
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
79 _uuid = query.value("uuid").toString();
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
80 _beercode = query.value("beercode").toString();
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
81 _beername = query.value("beername").toString();
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
82
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
83 ui->uuidEdit->setText(_uuid);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
84 ui->systemEdit->setText(_node+"/"+_alias);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
85 ui->codePick->setItemText(0, _alias.toUpper()+" - "+_alias);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
86
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
87 if (query.value("online").toInt()) {
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
88 ui->statusEdit->setText(tr("Online"));
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
89 ui->codeEdit->setText(_beercode+" - "+_beername);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
90 ui->modeEdit->show();
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
91 if (query.value("mode").toString() == "OFF") {
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
92 ui->powerLED->setChecked(false);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
93 ui->modeEdit->setCurrentIndex(0);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
94 ui->codePick->show();
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
95 } else {
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
96 ui->powerLED->setChecked(true);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
97 ui->modeEdit->setCurrentIndex(1);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
98 ui->codePick->hide();
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
99 }
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
100 ui->alarmLED->setChecked((query.value("alarm").toInt() != 0) ? true:false);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
101
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
102 ui->voltEdit->setText(QString("%1").arg(query.value("battery").toDouble(), 4, 'f', 3, '0'));
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
103 ui->tiltEdit->setText(QString("%1").arg(query.value("angle").toDouble(), 6, 'f', 5, '0'));
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
104 ui->platoEdit->setText(QString("%1").arg(query.value("gravity").toDouble(), 4, 'f', 3, '0'));
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
105 double sg = Utils::plato_to_sg(query.value("gravity").toDouble());
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
106 ui->sgEdit->setText(QString("%1").arg(sg, 5, 'f', 4, '0'));
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
107
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
108 if (query.value("gravity").toDouble()) {
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
109 double og = Utils::plato_to_sg(query.value("og_gravity").toDouble());
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
110 double svg = Utils::calc_svg(og, sg);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
111
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
112 ui->ogVal->setText(QString("%1").arg(og, 5, 'f', 4, '0'));
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
113 ui->ogVal2->setText(QString("%1°P").arg(query.value("og_gravity").toDouble(), 4, 'f', 3, '0'));
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
114 ui->sgVal->setText(QString("%1").arg(sg, 5, 'f', 4, '0'));
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
115 ui->sgVal2->setText(QString("%1°P").arg(query.value("gravity").toDouble(), 4, 'f', 3, '0'));
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
116 ui->svgVal->setText(QString("%1%").arg(svg, 2, 'f', 1, '0'));
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
117 ui->svgBar->setValue(svg);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
118 ui->abvVal->setText(QString("%1%").arg(Utils::abvol(og, sg), 3, 'f', 2, '0'));
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
119 } else {
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
120 ui->ogVal->setText("");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
121 ui->ogVal2->setText("");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
122 ui->sgVal->setText("");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
123 ui->sgVal2->setText("");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
124 ui->svgVal->setText("");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
125 ui->abvVal->setText("");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
126 ui->batVal->setText("");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
127 }
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
128
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
129 double batt = query.value("battery").toDouble() - 3.064; // 0% voltage
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
130 if (batt < 0)
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
131 batt = 0;
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
132 batt = round(batt / 1.17875 * 100.0); // 100% range
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
133 if (batt > 100)
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
134 batt = 100;
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
135 ui->batVal->setText(QString("%1%").arg(batt, 2, 'f', 1, '0'));
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
136
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
137 ui->thermoBox->show();
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
138 ui->thermoMeter->setValue(query.value("temperature").toDouble());
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
139
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
140 } else {
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
141 /* Offline */
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
142 ui->statusEdit->setText(tr("Offline"));
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
143 ui->powerLED->setChecked(false);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
144 ui->alarmLED->setChecked(true);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
145 ui->codePick->hide();
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
146 ui->modeEdit->hide();
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
147 ui->thermoBox->hide();
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
148 ui->logButton->hide();
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
149 }
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
150 }
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
151
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
152 }
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
153
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
154
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
155 DetailiSpindel::~DetailiSpindel()
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
156 {
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
157 qDebug() << "DetailiSpindel done";
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
158 delete ui;
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
159 emit entry_changed();
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
160 }
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
161
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
162
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
163 /*
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
164 * Receive signals destined for all co2meters.
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
165 * Check if the signal is for us.
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
166 */
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
167 void DetailiSpindel::refreshiSpindel(QString data)
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
168 {
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
169 if (_node+"/"+_alias == data) {
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
170 emit refreshTable();
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
171 }
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
172 }
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
173
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
174
333
499c95108bbd Moved Fermenter and iSpindel charts to their own functions. Added these to DetailFermenter and DetailiSpindel too.
Michiel Broek <mbroek@mbse.eu>
parents: 329
diff changeset
175 void DetailiSpindel::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: 329
diff changeset
176 {
499c95108bbd Moved Fermenter and iSpindel charts to their own functions. Added these to DetailFermenter and DetailiSpindel too.
Michiel Broek <mbroek@mbse.eu>
parents: 329
diff changeset
177 ChartiSpindel 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: 329
diff changeset
178 }
499c95108bbd Moved Fermenter and iSpindel charts to their own functions. Added these to DetailFermenter and DetailiSpindel too.
Michiel Broek <mbroek@mbse.eu>
parents: 329
diff changeset
179
499c95108bbd Moved Fermenter and iSpindel charts to their own functions. Added these to DetailFermenter and DetailiSpindel too.
Michiel Broek <mbroek@mbse.eu>
parents: 329
diff changeset
180
329
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
181 void DetailiSpindel::on_quitButton_clicked()
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
182 {
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
183 this->close();
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
184 this->setResult(1);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
185 }
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
186
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
187
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
188 void DetailiSpindel::mode_changed(int val)
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
189 {
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
190 QStringList mode ({ "OFF", "ON" });
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
191 QString msg = QString("{\"device\":\"ispindels\",\"node\":\"" + _node + "\",\"unit\":\"" + _alias + "\",\"mode\":\"" + mode[val] + "\"}");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
192 qDebug() << "mode_changed" << val << msg;
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
193 webSocket->sendTextMessage(msg);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
194 }
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
195
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
196
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
197 void DetailiSpindel::code_changed(int val)
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
198 {
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
199 QJsonParseError parseError;
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
200 QSqlQuery query;
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
201
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
202 QString msg = QString("{\"device\":\"ispindels\",\"node\":\"" + _node + "\",\"unit\":\"" + _alias + "\",");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
203 if (val == 0) {
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
204 msg.append(QString("\"beeruuid\":\"") + _uuid + "\",");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
205 msg.append(QString("\"beercode\":\"") + _alias.toUpper() + "\",");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
206 msg.append(QString("\"beername\":\"") + _alias + "\"}");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
207 } else {
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
208 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");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
209 for (int i = 0; i < val; i++) {
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
210 query.next();
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
211 }
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
212 msg.append(QString("\"beeruuid\":\"") + query.value("uuid").toString() + "\",");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
213 msg.append(QString("\"beercode\":\"") + query.value("code").toString() + "\",");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
214 msg.append(QString("\"beername\":\"") + query.value("name").toString() + "\"}");
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
215 }
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
216
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
217 qDebug() << "code_changed" << val << msg;
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
218 webSocket->sendTextMessage(msg);
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
219 }
b57299738980 Added iSpindel detail screen
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
220

mercurial