mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
Fix and add huawei signal power
This commit is contained in:
parent
59f8161292
commit
1274791cc1
5 changed files with 53 additions and 14 deletions
13
luci-app-openmptcprouter/root/bin/omr-huawei
Executable file
13
luci-app-openmptcprouter/root/bin/omr-huawei
Executable file
|
@ -0,0 +1,13 @@
|
|||
#!/bin/sh
|
||||
MODEM_IP=`echo $1 | grep -E '^(192\.168|10\.|172\.1[6789]\.|172\.2[0-9]\.|172\.3[01]\.)'`
|
||||
[ -z "$MODEM_IP" ] && return
|
||||
SESTOK=$(curl -s -m 1 -X GET "http://$MODEM_IP/api/webserver/SesTokInfo")
|
||||
COOKIE=$(echo $SESTOK | sed -ne '/SesInfo/{s/.*<SesInfo>\(.*\)<\/SesInfo>.*/\1/p;q;}')
|
||||
COOKIE=$(echo $COOKIE | sed 's:SessionID=::')
|
||||
TOKEN=$(echo $SESTOK | sed -ne '/TokInfo/{s/.*<TokInfo>\(.*\)<\/TokInfo>.*/\1/p;q;}')
|
||||
curl -s -m 1 -X GET "http://$MODEM_IP/api/monitoring/status" -H "Cookie: SessionID=$COOKIE" -H "__RequestVerificationToken: $TOKEN" -H "Content-Type: text/xml" > /tmp/huawei-$1-status
|
||||
SIGNAL_ICON=$(cat /tmp/huawei-$1-status | grep SignalIcon | sed -e 's/<[^>]*>//g')
|
||||
MAX_SIGNAL=$(cat /tmp/huawei-$1-status | grep maxsignal | sed -e 's/<[^>]*>//g')
|
||||
if [ -n "$SIGNAL_ICON" ] && [ -n "$MAX_SIGNAL" ]; then
|
||||
echo $((100 * ${SIGNAL_ICON} / ${MAX_SIGNAL}))
|
||||
fi
|
|
@ -1001,14 +1001,20 @@ function interfaces_status()
|
|||
end
|
||||
end
|
||||
end
|
||||
if gateway ~= "" and uci:get("openmptcprouter", "settings", "disablegwping") ~= "1" and connectivity ~= "ERROR" then
|
||||
local gw_ping_test = ut.trim(sys.exec("ping -w 1 -c 1 " .. gateway .. " | grep '100% packet loss'"))
|
||||
if gw_ping_test ~= "" then
|
||||
gw_ping = "DOWN"
|
||||
if connectivity == "OK" then
|
||||
connectivity = "WARNING"
|
||||
local signal = ""
|
||||
if gateway ~= "" then
|
||||
if uci:get("openmptcprouter", "settings", "disablegwping") ~= "1" and connectivity ~= "ERROR" then
|
||||
local gw_ping_test = ut.trim(sys.exec("ping -w 1 -c 1 " .. gateway .. " | grep '100% packet loss'"))
|
||||
if gw_ping_test ~= "" then
|
||||
gw_ping = "DOWN"
|
||||
if connectivity == "OK" then
|
||||
connectivity = "WARNING"
|
||||
end
|
||||
end
|
||||
end
|
||||
if uci:get("openmptcprouter", interface, "manufacturer") ~= "huawei" then
|
||||
signal = sys.exec("omr-huawei " .. gateway)
|
||||
end
|
||||
elseif gateway == "" then
|
||||
gw_ping = "DOWN"
|
||||
connectivity = "ERROR"
|
||||
|
@ -1150,6 +1156,7 @@ function interfaces_status()
|
|||
multipath_available = multipath_available,
|
||||
multipath_state = current_multipath_state,
|
||||
duplicateif = duplicateif,
|
||||
signal = signal,
|
||||
}
|
||||
if ifname ~= nil and ifname:match("^tun.*") then
|
||||
table.insert(mArray.tunnels, data);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue