diff --git a/data/igate_conf.json b/data/igate_conf.json
index 362b20a..04a4bda 100644
--- a/data/igate_conf.json
+++ b/data/igate_conf.json
@@ -86,7 +86,8 @@
"topic": "",
"username": "",
"password": "",
- "port": 1883
+ "port": 1883,
+ "beaconOverMqtt": false
},
"ota": {
"username": "",
diff --git a/data_embed/index.html b/data_embed/index.html
index 0f389fa..4c2a578 100644
--- a/data_embed/index.html
+++ b/data_embed/index.html
@@ -1641,6 +1641,21 @@
Default is 1883
+
+
+
+
+
+
diff --git a/data_embed/script.js b/data_embed/script.js
index 0cdd590..b6bf231 100644
--- a/data_embed/script.js
+++ b/data_embed/script.js
@@ -207,12 +207,14 @@ function loadSettings(settings) {
document.getElementById("mqtt.username").value = settings.mqtt.username;
document.getElementById("mqtt.password").value = settings.mqtt.password;
document.getElementById("mqtt.port").value = settings.mqtt.port;
- MqttCheckbox.checked = settings.mqtt.active;
- MqttServer.disabled = !MqttCheckbox.check;
- MqttTopic.disabled = !MqttCheckbox.check;
- MqttUsername.disabled = !MqttCheckbox.check;
- MqttPassword.disabled = !MqttCheckbox.check;
- MqttPort.disabled = !MqttCheckbox.check;
+ document.getElementById("mqtt.beaconOverMqtt").value = settings.mqtt.beaconOverMqtt;
+ MqttCheckbox.checked = settings.mqtt.active;
+ MqttServer.disabled = !MqttCheckbox.check;
+ MqttTopic.disabled = !MqttCheckbox.check;
+ MqttUsername.disabled = !MqttCheckbox.check;
+ MqttPassword.disabled = !MqttCheckbox.check;
+ MqttPort.disabled = !MqttCheckbox.check;
+ MqttBeaconOverMqtt.disabled = !MqttCheckbox.check;
// Reboot
document.getElementById("other.rebootMode").checked = settings.other.rebootMode;
@@ -380,12 +382,14 @@ const MqttTopic = document.querySelector('input[name="mqtt.topic
const MqttUsername = document.querySelector('input[name="mqtt.username"]');
const MqttPassword = document.querySelector('input[name="mqtt.password"]');
const MqttPort = document.querySelector('input[name="mqtt.port"]');
+const MqttBeaconOverMqtt = document.querySelector('input[name="mqtt.beaconOverMqtt"]');
MqttCheckbox.addEventListener("change", function () {
MqttServer.disabled = !this.checked;
MqttTopic.disabled = !this.checked;
MqttUsername.disabled = !this.checked;
MqttPassword.disabled = !this.checked;
MqttPort.disabled = !this.checked;
+ MqttBeaconOverMqtt.disabled = !this.checked;
});
// Reboot Switches
diff --git a/include/configuration.h b/include/configuration.h
index 2c653cb..85e9c4b 100644
--- a/include/configuration.h
+++ b/include/configuration.h
@@ -158,6 +158,7 @@ public:
String username;
String password;
int port;
+ bool beaconOverMqtt;
};
class Configuration {
diff --git a/src/configuration.cpp b/src/configuration.cpp
index 9c77f2c..de31de8 100644
--- a/src/configuration.cpp
+++ b/src/configuration.cpp
@@ -131,6 +131,7 @@ bool Configuration::writeFile() {
data["mqtt"]["username"] = mqtt.username;
data["mqtt"]["password"] = mqtt.password;
data["mqtt"]["port"] = mqtt.port;
+ data["mqtt"]["beaconOverMqtt"] = mqtt.beaconOverMqtt;
data["ota"]["username"] = ota.username;
data["ota"]["password"] = ota.password;
@@ -323,13 +324,15 @@ bool Configuration::readFile() {
!data["mqtt"].containsKey("topic") ||
!data["mqtt"].containsKey("username") ||
!data["mqtt"].containsKey("password") ||
- !data["mqtt"].containsKey("port")) needsRewrite = true;
+ !data["mqtt"].containsKey("port") ||
+ !data["mqtt"].containsKey("beaconOverMqtt")) needsRewrite = true;
mqtt.active = data["mqtt"]["active"] | false;
mqtt.server = data["mqtt"]["server"] | "";
mqtt.topic = data["mqtt"]["topic"] | "aprs-igate";
mqtt.username = data["mqtt"]["username"] | "";
mqtt.password = data["mqtt"]["password"] | "";
mqtt.port = data["mqtt"]["port"] | 1883;
+ mqtt.beaconOverMqtt = data["mqtt"]["beaconOverMqtt"] | false;
if (!data["ota"].containsKey("username") ||
!data["ota"].containsKey("password")) needsRewrite = true;
@@ -476,6 +479,7 @@ void Configuration::setDefaultValues() {
mqtt.username = "";
mqtt.password = "";
mqtt.port = 1883;
+ mqtt.beaconOverMqtt = false;
ota.username = "";
ota.password = "";
diff --git a/src/web_utils.cpp b/src/web_utils.cpp
index c629d0c..1e32c0d 100644
--- a/src/web_utils.cpp
+++ b/src/web_utils.cpp
@@ -261,6 +261,7 @@ namespace WEB_Utils {
Config.mqtt.username = getParamStringSafe("mqtt.username", Config.mqtt.username);
Config.mqtt.password = getParamStringSafe("mqtt.password", Config.mqtt.password);
Config.mqtt.port = getParamIntSafe("mqtt.port", Config.mqtt.port);
+ Config.mqtt.beaconOverMqtt = request->hasParam("mqtt.beaconOverMqtt", true);
}