forked from freifunk-franken/firmware
configurehood/nodewatcher: Also process hood ID in addition to name
So far, the Monitoring evaluates hoods based on their names. This introduces several problems, most prominently a hood re-creation if it is renamed at the KeyXchange. Since we have unique hood IDs in the KeyXchange and the Monitoring retrieves those via hoods.php, it is logical use this information instead of relying on string comparison. This requires the hood files to contain an additional field "id". While this has not been implemented, the changes in this patch will still work and just write empty data to the uci field and alfred data. For local hoods, the "id" in the hood file will remain unset. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Reviewed-by: Robert Langhammer <rlanghammer@web.de> Reviewed-by: Fabian Bläse <fabian@blaese.de>
This commit is contained in:
parent
665377ab68
commit
ef00054916
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-hoods
|
||||
PKG_VERSION:=4
|
||||
PKG_VERSION:=5
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
||||
|
|
|
@ -95,6 +95,7 @@ else
|
|||
rm -f "$hoodfilewww" # delete this, so wrong hood file is not broadcasted anymore
|
||||
|
||||
uci -q del "system.@system[0].hood"
|
||||
uci -q del "system.@system[0].hoodid"
|
||||
uci -q commit system
|
||||
reload_config
|
||||
|
||||
|
@ -125,6 +126,7 @@ if [ -s "$hoodfiletmp" ]; then
|
|||
json_select hood
|
||||
|
||||
json_get_var hood name
|
||||
json_get_var hoodid id
|
||||
[ -n "$mesh_id" ] || json_get_var mesh_id mesh_id
|
||||
[ -n "$mesh_bssid" ] || json_get_var mesh_bssid mesh_bssid
|
||||
[ -n "$mesh_essid" ] || json_get_var mesh_essid mesh_essid
|
||||
|
@ -146,8 +148,9 @@ if [ -s "$hoodfiletmp" ]; then
|
|||
exit 0
|
||||
fi
|
||||
|
||||
echo "Setting hood name: $hood"
|
||||
echo "Setting hood name: $hood (ID $hoodid)"
|
||||
uci -q set "system.@system[0].hood=$hood"
|
||||
uci -q set "system.@system[0].hoodid=$hoodid"
|
||||
uci -q commit system
|
||||
reload_config
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fff-nodewatcher
|
||||
PKG_VERSION:=50
|
||||
PKG_VERSION:=51
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
||||
|
|
|
@ -12,7 +12,7 @@ if ! lock -n "$lockfile"; then
|
|||
fi
|
||||
trap "lock -u \"$lockfile\"" INT TERM EXIT
|
||||
|
||||
SCRIPT_VERSION="50"
|
||||
SCRIPT_VERSION="51"
|
||||
|
||||
#Get the configuration from the uci configuration file
|
||||
#If it does not exists, then get it from a normal bash file with variables.
|
||||
|
@ -147,6 +147,7 @@ crawl() {
|
|||
SYSTEM_DATA=$SYSTEM_DATA"${position_comment}"
|
||||
SYSTEM_DATA=$SYSTEM_DATA"${contact}"
|
||||
SYSTEM_DATA=$SYSTEM_DATA"<hood>$(uci -q get "system.@system[0].hood")</hood>"
|
||||
SYSTEM_DATA=$SYSTEM_DATA"<hoodid>$(uci -q get "system.@system[0].hoodid")</hoodid>"
|
||||
SYSTEM_DATA=$SYSTEM_DATA"<distname>$distname</distname>"
|
||||
SYSTEM_DATA=$SYSTEM_DATA"<distversion>$distversion</distversion>"
|
||||
SYSTEM_DATA=$SYSTEM_DATA"$cpu"
|
||||
|
|
Loading…
Reference in New Issue