From 2d17a365a69e3b13118eeeb97cd9c978eee1db71 Mon Sep 17 00:00:00 2001 From: Kim Huebel Date: Sun, 7 Feb 2021 21:49:21 +0000 Subject: [PATCH] Getting info of repeater from MMDVM.ini see config.js --- html/js/config.js | 2 +- html/js/functions.js | 56 ++++++++++++++------------------------------ html/js/version.js | 2 +- logtailer.py | 17 ++++++++++---- 4 files changed, 32 insertions(+), 45 deletions(-) diff --git a/html/js/config.js b/html/js/config.js index 42eeb3f..c9671f4 100644 --- a/html/js/config.js +++ b/html/js/config.js @@ -2,7 +2,7 @@ var qrz = 1; // 1 = enable debug in javascript-console, 0 = 0ff -var debug = 0; +var debug = 1; // Set messagecounters for different badge-colors var warnlevel = 200; diff --git a/html/js/functions.js b/html/js/functions.js index bb007ff..e0b8938 100644 --- a/html/js/functions.js +++ b/html/js/functions.js @@ -429,43 +429,11 @@ function getLastHeard(document, event) { lines.forEach(function(line, index, array) { logIt("LogLine: " + line); if (!inDashboardBlacklist(line)) { - /* - if (line.indexOf("MMDVMHost") > 0 ) { - mmdvmhost_version = line.substring(line.indexOf("MMDVMHost")); - mmdvmhost_version = mmdvmhost_version.substring(0, mmdvmhost_version.indexOf(" ")); - document.getElementById("mmdvmhost_version").innerHTML = mmdvmhost_version; - } - if (line.indexOf("Built") > 0 ) { - built = line.substring(line.indexOf("Built") + 6); - document.getElementById("built").innerHTML = built; - } - - */ if (line.indexOf("description:") > 0 ) { modem = line.substring(line.indexOf("description:") + 12); document.getElementById("modem").innerHTML = modem; } - if (line.indexOf("Callsign:") > 0 ) { - callsign = line.substring(line.indexOf("Callsign:") + 10); - document.getElementById("callsign").innerHTML = callsign; - } - - if (line.indexOf("Id:") > 0 ) { - dmrid = line.substring(line.indexOf("Id:") + 4); - document.getElementById("dmrid").innerHTML = dmrid; - } - - if (line.indexOf("RX Frequency:") > 0 ) { - rxqrg = line.substring(line.indexOf("RX Frequency:") + 14, 54); - document.getElementById("rxqrg").innerHTML = getMHZ(rxqrg) + " MHz"; - } - - if (line.indexOf("TX Frequency:") > 0 ) { - txqrg = line.substring(line.indexOf("TX Frequency:") + 14, 54); - document.getElementById("txqrg").innerHTML = getMHZ(txqrg) + " MHz"; - } - txing = false; if (line.indexOf("Talker Alias") < 0 && line.indexOf("Downlink Activate") < 0 && line.indexOf("Preamble CSBK") < 0 && line.indexOf("data header") < 0 && line.indexOf("0000:") < 0 && line.length > 0 && (line.indexOf("received") > 0 || line.indexOf("network watchdog") > 0)) { if (line.indexOf("received network data") > 0 || line.indexOf("late entry") > 0 || line.indexOf("voice header") > 0 || line.indexOf("received RF header") > 0) { @@ -731,7 +699,23 @@ function getDapnetMessages(document, event) { function getSysInfo(document, event) { $(document).ready(function() { - if (event.data.startsWith("SYSINFO")) { + if (event.data.startsWith("HOSTINFO")) { + logIt(event.data); + data = event.data; + data = data.substring(data.indexOf(" ") + 1); + document.getElementById("mmdvmhost_version").innerHTML = data.substring(data.indexOf("mmdvmhost_version:") + 18, data.indexOf(" mmdvmhost_ctime")); + data = data.substring(data.indexOf(" ") + 1); + document.getElementById("built").innerHTML = data.substring(data.indexOf("mmdvmhost_ctime:") + 16, data.indexOf(" callsign")); + data = data.substring(data.indexOf(" callsign") + 1); + document.getElementById("callsign").innerHTML = data.substring(data.indexOf("callsign:") + 9, data.indexOf(" ")); + data = data.substring(data.indexOf(" ") + 1); + document.getElementById("dmrid").innerHTML = data.substring(data.indexOf("dmrid:") + 6, data.indexOf(" ")); + data = data.substring(data.indexOf(" ") + 1); + document.getElementById("txqrg").innerHTML = getMHZ(data.substring(data.indexOf("txqrg:") + 6, data.indexOf(" "))) + " MHz"; + data = data.substring(data.indexOf(" ") + 1); + document.getElementById("rxqrg").innerHTML = getMHZ(data.substring(data.indexOf("rxqrg:") + 6)) + " MHz"; + } + if (event.data.startsWith("SYSINFO")) { logIt(event.data); data = event.data; data = data.substring(data.indexOf(" ") + 1); @@ -761,11 +745,7 @@ function getSysInfo(document, event) { data = data.substring(data.indexOf(" ") + 1); document.getElementById("disk_free").innerHTML = parseFloat(data.substring(data.indexOf("disk_free:") + 10, data.indexOf(" "))).toFixed(3); data = data.substring(data.indexOf(" ") + 1); - document.getElementById("disk_percent_used").innerHTML = data.substring(data.indexOf("disk_percent_used:") + 18, data.indexOf(" ")); - data = data.substring(data.indexOf(" ") + 1); - document.getElementById("mmdvmhost_version").innerHTML = data.substring(data.indexOf("mmdvmhost_version:") + 18, data.indexOf(" mmdvmhost_ctime")); - data = data.substring(data.indexOf(" ") + 1); - document.getElementById("built").innerHTML = data.substring(data.indexOf("mmdvmhost_ctime:") + 16); + document.getElementById("disk_percent_used").innerHTML = data.substring(data.indexOf("disk_percent_used:") + 18); } }); } diff --git a/html/js/version.js b/html/js/version.js index 2b1f471..ca3afcb 100644 --- a/html/js/version.js +++ b/html/js/version.js @@ -1 +1 @@ -var dashboard_version = "2021-02-07 21:02:58"; +var dashboard_version = "2021-02-07 21:49:21"; diff --git a/logtailer.py b/logtailer.py index b007424..0b5d979 100644 --- a/logtailer.py +++ b/logtailer.py @@ -30,6 +30,8 @@ current_dir = os.getcwd() config = configparser.ConfigParser() config.read(current_dir + '/logtailer.ini') +mmdvmhost_config = configparser.ConfigParser() +mmdvmhost_config.read(config['MMDVMHost']['MMDVM_ini']) dmrids = {} # init @@ -158,6 +160,15 @@ async def view_log(websocket, path): else: await asyncio.sleep(0.2) elif path == "/SYSINFO": + mmdvmhost_version = str(subprocess.Popen(config['MMDVMHost']['MMDVM_bin'] + " -v", shell=True, stdout=subprocess.PIPE).stdout.read().decode("utf-8")) + mmdvmhost_ctime = time.ctime(os.path.getmtime(config['MMDVMHost']['MMDVM_bin'])) + mmdvmhost_buildtime = datetime.datetime.strptime(mmdvmhost_ctime, "%a %b %d %H:%M:%S %Y") + callsign = mmdvmhost_config['General']['Callsign'] + dmrid = mmdvmhost_config['General']['Id'] + txqrg = mmdvmhost_config['Info']['TXFrequency'] + rxqrg = mmdvmhost_config['Info']['RXFrequency'] + await websocket.send("HOSTINFO: mmdvmhost_version:" + mmdvmhost_version + " mmdvmhost_ctime:" + mmdvmhost_ctime + " callsign:" + callsign + " dmrid:" + dmrid + " txqrg:" + txqrg + " rxqrg:" + rxqrg) + await asyncio.sleep(1) while True: cpu_temp = "" temps = psutil.sensors_temperatures() @@ -188,11 +199,7 @@ async def view_log(websocket, path): disk_free = str(disk.free / 2**30) disk_percent_used = str(disk.percent) - mmdvmhost_version = str(subprocess.Popen(config['MMDVMHost']['MMDVM_bin'] + " -v", shell=True, stdout=subprocess.PIPE).stdout.read().decode("utf-8")) - - mmdvmhost_ctime = time.ctime(os.path.getmtime(config['MMDVMHost']['MMDVM_bin'])) - mmdvmhost_buildtime = datetime.datetime.strptime(mmdvmhost_ctime, "%a %b %d %H:%M:%S %Y") - await websocket.send("SYSINFO: cputemp:" + cpu_temp + " cpufrg:" + cpufrq + " cpuusage:" + cpu_usage + " cpu_load1:" + cpu_load1 + " cpu_load5:" + cpu_load5 + " cpu_load15:" + cpu_load15 + " ram_total:" + ram_total + " ram_used:" + ram_used + " ram_free:" + ram_free + " ram_percent_used:" + ram_percent_used + " disk_total:" + disk_total + " disk_used:" + disk_used + " disk_free:" + disk_free + " disk_percent_used:" + disk_percent_used + " mmdvmhost_version:" + mmdvmhost_version + " mmdvmhost_ctime:" + mmdvmhost_ctime) + await websocket.send("SYSINFO: cputemp:" + cpu_temp + " cpufrg:" + cpufrq + " cpuusage:" + cpu_usage + " cpu_load1:" + cpu_load1 + " cpu_load5:" + cpu_load5 + " cpu_load15:" + cpu_load15 + " ram_total:" + ram_total + " ram_used:" + ram_used + " ram_free:" + ram_free + " ram_percent_used:" + ram_percent_used + " disk_total:" + disk_total + " disk_used:" + disk_used + " disk_free:" + disk_free + " disk_percent_used:" + disk_percent_used) await asyncio.sleep(10) except ValueError as e: