How n0ngxarm/aquacmd works
AQUA COMMAND is primarily a read-only industrial monitoring desktop: operators configure/enroll sources, collect OPC UA observations, evaluate tasks, retain evidence and outbox state, then authorize notification delivery. The repository also contains a separate PWA outage and water-quality notification CLI, plus a LAN service. Connections below follow README statements and SOURCE INDEX references; unsampled subsystem links are omitted where their callers are not shown.
Main entry points: app.py GTK desktop · opcua_polling_engine.py OPC UA polling · monitor_service.py Outage monitoring · aqua-service.js LAN service
Components 25
Monitoring desktop
- GTK desktop
aqua-command-desktop/desktop/app.py - Monitoring views
aqua-command-desktop/desktop/f1_overview.py - Operator workspace
aqua-command-desktop/desktop/workspace.py - Observability service
aqua-command-desktop/desktop/observability/service.py
Collection and evidence
- OPC UA polling
aqua-command-desktop/desktop/opcua_polling_engine.py - Tag mapping
aqua-command-desktop/desktop/opcua_mapping.py - OPC UA trust
aqua-command-desktop/desktop/opcua_pki.py - Observable state
aqua-command-desktop/desktop/opcua_store.py - Evidence and outbox
aqua-command-desktop/desktop/opcua_storage.py
Tasks and notifications
- Task evaluation
aqua-command-desktop/desktop/task_engine.py - Task interface
aqua-command-desktop/desktop/f2_tasks.py - Notification delivery
aqua-command-desktop/desktop/notification_worker.py
LAN service
- LAN service
aqua-command-desktop/backend/bin/aqua-service.js - LAN operations
aqua-command-desktop/backend/src/lan/services.js - LAN protocol
aqua-command-desktop/backend/src/lan/protocol.js - LAN dashboard
aqua-command-desktop/backend/src/lan/dashboard.js - LAN event store
aqua-command-desktop/backend/src/lan/store.js
PWA notifications
- PWA CLI
main.py - Outage monitoring
src/monitor_service.py - PWA data client
src/pwa_client.py - Alert database
src/database.py - Telegram delivery
src/telegram_notifier.py - AQUA bridge
src/aqua_bridge.py
Other components
- Operator
- Notification service
Connections 28
- Operator → GTK desktop: operates
- GTK desktop → OPC UA polling: starts polling
aqua-command-desktop/desktop/app.py - GTK desktop → Task evaluation: configures tasks
aqua-command-desktop/desktop/app.py - GTK desktop → Evidence and outbox: uses storage
aqua-command-desktop/desktop/app.py - GTK desktop → Monitoring views: opens view
aqua-command-desktop/desktop/app.py - GTK desktop → Task interface: opens view
aqua-command-desktop/desktop/app.py - GTK desktop → Operator workspace: uses workspace
aqua-command-desktop/desktop/app.py - GTK desktop → Observability service: uses service
aqua-command-desktop/desktop/app.py - OPC UA polling → Tag mapping: uses mapping
aqua-command-desktop/desktop/opcua_polling_engine.py - OPC UA polling → OPC UA trust: checks trust
aqua-command-desktop/desktop/opcua_polling_engine.py - OPC UA polling → Observable state: updates state
aqua-command-desktop/desktop/opcua_polling_engine.py - OPC UA polling → Evidence and outbox: persists observations
aqua-command-desktop/desktop/opcua_polling_engine.py - OPC UA polling → Task evaluation: evaluates readings
aqua-command-desktop/desktop/opcua_polling_engine.py - Task evaluation → Evidence and outbox: records events
aqua-command-desktop/desktop/task_engine.py - Operator → PWA CLI: runs commands
- PWA CLI → Outage monitoring: starts monitor
main.py - Outage monitoring → PWA data client: fetches data
src/monitor_service.py - Outage monitoring → Alert database: records alerts
src/monitor_service.py - Outage monitoring → Telegram delivery: dispatches alerts
src/monitor_service.py - Outage monitoring → AQUA bridge: pushes incidents
src/monitor_service.py - PWA data client → Operator: queries source
src/pwa_client.py - Telegram delivery → Notification service: sends messages
src/telegram_notifier.py - LAN service → LAN operations: starts services
aqua-command-desktop/backend/bin/aqua-service.js - LAN service → LAN dashboard: starts dashboard
aqua-command-desktop/backend/bin/aqua-service.js - LAN service → LAN protocol: uses protocol
aqua-command-desktop/backend/bin/aqua-service.js - LAN operations → LAN protocol: authenticates requests
aqua-command-desktop/backend/src/lan/services.js - LAN dashboard → LAN protocol: uses protocol
aqua-command-desktop/backend/src/lan/dashboard.js - LAN dashboard → LAN event store: reads and writes
aqua-command-desktop/backend/src/lan/dashboard.js