This adds a new announce.d datum "neighbours" (alfred 160) containing
information about mesh neighbours. It's intended to be an replacement
for batadv-vis.
In addition to the data already provided by batadv-vis it'll also
provide information about direct wifi neighbours.
Unlike batadv-vis, no data about clients is transmitted.
Sample data:
{
"wifi": {
"90:f6:52:82:06:02": {
"neighbours": {
"f8:d1:11:2c:a7:d2": {
"noise": -95,
"inactive": 0,
"signal": 0
},
"96:f6:52:ff:cd:6f": {
"noise": -95,
"inactive": 0,
"signal": -37
}
}
}
},
"batadv": {
"90:f6:52:82:06:02": {
"neighbours": {
"96:f6:52:ff:cd:6f": {
"lastseen": 2.8500000000000001,
"tq": 177
}
}
},
"90:f6:52:82:06:03": {
"neighbours": {
"f8:d1:11:2c:a7:d3": {
"lastseen": 2.3500000000000001,
"tq": 206
}
}
}
},
"node_id": "90f652820602"
}
All announce.d scripts have been moved to /lib/gluon/announce/announce.d
The script /lib/gluon/announce/announce.lua will collect all information
and output json.
This replaces announce.sh with a lua script of (hopefully) equal
functionality. Using lua generating JSON is much faster than jshn and
allows for greater flexibility.
The run frequency and exact time affect the alfred announce interval, so we can
just run it every minute to supply alfred with the most up-to-date data.