Merge pull request #1509 from chakflying/feat/mqtt-optional-message

Feat: Allow MQTT successMessage to be optional
This commit is contained in:
Louis Lam 2022-04-18 19:06:39 +08:00 committed by GitHub
commit e2c45f93bf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 4 deletions

View file

@ -721,6 +721,7 @@ try {
bean.pushToken = monitor.pushToken; bean.pushToken = monitor.pushToken;
bean.proxyId = Number.isInteger(monitor.proxyId) ? monitor.proxyId : null; bean.proxyId = Number.isInteger(monitor.proxyId) ? monitor.proxyId : null;
bean.mqttUsername = monitor.mqttUsername; bean.mqttUsername = monitor.mqttUsername;
bean.mqttPassword = monitor.mqttPassword;
bean.mqttTopic = monitor.mqttTopic; bean.mqttTopic = monitor.mqttTopic;
bean.mqttSuccessMessage = monitor.mqttSuccessMessage; bean.mqttSuccessMessage = monitor.mqttSuccessMessage;

View file

@ -135,10 +135,10 @@ exports.mqttAsync = function (hostname, topic, okMessage, options = {}) {
if (messageTopic == topic) { if (messageTopic == topic) {
client.end(); client.end();
clearTimeout(timeoutID); clearTimeout(timeoutID);
if (message.toString() === okMessage) { if (okMessage != null && okMessage !== "" && message.toString() !== okMessage) {
resolve(`Topic: ${messageTopic}; Message: ${message.toString()}`); reject(new Error(`Message Mismatch - Topic: ${messageTopic}; Message: ${message.toString()}`));
} else { } else {
reject(new Error(`Error; Topic: ${messageTopic}; Message: ${message.toString()}`)); resolve(`Topic: ${messageTopic}; Message: ${message.toString()}`);
} }
} }
}); });

View file

@ -141,7 +141,7 @@
<div class="my-3"> <div class="my-3">
<label for="mqttSuccessMessage" class="form-label">MQTT {{ $t("successMessage") }}</label> <label for="mqttSuccessMessage" class="form-label">MQTT {{ $t("successMessage") }}</label>
<input id="mqttSuccessMessage" v-model="monitor.mqttSuccessMessage" type="text" class="form-control" required> <input id="mqttSuccessMessage" v-model="monitor.mqttSuccessMessage" type="text" class="form-control">
<div class="form-text"> <div class="form-text">
{{ $t("successMessageExplanation") }} {{ $t("successMessageExplanation") }}
</div> </div>