Add condition to handle configuration changed.

This commit is contained in:
Phat Nguyen
2024-05-13 19:00:34 +07:00
parent 5cb838af29
commit 4612f4b793
2 changed files with 39 additions and 30 deletions

View File

@ -795,9 +795,11 @@ static void configUpdateHandle() {
return; return;
} }
ledBarEnabledUpdate(); if (ag->isOne()) {
ledBarEnabledUpdate();
stateMachine.executeLedBarTest();
}
stateMachine.executeCo2Calibration(); stateMachine.executeCo2Calibration();
stateMachine.executeLedBarTest();
String mqttUri = configuration.getMqttBrokerUri(); String mqttUri = configuration.getMqttBrokerUri();
if (mqttClient.isCurrentUri(mqttUri) == false) { if (mqttClient.isCurrentUri(mqttUri) == false) {
@ -805,38 +807,42 @@ static void configUpdateHandle() {
initMqtt(); initMqtt();
} }
if (configuration.noxLearnOffsetChanged() || if (configuration.hasSensorSGP) {
configuration.tvocLearnOffsetChanged()) { if (configuration.noxLearnOffsetChanged() ||
ag->sgp41.end(); configuration.tvocLearnOffsetChanged()) {
ag->sgp41.end();
int oldTvocOffset = ag->sgp41.getTvocLearningOffset(); int oldTvocOffset = ag->sgp41.getTvocLearningOffset();
int oldNoxOffset = ag->sgp41.getNoxLearningOffset(); int oldNoxOffset = ag->sgp41.getNoxLearningOffset();
bool result = sgp41Init(); bool result = sgp41Init();
const char *resultStr = "successful"; const char *resultStr = "successful";
if (!result) { if (!result) {
resultStr = "failure"; resultStr = "failure";
} }
if (oldTvocOffset != configuration.getTvocLearningOffset()) { if (oldTvocOffset != configuration.getTvocLearningOffset()) {
Serial.printf("Setting tvocLearningOffset from %d to %d hours %s\r\n", Serial.printf("Setting tvocLearningOffset from %d to %d hours %s\r\n",
oldTvocOffset, configuration.getTvocLearningOffset(), oldTvocOffset, configuration.getTvocLearningOffset(),
resultStr); resultStr);
} }
if (oldNoxOffset != configuration.getNoxLearningOffset()) { if (oldNoxOffset != configuration.getNoxLearningOffset()) {
Serial.printf("Setting noxLearningOffset from %d to %d hours %s\r\n", Serial.printf("Setting noxLearningOffset from %d to %d hours %s\r\n",
oldNoxOffset, configuration.getNoxLearningOffset(), oldNoxOffset, configuration.getNoxLearningOffset(),
resultStr); resultStr);
}
} }
} }
if (configuration.isLedBarBrightnessChanged()) { if (ag->isOne()) {
ag->ledBar.setBrighness(configuration.getLedBarBrightness()); if (configuration.isLedBarBrightnessChanged()) {
Serial.println("Set 'LedBarBrightness' brightness: " + ag->ledBar.setBrighness(configuration.getLedBarBrightness());
String(configuration.getLedBarBrightness())); Serial.println("Set 'LedBarBrightness' brightness: " +
} String(configuration.getLedBarBrightness()));
if (configuration.isDisplayBrightnessChanged()) { }
oledDisplay.setBrightness(configuration.getDisplayBrightness()); if (configuration.isDisplayBrightnessChanged()) {
Serial.println("Set 'DisplayBrightness' brightness: " + oledDisplay.setBrightness(configuration.getDisplayBrightness());
String(configuration.getDisplayBrightness())); Serial.println("Set 'DisplayBrightness' brightness: " +
String(configuration.getDisplayBrightness()));
}
} }
fwNewVersion = configuration.newFirmwareVersion(); fwNewVersion = configuration.newFirmwareVersion();

View File

@ -394,6 +394,9 @@ StateMachine::~StateMachine() {}
void StateMachine::displayHandle(AgStateMachineState state) { void StateMachine::displayHandle(AgStateMachineState state) {
// Ignore handle if not ONE_INDOOR board // Ignore handle if not ONE_INDOOR board
if (!ag->isOne()) { if (!ag->isOne()) {
if (state == AgStateMachineCo2Calibration) {
co2Calibration();
}
return; return;
} }