flowchart LR
DEVICE["Устройство\nWialon Combine"] --> HUB["hub-wialon-combine-v2\nПриём TCP"]
HUB --> K1(["Kafka: coords"])
K1 --> RV2["recent-values-v2\nОпределение дельты\nизменений сенсоров"]
RV2 --> K2(["Kafka:\nchange-sensor-value"])
K2 --> ALARM["alarm-service\nАнализ правил"]
ALARM --> |"Правило\nсработало"| K3(["Kafka:\nactive-alerts"])
ALARM --> |"Запись в БД"| DB[("PostgreSQL\nЖурнал тревог")]
K3 --> ONLINE["online-info-v2\nОнлайн-панель"]
ONLINE --> |"WebSocket"| BROWSER["Браузер\nпользователя"]
subgraph TYPES["Типы тревог (настраиваемые)"]
direction TB
T1["Отключение питания"]
T2["Пересечение запретной\nтерритории"]
T3["Слив топлива"]
T4["Превышение скорости"]
T5["Отклонение температуры"]
T6["Вход/выход из геозоны"]
T7["Моточасы — сброс"]
T8["Пожарный датчик"]
T9["Стоянка с двигателем"]
end