From 23dccce600242647172010b7cc4a92627991243e Mon Sep 17 00:00:00 2001
From: Martinski4GitHub <119833648+Martinski4GitHub@users.noreply.github.com>
Date: Fri, 12 Dec 2025 22:58:26 -0800
Subject: [PATCH] Code Improvements
Modified the way ping test results are sent to InfluxDB by assigning actual data to "data fields" instead of "data tags."
---
README.md | 2 +-
connmon.sh | 27 ++++++++++++++-------------
connmonstats_www.asp | 16 ++++++++--------
connmonstats_www.js | 29 ++++++++++++++++++-----------
4 files changed, 41 insertions(+), 33 deletions(-)
diff --git a/README.md b/README.md
index 7b471bf..0552b47 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
# connmon
## v3.0.10
-### Updated on 2025-Dec-11
+### Updated on 2025-Dec-12
## About
connmon is an internet connection monitoring tool for AsusWRT Merlin with charts for daily, weekly and monthly summaries.
diff --git a/connmon.sh b/connmon.sh
index db3db65..e1ba37b 100644
--- a/connmon.sh
+++ b/connmon.sh
@@ -37,7 +37,7 @@
### Start of script variables ###
readonly SCRIPT_NAME="connmon"
readonly SCRIPT_VERSION="v3.0.10"
-readonly SCRIPT_VERSTAG="25121123"
+readonly SCRIPT_VERSTAG="25121222"
SCRIPT_BRANCH="develop"
SCRIPT_REPO="https://raw.githubusercontent.com/AMTM-OSR/$SCRIPT_NAME/$SCRIPT_BRANCH"
readonly SCRIPT_DIR="/jffs/addons/$SCRIPT_NAME.d"
@@ -466,21 +466,21 @@ Validate_Domain()
}
##----------------------------------------##
-## Modified by Martinski W. [2025-Dec-07] ##
+## Modified by Martinski W. [2025-Dec-12] ##
##----------------------------------------##
Conf_FromSettings()
{
SETTINGSFILE="/jffs/addons/custom_settings.txt"
- TMPFILE="/tmp/connmon_settings.txt"
+ TEMP_FILE="/tmp/connmon_settings.txt"
if [ -f "$SETTINGSFILE" ]
then
- if [ "$(grep "^connmon_" $SETTINGSFILE | grep -v "version" -c)" -gt 0 ]
+ if [ "$(grep "^connmon_" $SETTINGSFILE | grep -Ecv '_version_[ls]')" -gt 0 ]
then
Print_Output true "Updated settings from WebUI found, merging into $SCRIPT_CONF" "$PASS"
cp -a "$SCRIPT_CONF" "${SCRIPT_CONF}.bak"
- grep "^connmon_" "$SETTINGSFILE" | grep -v "version" > "$TMPFILE"
- sed -i "s/^connmon_//g;s/ /=/g" "$TMPFILE"
+ grep "^connmon_" "$SETTINGSFILE" | grep -Ev '_version_[ls]' > "$TEMP_FILE"
+ sed -i "s/^connmon_//g;s/ /=/g" "$TEMP_FILE"
while IFS='' read -r line || [ -n "$line" ]
do
SETTINGNAME="$(echo "$line" | cut -d'=' -f1 | awk '{print toupper($1)}')"
@@ -492,13 +492,13 @@ Conf_FromSettings()
SETTINGVALUE="$(echo "$SETTINGVALUE" | sed 's~||||~,~g')"
fi
sed -i "s~$SETTINGNAME=.*~$SETTINGNAME=$SETTINGVALUE~" "$SCRIPT_CONF"
- done < "$TMPFILE"
+ done < "$TEMP_FILE"
- grep '^connmon_version' "$SETTINGSFILE" > "$TMPFILE"
+ grep -E '^connmon_version_[ls]' "$SETTINGSFILE" > "$TEMP_FILE"
sed -i "\\~connmon_~d" "$SETTINGSFILE"
mv -f "$SETTINGSFILE" "${SETTINGSFILE}.bak"
- cat "${SETTINGSFILE}.bak" "$TMPFILE" > "$SETTINGSFILE"
- rm -f "$TMPFILE"
+ cat "${SETTINGSFILE}.bak" "$TEMP_FILE" > "$SETTINGSFILE"
+ rm -f "$TEMP_FILE"
rm -f "${SETTINGSFILE}.bak"
if diff -U0 "$SCRIPT_CONF" "${SCRIPT_CONF}.bak" | grep -qE "[-+]STORAGELOCATION="
@@ -3487,7 +3487,7 @@ SendHealthcheckPing()
}
##----------------------------------------##
-## Modified by Martinski W. [2025-Dec-11] ##
+## Modified by Martinski W. [2025-Dec-12] ##
##----------------------------------------##
SendToInfluxDB()
{
@@ -3525,8 +3525,9 @@ SendToInfluxDB()
else routerID="$(echo "$ROUTER_MODEL" | sed 's/ /_/g')"
fi
- dataTags="Jitter=${JITTER},LineQuality=${LINEQUAL},PingAvrg=${PING},PingServer=${pingTARGET},Source=$SCRIPT_NAME"
- dataFields="Router=\"${ROUTER_MODEL}\""
+ ## Variable ping test results are assigned to InfluxDB data "fields" ##
+ dataTags="Router=${routerID},Source=${SCRIPT_NAME}"
+ dataFields="Jitter=${JITTER},LineQuality=${LINEQUAL},PingAvrg=${PING},PingServer=\"${PING_TARGET}\""
curl -vSL --retry 4 --retry-delay 5 --connect-timeout 60 -o "$curlOutLogFile" \
"${INFLUXDB_PROTO}://${INFLUXDB_HOST}:${INFLUXDB_PORT}/api/v2/write?org=${INFLUXDB_ORG}&bucket=${INFLUXDB_BID}&precision=s" \
diff --git a/connmonstats_www.asp b/connmonstats_www.asp
index 6eaa015..6e6c2eb 100644
--- a/connmonstats_www.asp
+++ b/connmonstats_www.asp
@@ -33,7 +33,7 @@ p{font-weight:bolder}thead.collapsible-jquery{color:#fff;padding:0;width:100%;bo
@@ -1060,7 +1060,7 @@ function getCookie(e,t){if(null!==cookie.get("conn_"+e)){if("string"===t)return
id="table_connmonemailconfig">
-
Email notifications
+ Email Notifications
| '; @@ -2066,7 +2072,8 @@ function saveConfig(section) default: var disabledfields = $('#' + section).find('[disabled]'); disabledfields.prop('disabled', false); - document.getElementById('amng_custom').value = JSON.stringify($('#' + section).find('input,select,textarea').serializeObject()); + var updateSettings = JSON.stringify($('#' + section).find('input,select,textarea').serializeObject()); + document.getElementById('amng_custom').value = updateSettings; document.formScriptActions.action_script.value = 'start_addon_settings;start_connmonconfig'; document.formScriptActions.submit(); disabledfields.prop('disabled', true); |