wifiConnections() added signal quality attribute

This commit is contained in:
Sebastian Hildebrandt
2024-02-18 08:21:33 +01:00
parent f9135308e7
commit f9e9c6c199
6 changed files with 35 additions and 21 deletions
+2 -1
View File
@@ -576,10 +576,11 @@ export namespace Systeminformation {
ssid: string;
bssid: string;
channel: number;
frequency: number;
type: string;
security: string;
frequency: number;
signalLevel: number;
quality: number;
txRate: number;
}
+12 -6
View File
@@ -247,14 +247,15 @@ function getWifiNetworkListNmi() {
const security = util.getValue(lines, 'SECURITY').replace('(', '').replace(')', '');
const wpaFlags = util.getValue(lines, 'WPA-FLAGS').replace('(', '').replace(')', '');
const rsnFlags = util.getValue(lines, 'RSN-FLAGS').replace('(', '').replace(')', '');
const quality = util.getValue(lines, 'SIGNAL');
result.push({
ssid: util.getValue(lines, 'SSID'),
bssid: util.getValue(lines, 'BSSID').toLowerCase(),
mode: util.getValue(lines, 'MODE'),
channel: channel ? parseInt(channel, 10) : null,
frequency: frequency ? parseInt(frequency, 10) : null,
signalLevel: wifiDBFromQuality(util.getValue(lines, 'SIGNAL')),
quality: parseFloat(util.getValue(lines, 'SIGNAL')),
signalLevel: wifiDBFromQuality(quality),
quality: quality ? parseInt(quality, 10) : null,
security: security && security !== 'none' ? security.split(' ') : [],
wpaFlags: wpaFlags && wpaFlags !== 'none' ? wpaFlags.split(' ') : [],
rsnFlags: rsnFlags && rsnFlags !== 'none' ? rsnFlags.split(' ') : []
@@ -575,6 +576,7 @@ function wifiConnections(callback) {
const nmiConnection = nmiConnectionLinux(ssidSanitized);
const channel = network && network.length && network[0].channel ? network[0].channel : (wpaDetails.channel ? wpaDetails.channel : null);
const bssid = network && network.length && network[0].bssid ? network[0].bssid : (wpaDetails.bssid ? wpaDetails.bssid : null);
const signalLevel = network && network.length && network[0].signalLevel ? network[0].signalLevel : null;
if (ssid && bssid) {
result.push({
id: ifaceDetail.id,
@@ -586,7 +588,8 @@ function wifiConnections(callback) {
frequency: channel ? wifiFrequencyFromChannel(channel) : null,
type: nmiConnection.type ? nmiConnection.type : '802.11',
security: nmiConnection.security ? nmiConnection.security : (wpaDetails.security ? wpaDetails.security : null),
signalLevel: network && network.length && network[0].signalLevel ? network[0].signalLevel : null,
signalLevel,
quality: wifiQualityFromDB(signalLevel),
txRate: null
});
}
@@ -614,8 +617,8 @@ function wifiConnections(callback) {
const channel = util.getValue(lines2, 'channel', ':', true).split(',')[0];
const type = '802.11';
const rssi = util.toInt(util.getValue(lines2, 'agrCtlRSSI', ':', true));
const noise = util.toInt(util.getValue(lines2, 'agrCtlNoise', ':', true));
const signalLevel = rssi - noise;
/// const noise = util.toInt(util.getValue(lines2, 'agrCtlNoise', ':', true));
const signalLevel = rssi;
if (ssid || bssid) {
result.push({
id: 'Wi-Fi',
@@ -628,6 +631,7 @@ function wifiConnections(callback) {
type,
security,
signalLevel,
quality: wifiQualityFromDB(signalLevel),
txRate
});
}
@@ -661,7 +665,8 @@ function wifiConnections(callback) {
const id = lines[2].indexOf(':') >= 0 ? lines[2].split(':')[1].trim() : '';
const ssid = util.getValue(lines, 'SSID', ':', true);
const bssid = util.getValue(lines, 'BSSID', ':', true);
const signalLevel = wifiDBFromQuality(util.getValue(lines, 'Signal', ':', true));
const quality = util.getValue(lines, 'Signal', ':', true);
const signalLevel = wifiDBFromQuality(quality);
const type = util.getValue(lines, 'Radio type', ':', true) || util.getValue(lines, 'Type de radio', ':', true) || util.getValue(lines, 'Funktyp', ':', true) || null;
const security = util.getValue(lines, 'authentication', ':', true) || util.getValue(lines, 'Authentification', ':', true) || util.getValue(lines, 'Authentifizierung', ':', true) || null;
const channel = util.getValue(lines, 'Channel', ':', true) || util.getValue(lines, 'Canal', ':', true) || util.getValue(lines, 'Kanal', ':', true) || null;
@@ -678,6 +683,7 @@ function wifiConnections(callback) {
type,
security,
signalLevel,
quality: quality ? parseInt(quality, 10) : null,
txRate: util.toInt(txRate) || null
});
}