96 lines
2.8 KiB
Plaintext
96 lines
2.8 KiB
Plaintext
<?php
|
|
require_once __DIR__ . '/../config/database.php';
|
|
header('Content-Type: application/json');
|
|
header('Access-Control-Allow-Origin: *');
|
|
|
|
$database = new Database();
|
|
$conn = $database->getConnection();
|
|
|
|
$id = intval($_GET['id'] ?? 0);
|
|
if ($id <= 0) {
|
|
echo json_encode(['success'=>false,'message'=>'ID tidak valid']);
|
|
exit;
|
|
}
|
|
|
|
$stmt = $conn->prepare("SELECT serial_number FROM ftth_items WHERE id=:id");
|
|
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
|
|
$stmt->execute();
|
|
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
|
|
|
if (!$row) {
|
|
echo json_encode(['success'=>false,'message'=>'Data tidak ditemukan']);
|
|
exit;
|
|
}
|
|
|
|
$serialNumber = $row['serial_number'];
|
|
|
|
// Default nilai
|
|
$rxPower = null;
|
|
$pppoeIP = null;
|
|
$voltage = null;
|
|
$uptime = null;
|
|
$inform = null;
|
|
|
|
if ($serialNumber) {
|
|
$query = json_encode(["_id" => $serialNumber]);
|
|
$url = "http://rmtstb.megadataisp.net:7557/devices/?query=" . urlencode($query);
|
|
|
|
$ch = curl_init();
|
|
curl_setopt($ch, CURLOPT_URL, $url);
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
$response = curl_exec($ch);
|
|
curl_close($ch);
|
|
|
|
if ($response) {
|
|
$data = json_decode($response, true);
|
|
|
|
if (isset($data[0])) {
|
|
|
|
// RX Power
|
|
if (isset($data[0]['VirtualParameters']['RXPower']['_value'])) {
|
|
$rxPower = $data[0]['VirtualParameters']['RXPower']['_value'] . " dBm";
|
|
}
|
|
|
|
// PPPoE IP
|
|
if (isset($data[0]['VirtualParameters']['pppoeIP']['_value'])) {
|
|
$pppoeIP = $data[0]['VirtualParameters']['pppoeIP']['_value'];
|
|
}
|
|
|
|
// Voltage (VP)
|
|
if (isset($data[0]['VirtualParameters']['Voltage']['_value'])) {
|
|
$rawVoltage = $data[0]['VirtualParameters']['Voltage']['_value'];
|
|
|
|
// konversi ke Volt (dibagi 10000)
|
|
$voltageConvert = $rawVoltage / 10000;
|
|
|
|
// ambil 2 angka belakang
|
|
$voltage = number_format($voltageConvert, 2) . " V";
|
|
}
|
|
|
|
// Uptime (detik → HH:MM:SS)
|
|
if (isset($data[0]['InternetGatewayDevice']['DeviceInfo']['UpTime']['_value'])) {
|
|
$seconds = (int)$data[0]['InternetGatewayDevice']['DeviceInfo']['UpTime']['_value'];
|
|
$uptime = gmdate("H:i:s", $seconds);
|
|
}
|
|
|
|
// Inform terakhir
|
|
if (isset($data[0]['Events']['Inform'])) {
|
|
$inform = $data[0]['Events']['Inform'];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Output JSON
|
|
echo json_encode([
|
|
'success' => true,
|
|
'data' => [
|
|
'serial_number' => $serialNumber,
|
|
'rx_power' => $rxPower ?? 'Tidak tersedia',
|
|
'pppoe_ip' => $pppoeIP ?? 'Tidak tersedia',
|
|
'voltage' => $voltage ?? 'Tidak tersedia',
|
|
'uptime' => $uptime ?? 'Tidak tersedia',
|
|
'inform' => $inform ?? 'Tidak tersedia'
|
|
]
|
|
]);
|