update node
All checks were successful
Meshtastic Map - See local Meshtastic Nodes / deploy (push) Successful in 1s

This commit is contained in:
david 2025-05-01 09:11:23 -07:00
parent 58c350e051
commit bd1a8e5497

View File

@ -15,13 +15,29 @@
var map = L.map('map').setView([0, 0], 2); var map = L.map('map').setView([0, 0], 2);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map); L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);
let myCoords = null; let myCoords = null;
const today = new Date(); const now = Date.now() / 1000; // Current time in seconds
const daysSince = (test) => { const daysSince = (test) => {
if (test) { if (test) {
const diffTime = Math.abs(test.getTime() - today.getTime()); let res = ''
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)); let diff = Math.floor(now - test);
return diffDays; const isFuture = diff < 0;
diff = Math.abs(diff); // Get absolute value for breakdown
const days = Math.floor(diff / (3600 * 24));
const hours = Math.floor((diff % (3600 * 24)) / 3600);
const minutes = Math.floor((diff % 3600) / 60);
const seconds = diff % 60;
if (days) {
res += `${days} days `
}
if (hours) {
res += `${hours} hours `
}
if (minutes) {
res += `${minutes} minutes `
}
return res
} }
return "N/A" return "N/A"
@ -30,7 +46,7 @@
const getNodeDesc = (node) => { const getNodeDesc = (node) => {
const deviceMetrics = node?.deviceMetrics const deviceMetrics = node?.deviceMetrics
const hopsAway = node?.hopsAway ?? 'N/A'; const hopsAway = node?.hopsAway ?? 'N/A';
const lastHeard = node?.lastHeard ? new Date(node?.lastHeard * 1000) : null const lastHeard = node?.lastHeard
const num = node?.num; const num = node?.num;
const position = node?.position; const position = node?.position;
const snr = node?.snr ?? 'N/A'; const snr = node?.snr ?? 'N/A';
@ -38,10 +54,13 @@
const lat = position?.latitude const lat = position?.latitude
return ` return `
${user.id}<br/> ${user.id}<br/>
${user.shortName}<br/> ${user.shortName} - ${user.longName}<br/>
${user.hwModel}<br/>
${hopsAway} hop<br/> ${hopsAway} hop<br/>
Heard: ${daysSince(lastHeard)} ago<br/>
S/N: ${snr} dbM<br/> S/N: ${snr} dbM<br/>
Last Heard: ${daysSince(lastHeard)} days Channel Util ${Math.round(node?.deviceMetrics?.channelUtilization * 100) / 100}%<br/>
Airtime Util ${Math.round(node?.deviceMetrics?.airUtilTx * 100) / 100}%<br/>
` `
} }