mirror of
https://github.com/Laxilef/OTGateway.git
synced 2025-12-11 18:54:28 +05:00
fix naming
This commit is contained in:
@@ -1153,36 +1153,36 @@ public:
|
||||
return publish(getTopic("button", "restart").c_str(), doc);
|
||||
}
|
||||
|
||||
bool publishButtonFaultReset(bool enabledByDefault = true) {
|
||||
bool publishButtonResetFault(bool enabledByDefault = true) {
|
||||
StaticJsonDocument<1024> doc;
|
||||
doc[FPSTR(HA_AVAILABILITY)][FPSTR(HA_TOPIC)] = devicePrefix + F("/state");
|
||||
doc[FPSTR(HA_AVAILABILITY)][FPSTR(HA_VALUE_TEMPLATE)] = F("{{ iif(value_json.states.fault, 'online', 'offline') }}");
|
||||
doc[FPSTR(HA_ENABLED_BY_DEFAULT)] = enabledByDefault;
|
||||
doc[FPSTR(HA_UNIQUE_ID)] = devicePrefix + F("_fault_reset");
|
||||
doc[FPSTR(HA_OBJECT_ID)] = devicePrefix + F("_fault_reset");
|
||||
doc[FPSTR(HA_UNIQUE_ID)] = devicePrefix + F("_reset_fault");
|
||||
doc[FPSTR(HA_OBJECT_ID)] = devicePrefix + F("_reset_fault");
|
||||
doc[FPSTR(HA_ENTITY_CATEGORY)] = F("config");
|
||||
doc[FPSTR(HA_DEVICE_CLASS)] = F("restart");
|
||||
doc[FPSTR(HA_NAME)] = F("Fault reset");
|
||||
doc[FPSTR(HA_NAME)] = F("Reset fault");
|
||||
doc[FPSTR(HA_COMMAND_TOPIC)] = devicePrefix + F("/state/set");
|
||||
doc[FPSTR(HA_COMMAND_TEMPLATE)] = F("{\"actions\": {\"faultReset\": true}}");
|
||||
doc[FPSTR(HA_COMMAND_TEMPLATE)] = F("{\"actions\": {\"resetFault\": true}}");
|
||||
|
||||
return publish(getTopic("button", "fault_reset").c_str(), doc);
|
||||
return publish(getTopic("button", "reset_fault").c_str(), doc);
|
||||
}
|
||||
|
||||
bool publishButtonDiagnosticReset(bool enabledByDefault = true) {
|
||||
bool publishButtonResetDiagnostic(bool enabledByDefault = true) {
|
||||
StaticJsonDocument<1024> doc;
|
||||
doc[FPSTR(HA_AVAILABILITY)][FPSTR(HA_TOPIC)] = devicePrefix + F("/state");
|
||||
doc[FPSTR(HA_AVAILABILITY)][FPSTR(HA_VALUE_TEMPLATE)] = F("{{ iif(value_json.states.diagnostic, 'online', 'offline') }}");
|
||||
doc[FPSTR(HA_ENABLED_BY_DEFAULT)] = enabledByDefault;
|
||||
doc[FPSTR(HA_UNIQUE_ID)] = devicePrefix + F("_diagnostic_reset");
|
||||
doc[FPSTR(HA_OBJECT_ID)] = devicePrefix + F("_diagnostic_reset");
|
||||
doc[FPSTR(HA_UNIQUE_ID)] = devicePrefix + F("_reset_diagnostic");
|
||||
doc[FPSTR(HA_OBJECT_ID)] = devicePrefix + F("_reset_diagnostic");
|
||||
doc[FPSTR(HA_ENTITY_CATEGORY)] = F("config");
|
||||
doc[FPSTR(HA_DEVICE_CLASS)] = F("restart");
|
||||
doc[FPSTR(HA_NAME)] = F("Diagnostic reset");
|
||||
doc[FPSTR(HA_NAME)] = F("Reset diagnostic");
|
||||
doc[FPSTR(HA_COMMAND_TOPIC)] = devicePrefix + F("/state/set");
|
||||
doc[FPSTR(HA_COMMAND_TEMPLATE)] = F("{\"actions\": {\"diagnosticReset\": true}}");
|
||||
doc[FPSTR(HA_COMMAND_TEMPLATE)] = F("{\"actions\": {\"resetDiagnostic\": true}}");
|
||||
|
||||
return publish(getTopic("button", "diagnostic_reset").c_str(), doc);
|
||||
return publish(getTopic("button", "reset_diagnostic").c_str(), doc);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -147,14 +147,14 @@ protected:
|
||||
}
|
||||
|
||||
if (!doc["heating"]["maxTemp"].isNull() && doc["heating"]["maxTemp"].is<unsigned char>()) {
|
||||
if (doc["heating"]["maxTemp"].as<unsigned char>() > 0 && doc["heating"]["maxTemp"].as<unsigned char>() <= 100 && doc["heating"]["maxTemp"].as<unsigned char>() > settings.heating.minTemp) {
|
||||
if (doc["heating"]["maxTemp"].as<unsigned char>() > 0 && doc["heating"]["maxTemp"].as<unsigned char>() <= 100) {
|
||||
settings.heating.maxTemp = doc["heating"]["maxTemp"].as<unsigned char>();
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!doc["heating"]["minTemp"].isNull() && doc["heating"]["minTemp"].is<unsigned char>()) {
|
||||
if (doc["heating"]["minTemp"].as<unsigned char>() >= 0 && doc["heating"]["minTemp"].as<unsigned char>() < 100 && doc["heating"]["minTemp"].as<unsigned char>() < settings.heating.maxTemp) {
|
||||
if (doc["heating"]["minTemp"].as<unsigned char>() >= 0 && doc["heating"]["minTemp"].as<unsigned char>() < 100) {
|
||||
settings.heating.minTemp = doc["heating"]["minTemp"].as<unsigned char>();
|
||||
flag = true;
|
||||
}
|
||||
@@ -335,12 +335,12 @@ protected:
|
||||
vars.actions.restart = true;
|
||||
}
|
||||
|
||||
if (!doc["actions"]["faultReset"].isNull() && doc["actions"]["faultReset"].is<bool>() && doc["actions"]["faultReset"].as<bool>()) {
|
||||
vars.actions.faultReset = true;
|
||||
if (!doc["actions"]["resetFault"].isNull() && doc["actions"]["resetFault"].is<bool>() && doc["actions"]["resetFault"].as<bool>()) {
|
||||
vars.actions.resetFault = true;
|
||||
}
|
||||
|
||||
if (!doc["actions"]["diagnosticReset"].isNull() && doc["actions"]["diagnosticReset"].is<bool>() && doc["actions"]["diagnosticReset"].as<bool>()) {
|
||||
vars.actions.diagnosticReset = true;
|
||||
if (!doc["actions"]["resetDiagnostic"].isNull() && doc["actions"]["resetDiagnostic"].is<bool>() && doc["actions"]["resetDiagnostic"].as<bool>()) {
|
||||
vars.actions.resetDiagnostic = true;
|
||||
}
|
||||
|
||||
if (flag) {
|
||||
@@ -441,8 +441,8 @@ protected:
|
||||
|
||||
// buttons
|
||||
haHelper.publishButtonRestart(false);
|
||||
haHelper.publishButtonFaultReset();
|
||||
haHelper.publishButtonDiagnosticReset();
|
||||
haHelper.publishButtonResetFault();
|
||||
haHelper.publishButtonResetDiagnostic();
|
||||
}
|
||||
|
||||
static bool publishNonStaticHaEntities(bool force = false) {
|
||||
@@ -648,6 +648,28 @@ protected:
|
||||
StaticJsonDocument<2048> doc;
|
||||
DeserializationError dErr = deserializeJson(doc, (const byte*) payload, length);
|
||||
if (dErr != DeserializationError::Ok || doc.isNull()) {
|
||||
const char* errMsg;
|
||||
switch (dErr.code()) {
|
||||
case DeserializationError::EmptyInput:
|
||||
case DeserializationError::IncompleteInput:
|
||||
case DeserializationError::InvalidInput:
|
||||
errMsg = "invalid input";
|
||||
break;
|
||||
|
||||
case DeserializationError::NoMemory:
|
||||
errMsg = "no memory";
|
||||
break;
|
||||
|
||||
case DeserializationError::TooDeep:
|
||||
errMsg = "too deep";
|
||||
break;
|
||||
|
||||
default:
|
||||
errMsg = "failed";
|
||||
break;
|
||||
}
|
||||
Log.swarningln("MQTT.MSG", "No deserialization: %s", errMsg);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -90,34 +90,51 @@ protected:
|
||||
Log.straceln("OT", "Master type: %u, version: %u", vars.parameters.masterType, vars.parameters.masterVersion);
|
||||
Log.straceln("OT", "Slave type: %u, version: %u", vars.parameters.slaveType, vars.parameters.slaveVersion);
|
||||
|
||||
// DHW min/max temp
|
||||
if (settings.opentherm.dhwPresent) {
|
||||
if (updateMinMaxDhwTemp()) {
|
||||
if (settings.dhw.minTemp < vars.parameters.dhwMinTemp) {
|
||||
settings.dhw.minTemp = vars.parameters.dhwMinTemp;
|
||||
Log.snoticeln("OT.DHW", "Updated min temp: %d", settings.dhw.minTemp);
|
||||
}
|
||||
|
||||
if (settings.dhw.maxTemp > vars.parameters.dhwMaxTemp) {
|
||||
settings.dhw.maxTemp = vars.parameters.dhwMaxTemp;
|
||||
Log.snoticeln("OT.DHW", "Updated max temp: %d", settings.dhw.maxTemp);
|
||||
}
|
||||
|
||||
} else {
|
||||
Log.swarningln("OT.DHW", "Failed get min/max temp");
|
||||
}
|
||||
|
||||
if (settings.dhw.minTemp >= settings.dhw.maxTemp) {
|
||||
settings.dhw.minTemp = 30;
|
||||
settings.dhw.maxTemp = 60;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Heating min/max temp
|
||||
if (updateMinMaxHeatingTemp()) {
|
||||
if (settings.heating.minTemp < vars.parameters.heatingMinTemp) {
|
||||
settings.heating.minTemp = vars.parameters.heatingMinTemp;
|
||||
Log.snoticeln("OT.HEATING", "Updated min temp: %d", settings.heating.minTemp);
|
||||
}
|
||||
|
||||
if (settings.heating.maxTemp > vars.parameters.heatingMaxTemp) {
|
||||
settings.heating.maxTemp = vars.parameters.heatingMaxTemp;
|
||||
Log.snoticeln("OT.HEATING", "Updated max temp: %d", settings.heating.maxTemp);
|
||||
}
|
||||
|
||||
} else {
|
||||
Log.swarningln("OT.HEATING", "Failed get min/max temp");
|
||||
}
|
||||
|
||||
if (settings.heating.minTemp >= settings.heating.maxTemp) {
|
||||
settings.heating.minTemp = 20;
|
||||
settings.heating.maxTemp = 90;
|
||||
}
|
||||
|
||||
// force
|
||||
setMaxHeatingTemp(settings.heating.maxTemp);
|
||||
|
||||
@@ -152,7 +169,7 @@ protected:
|
||||
yield();
|
||||
|
||||
// fault reset action
|
||||
if (vars.actions.faultReset) {
|
||||
if (vars.actions.resetFault) {
|
||||
if (vars.states.fault) {
|
||||
if (ot->sendBoilerReset()) {
|
||||
Log.sinfoln("OT", "Boiler fault reset successfully");
|
||||
@@ -162,12 +179,12 @@ protected:
|
||||
}
|
||||
}
|
||||
|
||||
vars.actions.faultReset = false;
|
||||
vars.actions.resetFault = false;
|
||||
yield();
|
||||
}
|
||||
|
||||
// diag reset action
|
||||
if (vars.actions.diagnosticReset) {
|
||||
if (vars.actions.resetDiagnostic) {
|
||||
if (vars.states.diagnostic) {
|
||||
if (ot->sendServiceReset()) {
|
||||
Log.sinfoln("OT", "Boiler diagnostic reset successfully");
|
||||
@@ -177,7 +194,7 @@ protected:
|
||||
}
|
||||
}
|
||||
|
||||
vars.actions.diagnosticReset = false;
|
||||
vars.actions.resetDiagnostic = false;
|
||||
yield();
|
||||
}
|
||||
|
||||
|
||||
@@ -125,7 +125,7 @@ struct Variables {
|
||||
|
||||
struct {
|
||||
bool restart = false;
|
||||
bool faultReset = false;
|
||||
bool diagnosticReset = false;
|
||||
bool resetFault = false;
|
||||
bool resetDiagnostic = false;
|
||||
} actions;
|
||||
} vars;
|
||||
Reference in New Issue
Block a user