From fe4d2d7479aa8ae96f59514446d7c8fa454770d5 Mon Sep 17 00:00:00 2001 From: tugsi Date: Tue, 25 Mar 2025 17:40:55 +0100 Subject: [PATCH] Fix rfid.js-Failure with X1-Series, if you wanna send a Spool to AMS: - Uncaught TypeError: Cannot read properties of undefined (reading 'replace') at handleSpoolIn (rfid.js:493:67) at HTMLButtonElement.onclick ((Index):1:1) handleSpoolIn @ rfid.js:493 onclick @ (Index):1 --- html/rfid.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/html/rfid.js b/html/rfid.js index d0d2f07..826adc2 100644 --- a/html/rfid.js +++ b/html/rfid.js @@ -11,7 +11,7 @@ let reconnectTimer = null; // WebSocket Funktionen function startHeartbeat() { if (heartbeatTimer) clearInterval(heartbeatTimer); - + heartbeatTimer = setInterval(() => { // Prüfe ob zu lange keine Antwort kam if (Date.now() - lastHeartbeatResponse > HEARTBEAT_TIMEOUT) { @@ -29,7 +29,7 @@ function startHeartbeat() { updateConnectionStatus(); return; } - + try { // Sende Heartbeat socket.send(JSON.stringify({ type: 'heartbeat' })); @@ -83,7 +83,7 @@ function initWebSocket() { isConnected = false; updateConnectionStatus(); if (heartbeatTimer) clearInterval(heartbeatTimer); - + // Bei Fehler Verbindung schließen und neu aufbauen if (socket) { socket.close(); @@ -109,7 +109,7 @@ function initWebSocket() { const bambuDot = document.getElementById('bambuDot'); const spoolmanDot = document.getElementById('spoolmanDot'); const ramStatus = document.getElementById('ramStatus'); - + if (bambuDot) { bambuDot.className = 'status-dot ' + (data.bambu_connected ? 'online' : 'offline'); // Add click handler only when offline @@ -208,7 +208,7 @@ document.addEventListener('spoolmanError', function(event) { showNotification(`Spoolman Error: ${event.detail.message}`, false); }); -document.addEventListener('filamentSelected', function(event) { +document.addEventListener('filamentSelected', function (event) { updateNfcInfo(); // Zeige Spool-Buttons wenn ein Filament ausgewählt wurde const selectedText = document.getElementById("selected-filament").textContent; @@ -490,7 +490,7 @@ function handleSpoolIn(amsId, trayId) { nozzle_temp_max: parseInt(maxTemp), type: selectedSpool.filament.material, brand: selectedSpool.filament.vendor.name, - tray_info_idx: selectedSpool.filament.extra.bambu_idx.replace(/['"]+/g, '').trim(), + tray_info_idx: selectedSpool.filament.extra.bambu_idx?.replace(/['"]+/g, '').trim() || '', cali_idx: "-1" // Default-Wert setzen } }; @@ -686,4 +686,4 @@ function showNotification(message, isSuccess) { notification.remove(); }, 300); }, 3000); -} +} \ No newline at end of file