diff --git a/lib/CustomOpenTherm/CustomOpenTherm.h b/lib/CustomOpenTherm/CustomOpenTherm.h index 5fc1e3b..f6729fa 100644 --- a/lib/CustomOpenTherm/CustomOpenTherm.h +++ b/lib/CustomOpenTherm/CustomOpenTherm.h @@ -92,7 +92,7 @@ public: const byte valueLB = response & 0xFF; const byte valueHB = (response >> 8) & 0xFF; - float value = (int8_t) valueHB; + float value = (int8_t)valueHB; return value + (float)valueLB / 256.0; } diff --git a/lib/WiFiManagerParameters/WiFiManagerParameters.h b/lib/WiFiManagerParameters/WiFiManagerParameters.h index 23ab14d..2208cab 100644 --- a/lib/WiFiManagerParameters/WiFiManagerParameters.h +++ b/lib/WiFiManagerParameters/WiFiManagerParameters.h @@ -15,7 +15,7 @@ public: const char* noChecked = "type=\"checkbox\""; const char* trueVal = "T"; - CheckboxParameter(const char* id, const char* label, bool value): WiFiManagerParameter("") { + CheckboxParameter(const char* id, const char* label, bool value) : WiFiManagerParameter("") { init(id, label, value ? trueVal : "0", 1, "", WFM_LABEL_AFTER); } @@ -34,5 +34,5 @@ public: class SeparatorParameter : public WiFiManagerParameter { public: - SeparatorParameter(): WiFiManagerParameter("
") {} + SeparatorParameter() : WiFiManagerParameter("
") {} }; \ No newline at end of file diff --git a/src/MainTask.h b/src/MainTask.h index 7ea74cc..7201158 100644 --- a/src/MainTask.h +++ b/src/MainTask.h @@ -2,9 +2,9 @@ extern MqttTask* tMqtt; extern SensorsTask* tSensors; extern OpenThermTask* tOt; -class MainTask: public Task { +class MainTask : public Task { public: - MainTask(bool _enabled = false, unsigned long _interval = 0): Task(_enabled, _interval) {} + MainTask(bool _enabled = false, unsigned long _interval = 0) : Task(_enabled, _interval) {} protected: unsigned long lastHeapInfo = 0; @@ -25,7 +25,7 @@ protected: tMqtt->enable(); } - if ( firstFailConnect != 0 ) { + if (firstFailConnect != 0) { firstFailConnect = 0; } @@ -40,7 +40,7 @@ protected: if (firstFailConnect == 0) { firstFailConnect = millis(); } - + if (millis() - firstFailConnect > EMERGENCY_TIME_TRESHOLD) { vars.states.emergency = true; INFO("Emergency mode enabled"); diff --git a/src/MqttTask.h b/src/MqttTask.h index 62cb6f0..fbe762b 100644 --- a/src/MqttTask.h +++ b/src/MqttTask.h @@ -8,9 +8,9 @@ PubSubClient client(espClient); HomeAssistantHelper haHelper; -class MqttTask: public Task { +class MqttTask : public Task { public: - MqttTask(bool _enabled = false, unsigned long _interval = 0): Task(_enabled, _interval) {} + MqttTask(bool _enabled = false, unsigned long _interval = 0) : Task(_enabled, _interval) {} protected: unsigned long lastReconnectAttempt = 0; @@ -50,7 +50,7 @@ protected: if (firstFailConnect == 0) { firstFailConnect = millis(); } - + if (millis() - firstFailConnect > EMERGENCY_TIME_TRESHOLD) { vars.states.emergency = true; INFO("Emergency mode enabled"); @@ -101,7 +101,7 @@ protected: } if (!doc["emergency"]["target"].isNull() && doc["emergency"]["target"].is()) { - if ( doc["emergency"]["target"].as() > 0 && doc["emergency"]["target"].as() < 100 ) { + if (doc["emergency"]["target"].as() > 0 && doc["emergency"]["target"].as() < 100) { settings.emergency.target = round(doc["emergency"]["target"].as() * 10) / 10; flag = true; } @@ -125,21 +125,21 @@ protected: } if (!doc["heating"]["target"].isNull() && doc["heating"]["target"].is()) { - if ( doc["heating"]["target"].as() > 0 && doc["heating"]["target"].as() < 100 ) { + if (doc["heating"]["target"].as() > 0 && doc["heating"]["target"].as() < 100) { settings.heating.target = round(doc["heating"]["target"].as() * 10) / 10; flag = true; } } if (!doc["heating"]["hysteresis"].isNull() && doc["heating"]["hysteresis"].is()) { - if ( doc["heating"]["hysteresis"].as() >= 0 && doc["heating"]["hysteresis"].as() <= 5 ) { + if (doc["heating"]["hysteresis"].as() >= 0 && doc["heating"]["hysteresis"].as() <= 5) { settings.heating.hysteresis = round(doc["heating"]["hysteresis"].as() * 10) / 10; flag = true; } } if (!doc["heating"]["maxTemp"].isNull() && doc["heating"]["maxTemp"].is()) { - if ( doc["heating"]["maxTemp"].as() > 0 && doc["heating"]["maxTemp"].as() <= 100 && doc["heating"]["maxTemp"].as() > settings.heating.minTemp ) { + if (doc["heating"]["maxTemp"].as() > 0 && doc["heating"]["maxTemp"].as() <= 100 && doc["heating"]["maxTemp"].as() > settings.heating.minTemp) { settings.heating.maxTemp = doc["heating"]["maxTemp"].as(); vars.parameters.heatingMaxTemp = settings.heating.maxTemp; flag = true; @@ -147,7 +147,7 @@ protected: } if (!doc["heating"]["minTemp"].isNull() && doc["heating"]["minTemp"].is()) { - if ( doc["heating"]["minTemp"].as() >= 0 && doc["heating"]["minTemp"].as() < 100 && doc["heating"]["minTemp"].as() < settings.heating.maxTemp ) { + if (doc["heating"]["minTemp"].as() >= 0 && doc["heating"]["minTemp"].as() < 100 && doc["heating"]["minTemp"].as() < settings.heating.maxTemp) { settings.heating.minTemp = doc["heating"]["minTemp"].as(); vars.parameters.heatingMinTemp = settings.heating.minTemp; flag = true; @@ -162,14 +162,14 @@ protected: } if (!doc["dhw"]["target"].isNull() && doc["dhw"]["target"].is()) { - if ( doc["dhw"]["target"].as() >= 0 && doc["dhw"]["target"].as() < 100 ) { + if (doc["dhw"]["target"].as() >= 0 && doc["dhw"]["target"].as() < 100) { settings.dhw.target = doc["dhw"]["target"].as(); flag = true; } } if (!doc["dhw"]["maxTemp"].isNull() && doc["dhw"]["maxTemp"].is()) { - if ( doc["dhw"]["maxTemp"].as() > 0 && doc["dhw"]["maxTemp"].as() <= 100 && doc["dhw"]["maxTemp"].as() > settings.dhw.minTemp ) { + if (doc["dhw"]["maxTemp"].as() > 0 && doc["dhw"]["maxTemp"].as() <= 100 && doc["dhw"]["maxTemp"].as() > settings.dhw.minTemp) { settings.dhw.maxTemp = doc["dhw"]["maxTemp"].as(); vars.parameters.dhwMaxTemp = settings.dhw.maxTemp; flag = true; @@ -177,7 +177,7 @@ protected: } if (!doc["dhw"]["minTemp"].isNull() && doc["dhw"]["minTemp"].is()) { - if ( doc["dhw"]["minTemp"].as() >= 0 && doc["dhw"]["minTemp"].as() < 100 && doc["dhw"]["minTemp"].as() < settings.dhw.maxTemp ) { + if (doc["dhw"]["minTemp"].as() >= 0 && doc["dhw"]["minTemp"].as() < 100 && doc["dhw"]["minTemp"].as() < settings.dhw.maxTemp) { settings.dhw.minTemp = doc["dhw"]["minTemp"].as(); vars.parameters.dhwMinTemp = settings.dhw.minTemp; flag = true; @@ -192,35 +192,35 @@ protected: } if (!doc["pid"]["p_factor"].isNull() && doc["pid"]["p_factor"].is()) { - if ( doc["pid"]["p_factor"].as() >= 0 && doc["pid"]["p_factor"].as() <= 20 ) { + if (doc["pid"]["p_factor"].as() >= 0 && doc["pid"]["p_factor"].as() <= 20) { settings.pid.p_factor = round(doc["pid"]["p_factor"].as() * 1000) / 1000; flag = true; } } if (!doc["pid"]["i_factor"].isNull() && doc["pid"]["i_factor"].is()) { - if ( doc["pid"]["i_factor"].as() >= 0 && doc["pid"]["i_factor"].as() <= 20 ) { + if (doc["pid"]["i_factor"].as() >= 0 && doc["pid"]["i_factor"].as() <= 20) { settings.pid.i_factor = round(doc["pid"]["i_factor"].as() * 1000) / 1000; flag = true; } } if (!doc["pid"]["d_factor"].isNull() && doc["pid"]["d_factor"].is()) { - if ( doc["pid"]["d_factor"].as() >= 0 && doc["pid"]["d_factor"].as() <= 20 ) { + if (doc["pid"]["d_factor"].as() >= 0 && doc["pid"]["d_factor"].as() <= 20) { settings.pid.d_factor = round(doc["pid"]["d_factor"].as() * 1000) / 1000; flag = true; } } if (!doc["pid"]["maxTemp"].isNull() && doc["pid"]["maxTemp"].is()) { - if ( doc["pid"]["maxTemp"].as() > 0 && doc["pid"]["maxTemp"].as() <= 100 && doc["pid"]["maxTemp"].as() > settings.pid.minTemp ) { + if (doc["pid"]["maxTemp"].as() > 0 && doc["pid"]["maxTemp"].as() <= 100 && doc["pid"]["maxTemp"].as() > settings.pid.minTemp) { settings.pid.maxTemp = doc["pid"]["maxTemp"].as(); flag = true; } } if (!doc["pid"]["minTemp"].isNull() && doc["pid"]["minTemp"].is()) { - if ( doc["pid"]["minTemp"].as() >= 0 && doc["pid"]["minTemp"].as() < 100 && doc["pid"]["minTemp"].as() < settings.pid.maxTemp ) { + if (doc["pid"]["minTemp"].as() >= 0 && doc["pid"]["minTemp"].as() < 100 && doc["pid"]["minTemp"].as() < settings.pid.maxTemp) { settings.pid.minTemp = doc["pid"]["minTemp"].as(); flag = true; } @@ -233,21 +233,21 @@ protected: } if (!doc["equitherm"]["n_factor"].isNull() && doc["equitherm"]["n_factor"].is()) { - if ( doc["equitherm"]["n_factor"].as() >= 0 && doc["equitherm"]["n_factor"].as() <= 20 ) { + if (doc["equitherm"]["n_factor"].as() >= 0 && doc["equitherm"]["n_factor"].as() <= 20) { settings.equitherm.n_factor = round(doc["equitherm"]["n_factor"].as() * 1000) / 1000; flag = true; } } if (!doc["equitherm"]["k_factor"].isNull() && doc["equitherm"]["k_factor"].is()) { - if ( doc["equitherm"]["k_factor"].as() >= 0 && doc["equitherm"]["k_factor"].as() <= 20 ) { + if (doc["equitherm"]["k_factor"].as() >= 0 && doc["equitherm"]["k_factor"].as() <= 20) { settings.equitherm.k_factor = round(doc["equitherm"]["k_factor"].as() * 1000) / 1000; flag = true; } } if (!doc["equitherm"]["t_factor"].isNull() && doc["equitherm"]["t_factor"].is()) { - if ( doc["equitherm"]["t_factor"].as() >= 0 && doc["equitherm"]["t_factor"].as() <= 20 ) { + if (doc["equitherm"]["t_factor"].as() >= 0 && doc["equitherm"]["t_factor"].as() <= 20) { settings.equitherm.t_factor = round(doc["equitherm"]["t_factor"].as() * 1000) / 1000; flag = true; } @@ -256,28 +256,28 @@ protected: // sensors if (!doc["sensors"]["outdoor"]["type"].isNull() && doc["sensors"]["outdoor"]["type"].is()) { - if ( doc["sensors"]["outdoor"]["type"].as() >= 0 && doc["sensors"]["outdoor"]["type"].as() <= 2 ) { + if (doc["sensors"]["outdoor"]["type"].as() >= 0 && doc["sensors"]["outdoor"]["type"].as() <= 2) { settings.sensors.outdoor.type = doc["sensors"]["outdoor"]["type"].as(); flag = true; } } if (!doc["sensors"]["outdoor"]["offset"].isNull() && doc["sensors"]["outdoor"]["offset"].is()) { - if ( doc["sensors"]["outdoor"]["offset"].as() >= -10 && doc["sensors"]["outdoor"]["offset"].as() <= 10 ) { + if (doc["sensors"]["outdoor"]["offset"].as() >= -10 && doc["sensors"]["outdoor"]["offset"].as() <= 10) { settings.sensors.outdoor.offset = round(doc["sensors"]["outdoor"]["offset"].as() * 1000) / 1000; flag = true; } } if (!doc["sensors"]["indoor"]["type"].isNull() && doc["sensors"]["indoor"]["type"].is()) { - if ( doc["sensors"]["indoor"]["type"].as() >= 1 && doc["sensors"]["indoor"]["type"].as() <= 2 ) { + if (doc["sensors"]["indoor"]["type"].as() >= 1 && doc["sensors"]["indoor"]["type"].as() <= 2) { settings.sensors.indoor.type = doc["sensors"]["indoor"]["type"].as(); flag = true; } } if (!doc["sensors"]["indoor"]["offset"].isNull() && doc["sensors"]["indoor"]["offset"].is()) { - if ( doc["sensors"]["indoor"]["offset"].as() >= -10 && doc["sensors"]["indoor"]["offset"].as() <= 10 ) { + if (doc["sensors"]["indoor"]["offset"].as() >= -10 && doc["sensors"]["indoor"]["offset"].as() <= 10) { settings.sensors.indoor.offset = round(doc["sensors"]["indoor"]["offset"].as() * 1000) / 1000; flag = true; } @@ -314,14 +314,14 @@ protected: } if (!doc["temperatures"]["indoor"].isNull() && doc["temperatures"]["indoor"].is()) { - if ( settings.sensors.indoor.type == 1 && doc["temperatures"]["indoor"].as() > -100 && doc["temperatures"]["indoor"].as() < 100 ) { + if (settings.sensors.indoor.type == 1 && doc["temperatures"]["indoor"].as() > -100 && doc["temperatures"]["indoor"].as() < 100) { vars.temperatures.indoor = round(doc["temperatures"]["indoor"].as() * 100) / 100; flag = true; } } if (!doc["temperatures"]["outdoor"].isNull() && doc["temperatures"]["outdoor"].is()) { - if ( settings.sensors.outdoor.type == 1 && doc["temperatures"]["outdoor"].as() > -100 && doc["temperatures"]["outdoor"].as() < 100 ) { + if (settings.sensors.outdoor.type == 1 && doc["temperatures"]["outdoor"].as() > -100 && doc["temperatures"]["outdoor"].as() < 100) { vars.temperatures.outdoor = round(doc["temperatures"]["outdoor"].as() * 100) / 100; flag = true; } @@ -560,7 +560,7 @@ protected: doc["sensors"]["outdoor"]["type"] = settings.sensors.outdoor.type; doc["sensors"]["outdoor"]["offset"] = settings.sensors.outdoor.offset; - + doc["sensors"]["indoor"]["type"] = settings.sensors.indoor.type; doc["sensors"]["indoor"]["offset"] = settings.sensors.indoor.offset; diff --git a/src/OpenThermTask.h b/src/OpenThermTask.h index 7ad39a1..5695e79 100644 --- a/src/OpenThermTask.h +++ b/src/OpenThermTask.h @@ -3,9 +3,9 @@ CustomOpenTherm* ot; -class OpenThermTask: public Task { +class OpenThermTask : public Task { public: - OpenThermTask(bool _enabled = false, unsigned long _interval = 0): Task(_enabled, _interval) {} + OpenThermTask(bool _enabled = false, unsigned long _interval = 0) : Task(_enabled, _interval) {} protected: void setup() { @@ -28,7 +28,7 @@ protected: static byte currentHeatingTemp, currentDHWTemp = 0; unsigned long localResponse; - if ( setMasterMemberIdCode() ) { + if (setMasterMemberIdCode()) { DEBUG_F("Slave member id code: %u\r\n", vars.parameters.slaveMemberIdCode); DEBUG_F("Master member id code: %u\r\n", settings.opentherm.memberIdCode > 0 ? settings.opentherm.memberIdCode : vars.parameters.slaveMemberIdCode); @@ -42,13 +42,13 @@ protected: settings.opentherm.dhwPresent && settings.dhw.enable, false, false, true, false, false ); - + if (!ot->isValidResponse(localResponse)) { WARN_F("Invalid response after setBoilerStatus: %s\r\n", ot->statusToString(ot->getLastResponseStatus())); return; } - if ( vars.parameters.heatingEnabled != heatingEnabled ) { + if (vars.parameters.heatingEnabled != heatingEnabled) { vars.parameters.heatingEnabled = heatingEnabled; INFO_F("Heating enabled: %s\r\n", heatingEnabled ? "on\0" : "off\0"); } @@ -70,7 +70,7 @@ protected: DEBUG_F("Master type: %u, version: %u\r\n", vars.parameters.masterType, vars.parameters.masterVersion); DEBUG_F("Slave type: %u, version: %u\r\n", vars.parameters.slaveType, vars.parameters.slaveVersion); - if ( settings.opentherm.dhwPresent ) { + if (settings.opentherm.dhwPresent) { updateMinMaxDhwTemp(); } updateMinMaxHeatingTemp(); @@ -83,7 +83,7 @@ protected: ot->sendBoilerReset(); } - if ( vars.states.diagnostic ) { + if (vars.states.diagnostic) { ot->sendServiceReset(); } @@ -92,7 +92,7 @@ protected: } updatePressure(); - if ((settings.opentherm.dhwPresent && settings.dhw.enable) || settings.heating.enable || heatingEnabled ) { + if ((settings.opentherm.dhwPresent && settings.dhw.enable) || settings.heating.enable || heatingEnabled) { updateModulationLevel(); } else { @@ -100,17 +100,13 @@ protected: } yield(); - if ( settings.opentherm.dhwPresent ) { + if (settings.opentherm.dhwPresent) { updateDHWTemp(); } else { vars.temperatures.dhw = 0; } - //if ( settings.heating.enable || heatingEnabled ) { - updateHeatingTemp(); - //} else { - // vars.temperatures.heating = 0; - //} + updateHeatingTemp(); yield(); // @@ -158,7 +154,7 @@ protected: } else if (!pump && vars.temperatures.indoor - settings.heating.target - 0.0001 <= -(halfHyst)) { pump = true; } - + } else if (!pump) { pump = true; } @@ -267,16 +263,16 @@ protected: response & 0xFF );*/ - } else if ( settings.opentherm.memberIdCode <= 0 ) { + } else if (settings.opentherm.memberIdCode <= 0) { return false; } - + response = ot->sendRequest(ot->buildRequest( OpenThermRequestType::WRITE, OpenThermMessageID::MConfigMMemberIDcode, settings.opentherm.memberIdCode > 0 ? settings.opentherm.memberIdCode : vars.parameters.slaveMemberIdCode )); - + return ot->isValidResponse(response); } diff --git a/src/RegulatorTask.h b/src/RegulatorTask.h index 0ae48d7..6345b39 100644 --- a/src/RegulatorTask.h +++ b/src/RegulatorTask.h @@ -6,9 +6,9 @@ Equitherm etRegulator; GyverPID pidRegulator(0, 0, 0); PIDtuner pidTuner; -class RegulatorTask: public LeanTask { +class RegulatorTask : public LeanTask { public: - RegulatorTask(bool _enabled = false, unsigned long _interval = 0): LeanTask(_enabled, _interval) {} + RegulatorTask(bool _enabled = false, unsigned long _interval = 0) : LeanTask(_enabled, _interval) {} protected: bool tunerInit = false; @@ -139,7 +139,7 @@ protected: newTemp += prevPidResult; } - } else if ( settings.pid.enable && !vars.parameters.heatingEnabled && prevPidResult != 0 ) { + } else if (settings.pid.enable && !vars.parameters.heatingEnabled && prevPidResult != 0) { newTemp += prevPidResult; } diff --git a/src/SensorsTask.h b/src/SensorsTask.h index a1ca424..0feb771 100644 --- a/src/SensorsTask.h +++ b/src/SensorsTask.h @@ -1,9 +1,9 @@ #include #include -class SensorsTask: public LeanTask { +class SensorsTask : public LeanTask { public: - SensorsTask(bool _enabled = false, unsigned long _interval = 0): LeanTask(_enabled, _interval) {} + SensorsTask(bool _enabled = false, unsigned long _interval = 0) : LeanTask(_enabled, _interval) {} protected: OneWire* oneWireOutdoorSensor; @@ -24,17 +24,17 @@ protected: void setup() {} void loop() { - if ( settings.sensors.outdoor.type == 2 ) { + if (settings.sensors.outdoor.type == 2) { outdoorTemperatureSensor(); } - if ( settings.sensors.indoor.type == 2 ) { + if (settings.sensors.indoor.type == 2) { indoorTemperatureSensor(); } } void outdoorTemperatureSensor() { - if ( !initOutdoorSensor ) { + if (!initOutdoorSensor) { oneWireOutdoorSensor = new OneWire(settings.sensors.outdoor.pin); outdoorSensor = new DallasTemperature(oneWireOutdoorSensor); outdoorSensor->begin(); @@ -46,12 +46,12 @@ protected: } unsigned long estimateConversionTime = millis() - startConversionTime; - if ( estimateConversionTime < outdoorSensor->millisToWaitForConversion() ) { + if (estimateConversionTime < outdoorSensor->millisToWaitForConversion()) { return; } bool completed = outdoorSensor->isConversionComplete(); - if ( !completed && estimateConversionTime >= 1000 ) { + if (!completed && estimateConversionTime >= 1000) { // fail, retry outdoorSensor->requestTemperatures(); startConversionTime = millis(); @@ -59,7 +59,7 @@ protected: ERROR("[SENSORS][OUTDOOR] Could not read temperature data (no response)"); } - if ( !completed ) { + if (!completed) { return; } @@ -91,7 +91,7 @@ protected: } void indoorTemperatureSensor() { - if ( !initIndoorSensor ) { + if (!initIndoorSensor) { oneWireIndoorSensor = new OneWire(settings.sensors.indoor.pin); indoorSensor = new DallasTemperature(oneWireIndoorSensor); indoorSensor->begin(); @@ -103,12 +103,12 @@ protected: } unsigned long estimateConversionTime = millis() - startConversionTime; - if ( estimateConversionTime < indoorSensor->millisToWaitForConversion() ) { + if (estimateConversionTime < indoorSensor->millisToWaitForConversion()) { return; } bool completed = indoorSensor->isConversionComplete(); - if ( !completed && estimateConversionTime >= 1000 ) { + if (!completed && estimateConversionTime >= 1000) { // fail, retry indoorSensor->requestTemperatures(); startConversionTime = millis(); @@ -116,7 +116,7 @@ protected: ERROR("[SENSORS][INDOOR] Could not read temperature data (no response)"); } - if ( !completed ) { + if (!completed) { return; } diff --git a/src/main.cpp b/src/main.cpp index 1820997..b6712f3 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -40,7 +40,7 @@ void setup() { if (eeSettingsResult == 0) { INFO("Settings loaded"); - if ( strcmp(SETTINGS_VALID_VALUE, settings.validationValue) != 0 ) { + if (strcmp(SETTINGS_VALID_VALUE, settings.validationValue) != 0) { INFO("Settings not valid, reset and restart..."); eeSettings.reset(); delay(1000);