{{ getTopicNameById(setpointKeypadWidget.topic_id) || 'Telecontrol SP' }}
SP (Target) adalah nilai tujuan proses. Masukkan angka, gunakan tombol langkah, lalu tekan KIRIM SETPOINT.
Batas aman mengikuti konfigurasi tag. Nilai di luar rentang akan ditolak.
Setelah dikirim, status masih menunggu feedback. Nilai aktual (PV) hanya berubah setelah PLC/RTU mengirim konfirmasi.
Jangan mengubah SP tanpa memastikan mode kontrol, satuan, dan kondisi pompa/valve aman.
{{ chartTopic.topic_string }}
Enter credentials to access backend
Core: R2F-IOT v2.5 | Paket Diterima: {{ overviewPacketCounter.toLocaleString() }} | Waktu Server: {{ currentTime }}
Konfigurasi stasiun & layout aktif.
Klik komponen apapun di kanvas untuk membuka property inspector, menghubungkan sensor MQTT, atau membuat link drill-down.
Konfigurasi koneksi lapangan: MQTT Brokers, Database MySQL/PostgreSQL/InfluxDB, Modbus PLC, BACnet, & OPC UA.
Tambahkan koneksi MQTT broker, database MySQL / InfluxDB, atau PLC Modbus lapangan untuk mulai akuisisi data sensor.
Pengaturan akuisisi data sensor MQTT & Database, format payload JSON, dan pemetaan GPS.
| NAMA SENSOR | STRING TOPIK / SQL QUERY | FORMAT & GATEWAY | NILAI TERAKHIR (LIVE) | KOORDINAT GIS (GPS) | AKSI |
|---|---|---|---|---|---|
|
{{ topic.name }}
{{ topic.unit }}
Skala: {{ topic.min_value ?? 0 }} ~ {{ topic.max_value ?? 100 }}
|
{{ topic.topic_string }} |
{{ topic.payload_format || 'simple' }}
key: {{ topic.json_key }}
๐ {{ devices.find(d => d.id === topic.device_id)?.name || 'Device #' + topic.device_id }}
|
{{ realtimeData[topic.id] !== undefined ? realtimeData[topic.id] : 'โ' }}
{{ topic.unit }}
|
๐
{{ topic.lat.toFixed(4) }}, {{ topic.lon.toFixed(4) }}
Belum diplot
|
|
| ๐ก Belum ada topik MQTT / SQL sensor terdaftar. Klik "+ Tambah Topik Baru" untuk mulai. | |||||
Kendali Pompa Distribusi | Modulasi Katup PRV | Inverter VFD (Hz) | Dosing Kimia & Flushing
Mode otomatis memantau level tangki IPA. Pompa beroperasi menjaga suplai air baku kontinu.
Injeksi otomatis bahan kimia desinfeksi untuk memastikan baku mutu air minum.
Pengurasan endapan sedimen pipa transmisi. Tombol akan membuka katup selama 30 detik lalu menutup otomatis.
Mode ATS otomatis mengalihkan beban ke genset dalam 8 detik jika terjadi pemadaman PLN.
Kirim perintah manual dengan payload JSON ke target topic.
| WAKTU | TARGET TOPIC | PAYLOAD | STATUS |
|---|---|---|---|
| {{ cmd.time }} | {{ cmd.topic }} |
{{ cmd.payload }}
|
{{ cmd.status }} |
Evaluasi Ambang Batas Sensor | Tingkat Keparahan (Critical, Warning, Info) | Pusat Notifikasi & Sirine
| WAKTU TERPICU | TINGKAT SEVERITY | ATURAN & TOPIK SENSOR | PESAN & NILAI ANOMALI | STATUS | AKSI OPERATOR |
|---|---|---|---|---|---|
|
{{ new Date(alarm.created_at).toLocaleTimeString('id-ID') }}
{{ new Date(alarm.created_at).toLocaleDateString('id-ID') }}
|
โ {{ (alarm.rule?.severity || 'CRITICAL').toUpperCase() }} |
{{ alarm.rule?.name || 'Threshold Rule' }}
{{ alarm.rule?.topic?.topic_string || '-' }}
|
{{ alarm.message }} | {{ alarm.status.toUpperCase() }} | |
|
๐ก๏ธ
Semua Parameter Sensor Berada Dalam Batas Normal Tidak ada alarm atau pelanggaran threshold aktif yang terdeteksi saat ini. |
|||||
| NAMA ATURAN | KONDISI LOGIKA SENSOR | TINGKAT SEVERITY | KANAL NOTIFIKASI | AKSI |
|---|---|---|---|---|
|
โ ๏ธ
{{ rule.name }}
{{ rule.message || 'Peringatan ambang batas terlampaui' }}
|
{{ rule.topic?.topic_string || 'topic_sensor' }}
{{ rule.condition }}
{{ rule.threshold }}
|
{{ (rule.severity || 'WARNING').toUpperCase() }} |
๐ฑ Telegram
๐ Sirine UI
|
|
| Tidak ada aturan alarm yang sesuai dengan pencarian filter. | ||||
Pilih unit untuk ditampilkan, diedit tata letaknya, diduplikasi, atau diperbaiki.
| Unit / Nama Dashboard | Kode Slug | Ukuran Kanvas | Status | Aksi Operasi |
|---|---|---|---|---|
|
{{ d.icon || '๐ง' }}
{{ d.name }}
{{ d.description || 'Tidak ada deskripsi' }}
|
{{ d.slug }} | {{ d.canvas_width || 1400 }} ร {{ d.canvas_height || 700 }} px | โ SEDANG AKTIF DEFAULT Tersedia |
|
Tambahkan stasiun pengolahan atau unit SCADA baru.
๐ก Seluruh posisi tangki, pipa, valve, dan pompa akan diduplikasi otomatis.
{{ paletteTooltip.data.desc }}
Standar Baku Mutu Permenkes No. 2 Tahun 2023 & Titik Sampling Telemetri
Konfigurasi Sensor Inflow, Outflow, Aset Pipa & Matriks Neraca Air
Konfigurasi Parameter Sensor Daya, Debit, Jam Operasi & Tarif Operasional
Pedoman Teknis Neraca Air, Baku Mutu Permenkes & Audit Energi Pompa
Digunakan untuk menghitung persentase air bersih yang hilang dalam sistem pipa transmisi dan distribusi akibat kebocoran fisik (pipa pecah) atau kebocoran non-fisik (meteran rusak, pencurian air).
Menunjukkan efisiensi mekanik dan elektrik pompa. Nilai SEC yang semakin kecil menandakan pompa sangat hemat daya dalam memproduksi setiap kubik air.
Pengukuran debit aliran saat jam malam (02:00 - 04:00) ketika konsumsi domestik warga minim. Aliran konstan yang terukur di jam ini menjadi indikator dasar kebocoran fisik bawah tanah (*background leakage*).
Nilai pH netral mencegah korosi pipa besi dan iritasi kesehatan.
Tingkat kejernihan air setelah melalui proses sedimentasi & filtrasi pasir.
Dosis kaporit/klorin residu untuk membunuh bakteri Coliform di sepanjang pipa distribusi.
Total padatan mineral terlarut untuk rasa air yang segar dan sehat.
Modul Custom Studio memungkinkan Anda menyusun lembar laporan cetak resmi A4 sendiri tanpa perlu merubah kode sistem.
Kelola akun operator, hak akses unit multi-dashboard, dan pantau security audit trail.
TOTAL AKUN
OPERATOR LAPANGAN
VIEWER / DIREKSI
SUPER ADMIN
Cadangkan seluruh data Multi-Dashboard, Layout Kanvas HMI, Binding Topik, Rule Alarm, dan Akun User dalam format JSON portabel.
| PENGGUNA | USERNAME | ROLE / PERAN | UNIT DASHBOARD DIIZINKAN | STATUS AKUN | LOGIN TERAKHIR | AKSI |
|---|---|---|---|---|---|---|
|
{{ u.username.slice(0, 2).toUpperCase() }}
{{ u.full_name || u.username }}
ID #{{ u.id }}
|
{{ u.username }} | {{ getUserRoleName(u.role) }} | {{ getAssignedDashboardsLabel(u.assigned_dashboards) }} | {{ u.last_login ? new Date(u.last_login).toLocaleString('id-ID') : 'Belum pernah' }} |
|
| Waktu | Pengguna | Role | Aksi (Event) | Detail Aktivitas | IP Address |
|---|---|---|---|---|---|
| {{ new Date(log.created_at || log.timestamp).toLocaleString('id-ID') }} | {{ log.username }} | {{ log.role }} | {{ log.action }} | {{ log.details }} | {{ log.ip_address || '127.0.0.1' }} |
Masukkan password baru untuk pengguna {{ resetPasswordUser?.username }}:
Engine Database SCADA | Kebijakan Retensi Data | Multi-Channel Alert (Telegram & WhatsApp) | Audit Trail Operasional
Storage mode, sampling interval, & batch write.
Abaikan fluktuasi noise sensor di bawah nilai % deadband untuk efisiensi penyimpanan.
Data lifecycle, vacuum memory, & purger.
Notifikasi insiden kritis & PDF harian.
Catatan otentikasi login, perubahan layout, telecontrol sakelar, dan modifikasi server.
| WAKTU | PENGGUNA | PERAN (ROLE) | AKSI | RINCIAN AKTIVITAS | IP ADDRESS |
|---|---|---|---|---|---|
| {{ new Date(log.created_at || log.timestamp).toLocaleString('id-ID') }} | {{ log.username }} | {{ log.role }} | {{ log.action }} | {{ log.details }} | {{ log.ip_address || '127.0.0.1' }} |
| Tidak ada catatan jejak audit yang sesuai filter. | |||||
Riwayat Alarm Ambang Batas | Downtime & Diskoneksi RTU | Analisis Durasi & Resolusi | Pembaruan: {{ currentTime }}
| PERANGKAT (GATEWAY) | WAKTU TERPUTUS | DURASI | STATUS |
|---|---|---|---|
|
๐
{{ getDeviceNameById(log.device_id) }}
ID #{{ log.device_id }}
โข
{{ getDeviceProtocolById(log.device_id) }}
|
{{ new Date(log.started_at).toLocaleTimeString('id-ID') }}
{{ new Date(log.started_at).toLocaleDateString('id-ID') }}
|
{{ formatLogDuration(log.duration) }} Sedang Terputus | โ ONGOING RESOLVED |
| Tidak ada catatan kejadian downtime yang sesuai filter. | |||
| WAKTU INSIDEN | ATURAN ALARM (RULE) | PESAN & NILAI TERBACA | STATUS |
|---|---|---|---|
|
{{ new Date(alarm.created_at).toLocaleTimeString('id-ID') }}
{{ new Date(alarm.created_at).toLocaleDateString('id-ID') }}
|
โ ๏ธ
{{ alarm.rule?.name || 'Threshold Rule' }}
|
{{ alarm.message }} | โ AKTIF RESOLVED |
| Tidak ada riwayat alarm yang sesuai filter. | |||
Select a device to enable topic discovery and browsing.
๐ก Digunakan untuk kalibrasi jarum Gauge 3D, persentase level tangki, dan grafik tren realtime.
๐ก Koordinat digunakan untuk memplot sensor/pipa pada modul GIS Distribution Map.
{{ explorerDevice.host }}:{{ explorerDevice.port }}
Listening to {{ explorerDevice?.host }}:{{ explorerDevice?.port }}
Topics will appear here dynamically as they arrive.
Kelola seluruh stasiun pengolahan, unit distribusi, diagram P&ID, dan tata letak HMI di satu tempat.
{{ d.description || 'Tidak ada deskripsi stasiun.' }}
Peta Jaringan Pipa PDAM | Telemetri Tekanan & Debit | Zonasi DMA | GPS Live Tracking
{{ st.description }}
{{ reportHeader.division }}
{{ reportHeader.address }}
Kategori Aktif: {{ reportActiveTab.toUpperCase() }} | Periode: {{ reportPeriodLabel }} | Status: ๐ข Terverifikasi Realtime
Pembagian volume air sistem menurut Permen PUPR: Konsumsi Resmi vs Kehilangan Fisik / Non-Fisik.
Monitoring debit inlet, outlet, kehilangan air (loss), dan indikasi pipa bocor.
|
ZONA DMA
i
๐ District Metered Area (DMA)
Wilayah zonasi jaringan pipa distribusi yang diisolasi secara hidrolis untuk mengukur debit masuk, keluar, dan mendeteksi titik kebocoran pipa bawah tanah.
|
DEBIT MASUK (INFLOW)
i
๐ฅ Debit Inflow (Q-In)
Total volume air bersih yang dialirkan masuk ke gerbang inlet zona DMA dari transmisi utama (satuan: mยณ/h).
|
DEBIT KELUAR (OUTFLOW)
i
๐ค Debit Outflow (Q-Out)
Volume air bersih yang terdistribusi dan terhitung ke meteran pelanggan / outlet sub-zona (satuan: mยณ/h).
|
SELISIH / LOSS
i
โ ๏ธ Water Loss (Kehilangan Air)
Volume air yang hilang dalam zona: Loss = Inflow - Outflow.
|
NRW (%)
i
๐งฎ Non-Revenue Water (%)
((Inflow - Outflow) / Inflow) * 100%
Target Nasional PUPR: < 20% (Kategori Baik).
|
STATUS KEBOCORAN
i
๐ก๏ธ Kategori Tingkat Bahaya
๐ข Normal: NRW < 15%
๐ก Waspada: NRW 15% - 25% ๐ด Kritis (Perlu Tim Akustik): NRW > 25% |
CATATAN TEKNIS & REKOMENDASI |
|---|---|---|---|---|---|---|
|
{{ dma.sourceMode === 'live' ? '๐ข' : '๐' }}
{{ dma.name }}
โ LIVE SENSOR
MANUAL
{{ dma.pipeLengthKm || 15 }} km Pipa
ยท
{{ (dma.totalConnections || 4000).toLocaleString('id-ID') }} SR
|
{{ getDmaInflow(dma).toLocaleString('id-ID') }} mยณ/h
In: {{ getTopicNameById(dma.inflowTopicId) }}
|
{{ getDmaOutflow(dma).toLocaleString('id-ID') }} mยณ/h
Out: {{ getTopicNameById(dma.outflowTopicId) }}
|
{{ getDmaLoss(dma).toLocaleString('id-ID') }} mยณ/h | {{ getDmaNrw(dma) }}% | {{ getDmaStatus(dma).label }} |
{{ dma.notes || 'โ' }}
|
Audit parameter kualitas air minum, titik sampling telemetri, dan kepatuhan standar baku mutu.
|
PARAMETER UJI
i
๐งช Parameter Fisika-Kimia
Parameter mutu kualitas air minum wajib berdasarkan Permenkes RI No. 2 Tahun 2023 (pH, Kekeruhan, Sisa Khlor, TDS).
|
LOKASI TITIK SAMPLING
i
๐ Titik Sensor Online
Posisi sensor telemetri air (Intake Air Baku, Outlet Sedimentasi, Reservoir, atau Titik Distribusi Jauh).
|
HASIL UKUR RATA-RATA
i
๐ Nilai Rata-rata 24 Jam
Nilai rata-rata pembacaan sensor berkala selama periode aktif.
|
MIN - MAX HARIAN |
BATAS AMBANG PERMENKES
i
๐ Batas Regulasi Nasional
Batas toleransi maksimal/minimal yang diizinkan untuk air layak konsumsi masyarakat.
|
STATUS KELAYAKAN |
|---|---|---|---|---|---|
|
{{ wq.icon || '๐งช' }}
{{ wq.param }}
โ LIVE SENSOR
UJI LAB
Tag: {{ getTopicNameById(wq.topicId) }}
|
{{ wq.location || 'Stasiun Pengolahan' }} | {{ Number(getWqAvg(wq)).toFixed(2) }} {{ wq.unit }} | {{ Number(getWqMin(wq)).toFixed(2) }} ~ {{ Number(getWqMax(wq)).toFixed(2) }} {{ wq.unit }} | {{ wq.thresholdLabel || wq.threshold || 'โ' }} |
{{ getWqStatus(wq).label }}
|
Monitoring konsumsi daya kWh/mยณ air, audit efisiensi hidrolis, dan estimasi biaya operasional PLN real-time.
| NAMA POMPA / STASIUN |
DAYA LISTRIK (kW)
i
โก Daya Aktif Pompa (kW)
Beban konsumsi listrik aktual motor pompa yang terukur sensor power meter SCADA: P = โ3 ร V ร I ร cos ฯ / 1000.
|
DEBIT ALIRAN (mยณ/h)
i
๐ Debit Output Pompa (mยณ/h)
Kapasitas pemompaan air bersih yang dialirkan ke pipa transmisi/reservoir per jam.
|
SEC (kWh / mยณ)
i
๐งฎ Specific Energy Consumption (SEC)
SEC = Daya Listrik (kW) / Debit (mยณ/h)
Berapa kWh listrik yang dibutuhkan untuk memompa 1 mยณ air.
๐ Optimal PDAM: 0.30 - 0.42 kWh/mยณ |
BIAYA LISTRIK / mยณ
i
๐ฐ Biaya Listrik per mยณ
SEC ร Tarif Listrik PLN (Rp/kWh)
Biaya rupiah energi yang dikeluarkan untuk memproduksi setiap 1 mยณ air.
|
KONSUMSI HARIAN
i
๐
Total Energi Harian
Akumulasi total konsumsi kilowatt-hour (kWh) pompa selama 24 jam operasional penuh.
|
BIAYA HARIAN (IDR)
i
๐ต Estimasi Tagihan PLN Harian
Total Rupiah = Total kWh Harian ร Rp 1.444,70 (Tarif Golongan I-3/TM).
|
HEALTH INDEX
i
๐ฉบ Indeks Kesehatan Pompa
Kombinasi getaran mekanik (*vibration*), suhu bearing, dan deviasi efisiensi hidrolis pompa.
๐ข >90%: Prima | ๐ก 80-90%: Perlu Pelumasan | ๐ด <80%: Jadwalkan Overhaul |
|---|---|---|---|---|---|---|---|
|
{{ pump.sourceMode === 'live' ? '๐ข' : 'โก' }}
{{ pump.name }}
โ LIVE SENSOR
MANUAL
{{ pump.station || 'Stasiun Pompa' }}
ยท
{{ pump.operatingHours || 24 }} Jam/Hari
|
{{ getPumpKw(pump).toFixed(1) }} kW
Tag: {{ getTopicNameById(pump.powerTopicId) }}
|
{{ getPumpFlow(pump).toFixed(1) }} mยณ/h
Tag: {{ getTopicNameById(pump.flowTopicId) }}
|
{{ getPumpSec(pump) }} kWh/mยณ | Rp {{ getPumpCostPerM3(pump) }} / mยณ | {{ getPumpDailyKwh(pump) }} kWh | Rp {{ getPumpDailyCost(pump).toLocaleString('id-ID') }} |
{{ getPumpHealth(pump).label }}
|
| WAKTU KEJADIAN | LOKASI / STASIUN | TINGKAT (SEVERITY) | PESAN ALARM & DESKRIPSI | DURASI DOWNTIME | STATUS RESOLUSI |
|---|---|---|---|---|---|
| {{ alm.time }} | {{ alm.location }} | {{ alm.severity }} | {{ alm.message }} | {{ alm.duration }} | {{ alm.status }} |
Susun tata letak, pilih sensor, dan simpan template dokumen resmi Anda sendiri.
{{ reportHeader.division }}
{{ reportHeader.address }}
{{ curTemplate.subtitle || 'Unit Pelaksana Teknis SCADA & Otomasi Telemetri' }} | Periode: {{ reportPeriodLabel }}
| JAM LOG | {{ getTopicNameById(tId) }} ({{ getTopicUnitById(tId) }}) | STATUS |
|---|---|---|
| {{ h }} | {{ formatTopicVal(realtimeData[tId]) }} | NORMAL |
{{ curTemplate.notesContent || 'Semua parameter terpantau stabil dalam batas kendali operasional.' }}
{{ reportSignatures.col1.role || 'Dibuat Oleh,' }}
{{ reportSignatures.col1.title }}
{{ reportSignatures.col1.nip }}
{{ reportSignatures.col2.role || 'Diperiksa Oleh,' }}
{{ reportSignatures.col2.title }}
{{ reportSignatures.col2.nip }}
{{ reportSignatures.col3.role || 'Disetujui Oleh,' }}
{{ reportSignatures.col3.title }}
{{ reportSignatures.col3.nip }}
{{ reportSignatures.col1.role || 'Dibuat Oleh,' }}
{{ reportSignatures.col1.title }}
{{ reportSignatures.col1.nip }}
{{ reportSignatures.col2.role || 'Diperiksa Oleh,' }}
{{ reportSignatures.col2.title }}
{{ reportSignatures.col2.nip }}
{{ reportSignatures.col3.role || 'Disetujui Oleh,' }}
{{ reportSignatures.col3.title }}
{{ reportSignatures.col3.nip }}
File logo disimpan permanen di server backend & database PostgreSQL.
{{ reportSignatures.col1.role }}
{{ reportSignatures.col1.title }}
{{ reportSignatures.col1.nip }}
{{ reportSignatures.col2.role }}
{{ reportSignatures.col2.title }}
{{ reportSignatures.col2.nip }}
{{ reportSignatures.col3.role }}
{{ reportSignatures.col3.title }}
{{ reportSignatures.col3.nip }}