Категории
Веб-интерфейс для просмотра журнала срабатываний правил автоматизации.
15.02.2026 | коды из категории: IOT умный дом
Назначение
Веб-интерфейс для просмотра журнала срабатываний правил автоматизации.
Функции
- Отображает последние 100 записей из таблицы
automation_log. - Показывает: время срабатывания, имя правила, топик, payload и статус («Выполнено» или «Пропущено»).
- Визуально выделяет пропущенные действия (серый/розовый фон).
- Требует авторизации — доступен только из админки.
- Содержит ссылку «Назад» в основную панель управления датчиками.
<?php
session_start();
if (!isset($_SESSION['iot_admin'])) {
header('Location: /admin/sensors.php');
exit;
}
$pdo = new PDO("mysql:host=127.0.0.1;dbname=iot_db;charset=utf8mb4", "iot_user", "123456");
$stmt = $pdo->query("
SELECT * FROM automation_log
ORDER BY triggered_at DESC
LIMIT 100
");
$logs = $stmt->fetchAll();
?>
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>Журнал автоматизаций</title></head>
<body>
<h1>Журнал срабатываний</h1>
<table border="1" style="width:100%; border-collapse:collapse;">
<tr>
<th>Время</th>
<th>Правило</th>
<th>Топик</th>
<th>Payload</th>
<th>Статус</th>
</tr>
<?php foreach ($logs as $log): ?>
<tr style="<?= $log['skipped'] ? 'background:#ffebee;' : '' ?>">
<td><?= htmlspecialchars($log['triggered_at']) ?></td>
<td><?= htmlspecialchars($log['rule_name']) ?></td>
<td><?= htmlspecialchars($log['action_topic']) ?></td>
<td><?= htmlspecialchars($log['action_payload']) ?></td>
<td>
<?= $log['skipped'] ? 'Пропущено' : 'Выполнено' ?>
<?php if ($log['reason']): ?>
<br><small><?= htmlspecialchars($log['reason']) ?></small>
<?php endif; ?>
</td>
</tr>
<?php endforeach; ?>
</table>
<br>
<a href="/admin/sensors.php">← Назад</a>
</body>
</html>