Make tsl2561 configurable / fixes day/night manvirrr

This commit is contained in:
hawkeyexp 2018-12-07 15:26:47 +01:00
parent 1ff179eca4
commit 60564c0e98
4 changed files with 980 additions and 17 deletions

View File

@ -65,6 +65,16 @@ private slots:
void syncNTPTime();
void on_pushButtonAudioTest_clicked();
void updateNetworkInfo();
void onUpdateLux1(int value);
void onUpdateLux2(int value);
void onUpdateLux3(int value);
void onUpdateLux4(int value);
void onUpdateLux5(int value);
void onUpdateBrightness1(int value);
void onUpdateBrightness2(int value);
void onUpdateBrightness3(int value);
void onUpdateBrightness4(int value);
void onUpdateBrightness5(int value);
private slots:
void show_tab1();
@ -75,6 +85,7 @@ private slots:
void show_tab6();
void show_tab7();
void show_tab8();
void show_tab9();
private:
void showEvent(QShowEvent* event);

View File

@ -41,6 +41,9 @@ SensorService::SensorService(boost::asio::io_service& ioService, aasdk::messenge
void SensorService::start()
{
strand_.dispatch([this, self = this->shared_from_this()]() {
if (is_file_exist("/tmp/night_mode_enabled")) {
this->isNight = true;
}
this->nightSensorPolling();
OPENAUTO_LOG(info) << "[SensorService] start.";
channel_->receive(this->shared_from_this());
@ -49,6 +52,7 @@ void SensorService::start()
void SensorService::stop()
{
this->stopPolling = true;
strand_.dispatch([this, self = this->shared_from_this()]() {
OPENAUTO_LOG(info) << "[SensorService] stop.";
});
@ -136,19 +140,25 @@ void SensorService::sendNightData()
auto promise = aasdk::channel::SendPromise::defer(strand_);
promise->then([]() {}, std::bind(&SensorService::onChannelError, this->shared_from_this(), std::placeholders::_1));
channel_->sendSensorEventIndication(indication, std::move(promise));
if (this->firstRun) {
this->firstRun = false;
this->previous = this->isNight;
}
}
void SensorService::nightSensorPolling()
{
strand_.dispatch([this, self = this->shared_from_this()]() {
this->isNight = is_file_exist("/tmp/night_mode_enabled");
if (this->previous != this->isNight) {
this->previous = this->isNight;
this->sendNightData();
}
timer_.expires_from_now(boost::posix_time::seconds(5));
timer_.async_wait(strand_.wrap(std::bind(&SensorService::nightSensorPolling, this->shared_from_this())));
});
if (!this->stopPolling) {
strand_.dispatch([this, self = this->shared_from_this()]() {
this->isNight = is_file_exist("/tmp/night_mode_enabled");
if (this->previous != this->isNight && !this->firstRun) {
this->previous = this->isNight;
this->sendNightData();
}
timer_.expires_from_now(boost::posix_time::seconds(5));
timer_.async_wait(strand_.wrap(std::bind(&SensorService::nightSensorPolling, this->shared_from_this())));
});
}
}
bool SensorService::is_file_exist(const char *fileName)

View File

@ -52,6 +52,16 @@ SettingsWindow::SettingsWindow(configuration::IConfiguration::Pointer configurat
connect(ui_->horizontalSliderAlphaTrans, &QSlider::valueChanged, this, &SettingsWindow::onUpdateAlphaTrans);
connect(ui_->horizontalSliderDay, &QSlider::valueChanged, this, &SettingsWindow::onUpdateBrightnessDay);
connect(ui_->horizontalSliderNight, &QSlider::valueChanged, this, &SettingsWindow::onUpdateBrightnessNight);
connect(ui_->horizontalSliderBrightness1, &QSlider::valueChanged, this, &SettingsWindow::onUpdateBrightness1);
connect(ui_->horizontalSliderBrightness2, &QSlider::valueChanged, this, &SettingsWindow::onUpdateBrightness2);
connect(ui_->horizontalSliderBrightness3, &QSlider::valueChanged, this, &SettingsWindow::onUpdateBrightness3);
connect(ui_->horizontalSliderBrightness4, &QSlider::valueChanged, this, &SettingsWindow::onUpdateBrightness4);
connect(ui_->horizontalSliderBrightness5, &QSlider::valueChanged, this, &SettingsWindow::onUpdateBrightness5);
connect(ui_->horizontalSliderLux1, &QSlider::valueChanged, this, &SettingsWindow::onUpdateLux1);
connect(ui_->horizontalSliderLux2, &QSlider::valueChanged, this, &SettingsWindow::onUpdateLux2);
connect(ui_->horizontalSliderLux3, &QSlider::valueChanged, this, &SettingsWindow::onUpdateLux3);
connect(ui_->horizontalSliderLux4, &QSlider::valueChanged, this, &SettingsWindow::onUpdateLux4);
connect(ui_->horizontalSliderLux5, &QSlider::valueChanged, this, &SettingsWindow::onUpdateLux5);
connect(ui_->radioButtonUseExternalBluetoothAdapter, &QRadioButton::clicked, [&](bool checked) { ui_->lineEditExternalBluetoothAdapterAddress->setEnabled(checked); });
connect(ui_->radioButtonDisableBluetooth, &QRadioButton::clicked, [&]() { ui_->lineEditExternalBluetoothAdapterAddress->setEnabled(false); });
connect(ui_->radioButtonUseLocalBluetoothAdapter, &QRadioButton::clicked, [&]() { ui_->lineEditExternalBluetoothAdapterAddress->setEnabled(false); });
@ -76,6 +86,7 @@ SettingsWindow::SettingsWindow(configuration::IConfiguration::Pointer configurat
ui_->tab6->hide();
ui_->tab7->hide();
ui_->tab8->hide();
ui_->tab9->hide();
ui_->horizontalGroupBox->hide();
ui_->labelBluetoothAdapterAddress->hide();
@ -91,6 +102,7 @@ SettingsWindow::SettingsWindow(configuration::IConfiguration::Pointer configurat
connect(ui_->pushButtonTab6, &QPushButton::clicked, this, &SettingsWindow::show_tab6);
connect(ui_->pushButtonTab7, &QPushButton::clicked, this, &SettingsWindow::show_tab7);
connect(ui_->pushButtonTab8, &QPushButton::clicked, this, &SettingsWindow::show_tab8);
connect(ui_->pushButtonTab9, &QPushButton::clicked, this, &SettingsWindow::show_tab9);
QTime time=QTime::currentTime();
QString time_text_hour=time.toString("hh");
@ -286,6 +298,30 @@ void SettingsWindow::onSave()
params.append("#");
params.append( std::to_string(ui_->horizontalSliderNight->value()) );
params.append("#");
params.append( std::to_string(ui_->horizontalSliderLux1->value()) );
params.append("#");
params.append( std::to_string(ui_->horizontalSliderBrightness1->value()) );
params.append("#");
params.append( std::to_string(ui_->horizontalSliderLux2->value()) );
params.append("#");
params.append( std::to_string(ui_->horizontalSliderBrightness2->value()) );
params.append("#");
params.append( std::to_string(ui_->horizontalSliderLux3->value()) );
params.append("#");
params.append( std::to_string(ui_->horizontalSliderBrightness3->value()) );
params.append("#");
params.append( std::to_string(ui_->horizontalSliderLux4->value()) );
params.append("#");
params.append( std::to_string(ui_->horizontalSliderBrightness4->value()) );
params.append("#");
params.append( std::to_string(ui_->horizontalSliderLux5->value()) );
params.append("#");
params.append( std::to_string(ui_->horizontalSliderBrightness5->value()) );
params.append("#");
params.append( std::string(ui_->comboBoxCheckInterval->currentText().toStdString()) );
params.append("#");
params.append( std::string(ui_->comboBoxNightmodeStep->currentText().toStdString()) );
params.append("#");
system((std::string("/usr/local/bin/autoapp_helper setparams#") + std::string(params) + std::string(" &") ).c_str());
@ -456,6 +492,56 @@ void SettingsWindow::onUpdateSystemCapture(int value)
ui_->labelSystemCaptureValue->setText(QString::number(value));
}
void SettingsWindow::onUpdateLux1(int value)
{
ui_->valueLux1->setText(QString::number(value));
}
void SettingsWindow::onUpdateLux2(int value)
{
ui_->valueLux2->setText(QString::number(value));
}
void SettingsWindow::onUpdateLux3(int value)
{
ui_->valueLux3->setText(QString::number(value));
}
void SettingsWindow::onUpdateLux4(int value)
{
ui_->valueLux4->setText(QString::number(value));
}
void SettingsWindow::onUpdateLux5(int value)
{
ui_->valueLux5->setText(QString::number(value));
}
void SettingsWindow::onUpdateBrightness1(int value)
{
ui_->valueBrightness1->setText(QString::number(value));
}
void SettingsWindow::onUpdateBrightness2(int value)
{
ui_->valueBrightness2->setText(QString::number(value));
}
void SettingsWindow::onUpdateBrightness3(int value)
{
ui_->valueBrightness3->setText(QString::number(value));
}
void SettingsWindow::onUpdateBrightness4(int value)
{
ui_->valueBrightness4->setText(QString::number(value));
}
void SettingsWindow::onUpdateBrightness5(int value)
{
ui_->valueBrightness5->setText(QString::number(value));
}
void SettingsWindow::unpairAll()
{
system("/usr/local/bin/crankshaft bluetooth unpair &");
@ -503,6 +589,51 @@ void SettingsWindow::loadSystemValues()
ui_->horizontalSliderNight->setTickInterval(brigthnessvalues[2].toInt());
ui_->horizontalSliderNight->setValue(brigthnessvalues[4].toInt());
ui_->horizontalSliderBrightness1->setMinimum(brigthnessvalues[0].toInt());
ui_->horizontalSliderBrightness1->setMaximum(brigthnessvalues[1].toInt());
ui_->horizontalSliderBrightness1->setSingleStep(brigthnessvalues[2].toInt());
ui_->horizontalSliderBrightness1->setTickInterval(brigthnessvalues[2].toInt());
ui_->horizontalSliderBrightness2->setMinimum(brigthnessvalues[0].toInt());
ui_->horizontalSliderBrightness2->setMaximum(brigthnessvalues[1].toInt());
ui_->horizontalSliderBrightness2->setSingleStep(brigthnessvalues[2].toInt());
ui_->horizontalSliderBrightness2->setTickInterval(brigthnessvalues[2].toInt());
ui_->horizontalSliderBrightness3->setMinimum(brigthnessvalues[0].toInt());
ui_->horizontalSliderBrightness3->setMaximum(brigthnessvalues[1].toInt());
ui_->horizontalSliderBrightness3->setSingleStep(brigthnessvalues[2].toInt());
ui_->horizontalSliderBrightness3->setTickInterval(brigthnessvalues[2].toInt());
ui_->horizontalSliderBrightness4->setMinimum(brigthnessvalues[0].toInt());
ui_->horizontalSliderBrightness4->setMaximum(brigthnessvalues[1].toInt());
ui_->horizontalSliderBrightness4->setSingleStep(brigthnessvalues[2].toInt());
ui_->horizontalSliderBrightness4->setTickInterval(brigthnessvalues[2].toInt());
ui_->horizontalSliderBrightness5->setMinimum(brigthnessvalues[0].toInt());
ui_->horizontalSliderBrightness5->setMaximum(brigthnessvalues[1].toInt());
ui_->horizontalSliderBrightness5->setSingleStep(brigthnessvalues[2].toInt());
ui_->horizontalSliderBrightness5->setTickInterval(brigthnessvalues[2].toInt());
// set tsl2561 slider attribs
QFile param2File(QString("/tmp/tsl2561_values"));
param2File.open(QIODevice::ReadOnly);
QTextStream data_param2(&param2File);
QStringList brigthnessvalues2 = data_param2.readAll().split("#");
param2File.close();
ui_->horizontalSliderLux1->setValue(brigthnessvalues2[0].toInt());
ui_->horizontalSliderBrightness1->setValue(brigthnessvalues2[1].toInt());
ui_->horizontalSliderLux2->setValue(brigthnessvalues2[2].toInt());
ui_->horizontalSliderBrightness2->setValue(brigthnessvalues2[3].toInt());
ui_->horizontalSliderLux3->setValue(brigthnessvalues2[4].toInt());
ui_->horizontalSliderBrightness3->setValue(brigthnessvalues2[5].toInt());
ui_->horizontalSliderLux4->setValue(brigthnessvalues2[6].toInt());
ui_->horizontalSliderBrightness4->setValue(brigthnessvalues2[7].toInt());
ui_->horizontalSliderLux5->setValue(brigthnessvalues2[8].toInt());
ui_->horizontalSliderBrightness5->setValue(brigthnessvalues2[9].toInt());
ui_->comboBoxCheckInterval->setCurrentText(brigthnessvalues2[10]);
ui_->comboBoxNightmodeStep->setCurrentText(brigthnessvalues2[11]);
if (std::ifstream("/tmp/return_value")) {
QFile paramFile(QString("/tmp/return_value"));
paramFile.open(QIODevice::ReadOnly);
@ -759,8 +890,13 @@ void SettingsWindow::loadSystemValues()
// set lightsensor
if (getparams[40] == "enabled") {
ui_->comboBoxLS->setCurrentIndex(1);
ui_->groupBoxSliderDay->hide();
ui_->groupBoxSliderNight->hide();
} else {
ui_->comboBoxLS->setCurrentIndex(0);
ui_->pushButtonTab9->hide();
ui_->groupBoxSliderDay->show();
ui_->groupBoxSliderNight->show();
}
ui_->comboBoxDayNight->setCurrentText(getparams[41]);
}
@ -825,6 +961,7 @@ void SettingsWindow::show_tab1()
ui_->tab6->hide();
ui_->tab7->hide();
ui_->tab8->hide();
ui_->tab9->hide();
ui_->tab1->show();
}
@ -837,6 +974,7 @@ void SettingsWindow::show_tab2()
ui_->tab6->hide();
ui_->tab7->hide();
ui_->tab8->hide();
ui_->tab9->hide();
ui_->tab2->show();
}
@ -849,6 +987,7 @@ void SettingsWindow::show_tab3()
ui_->tab6->hide();
ui_->tab7->hide();
ui_->tab8->hide();
ui_->tab9->hide();
ui_->tab3->show();
}
@ -861,6 +1000,7 @@ void SettingsWindow::show_tab4()
ui_->tab6->hide();
ui_->tab7->hide();
ui_->tab8->hide();
ui_->tab9->hide();
ui_->tab4->show();
}
@ -873,6 +1013,7 @@ void SettingsWindow::show_tab5()
ui_->tab6->hide();
ui_->tab7->hide();
ui_->tab8->hide();
ui_->tab9->hide();
ui_->tab5->show();
}
@ -885,6 +1026,7 @@ void SettingsWindow::show_tab6()
ui_->tab5->hide();
ui_->tab7->hide();
ui_->tab8->hide();
ui_->tab9->hide();
ui_->tab6->show();
}
@ -897,6 +1039,7 @@ void SettingsWindow::show_tab7()
ui_->tab5->hide();
ui_->tab6->hide();
ui_->tab8->hide();
ui_->tab9->hide();
ui_->tab7->show();
}
@ -909,9 +1052,23 @@ void SettingsWindow::show_tab8()
ui_->tab5->hide();
ui_->tab6->hide();
ui_->tab7->hide();
ui_->tab9->hide();
ui_->tab8->show();
}
void SettingsWindow::show_tab9()
{
ui_->tab1->hide();
ui_->tab2->hide();
ui_->tab3->hide();
ui_->tab4->hide();
ui_->tab5->hide();
ui_->tab6->hide();
ui_->tab7->hide();
ui_->tab8->hide();
ui_->tab9->show();
}
}
}
}

