diff --git a/package/gluon-mesh-batman-adv/files/lib/gluon/announce/announce.d/network/mesh_interfaces b/package/gluon-mesh-batman-adv/files/lib/gluon/announce/announce.d/network/mesh_interfaces
new file mode 100644
index 0000000000000000000000000000000000000000..d078fcb16a81bfc70815dadd09ea4d4c9117dc56
--- /dev/null
+++ b/package/gluon-mesh-batman-adv/files/lib/gluon/announce/announce.d/network/mesh_interfaces
@@ -0,0 +1,15 @@
+require 'ubus'
+
+local conn = ubus.connect()
+local list = util.exec('batctl if')
+
+local interfaces = {}
+for _, line in ipairs(util.split(list)) do
+	local ifname = line:match('^(.-):')
+	if ifname ~= nil then
+		local status = conn:call("network.device", "status", { name = ifname })
+		table.insert(interfaces, status['macaddr'])
+	end
+end
+
+return interfaces