m = Map("mesh", "Network Overview", translate("Wireless Network Overview")) m.pageaction = false s = m:section(NamedSection, "__networkoverview__") function s.render(self, sid) local tpl = require "luci.template" local json = require "luci.json" local utl = require "luci.util" tpl.render_string([[ <% local status = require "luci.tools.ieee80211" local utl = require "luci.util" local sys = require "luci.sys" local xml = require "luci.xml" local hosts = sys.net.host_hints() local stat = utl.ubus("dawn", "get_network", { }) local name, macs for name, macs in pairs(stat) do %>

SSID: <%= xml.pcdata(name) %>

<% local mac, data for mac, data in pairs(macs) do %> <% end %>
AP Clients
Hostname Interface MAC Utilization Frequency Stations HT Sup VHT Sup
<%= xml.pcdata(data.hostname) %> <%= xml.pcdata(data.iface) %> <%= mac %> <%= "%.2f" %(data.channel_utilization / 2.55) %> % <%= "%.3f" %( data.freq / 1000 ) %> GHz (Channel: <%= "%d" %( status.frequency_to_channel(data.freq) ) %>) <%= "%d" % data.num_sta %> <%= (data.ht_support == true) and "available" or "not available" %> <%= (data.vht_support == true) and "available" or "not available" %>
<% local mac2, data2 for clientmac, clientvals in pairs(data) do if (type(clientvals) == "table") then %> <% end end %>
MAC HT VHT Signal
<%= clientmac %> <%= (clientvals.ht == true) and "available" or "not available" %> <%= (clientvals.vht == true) and "available" or "not available" %> <%= "%d" % clientvals.signal %>
<% end %> ]]) end return m