diff --git a/src/packages/fff/fff-nodewatcher/Makefile b/src/packages/fff/fff-nodewatcher/Makefile
index e4a07983..19dd9cd1 100644
--- a/src/packages/fff/fff-nodewatcher/Makefile
+++ b/src/packages/fff/fff-nodewatcher/Makefile
@@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fff-nodewatcher
-PKG_RELEASE:=57
+PKG_RELEASE:=58
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
diff --git a/src/packages/fff/fff-nodewatcher/files/usr/lib/nodewatcher.d/10-systemdata.sh b/src/packages/fff/fff-nodewatcher/files/usr/lib/nodewatcher.d/10-systemdata.sh
index a61e1e57..f4a6980e 100755
--- a/src/packages/fff/fff-nodewatcher/files/usr/lib/nodewatcher.d/10-systemdata.sh
+++ b/src/packages/fff/fff-nodewatcher/files/usr/lib/nodewatcher.d/10-systemdata.sh
@@ -3,7 +3,7 @@
# License; GPL v3
SCRIPT_STATUS_FILE=$(uci get nodewatcher.@script[0].status_text_file)
-SCRIPT_VERSION="57"
+SCRIPT_VERSION="58"
debug() {
(>&2 echo "$1")
@@ -11,28 +11,31 @@ debug() {
debug "$(date): Collecting basic system status data"
+SYSTEM_DATA="online"
+
hostname="$(cat /proc/sys/kernel/hostname)"
mac=$(awk '{ mac=toupper($1); gsub(":", "", mac); print mac }' /sys/class/net/br-mesh/address 2>/dev/null)
[ "$hostname" = "OpenWrt" ] && hostname="$mac"
[ "$hostname" = "FFF" ] && hostname="$mac"
+SYSTEM_DATA="$SYSTEM_DATA$hostname"
+
description="$(uci -q get fff.system.description)"
-if [ -n "$description" ]; then
- description=""
-fi
+[ -n "$description" ] && SYSTEM_DATA="$SYSTEM_DATA"
+
latitude="$(uci -q get fff.system.latitude)"
longitude="$(uci -q get fff.system.longitude)"
if [ -n "$longitude" -a -n "$latitude" ]; then
- geo="$latitude$longitude";
+ SYSTEM_DATA="$SYSTEM_DATA$latitude$longitude"
fi
+
position_comment="$(uci -q get fff.system.position_comment)"
-if [ -n "$position_comment" ]; then
- position_comment=""
-fi
+[ -n "$position_comment" ] && SYSTEM_DATA="$SYSTEM_DATA"
+
contact="$(uci -q get fff.system.contact)"
-if [ -n "$contact" ]; then
- contact="$contact"
-fi
+[ -n "$contact" ] && SYSTEM_DATA="$SYSTEM_DATA$contact"
+
uptime=$(awk '{ printf ""$1""$2"" }' /proc/uptime)
+SYSTEM_DATA="$SYSTEM_DATA$uptime"
memory=$(awk '
/^MemTotal/ { printf ""$2"" }
@@ -40,36 +43,34 @@ memory=$(awk '
/^Buffers/ { printf ""$2"" }
/^MemFree/ { printf ""$2"" }
' /proc/meminfo)
+SYSTEM_DATA="$SYSTEM_DATA$memory"
+
cpu=$(awk -F': ' '
/model/ { printf ""$2"" }
/system type/ { printf ""$2"" }
/platform/ { printf ""$2"" }
' /proc/cpuinfo)
-model="$(cat /var/sysinfo/model)"
-local_time="$(date +%s)"
+SYSTEM_DATA="$SYSTEM_DATA$cpu"
+
+SYSTEM_DATA="$SYSTEM_DATA$(cat /var/sysinfo/model)"
+
+SYSTEM_DATA="$SYSTEM_DATA$(date +%s)"
+
load=$(awk '{ printf ""$3""$4"" }' /proc/loadavg)
+SYSTEM_DATA="$SYSTEM_DATA$load"
debug "$(date): Collecting version information"
-batman_adv_version=$(cat /sys/module/batman_adv/version)
-kernel_version=$(uname -r)
+SYSTEM_DATA="$SYSTEM_DATA$(cat /sys/module/batman_adv/version)"
+SYSTEM_DATA="$SYSTEM_DATA$(uname -r)"
+SYSTEM_DATA="$SYSTEM_DATA$SCRIPT_VERSION"
+
if [ -x /usr/bin/fastd ]; then
- fastd_version="$(/usr/bin/fastd -v | awk '{ print $2 }')"
+ SYSTEM_DATA="$SYSTEM_DATA$(/usr/bin/fastd -v | awk '{ print $2 }')"
fi
-nodewatcher_version=$SCRIPT_VERSION
+
if [ -x /usr/sbin/babeld ]; then
- babel_version="$(/usr/sbin/babeld -V 2>&1)"
-fi
-
-if [ -f "$SCRIPT_STATUS_FILE" ]; then
- status_text="$(cat "$SCRIPT_STATUS_FILE")"
-fi
-
-# Checks if fastd is running
-if pidof fastd >/dev/null ; then
- vpn_active="1"
-else
- vpn_active="0"
+ SYSTEM_DATA="$SYSTEM_DATA$(/usr/sbin/babeld -V 2>&1)"
fi
# example for /etc/openwrt_release:
@@ -80,8 +81,8 @@ fi
#DISTRIB_TARGET="atheros/generic"
#DISTRIB_DESCRIPTION="OpenWrt Attitude Adjustment 12.09-rc1"
. /etc/openwrt_release
-distname=$DISTRIB_ID
-distversion=$DISTRIB_RELEASE
+SYSTEM_DATA="$SYSTEM_DATA$DISTRIB_ID"
+SYSTEM_DATA="$SYSTEM_DATA$DISTRIB_RELEASE"
# example for /etc/firmware_release:
#FIRMWARE_VERSION="95f36685e7b6cbf423f02cf5c7f1e785fd4ccdae-dirty"
@@ -89,34 +90,24 @@ distversion=$DISTRIB_RELEASE
#OPENWRT_CORE_REVISION="35298"
#OPENWRT_FEEDS_PACKAGES_REVISION="35298"
. /etc/firmware_release
+SYSTEM_DATA="$SYSTEM_DATA$FIRMWARE_VERSION"
+SYSTEM_DATA="$SYSTEM_DATA$BUILD_DATE"
+SYSTEM_DATA="$SYSTEM_DATA$OPENWRT_CORE_REVISION"
+SYSTEM_DATA="$SYSTEM_DATA$OPENWRT_FEEDS_PACKAGES_REVISION"
-SYSTEM_DATA="online"
-SYSTEM_DATA=$SYSTEM_DATA"$status_text"
-SYSTEM_DATA=$SYSTEM_DATA"$hostname"
-SYSTEM_DATA=$SYSTEM_DATA"${description}"
-SYSTEM_DATA=$SYSTEM_DATA"${geo}"
-SYSTEM_DATA=$SYSTEM_DATA"${position_comment}"
-SYSTEM_DATA=$SYSTEM_DATA"${contact}"
-SYSTEM_DATA=$SYSTEM_DATA"$(uci -q get "system.@system[0].hood")"
-SYSTEM_DATA=$SYSTEM_DATA"$(uci -q get "system.@system[0].hoodid")"
-SYSTEM_DATA=$SYSTEM_DATA"$distname"
-SYSTEM_DATA=$SYSTEM_DATA"$distversion"
-SYSTEM_DATA=$SYSTEM_DATA"$cpu"
-SYSTEM_DATA=$SYSTEM_DATA"$model"
-SYSTEM_DATA=$SYSTEM_DATA"$memory"
-SYSTEM_DATA=$SYSTEM_DATA"$load"
-SYSTEM_DATA=$SYSTEM_DATA"$uptime"
-SYSTEM_DATA=$SYSTEM_DATA"$local_time"
-SYSTEM_DATA=$SYSTEM_DATA"$batman_adv_version"
-SYSTEM_DATA=$SYSTEM_DATA"$kernel_version"
-SYSTEM_DATA=$SYSTEM_DATA"$fastd_version"
-SYSTEM_DATA=$SYSTEM_DATA"$nodewatcher_version"
-SYSTEM_DATA=$SYSTEM_DATA"$babel_version"
-SYSTEM_DATA=$SYSTEM_DATA"$FIRMWARE_VERSION"
-SYSTEM_DATA=$SYSTEM_DATA"$BUILD_DATE"
-SYSTEM_DATA=$SYSTEM_DATA"$OPENWRT_CORE_REVISION"
-SYSTEM_DATA=$SYSTEM_DATA"$OPENWRT_FEEDS_PACKAGES_REVISION"
-SYSTEM_DATA=$SYSTEM_DATA"$vpn_active"
+debug "$(date): Collecting hood information and additional status data"
+
+SYSTEM_DATA="$SYSTEM_DATA$(uci -q get "system.@system[0].hood")"
+SYSTEM_DATA="$SYSTEM_DATA$(uci -q get "system.@system[0].hoodid")"
+
+if [ -s "$SCRIPT_STATUS_FILE" ]; then
+ SYSTEM_DATA="$SYSTEM_DATA$(cat "$SCRIPT_STATUS_FILE")"
+fi
+
+# Checks if fastd is running
+vpn_active=0
+pidof fastd >/dev/null && vpn_active=1
+SYSTEM_DATA="$SYSTEM_DATA$vpn_active"
echo -n "$SYSTEM_DATA"