From 6e4c4fe37190f7279a51e02bcd3dccef6d4fb7c1 Mon Sep 17 00:00:00 2001 From: Alice Sedgwick Date: Fri, 29 Nov 2024 16:04:26 -0500 Subject: [PATCH] working on getting information for connections upstream, camera devices, and connected devices --- ui/general/health.js | 72 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) diff --git a/ui/general/health.js b/ui/general/health.js index ff6e2f4..71cb195 100644 --- a/ui/general/health.js +++ b/ui/general/health.js @@ -2,6 +2,10 @@ const droneName = document.getElementById("name"); const address = document.getElementById("address"); const container = document.getElementById("container"); +const upstream = document.getElementById("upstream"); +const ssid = document.getElementById("ssid"); +const camera = document.getElementById("camera"); +const devices = document.getElementById("devices"); // Load page + drone settings document.onload = initPage(); @@ -14,17 +18,22 @@ function initPage() { const command1 = "hostname" const command2 = "hostname -I" const command3 = "docker container ls" - const command4 = "" + const command4 = "ping google.com" + const command5 = "iwgetid -r" + const command6 = "ls /dev/" + cockpit.spawn(["bash", "-c", command1]) .then((data) => { droneName.innerHTML = data.split(" ")[0]; }) .catch((error) => console.log(error)); + cockpit.spawn(["bash", "-c", command2]) .then((data) => { address.innerHTML = data.split(" ")[0]; }) .catch((error) => console.log(error)); + cockpit.spawn(["bash", "-c", command3]) .then((data) => { const datalist = data.split("\n"); @@ -40,4 +49,65 @@ function initPage() { } }) .catch((error) => console.log(error)); + + cockpit.spawn(["bash", "-c", command4]) + .then((data) => { + const datalist = data.split(" "); + if (datalist[0] == "ping:"){ + upstream.innerHTML = "Connection LIMITED - No upstream"; + } else if (datalist[0] == "PING") { + upstream.innerHTML = "Connection OK" + } else { + upstream.innerHTML = "Connection DOWN" + } + }) + .catch((error) => console.log(error)); + + cockpit.spawn(["bash", "-c", command5]) + .then((data) => { + if (data.length == 0) { + ssid.innerHTML = "None"; + } else { + ssid.innerHTML = data + } + }) + .catch((error) => console.log(error)); + + cockpit.spawn(["bash", "-c", command6]) + .then((data) => { + const datalist = data.split(" "); + count = 0 + for (let i = 0; i < datalist.length - 2; i++) { + if (datalist[i].contains(video)){ + if (count == 0) { + camera.innerHTML += "/dev/" + datalist[i]; + count++ + } else { + camera.innerHTML += "
"; + camera.innerHTML += "/dev/" + datalist[i]; + count++ + } + } + } + if (count == 0) { + camera.innerHTML = "No Video Devices"; + } + }) + .catch((error) => console.log(error)); + + cockpit.spawn(["bash", "-c", command7]) + .then((data) => { + const datalist = data.split("\n"); + if (datalist[1].split(" ")[0] == ""){ + container.className = "p-3 mb-2 bg-danger text-white"; + container.innerHTML += "Error: No Docker Containers to Display"; + } else { + for (let i = 0; i < datalist.length - 2; i++) { + container.innerHTML += datalist[i + 1].split(" ")[0]; + container.innerHTML += "
"; + } + container.innerHTML += datalist[datalist.length - 1].split(" ")[0]; + } + }) + .catch((error) => console.log(error)); } \ No newline at end of file