diff --git a/src/MqttSettings.cpp b/src/MqttSettings.cpp index 0d265a7..f3cbb52 100644 --- a/src/MqttSettings.cpp +++ b/src/MqttSettings.cpp @@ -135,12 +135,20 @@ void MqttSettingsClass::onMqttMessage(const espMqttClientTypes::MessagePropertie // Set inverter limit relative non persistent limit = min(100, 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)) { // Set inverter limit absolute non persistent 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"); + } } }