실시간 상태 Live

온습도 센서

$s): // 미수신 placeholder: 기대 온습도 센서(METRIC_SENSOR_IDS)가 아직 보고 전이면 // '데이터 없음' 카드로 항상 노출한다(기대 센서가 화면에서 조용히 빠지지 않게). if ($s === null): ?>
번 센서 (온습도)
데이터 없음
아직 수신된 온습도 데이터가 없습니다.
임계 경보 > 정상 $status_code = $s['metric_status'] ?? 'normal'; if ($s['is_offline']) { $card_class = 'offline'; $badge_class = 'offline'; $badge_text = $s['is_alerting'] ? ('오프라인 (' . metric_status_label($status_code) . ' 중 끊김)') : '오프라인'; } elseif ($s['is_alerting']) { $card_class = 'alert'; $badge_class = 'alert'; $badge_text = metric_status_label($status_code) . ' 경보!'; } else { $card_class = ''; $badge_class = 'ok'; $badge_text = '정상'; } $temp_chip_class = ''; $hum_chip_class = ''; if ($status_code === 'high_temp') { $temp_chip_class = 'hot'; } elseif ($status_code === 'low_temp') { $temp_chip_class = 'cold'; } elseif ($status_code === 'high_humidity') { $hum_chip_class = 'humid'; } elseif ($status_code === 'low_humidity') { $hum_chip_class = 'dry'; } ?>

/
온도 습도
측정:
측정값 없음
최종확인: (분 전)
$h['state'], 'text' => $h['label'] . ' 여유 ' . $h['margin'] . $h['unit']]; } foreach (['temp', 'hum'] as $vk) { $e = $fc['trend'][$vk]['eta'] ?? null; if ($e) { $chips[] = ['state' => 'near', 'text' => '↗ ~' . (int)$e['min'] . '분 뒤 ' . metric_status_label($e['key'])]; } } foreach ($fc['rate'] as $r) { $chips[] = ['state' => 'near', 'text' => ($r['spike'] === 'rise' ? '급상승 ' : '급락 ') . ($r['per10'] > 0 ? '+' : '') . $r['per10'] . '/10분']; } if (!empty($fc['dew']['risk'])) { $chips[] = ['state' => 'near', 'text' => '결로주의 (마진 ' . $fc['dew']['margin'] . '℃)']; } // 위험한 것 먼저: over > near > safe $chip_rank = ['over' => 0, 'near' => 1, 'safe' => 2]; usort($chips, fn($a, $b) => ($chip_rank[$a['state']] ?? 3) <=> ($chip_rank[$b['state']] ?? 3)); ?>
예보: 임계 여유 충분

아직 수신된 센서 데이터가 없습니다.

누수 감지

$leak_status): // 누수 센서 상태 표시: 오프라인 > 누수 > 정상 우선순위 if ($leak_status === null) { $leak_card_class = ''; $leak_badge_class = 'offline'; $leak_badge_text = '데이터 없음'; } elseif ($leak_status['is_offline']) { $leak_card_class = 'offline'; $leak_badge_class = 'offline'; $leak_badge_text = ((int)($leak_status['is_leak'] ?? 0) === 1) ? '오프라인 (누수 중 끊김)' : '오프라인'; } elseif ((int)($leak_status['is_leak'] ?? 0) === 1) { $leak_card_class = 'leak'; $leak_badge_class = 'leak'; $leak_badge_text = '누수'; } else { $leak_card_class = ''; $leak_badge_class = 'ok'; $leak_badge_text = '정상'; } ?>
번 센서 (누수)
아직 수신된 누수 센서 데이터가 없습니다.

/
최종확인: (분 전)

미복구 누수 사고 · 건

#센서위치감지 시각상태
미복구

사진·복구 시각 등 전체 사고 이력은 이력 조회 탭에서 확인하세요.

채널·오늘 요약

SMS 채널 상태

잔여 건수
마지막 성공 발송
오늘 발송 / 실패
건 / 건

SMS는 유일한 경보 채널입니다. 잔여 건수가 건 이하면 충전하세요.

오늘 경보 요약

오늘 경보 횟수
건
오늘 최근 경보
가동률
% (/ 온라인)

7일·30일 추이는 추이·통계 탭에서 확인하세요.