prepare(" UPDATE contadores SET note = ? WHERE uid = ? "); $stmt->execute([$note, $uid]); header("Location: console.php"); exit; } // ===================================================== // REMOVER // ===================================================== if (isset($_GET['remove'])) { $uid = $_GET['remove']; $pdo->prepare(" DELETE FROM contadores WHERE uid = ? ")->execute([$uid]); header("Location: console.php"); exit; } // ===================================================== // BLOQUEAR / DESBLOQUEAR // ===================================================== if (isset($_GET['toggle'])) { $uid = $_GET['toggle']; $pdo->prepare(" UPDATE contadores SET blocked = 1 - blocked WHERE uid = ? ")->execute([$uid]); header("Location: console.php"); exit; } // ===================================================== // SORT // ===================================================== $sort = $_GET['sort'] ?? 'state'; $orderSql = ($sort === 'uid') ? "ORDER BY uid ASC" : "ORDER BY online DESC, uid ASC"; // ===================================================== // QUERY // ===================================================== $sql = " SELECT uid, note, entradas, saidas, online, blocked, current_broker, rssi, heap, uptime, last_seen, TIMESTAMPDIFF(SECOND, last_seen, NOW()) AS ago FROM contadores $orderSql "; $stmt = $pdo->query($sql); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); // ===================================================== // TOTAIS // ===================================================== $sumEntradas = 0; $sumSaidas = 0; $onlineCount = 0; $offlineCount = 0; foreach ($rows as $r) { $sumEntradas += (int)$r['entradas']; $sumSaidas += (int)$r['saidas']; if ((int)$r['online'] === 1) { $onlineCount++; } else { $offlineCount++; } } ?> MQTT Swarm Console

🌋 MQTT SWARM CONSOLE

🟢 ONLINE

🔴 OFFLINE

💰 ENTRADAS

💸 SAÍDAS
BLOQUEADO '; } elseif ($online) { $state = ' ONLINE '; } else { $state = ' OFFLINE '; } if (($r['current_broker'] ?? '') === 'recovery') { $broker = ' RECOVERY '; } else { $broker = ' PRIMARY '; } $ago = (int)$r['ago']; $lastSeen = ($ago < 60) ? "{$ago}s" : round($ago / 60) . "m"; $pulseClass = ($ago <= 2 && $online) ? "pulse-cell" : ""; ?>
UID NOTA ENTRADAS SAÍDAS ESTADO BROKER RSSI HEAP UPTIME ÚLTIMO AÇÕES