// Initialization const UPDATE_INTERVALS = { deviceStatus: 30000, diagnostics: 60000 }; // Core update functions function updateDeviceStatus() { console.log('Fetching device status...'); fetch('/api/status') .then(response => response.json()) .then(data => { console.log('Received status data:', data); Object.entries(data).forEach(([deviceName, status]) => { const deviceElement = document.querySelector(`.device-status[data-device-name="${deviceName}"]`); if (deviceElement) { const indicator = deviceElement.querySelector('.status-indicator'); indicator.className = `status-indicator status-${status ? 'up' : 'down'}`; } }); }); } function updateSystemMetrics() { fetch('/api/metrics') .then(response => response.json()) .then(data => { updateInterfaceStatus(data.interfaces); updatePowerMetrics(data.power); updateSystemHealth(data.health); }); } //Metric updates like interfaces, power, and health function updateDiagnostics() { console.log('Updating diagnostics...'); fetch('/api/diagnostics') .then(response => response.json()) .then(data => { console.log('Received diagnostic data:', data); const diagnosticsPanel = document.querySelector('.diagnostics-content'); diagnosticsPanel.innerHTML = ''; Object.entries(data).forEach(([device, diagnostics]) => { const diagElement = createDiagnosticElement(device, diagnostics); diagnosticsPanel.appendChild(diagElement); }); }); } // Element creation functions function createDiagnosticElement(device, diagnostics) { const element = document.createElement('div'); element.className = `diagnostic-item ${diagnostics.connection_type}-diagnostic`; const content = `