운영 이력 History
누수 사고 이력 최근 20건
누수 사고 이력 최근 20건
| # | 센서 | 위치 |
감지 시각 | 복구 시각 | 사진 |
| = (int)$inc['id'] ?> |
= htmlspecialchars($inc['sensor_name']) ?> |
= htmlspecialchars($inc['device_location']) ?> |
= htmlspecialchars($inc['started_at']) ?> |
미복구
= htmlspecialchars($inc['recovered_at']) ?>
|
-
|
| 아직 누수 사고 이력이 없습니다. |
최근 온습도 측정 30건 기준
최근 온습도 측정 30건 기준
| 측정시각 | 센서 | 위치 |
온도 | 습도 | 상태 |
| = htmlspecialchars($row['measured_at']) ?> |
= htmlspecialchars($row['sensor_name']) ?> |
= htmlspecialchars($row['device_location']) ?> |
= htmlspecialchars(metric_display($row['temperature_c'], '°C')) ?> |
= htmlspecialchars(metric_display($row['humidity_percent'], '%')) ?> |
= htmlspecialchars(metric_status_label($status_code)) ?> |
| 아직 온습도 측정 데이터가 없습니다. |
최근 미세먼지 측정 30건 기준
최근 미세먼지 측정 30건 기준
| 측정시각 | 센서 | 위치 |
PM1.0 | PM2.5 | PM10 | 상태 |
| = htmlspecialchars($row['measured_at']) ?> |
= htmlspecialchars($row['sensor_name']) ?> |
= htmlspecialchars($row['device_location']) ?> |
= $row['pm1_0'] !== null ? (int)$row['pm1_0'] . 'µg/m³' : '-' ?> |
= $row['pm2_5'] !== null ? (int)$row['pm2_5'] . 'µg/m³' : '-' ?> |
= $row['pm10'] !== null ? (int)$row['pm10'] . 'µg/m³' : '-' ?> |
= htmlspecialchars(metric_status_label($status_code)) ?> |
| 아직 미세먼지 측정 데이터가 없습니다. |
센서 이벤트 로그 30건 기준
센서 이벤트 로그 30건 기준
| # | 시각 | 센서 |
위치 | 이벤트 |
'장비시작',
'periodic' => '정기보고',
'leak_alert' => '누수감지',
'leak_recovery' => '누수복구',
];
$evt = $row['event_type'];
?>
| = (int)$row['id'] ?> |
= htmlspecialchars($row['sensor_time']) ?> |
= htmlspecialchars($row['sensor_name']) ?> |
= htmlspecialchars($row['device_location']) ?> |
= htmlspecialchars($event_labels[$evt]) ?>
= htmlspecialchars($event_labels[$evt] ?? $evt) ?>
|
| 아직 센서 이벤트가 없습니다. |
SMS 발송 이력 최근 20건
SMS 발송 이력 최근 20건
| # | 발송시각 | 센서 | 수신자 | 상태 | 결과 |
| = (int)$row['id'] ?> |
= htmlspecialchars($row['sent_at']) ?> |
= htmlspecialchars($row['sensor_name']) ?> |
= htmlspecialchars(mask_phone($row['receivers'] ?? '')) ?> |
성공
실패
|
= htmlspecialchars($row['result_message']) ?> |
| 아직 SMS 발송 이력이 없습니다. |
30일 평균 온습도 · 센서별
| 센서 | 위치 | 평균 온도 | 평균 습도 | 측정 수 |
| = htmlspecialchars($ma['name']) ?> |
= htmlspecialchars($ma['location']) ?> |
= $ma['avg_temp'] !== null ? htmlspecialchars(number_format((float)$ma['avg_temp'], 1)) . '°C' : '-' ?> |
= $ma['avg_hum'] !== null ? htmlspecialchars(number_format((float)$ma['avg_hum'], 1)) . '%' : '-' ?> |
= (int)$ma['n'] ?>건 |
30일 SMS 발송 통계
총 발송
= (int)$sms_stats['total'] ?>건
온습도 경보 SMS
= (int)$sms_stats['alert_total'] ?>건
미세먼지 경보 SMS
= (int)($sms_stats['high_pm'] ?? 0) ?>건
누수감지 SMS
= (int)$sms_stats['leak_alert'] ?>건
복구 SMS
= (int)$sms_stats['recovery'] ?>건
오프라인 SMS
= (int)$sms_stats['offline'] ?>건
발송 실패
= (int)$sms_stats['fail'] ?>건
종류별 상세 집계와 월별 분석은 월간 보고에서 확인하세요. 측정 기준 경보 통계(도넛·추이)는 추이·통계 탭에 있습니다.