getConnection(); $login_url = "http://10.255.254.21/login"; $cookie = __DIR__ . "/cookie.txt"; /* |-------------------------------------------------------------------------- | LOGIN |-------------------------------------------------------------------------- */ $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => $login_url, CURLOPT_POST => true, CURLOPT_POSTFIELDS => http_build_query([ "username" => "root", "password" => "@lokal234" ]), CURLOPT_RETURNTRANSFER => true, CURLOPT_COOKIEJAR => $cookie, CURLOPT_COOKIEFILE => $cookie, ]); $login = curl_exec($ch); echo "

LOGIN

"; echo htmlspecialchars($login); curl_close($ch); /* |-------------------------------------------------------------------------- | PREPARE INSERT |-------------------------------------------------------------------------- */ $stmt = $conn->prepare(" INSERT INTO onu_daily_history ( sn, ont_name, rx_power, voltage, min_rx, max_rx, min_voltage, max_voltage, sample_count, log_date ) VALUES ( :sn, :ont_name, :rx_power, :voltage, :min_rx, :max_rx, :min_voltage, :max_voltage, 1, CURDATE() ) ON DUPLICATE KEY UPDATE ont_name = VALUES(ont_name), rx_power = VALUES(rx_power), voltage = VALUES(voltage), min_rx = LEAST(min_rx, VALUES(rx_power)), max_rx = GREATEST(max_rx, VALUES(rx_power)), min_voltage = LEAST(min_voltage, VALUES(voltage)), max_voltage = GREATEST(max_voltage, VALUES(voltage)), sample_count = sample_count + 1, updated_at = NOW() "); /* |-------------------------------------------------------------------------- | PORT GPON |-------------------------------------------------------------------------- */ $ports = [1, 2]; foreach ($ports as $port_id) { $url = "http://10.255.254.21/gponmgmt?form=optical_onu&port_id=" . $port_id; $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ //ini token akan selalu berubah kalo beda web "x-token: eb5d9d8f66242c63dc353342d3896a95" ] ]); $response = curl_exec($ch); curl_close($ch); $json = json_decode($response, true); echo "

PON {$port_id}

"; if (!isset($json['data']) || empty($json['data'])) { echo "Tidak ada ONU ditemukan
"; continue; } foreach ($json['data'] as $onu) { $sn = trim($onu['ont_sn'] ?? ''); if (empty($sn)) { continue; } $name = trim($onu['ont_name'] ?? ''); $rx = (float) preg_replace( '/[^0-9\.\-]/', '', $onu['receive_power'] ?? '0' ); $voltage = (float) preg_replace( '/[^0-9\.]/', '', $onu['work_voltage'] ?? '0' ); try { $stmt->execute([ ':sn' => $sn, ':ont_name' => $name, ':rx_power' => $rx, ':voltage' => $voltage, ':min_rx' => $rx, ':max_rx' => $rx, ':min_voltage' => $voltage, ':max_voltage' => $voltage ]); echo "SAVE : {$sn} | RX={$rx} | V={$voltage}
"; } catch (PDOException $e) { echo "ERROR {$sn} : " . $e->getMessage() . "
"; } } } echo "
"; echo "SELESAI";