diff --git a/libs/core/luasrc/sys.lua b/libs/core/luasrc/sys.lua index e5f19f20b8..d0195c5daa 100644 --- a/libs/core/luasrc/sys.lua +++ b/libs/core/luasrc/sys.lua @@ -110,22 +110,29 @@ function sysinfo() local c2 = "uname -m 2>/dev/null" local c3 = "cat /proc/cpuinfo|grep model\\ name|cut -d: -f2 2>/dev/null" local c4 = "cat /proc/cpuinfo|grep cpu\\ model|cut -d: -f2 2>/dev/null" - local c5 = "cat /proc/meminfo|grep MemTotal|cut -d: -f2 2>/dev/null" + local c5 = "cat /proc/meminfo|grep MemTotal|awk {' print $2 '} 2>/dev/null" + local c6 = "cat /proc/meminfo|grep ^Cached|awk {' print $2 '} 2>/dev/null" + local c7 = "cat /proc/meminfo|grep MemFree|awk {' print $2 '} 2>/dev/null" + local c8 = "cat /proc/meminfo|grep Buffers|awk {' print $2 '} 2>/dev/null" - local s = luci.util.trim(exec(c1)) - local m = "" - local r = "" - - if s == "" then - s = luci.util.trim(exec(c2)) - m = luci.util.trim(exec(c3)) + local system = luci.util.trim(exec(c1)) + local model = "" + local memtotal = luci.util.trim(exec(c5)) + local memcached = luci.util.trim(exec(c6)) + local memfree = luci.util.trim(exec(c7)) + local membuffers = luci.util.trim(exec(c8)) + local perc_memfree = math.floor((memfree/memtotal)*100) + local perc_membuffers = math.floor((membuffers/memtotal)*100) + local perc_memcached = math.floor((memcached/memtotal)*100) + + if system == "" then + system = luci.util.trim(exec(c2)) + model = luci.util.trim(exec(c3)) else - m = luci.util.trim(exec(c4)) + model = luci.util.trim(exec(c4)) end - - r = luci.util.trim(exec(c5)) - - return s, m, r + + return system, model, memtotal, memcached, membuffers, memfree, perc_memfree, perc_membuffers, perc_memcached end -- Reads the syslog diff --git a/modules/freifunk/luasrc/controller/freifunk/freifunk.lua b/modules/freifunk/luasrc/controller/freifunk/freifunk.lua index 78cb92f2a7..351a094482 100644 --- a/modules/freifunk/luasrc/controller/freifunk/freifunk.lua +++ b/modules/freifunk/luasrc/controller/freifunk/freifunk.lua @@ -67,7 +67,8 @@ end function action_status() local data = {} - data.s, data.m, data.r = luci.sys.sysinfo() + data.system, data.model, data.memtotal, data.memcached, data.membuffers, data.memfree, data.perc_memfree, data.perc_membuffers, data.perc_memcached = luci.sys.sysinfo() + data.wifi = luci.sys.wifi.getiwconfig() diff --git a/modules/freifunk/luasrc/i18n/freifunk.de.lua b/modules/freifunk/luasrc/i18n/freifunk.de.lua index e54e9b0271..e662163a4e 100644 --- a/modules/freifunk/luasrc/i18n/freifunk.de.lua +++ b/modules/freifunk/luasrc/i18n/freifunk.de.lua @@ -14,4 +14,8 @@ node = [[Knoten]] note = [[Notiz]] phone = [[Telefon]] ram = [[Hauptspeicher]] +free = [[Frei]] +buffers = [[Buffers]] +cached = [[Cached]] +total = [[Gesamt]] geocoord = [[Geokoordinaten]] \ No newline at end of file diff --git a/modules/freifunk/luasrc/view/public_status/index.htm b/modules/freifunk/luasrc/view/public_status/index.htm index 5789e3ad91..a10f22f431 100644 --- a/modules/freifunk/luasrc/view/public_status/index.htm +++ b/modules/freifunk/luasrc/view/public_status/index.htm @@ -20,15 +20,21 @@ $Id$
| <%:system_type%>: | -<%=s%> | +<%=system%> | |
|---|---|---|---|
| <%:cpu%>: | -<%=m%> | +<%=model%> | |
| <%:ram%>: | -<%=r%> | +<%:ram%>: <%:total%>/<%:cached%>/<%:buffers%>/<%:free%> |
+<%=memtotal%> / <%=memcached%> / <%=membuffers%> / <%=memfree%> KB +
+
+
+
+
+ |