Do not appy settings if mqtt was retained and topic was non-persistent

This commit is contained in:
Thomas Basler 2022-09-23 19:14:15 +02:00
parent a707ab501d
commit 0af809e4ea

View File

@ -135,12 +135,20 @@ void MqttSettingsClass::onMqttMessage(const espMqttClientTypes::MessagePropertie
// Set inverter limit relative non persistent // Set inverter limit relative non persistent
limit = min<uint32_t>(100, limit); limit = min<uint32_t>(100, limit);
Serial.printf("Limit Non-Persistent: %d %%\n", limit); Serial.printf("Limit Non-Persistent: %d %%\n", limit);
inv->sendActivePowerControlRequest(Hoymiles.getRadio(), limit, PowerLimitControlType::RelativNonPersistent); if (!properties.retain) {
inv->sendActivePowerControlRequest(Hoymiles.getRadio(), limit, PowerLimitControlType::RelativNonPersistent);
} else {
Serial.println("Ignored because retained");
}
} else if (!strcmp(setting, TOPIC_SUB_LIMIT_NONPERSISTENT_ABSOLUTE)) { } else if (!strcmp(setting, TOPIC_SUB_LIMIT_NONPERSISTENT_ABSOLUTE)) {
// Set inverter limit absolute non persistent // Set inverter limit absolute non persistent
Serial.printf("Limit Non-Persistent: %d W\n", limit); Serial.printf("Limit Non-Persistent: %d W\n", limit);
inv->sendActivePowerControlRequest(Hoymiles.getRadio(), limit, PowerLimitControlType::AbsolutNonPersistent); if (!properties.retain) {
inv->sendActivePowerControlRequest(Hoymiles.getRadio(), limit, PowerLimitControlType::AbsolutNonPersistent);
} else {
Serial.println("Ignored because retained");
}
} }
} }