View File

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>963</width>
<height>3194</height>
<height>3512</height>
</rect>
</property>
<property name="sizePolicy">
@ -217,6 +217,31 @@ outline: none;
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButtonTab9">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
background-color: rgb(85, 87, 83);
}
QPushButton:pressed {
background-color: rgb(114, 159, 207);
}
QPushButton:focus {
background-color: rgb(114, 159, 207);
outline: none;
}</string>
</property>
<property name="text">
<string>TSL2561</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButtonTab8">
<property name="sizePolicy">
@ -390,13 +415,6 @@ outline: none;
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBoxShowLux">
<property name="text">
<string>Show Lux value from tls2561</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
@ -5567,6 +5585,773 @@ subcontrol-position: center left;
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="tab9" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="horizontalWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QGroupBox" name="groupBoxLux">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Lux Level Sensor</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin">
<number>9</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>9</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item>
<widget class="QWidget" name="formWidget_2" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QFormLayout" name="formLayout_20">
<property name="verticalSpacing">
<number>14</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>9</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="valueLux1">
<property name="minimumSize">
<size>
<width>40</width>
<height>24</height>
</size>
</property>
<property name="text">
<string>5</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSlider" name="horizontalSliderLux1">
<property name="minimumSize">
<size>
<width>0</width>
<height>24</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QSlider::handle:horizontal { background: white; height: 32px; width: 52px; margin: 0 0;}
QSlider::groove:horizontal { background: #6d6d6d; height: 32px;}</string>
</property>
<property name="maximum">
<number>100</number>
</property>
<property name="value">
<number>5</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="valueLux2">
<property name="minimumSize">
<size>
<width>40</width>
<height>24</height>
</size>
</property>
<property name="text">
<string>20</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="valueLux3">
<property name="minimumSize">
<size>
<width>40</width>
<height>24</height>
</size>
</property>
<property name="text">
<string>100</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="valueLux4">
<property name="minimumSize">
<size>
<width>40</width>
<height>24</height>
</size>
</property>
<property name="text">
<string>200</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="valueLux5">
<property name="minimumSize">
<size>
<width>40</width>
<height>24</height>
</size>
</property>
<property name="text">
<string>500</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSlider" name="horizontalSliderLux2">
<property name="minimumSize">
<size>
<width>0</width>
<height>24</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QSlider::handle:horizontal { background: white; height: 32px; width: 52px; margin: 0 0;}
QSlider::groove:horizontal { background: #6d6d6d; height: 32px;}</string>
</property>
<property name="maximum">
<number>200</number>
</property>
<property name="value">
<number>20</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSlider" name="horizontalSliderLux3">
<property name="minimumSize">
<size>
<width>0</width>
<height>24</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QSlider::handle:horizontal { background: white; height: 32px; width: 52px; margin: 0 0;}
QSlider::groove:horizontal { background: #6d6d6d; height: 32px;}</string>
</property>
<property name="maximum">
<number>300</number>
</property>
<property name="value">
<number>100</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSlider" name="horizontalSliderLux4">
<property name="minimumSize">
<size>
<width>0</width>
<height>24</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QSlider::handle:horizontal { background: white; height: 32px; width: 52px; margin: 0 0;}
QSlider::groove:horizontal { background: #6d6d6d; height: 32px;}</string>
</property>
<property name="maximum">
<number>400</number>
</property>
<property name="value">
<number>200</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QSlider" name="horizontalSliderLux5">
<property name="minimumSize">
<size>
<width>0</width>
<height>24</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QSlider::handle:horizontal { background: white; height: 32px; width: 52px; margin: 0 0;}
QSlider::groove:horizontal { background: #6d6d6d; height: 32px;}</string>
</property>
<property name="maximum">
<number>500</number>
</property>
<property name="value">
<number>500</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBoxBrightness">
<property name="title">
<string>Brightness (set this value if lux level reached)</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin">
<number>9</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>9</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item>
<widget class="QWidget" name="formWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QFormLayout" name="formLayout_19">
<property name="verticalSpacing">
<number>14</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>9</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>9</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="valueBrightness1">
<property name="minimumSize">
<size>
<width>40</width>
<height>24</height>
</size>
</property>
<property name="text">
<string>30</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSlider" name="horizontalSliderBrightness1">
<property name="minimumSize">
<size>
<width>0</width>
<height>24</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QSlider::handle:horizontal { background: white; height: 32px; width: 52px; margin: 0 0;}
QSlider::groove:horizontal { background: #6d6d6d; height: 32px;}</string>
</property>
<property name="maximum">
<number>255</number>
</property>
<property name="value">
<number>30</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="valueBrightness2">
<property name="minimumSize">
<size>
<width>40</width>
<height>24</height>
</size>
</property>
<property name="text">
<string>90</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSlider" name="horizontalSliderBrightness2">
<property name="minimumSize">
<size>
<width>0</width>
<height>24</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QSlider::handle:horizontal { background: white; height: 32px; width: 52px; margin: 0 0;}
QSlider::groove:horizontal { background: #6d6d6d; height: 32px;}</string>
</property>
<property name="maximum">
<number>255</number>
</property>
<property name="value">
<number>90</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="valueBrightness3">
<property name="minimumSize">
<size>
<width>40</width>
<height>24</height>
</size>
</property>
<property name="text">
<string>150</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSlider" name="horizontalSliderBrightness3">
<property name="minimumSize">
<size>
<width>0</width>
<height>24</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QSlider::handle:horizontal { background: white; height: 32px; width: 52px; margin: 0 0;}
QSlider::groove:horizontal { background: #6d6d6d; height: 32px;}</string>
</property>
<property name="maximum">
<number>255</number>
</property>
<property name="value">
<number>150</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="valueBrightness4">
<property name="minimumSize">
<size>
<width>40</width>
<height>24</height>
</size>
</property>
<property name="text">
<string>210</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSlider" name="horizontalSliderBrightness4">
<property name="minimumSize">
<size>
<width>0</width>
<height>24</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QSlider::handle:horizontal { background: white; height: 32px; width: 52px; margin: 0 0;}
QSlider::groove:horizontal { background: #6d6d6d; height: 32px;}</string>
</property>
<property name="maximum">
<number>255</number>
</property>
<property name="value">
<number>210</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="valueBrightness5">
<property name="minimumSize">
<size>
<width>40</width>
<height>24</height>
</size>
</property>
<property name="text">
<string>255</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QSlider" name="horizontalSliderBrightness5">
<property name="minimumSize">
<size>
<width>0</width>
<height>24</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QSlider::handle:horizontal { background: white; height: 32px; width: 52px; margin: 0 0;}
QSlider::groove:horizontal { background: #6d6d6d; height: 32px;}</string>
</property>
<property name="maximum">
<number>255</number>
</property>
<property name="value">
<number>255</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBoxOptions">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Options</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_8">
<property name="topMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>4</number>
</property>
<item>
<widget class="QWidget" name="horizontalWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QVBoxLayout" name="verticalLayout_7">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="NightmodeStep" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QFormLayout" name="formLayout_28">
<property name="formAlignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="2" column="0">
<widget class="QLabel" name="labelNightmodeStep">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>230</width>
<height>32</height>
</size>
</property>
<property name="text">
<string>Trigger night mode on this step
or lower</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="comboBoxNightmodeStep">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>100</width>
<height>32</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QScrollBar {
width: 40px;
background-color: rgba(85, 87, 83, 0.7);
}</string>
</property>
<item>
<property name="text">
<string>1</string>
</property>
</item>
<item>
<property name="text">
<string>2</string>
</property>
</item>
<item>
<property name="text">
<string>3</string>
</property>
</item>
<item>
<property name="text">
<string>4</string>
</property>
</item>
<item>
<property name="text">
<string>5</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="CheckInterval" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QFormLayout" name="formLayout_21">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="labelCheckInterval">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>230</width>
<height>32</height>
</size>
</property>
<property name="text">
<string>Check Interval Sensor (seconds)</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="comboBoxCheckInterval">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>100</width>
<height>32</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QScrollBar {
width: 40px;
background-color: rgba(85, 87, 83, 0.7);
}</string>
</property>
<item>
<property name="text">
<string>5</string>
</property>
</item>
<item>
<property name="text">
<string>10</string>
</property>
</item>
<item>
<property name="text">
<string>15</string>
</property>
</item>
<item>
<property name="text">
<string>20</string>
</property>
</item>
<item>
<property name="text">
<string>25</string>
</property>
</item>
<item>
<property name="text">
<string>30</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBoxShowLux">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Show Lux value from tsl2561 on Main Window</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_6">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>4</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="tab8" native="true">
<property name="sizePolicy">