Skip to main content
Dapatkan dukungan yang Anda butuhkan untuk sukses dengan Mertani. Jelajahi pusat bantuan kami, kontak kami, atau telusuri dokumentasi kami untuk menemukan jawaban dengan cepat.

Open API

API Mertani memungkinkan integrasi data IoT dari perangkat di lapangan

Support Mertani

Ajukan pertanyaan langsung kepada support Mertani

Frequently Asked Questions

Find answers to common questions about Mertani dashboard app.

1. Istilah & Definisi

Istilah teknis yang sering muncul di dokumentasi Mertani dijelaskan di bawah ini dalam bahasa sederhana.
IoT (Internet of Things) adalah jaringan perangkat fisik yang terhubung ke internet dan dapat mengumpulkan serta mengirim data secara otomatis. Di Mertani, perangkat IoT adalah sensor dan data logger yang dipasang di lapangan untuk memantau kondisi lingkungan seperti curah hujan, tinggi muka air, kualitas udara, dan kualitas air.
  • Device (perangkat) adalah unit utama yang terpasang di lapangan. Device bisa berupa stasiun cuaca, pencatat hujan, atau pencatat ketinggian air. Satu device memiliki satu atau lebih sensor.
  • Sensor adalah komponen di dalam device yang membaca nilai spesifik, misalnya suhu, curah hujan, atau tinggi muka air. Satu device bisa memiliki banyak sensor sekaligus.
  • Data Logger adalah modul pengirim data yang ada di dalam device. Data logger mengumpulkan pembacaan dari semua sensor lalu mengirimkannya ke server Mertani melalui jaringan (GSM, LoRa, atau internet).
Role adalah kategori hak akses yang menentukan apa yang bisa dilakukan oleh seorang pengguna di dalam sistem. Misalnya, role “Admin” memiliki akses penuh ke semua fitur, sementara role “Operator” mungkin hanya bisa melihat data dan mengunduh laporan. Satu pengguna bisa diberikan satu role, dan perubahan permission pada role akan berlaku untuk semua pengguna dalam role tersebut.
Permission adalah izin spesifik yang menentukan tindakan apa saja yang boleh dilakukan oleh pengguna dengan role tertentu. Permission dikelola per modul dan mencakup empat jenis aksi utama: View (melihat), Create (menambah), Update (mengubah), dan Delete (menghapus). Permission dikonfigurasi di level backend, sehingga meskipun tombol terlihat di UI, aksi tetap akan ditolak jika permission tidak diaktifkan.
Raw Data adalah nilai mentah yang dibaca langsung oleh sensor, tanpa pengolahan atau koreksi apapun. Raw Data disimpan sebagai referensi dan tidak berubah meskipun kalibrasi sudah dikonfigurasi. Raw Data berguna untuk debugging dan validasi teknis.
Synthetic Data atau Sintetik Data adalah nilai hasil kalibrasi dari Raw Data. Sistem menggunakan Synthetic Data untuk menampilkan data di dashboard, grafik, tabel, laporan, dan fitur export. Dengan kata lain, apa yang Anda lihat di tampilan monitoring pada umumnya adalah Synthetic Data, bukan Raw Data.
Kalibrasi adalah proses menyesuaikan pembacaan sensor agar sesuai dengan nilai referensi yang akurat di lapangan. Misalnya, jika sensor membaca 120 cm tetapi pengukuran manual menunjukkan 80 cm, kalibrasi diperlukan untuk mengoreksi selisih tersebut. Hasil kalibrasi menghasilkan Synthetic Data yang digunakan di seluruh sistem. Kalibrasi hanya berlaku untuk data baru yang dikirim setelah konfigurasi disimpan, data historis tidak akan berubah.
Dataset adalah tabel referensi dalam format CSV yang digunakan untuk kalibrasi berbasis lookup. Dataset diperlukan ketika hubungan antara nilai sensor dan nilai sebenarnya tidak linear, sehingga tidak bisa diwakili dengan rumus matematika sederhana. Contohnya adalah konversi tinggi muka air menjadi luas penampang basah menggunakan tabel referensi.
Virtual Sensor atau sensor turunan adalah sensor yang tidak secara fisik ada di perangkat, tetapi nilainya dihitung dari kombinasi sensor lain menggunakan rumus kalibrasi. Contohnya adalah sensor debit yang dihitung dari nilai kecepatan aliran dikalikan luas penampang. Virtual sensor tidak bisa digunakan kembali sebagai referensi untuk kalibrasi sensor lain.
Tag adalah label yang bisa ditempel pada device untuk memudahkan pengelompokan dan pencarian. Tag bersifat fleksibel dan bisa dikonfigurasi sendiri oleh pengguna, misalnya berdasarkan lokasi (Site-A), fungsi (Suhu), atau proyek tertentu. Satu device bisa memiliki lebih dari satu tag, dan satu tag bisa digunakan untuk banyak device.
Threshold (ambang batas) adalah nilai batas yang dikonfigurasi untuk memicu peringatan. Warning Detection adalah fitur yang secara otomatis memantau nilai sensor dan memberikan peringatan ketika nilai melampaui threshold yang telah ditentukan. Misalnya, peringatan “Awas” akan muncul jika tinggi muka air melebihi batas siaga. Threshold dikonfigurasi melalui menu Pengaturan Level Status di dashboard.
  • On-Premise adalah model layanan di mana server dan database Mertani ditempatkan di infrastruktur milik instansi Anda sendiri. Untuk login, diperlukan key khusus yang diberikan oleh tim Mertani.
  • SaaS (Software as a Service) adalah model layanan berbasis cloud di mana seluruh infrastruktur server dikelola oleh Mertani. Login dilakukan langsung tanpa key.
  • REST API adalah metode akses data di mana aplikasi Anda secara aktif meminta data dari server Mertani (pull-based). Cocok untuk dashboard, analisis data historis, dan kebutuhan di mana Anda ingin mengontrol kapan data diambil.
  • Webhook adalah metode akses data di mana server Mertani secara otomatis mengirim data ke server Anda setiap kali ada data baru (push-based). Cocok untuk sistem notifikasi real-time dan integrasi event-driven.
  • Realtime memperbarui grafik dan tabel secara otomatis setiap kali device mengirim data baru sesuai interval pengirimannya (misalnya setiap 10 menit). Data disimpan di database dan bisa diakses sebagai historis.
  • Live Stream menampilkan data sensor dengan pembaruan setiap 1-5 detik, jauh lebih cepat dari interval normal. Data pada Live Stream tidak disimpan ke database, hanya ditampilkan langsung untuk kebutuhan observasi intensif seperti pengujian sensor.
Grouping adalah cara data dirangkum berdasarkan periode waktu saat ditampilkan atau diunduh. Pilihan grouping meliputi per jam, per hari, per minggu, per bulan, dan per tahun. Semakin besar interval grouping, semakin ringkas data yang ditampilkan. Gunakan grouping “Interval” jika ingin melihat semua data tanpa pengelompokan.
Slug adalah identifier unik untuk setiap dataset yang diunggah. Slug inilah yang digunakan dalam fungsi DATASET() di rumus kalibrasi. Misalnya, DATASET("penampang_basah", x, "area") menggunakan slug penampang_basah. Slug harus unik per device dan menggunakan format yang konsisten.
Rating curve adalah kurva hubungan antara tinggi muka air (TMA) dan debit aliran. Kurva ini umumnya bersifat non-linear, sehingga memerlukan metode kalibrasi berbasis dataset atau kondisi (conditional) untuk mengkonversi pembacaan tinggi air menjadi nilai debit secara akurat.
  • ISPU (Indeks Standar Pencemar Udara) adalah indeks yang digunakan di Indonesia untuk mengukur kualitas udara berdasarkan konsentrasi polutan seperti PM2.5, PM10, CO, SO2, dan NO2.
  • AQI (Air Quality Index) adalah indeks serupa yang digunakan secara internasional. Keduanya digunakan sebagai acuan dalam pengaturan level status pada device AQMS di Mertani.

2. API - Spesifikasi Teknis

Autentikasi & Keamanan

Mertani API mendukung dua metode autentikasi:1. Basic Authentication
  • Header: Authorization: Basic base64(api_key:secret_key)
  • api_key sebagai username, secret_key sebagai password
  • Lebih aman, cocok untuk backend/server
2. Public Access (tanpa header)
  • API key ditempatkan langsung di URL path
  • Tidak perlu header Authorization
  • Contoh: GET /{api-key}/devices
Kedua metode bersifat stateless (tanpa session/token).Tips keamanan:
  • Gunakan HTTPS di semua request
  • Jangan expose API key di frontend
  • Simpan credential di environment variables
Ringkasan:
  • Basic Auth: Gunakan untuk integrasi production yang membutuhkan keamanan tinggi
  • Public Access: Gunakan untuk testing, development, atau sistem yang tidak mendukung header Authorization
Kemungkinan penyebab:
  • API key tersimpan di frontend
  • Repository tidak diamankan
Solusi:
  • Segera rotasi API key
  • Pindahkan kredensial ke server-side
  • Gunakan secret manager jika tersedia
Kemungkinan penyebab:
  • Header Authorization tidak ada (untuk Basic Auth)
  • Format Basic Authentication salah
  • Base64 encoding tidak valid
  • API key atau secret_key salah
Solusi:
  • Pastikan header dikirim dengan benar (untuk Basic Auth)
  • Periksa format: api_key:secret_key sebelum encoding
  • Generate ulang Base64
  • Untuk Public Access, pastikan API key benar di URL path
Kemungkinan penyebab:
  • API key tidak memiliki akses ke resource
  • API key telah dicabut
Solusi:
  • Periksa permission API key
  • Hubungi pihak Mertani jika diperlukan
API credentials (api_key dan secret_key) diterbitkan oleh tim Mertani saat proses onboarding instansi. Untuk permintaan credentials baru atau rotasi key, hubungi tim support Mertani melalui halaman Support.Yang perlu dipersiapkan:
  • Nama instansi
  • Alamat email resmi
  • Kebutuhan akses (endpoint spesifik yang dibutuhkan)
  • Metode autentikasi yang diinginkan (Basic Auth atau Public Access)

Endpoint & Format Data

Mertani menyediakan 5 endpoint dengan dua metode autentikasi:Basic Authentication (butuh api_key + secret_key):
  • GET /devices -> Daftar semua device
  • GET /devices/{device_id}/data -> Data sensor per device
Public Access (API key di URL, tanpa password):
  • GET /{api-key}/devices -> Daftar device (publik)
  • GET /{api-key}/devices/{device_id}/data -> Data sensor (publik)
Webhook (push-based):
  • POST /webhook/sensor-data -> Menerima data dari device
Base URL untuk semua endpoint:
(Detail endpoint dapat berbeda tergantung konfigurasi instansi)
Request:
  • Header: JSON / HTTP standard
  • Authentication: Basic Auth atau Public Access
Response:
  • Format utama: JSON
  • Encoding: UTF-8
  • Timestamp: ISO 8601 / Unix timestamp (tergantung endpoint)
Contoh response:
Secara default, API Mertani tidak bersifat real-time per detik. Data mengikuti interval pengiriman dari device.
  • Interval umum: 1 jam sekali
  • API hanya menyajikan data yang sudah tersimpan di database
Untuk kebutuhan real-time:
  • Gunakan Webhook API (push-based)
  • Atau lakukan polling dengan interval yang disesuaikan
Tidak. Arsitektur Mertani bersifat decoupled:
  • Client tidak pernah berkomunikasi langsung dengan device
  • Semua akses harus melalui API
  • Data diambil dari database, bukan dari perangkat secara live
Ini memastikan keamanan sistem, konsistensi data, dan skalabilitas.
Data yang masuk ke Mertani melalui beberapa tahap:
  1. Validasi device
  2. Validasi format data
  3. Normalisasi
  4. Penyimpanan ke database
Sistem menggunakan timestamp dari device sebagai referensi utama.Catatan:
  • Delay dapat terjadi jika jaringan tidak stabil
  • Data duplikat bisa terjadi jika device melakukan retry
Disarankan untuk melakukan validasi tambahan di sisi client.

Rate Limit & Best Practice

Rate limit tidak selalu diekspos secara eksplisit, namun sistem menerapkan mekanisme proteksi untuk menjaga stabilitas.Secara umum:
  • Request berulang dalam waktu singkat dapat dibatasi
  • Polling berlebihan dapat menyebabkan throttling
  • Beban tinggi dari satu API key dapat memicu pembatasan sementara
Best practice:
  • Gunakan interval request sesuai interval device (misalnya 1 jam)
  • Hindari polling setiap detik
  • Gunakan caching di sisi client
Untuk kebutuhan high-frequency access, gunakan Webhook API.
Dalam banyak kasus, kombinasi keduanya adalah pendekatan terbaik.
API akan mengembalikan HTTP status code standar:Best practice:
  • Implementasikan retry mechanism
  • Logging error response
  • Validasi request sebelum dikirim

Webhook API

Webhook API menggunakan pola push-based: server Mertani secara otomatis mengirim data ke endpoint server Anda setiap kali ada data baru dari device. Berbeda dengan REST API yang memerlukan Anda untuk aktif meminta data (polling), Webhook mengirim data tanpa perlu diminta.Yang perlu dikonfigurasi:
  • Endpoint URL server tujuan yang bisa menerima HTTP POST request
  • Pastikan endpoint selalu aktif dan mengembalikan response 200 OK
  • Implementasikan mekanisme deduplikasi karena retry bisa mengirim data yang sama lebih dari sekali
Retry mechanism: Jika pengiriman gagal, sistem akan mencoba ulang hingga 10 kali dengan pola exponential backoff (interval antar retry semakin lama). Setelah 10 kali gagal, status pengiriman menjadi Gagal permanen.Untuk melihat log pengiriman webhook, buka menu Instansi > Integrasi di dashboard. Lihat dokumentasi Log Integration untuk informasi lebih lanjut.
Dalam banyak kasus, kombinasi keduanya adalah pendekatan terbaik. Gunakan REST API untuk data historis dan Webhook untuk notifikasi real-time.
Buka menu Instansi > Integrasi di dashboard. Halaman ini menampilkan matriks log pengiriman per device per tanggal, termasuk jumlah pengiriman berhasil (hijau) dan gagal (merah). Klik sel tertentu untuk melihat detail HTTP request yang dikirim ke server tujuan, termasuk body payload dan response.Gunakan filter status untuk menyaring hanya pengiriman yang gagal guna keperluan troubleshooting.

3. API - Troubleshooting

Data Tidak Muncul atau Terlambat

Kemungkinan penyebab:
  • Perangkat belum mengirim data
  • Interval pengiriman belum tercapai
Solusi:
  • Periksa status device
  • Tunggu hingga siklus pengiriman berikutnya
Kemungkinan penyebab:
  • Jaringan perangkat tidak stabil
  • Delay pada proses ingestion
Solusi:
  • Periksa konektivitas device
  • Validasi timestamp data
Kemungkinan penyebab:
  • Polling terlalu cepat sebelum data tersedia
  • Parameter waktu tidak sesuai
  • Cache pada client
Solusi:
  • Sesuaikan interval polling dengan device
  • Gunakan filter timestamp terbaru
  • Disable cache jika diperlukan
Kemungkinan penyebab:
  • API key tidak memiliki akses ke data tertentu
  • Parameter request tidak sesuai
Solusi:
  • Validasi endpoint dan parameter
  • Periksa scope akses API key
Kemungkinan penyebab:
  • Sensor error atau tidak terkalibrasi
  • Data duplikat atau missing
Solusi:
  • Lakukan kalibrasi sensor
  • Validasi data di level aplikasi

Masalah Webhook

Kemungkinan penyebab:
  • Endpoint tidak dapat diakses (down / timeout)
  • URL webhook salah
Solusi:
  • Periksa endpoint server Anda
  • Validasi URL dan pastikan response status mengembalikan 200 OK
Kemungkinan penyebab:
  • Retry dari server karena response gagal
  • Tidak ada deduplication di client
Solusi:
  • Implementasikan idempotency di sisi client
  • Simpan unique identifier data
Kemungkinan penyebab:
  • Volume data tinggi
  • Endpoint tidak scalable
Solusi:
  • Gunakan queue system (Kafka, RabbitMQ, dll.)
  • Tambahkan rate limiting atau buffering

4. App Dashboard - Manajemen Pengguna

Undangan & Login

Kemungkinan penyebab:
  • Email salah atau tidak aktif
  • Email masuk ke folder spam
Solusi:
  • Periksa kembali alamat email
  • Minta pengguna cek folder spam atau promotion
  • Kirim ulang undangan jika tersedia
Kemungkinan penyebab:
  • Proses aktivasi belum selesai
  • Password belum diterima melalui email
Solusi:
  • Pastikan pengguna telah membuka link undangan
  • Minta pengguna terima undangan
Kemungkinan penyebab:
  • Invite belum diproses sepenuhnya
  • Halaman belum diperbarui
Solusi:
  • Refresh halaman
  • Periksa kembali status undangan

Edit & Akses Pengguna

Kemungkinan penyebab:
  • Tidak memiliki permission yang cukup
  • Akun dibatasi oleh sistem
Solusi:
  • Gunakan akun dengan akses lebih tinggi
  • Periksa kebijakan sistem terkait akses edit
Kemungkinan penyebab:
  • Format nomor tidak sesuai
  • Mengandung karakter yang tidak diperbolehkan
Solusi:
  • Gunakan format nomor yang benar (angka saja, sesuai standar sistem)
  • Hindari spasi atau simbol tambahan
Kemungkinan penyebab:
  • Form belum diisi dengan benar / validasi sistem gagal
  • Cache browser belum diperbarui
Solusi:
  • Pastikan semua field wajib sudah diisi dan format data benar
  • Refresh halaman atau logout dan login kembali
Kemungkinan penyebab:
  • Tidak ada device yang dipilih saat konfigurasi
Solusi:
  • Edit kembali akses device
  • Pastikan minimal satu device dipilih
Kemungkinan penyebab:
  • Device belum terdaftar dalam sistem
  • Device berada di instansi berbeda
Solusi:
  • Pastikan device sudah dibuat dan aktif
  • Periksa kembali scope instansi
Kemungkinan penyebab:
  • Pembatasan belum tersimpan dengan benar
  • Ada konflik dengan konfigurasi lain
Solusi:
  • Ulangi proses dan pastikan klik simpan
  • Validasi kembali konfigurasi akses user

5. App Dashboard - Manajemen Role

Membuat & Mengedit Role

Kemungkinan penyebab:
  • Nama role duplikat
  • Input tidak valid atau koneksi bermasalah
Solusi:
  • Pastikan nama role tidak duplikat
  • Periksa koneksi dan validasi input
Kemungkinan penyebab:
  • Role merupakan role default atau dilindungi sistem
  • Tidak memiliki permission yang cukup
Solusi:
  • Gunakan akun dengan akses lebih tinggi
  • Periksa apakah role termasuk protected role
Kemungkinan penyebab:
  • Nama role sudah digunakan (duplikat)
  • Input kosong atau mengandung karakter yang tidak diperbolehkan
Solusi:
  • Gunakan nama yang unik
  • Pastikan format nama sesuai aturan sistem
Kemungkinan penyebab:
  • Tidak ada komunikasi perubahan ke pengguna
Solusi:
  • Informasikan perubahan kepada pengguna terkait
  • Gunakan nama yang lebih deskriptif dan familiar

Assign Role & Permission

Kemungkinan penyebab:
  • Salah memilih role saat invite
  • Perubahan belum tersimpan
Solusi:
  • Gunakan fitur Assign Role untuk memperbaiki
  • Pastikan konfigurasi role benar saat invite
Solusi:
  • Pastikan role sudah berhasil disimpan
  • Refresh halaman atau reload sistem
Solusi:
  • Periksa apakah Anda memiliki permission yang cukup
  • Pastikan role tujuan tidak dibatasi oleh sistem
Kemungkinan penyebab:
  • Permission belum diberikan pada role
  • Role yang digunakan tidak sesuai
Solusi:
  • Periksa dan tambahkan permission yang diperlukan
  • Validasi role pengguna
Solusi:
  • Pastikan permission sudah dikonfigurasi dan tersimpan
  • Periksa apakah ada override dari konfigurasi lain
Penjelasan: UI menampilkan tombol, tetapi permission di backend tidak mengizinkan aksi tersebut.Solusi:
  • Periksa konfigurasi permission di sistem
  • Pastikan aksi yang dipilih sudah diaktifkan
Kemungkinan penyebab:
  • Cache browser belum diperbarui
  • Sinkronisasi session belum terjadi
Solusi:
  • Refresh halaman
  • Logout dan login kembali
Penjelasan: Permission berlaku global untuk seluruh anggota role.Solusi:
  • Buat role baru jika membutuhkan variasi akses
  • Hindari perubahan langsung pada role yang digunakan banyak user

Menghapus Role

Kemungkinan penyebab:
  • Role masih digunakan oleh satu atau lebih pengguna
  • Role termasuk role default sistem
Solusi:
  • Pindahkan semua pengguna ke role lain melalui fitur Assign Role
  • Pastikan role bukan bagian dari role bawaan sistem
Kemungkinan penyebab:
  • Tidak memiliki permission untuk menghapus role
  • Role dilindungi oleh sistem (protected role)
Solusi:
  • Gunakan akun dengan akses lebih tinggi (misalnya Admin)
  • Periksa kebijakan sistem terkait role yang tidak bisa dimodifikasi
Kemungkinan penyebab:
  • Data belum ter-refresh
  • Role sudah dihapus sebelumnya
Solusi:
  • Refresh halaman
  • Periksa kembali dengan filter atau pencarian
Kemungkinan penyebab:
  • Gangguan koneksi
  • Validasi sistem gagal
Solusi:
  • Coba ulangi proses beberapa saat kemudian
  • Pastikan koneksi stabil

6. App Dashboard - Kalibrasi Sensor

Pengertian & Konsep Dasar

Setiap sensor memiliki karakteristik pembacaan yang bisa sedikit berbeda dari nilai sebenarnya di lapangan. Faktor seperti usia sensor, kondisi lingkungan, dan drift elektronik bisa menyebabkan pembacaan menyimpang. Kalibrasi diperlukan untuk mengoreksi penyimpangan ini agar data yang ditampilkan di dashboard sesuai dengan kondisi aktual.Tanpa kalibrasi: sistem menggunakan Raw Data (nilai mentah sensor) langsung. Dengan kalibrasi: sistem menggunakan Synthetic Data (nilai hasil koreksi) yang lebih akurat.
Mertani mendukung empat metode kalibrasi:Lihat penjelasan lengkap di dokumentasi Kalibrasi Sensor.
Dataset berfungsi sebagai tabel lookup. Sistem mencocokkan nilai input dari sensor ke kolom pertama dataset, lalu mengembalikan nilai dari kolom output yang ditentukan. Penggunaan dalam rumus: DATASET("slug_dataset", nilai_input, "kolom_output").Penting:
  • Kolom pertama dataset adalah kolom referensi (input)
  • Baris pertama harus berisi header
  • Nilai input harus berada dalam range dataset
  • Dataset hanya berlaku untuk data baru setelah konfigurasi disimpan
Lihat panduan lengkap di Manajemen Dataset.
Virtual sensor dibuat melalui fitur kalibrasi berbasis parameter. Caranya, gunakan sensor lain dalam device yang sama sebagai bagian dari rumus kalibrasi. Misalnya, untuk membuat sensor debit dari water level dan velocity:
Catatan penting:
  • Virtual sensor tidak bisa digunakan kembali sebagai referensi untuk kalibrasi sensor lain
  • Hasil kalibrasi hanya berlaku untuk data baru, bukan data historis

Konfigurasi Rumus Kalibrasi

Kemungkinan penyebab:
  • Kalibrasi hanya berlaku untuk data baru, bukan data historis
  • Tidak ada data baru yang masuk setelah kalibrasi disimpan
  • Rumus tidak valid sehingga tidak dieksekusi
Solusi:
  • Pastikan device mengirim data terbaru
  • Cek timestamp data terakhir
  • Periksa kembali rumus (hindari typo atau format salah)
Kemungkinan penyebab:
  • Rumus menghasilkan nilai tidak valid (misalnya pembagian dengan 0)
  • Referensi parameter [parameter] tidak ditemukan
  • Dataset tidak mengembalikan nilai (lookup gagal)
Solusi:
  • Validasi rumus secara manual
  • Pastikan ID sensor atau parameter benar
  • Pastikan dataset memiliki range nilai yang sesuai dengan input
Kemungkinan penyebab:
  • Salah syntax (contoh: x + tanpa nilai lanjutan)
  • Salah operator (misalnya ^ seharusnya **)
  • Fungsi tidak didukung atau salah format
Solusi:
  • Gunakan operator yang didukung: + - * / **
  • Pastikan semua tanda kurung seimbang
  • Gunakan fungsi sesuai dokumentasi (contoh: sqrt(x))
Kemungkinan penyebab:
  • ID sensor salah atau tidak ada di device yang sama
  • Penulisan tidak sesuai format ([id_sensor])
  • Sensor belum memiliki data
Solusi:
  • Pastikan ID sensor benar (case-sensitive)
  • Gunakan fitur = untuk memilih parameter secara otomatis
  • Pastikan sensor referensi aktif dan mengirim data
Kemungkinan penyebab:
  • Salah konversi unit (misalnya cm ke m)
  • Kesalahan urutan operasi dalam rumus
  • Referensi parameter yang tidak sesuai
Solusi:
  • Validasi dengan perhitungan manual
  • Cek kembali unit sebelum dan sesudah kalibrasi
  • Gunakan nilai sample untuk testing
Penjelasan: Units hanya label tampilan dan tidak mengubah nilai secara otomatis.Solusi:
  • Ubah rumus kalibrasi sesuai unit baru
  • Contoh: cm → m harus menggunakan x/100, lalu update unit menjadi meter
Best practice:
  • Uji dengan sample data manual
  • Gunakan nilai sederhana terlebih dahulu (misal x/100)
  • Bandingkan hasil dengan perhitungan di luar sistem
  • Bangun rumus secara bertahap, hindari langsung menggunakan rumus kompleks

Virtual Parameter (Sensor Turunan)

Kemungkinan penyebab:
  • Kalibrasi belum disimpan
  • Parameter tidak digunakan di dashboard
  • Tidak ada data masuk
Solusi:
  • Klik Simpan setelah input rumus
  • Pastikan parameter digunakan di tampilan
  • Tunggu data baru masuk
Tidak. Parameter turunan tidak dapat digunakan sebagai faktor kalibrasi kembali.Tips:
  • Hindari menggunakan parameter turunan sebagai faktor kalibrasi
  • Lakukan kalibrasi yang sama untuk mendapat nilai dari parameter turunan, kemudian kalibrasikan perhitungan tersebut
Contoh yang salah:
Ini bukan error.Sistem menggunakan Sintetik Data (hasil kalibrasi) untuk dashboard, grafik, dan laporan. Raw Data hanya sebagai referensi.Solusi:
  • Bandingkan raw vs sintetik melalui fitur unduh data untuk validasi
  • Pastikan rumus kalibrasi sudah benar

7. App Dashboard - Dataset

Format & Struktur File

Ya. Sistem hanya menerima file dalam format CSV (Comma-Separated Values).
  • Pastikan file berekstensi .csv
  • Jika dari Excel, gunakan Export → CSV
Ya, wajib. Header digunakan sebagai identifier kolom output dalam fungsi DATASET().Contoh yang benar:
Ya. Sistem akan mencocokkan nilai sensor ke kolom pertama. Kolom lain hanya digunakan sebagai output.Jika kolom pertama tidak sesuai, lookup akan menghasilkan nilai yang tidak akurat atau kosong.
Sangat disarankan. Data yang terurut mempermudah proses lookup dan mengurangi risiko hasil tidak akurat.
  • Urutkan data secara konsisten (ascending atau descending)
Tidak disarankan. Duplikasi menyebabkan lookup menjadi ambigu dan output tidak konsisten.
  • Pastikan setiap nilai referensi unik
Ya. Contoh:
Penggunaan dalam rumus:
  • DATASET("slug", x, "area")
  • DATASET("slug", x, "volume")
Tidak selalu. Sistem melakukan lookup berdasarkan nilai yang tersedia. Jika nilai tidak ditemukan secara langsung, hasil bisa kosong atau tidak akurat.Solusi:
  • Gunakan interval data yang lebih rapat
  • Tambahkan nilai di antara (intermediate values) jika diperlukan
Tidak. Dataset hanya berlaku untuk data setelah konfigurasi disimpan. Data historis tidak akan berubah.

Troubleshooting Dataset

Kemungkinan penyebab:
  • Format file bukan CSV
  • Tidak ada header di baris pertama
  • Struktur kolom tidak sesuai
  • File corrupt atau encoding tidak valid
Solusi:
  • Pastikan format CSV valid dengan delimiter koma (,)
  • Gunakan encoding UTF-8
  • Pastikan file dapat dibuka di editor teks
Kemungkinan penyebab:
  • File terlalu besar
  • Header kosong atau duplikat
  • Encoding tidak standar (bukan UTF-8)
Solusi:
  • Gunakan CSV dengan encoding UTF-8
  • Pastikan header unik dan tidak kosong
  • Periksa batas ukuran file yang diizinkan
Kemungkinan penyebab:
  • Nilai input tidak ditemukan dalam kolom referensi
  • Slug dataset salah
  • Nama kolom output tidak sesuai header
Solusi:
  • Pastikan nilai input berada dalam range dataset
  • Periksa slug dataset
  • Gunakan nama kolom output sesuai header (case-sensitive)
  • Kolom pertama = referensi (input)
  • Baris pertama = header
  • Tidak ada nilai kosong di kolom referensi
  • Range data mencakup nilai sensor
  • Tidak ada duplikasi nilai referensi
  • Uji dengan beberapa nilai sample dan bandingkan hasil manual dengan hasil sistem

8. Status Perangkat (Device Status)

Logika Penentuan Status

Sistem menentukan status berdasarkan urutan prioritas berikut:
  1. Maintenance — jika device sedang ditandai maintenance oleh admin, status tetap maintenance meskipun device tidak mengirim data.
  2. Offline — jika tidak ada data masuk selama 24 jam atau lebih, status berubah menjadi offline.
  3. Delay — jika data masih masuk tetapi terlambat dari jadwal normal (selisih waktu > 3x interval pengiriman), status menjadi delay.
  4. Online — jika tidak ada kondisi di atas, device dianggap online.
Status ditentukan secara otomatis oleh sistem, kecuali status maintenance yang diatur manual oleh administrator.
Warning Detection adalah fitur yang secara otomatis memantau nilai sensor dan memberikan peringatan ketika nilai melampaui ambang batas (threshold) yang telah dikonfigurasi. Warning Detection bekerja berdasarkan level status yang diatur per instansi melalui menu Pengaturan Level Status.Kategori yang didukung:
  • ARR (Automatic Rainfall Recorder): intensitas curah hujan per jam dan akumulasi harian
  • AWLR (Automatic Water Level Recorder): tinggi muka air dengan pola naik atau turun
  • WQMS (Water Quality Monitoring System): kualitas air per parameter
  • AQMS (Air Quality Monitoring System): kualitas udara berdasarkan standar ISPU
Peringatan hanya muncul jika threshold sudah dikonfigurasi. Tanpa konfigurasi, sistem tidak akan menghasilkan peringatan apapun.
Buka menu Pengaturan > Level Status di dashboard. Pilih tab kategori device (ARR, AWLR, WQMS, atau AQMS), lalu klik badge status pada device yang ingin dikonfigurasi.Yang perlu diatur:
  • Nama level (misalnya: Normal, Waspada, Siaga, Awas)
  • Warna badge untuk setiap level
  • Range nilai (Dari dan Sampai) untuk setiap level
  • Aktifkan Limit pada level ekstrem untuk menangani nilai di luar batas normal
Pastikan tidak ada overlap antar range untuk menghindari status yang tidak konsisten. Lihat dokumentasi Pengaturan Level Status untuk panduan lengkap.
Peringatan warning dan status device adalah dua sistem yang berbeda. Warning Detection hanya aktif jika threshold sudah dikonfigurasi melalui menu Pengaturan Level Status. Jika threshold belum diatur, sistem tidak akan menghasilkan peringatan apapun meskipun device dalam kondisi offline.Solusi:
  • Pastikan threshold sudah dikonfigurasi di menu Pengaturan Level Status
  • Untuk notifikasi offline, pastikan izin notifikasi aplikasi sudah aktif di ponsel

Kemungkinan Penyebab

  • Device mati atau kehabisan daya
  • Gangguan jaringan
  • SIM card tidak aktif
  • Modem bermasalah

Langkah Pengecekan

  1. Pastikan device dalam kondisi menyala
  2. Periksa sumber daya / baterai
  3. Verifikasi koneksi internet
  4. Cek kualitas sinyal modem
  5. Restart device apabila diperlukan
Jika device tetap offline lebih dari 24 jam, lakukan pengecekan lapangan.

Kemungkinan Penyebab

  • Koneksi jaringan tidak stabil
  • Server mengalami latency
  • Interval pengiriman terlalu kecil
  • Gangguan modem sementara

Langkah Pengecekan

  1. Periksa kualitas sinyal
  2. Pastikan koneksi internet stabil
  3. Verifikasi interval pengiriman device
  4. Monitor apakah status berubah menjadi offline
Status maintenance biasanya diatur manual oleh admin atau teknisi.

Rekomendasi

  • Dokumentasikan aktivitas maintenance
  • Nonaktifkan alarm sementara jika diperlukan
  • Pastikan status dikembalikan setelah maintenance selesai

9. Mobile Apps - Pertanyaan Umum

Login & Autentikasi

Aplikasi Mertani mendukung dua metode login:
  • Login dengan Key -> masukkan key yang diberikan tim Mertani, lalu lanjutkan dengan username dan password.
  • Login tanpa Key -> klik tombol Lewati pada layar awal, lalu masukkan username dan password langsung.
Key diterbitkan oleh tim Mertani pada saat proses onboarding instansi untuk layanan on-premise. Jika belum menerima key atau key hilang, hubungi tim support Mertani melalui halaman Support.
Ya. Akun Mertani dapat digunakan pada lebih dari satu perangkat secara bersamaan. Namun disarankan untuk tidak berbagi akun dengan pengguna lain demi keamanan data, gunakan fitur undangan pengguna untuk membuat akun terpisah per individu.

Beranda & Peta Kontrol

Halaman beranda menampilkan Peta Kontrol, peta interaktif yang menunjukkan sebaran lokasi seluruh perangkat IoT Anda. Fitur yang tersedia di beranda:
  • Titik lokasi setiap device beserta status operasionalnya
  • Ringkasan data sensor terkini (last update) saat titik device diketuk
  • Tabel pemantauan semua perangkat
  • Filter layer untuk menyaring tampilan berdasarkan kelompok device
Halaman Notifikasi di aplikasi mencakup tiga jenis informasi:
  1. Status Device -> pemberitahuan saat device berubah status (online, offline, delay)
  2. Warning Detection -> peringatan ketika nilai sensor melampaui batas ambang yang telah dikonfigurasi
  3. Berita & Artikel -> informasi dan artikel terbaru dari tim Mertani
Notifikasi warning hanya aktif jika threshold sudah dikonfigurasi terlebih dahulu di dashboard.

Device & Sensor

Akses Detail Monitoring melalui langkah berikut:
  1. Buka menu Device → ketuk kartu device
  2. Tampilan awal menampilkan kartu last update setiap sensor
  3. Ketuk sensor yang ingin dipantau
  4. Data hari ini ditampilkan secara default dalam grafik dan tabel
  5. Gunakan filter rentang waktu untuk melihat data historis
Gunakan fitur Perbandingan Device:
  1. Di halaman Device, ketuk menu Bandingkan
  2. Ketuk tombol [+] untuk menambahkan device
  3. Pilih device dan sensor yang ingin dibandingkan
  4. Ketuk Pilih -> data ditampilkan dalam grafik dan tabel berdampingan
  5. Atur rentang waktu dan grouping sesuai kebutuhan
Melalui menu Edit Device (geser kartu device ke kanan → pilih Edit Device), Anda dapat mengubah:
  • Nama device
  • Tipe device
  • Spesifikasi
  • Deskripsi
Melalui Edit Sensor (tekan tahan kartu sensor → pilih Edit Sensor), Anda dapat mengubah:
  • Nama sensor
  • Tipe sensor
  • Satuan pengukuran
  • Jumlah angka di belakang koma (presisi desimal)
  • Deskripsi sensor
  1. Buka halaman Detail Device (ketuk device → ketuk ikon panah ← di samping nama device)
  2. Gulir ke bagian Dokumentasi Foto
  3. Ketuk Tambah Gambar → pilih dari galeri atau ambil foto baru
  4. Ketuk UploadSimpan

Monitoring & Data

Realtime memperbarui grafik dan tabel secara otomatis setiap kali device mengirim data baru. Aktifkan toggle Realtime di halaman Detail Pemantauan.Live Stream menampilkan data sensor dengan pembaruan sangat cepat, cocok untuk pengujian sensor di lapangan. Menu ini hanya muncul jika device mendukung fitur streaming.Lihat dokumentasi Realtime & Live Stream Data untuk informasi lebih lanjut.
Tiga cara mengunduh data di dashboard:Yang perlu diketahui:
  • Export Data menyertakan kolom Raw dan Synthetic untuk setiap sensor
  • Laporan Pemantauan hanya menggunakan Synthetic Data (hasil kalibrasi)
  • Gunakan grouping yang sesuai dengan rentang waktu untuk hasil yang optimal
Lihat dokumentasi Export Data dan Laporan Pemantauan untuk panduan lengkap.
Gunakan fitur Komparasi Device di dashboard web:
  1. Buka menu Manajemen Device, lalu klik Komparasi
  2. Klik + untuk menambahkan device (maksimal 5 device)
  3. Pilih sensor yang ingin dibandingkan per device
  4. Atur rentang waktu dan grouping data
  5. Lihat hasilnya dalam format grafik atau tabel
Tips:
  • Fokus pada sensor yang relevan agar grafik tetap mudah dibaca
  • Sesuaikan grouping dengan rentang waktu (gunakan Per Hari untuk data 1 bulan)
  • Gunakan tombol Unduh untuk mengekspor hasil komparasi ke format Excel
Lihat dokumentasi Komparasi Device untuk panduan lengkap.

Unduh & Export Data

Saat ini tersedia dua jenis laporan:
Tidak. Fitur unduh data manual via Bluetooth hanya tersedia pada aplikasi Android. Pengguna iOS tidak dapat menggunakan fitur ini.
  1. Pastikan ponsel sudah mendapatkan jaringan internet
  2. Buka menu Unduh Data by Bluetooth
  3. Pilih tab Hasil Unduhan
  4. Pilih data yang ingin diunggah → ketuk Unggah Data
  5. Tunggu hingga proses selesai
  6. Verifikasi data di halaman Detail Monitoring

Pengaturan Aplikasi

Menu Pengaturan mencakup tiga sub-menu:Selain itu, halaman Pengaturan juga menampilkan akses ke bantuan (WhatsApp/email), saran & masukan, live chat, serta syarat dan ketentuan.
Tidak. Perubahan pada Profil hanya berlaku untuk akun pengguna yang sedang login. Akun pengguna lain dalam instansi yang sama tidak terpengaruh. Perubahan pada Instansi berlaku secara global dan akan terlihat oleh seluruh pengguna dalam instansi tersebut.
Pembaruan data instansi hanya dapat dilakukan oleh pengguna dengan hak akses admin atau role yang memiliki izin manajemen instansi. Jika menu Instansi tidak terlihat, hubungi administrator instansi Anda untuk mendapatkan akses yang sesuai.

10. Mobile Apps - Troubleshooting

Login & Akses Aplikasi

Kemungkinan penyebab:
  • Username atau password salah
  • Key tidak valid (untuk pengguna on-premise)
  • Koneksi internet tidak stabil
  • Akun belum diaktivasi Solusi:
  • Periksa kembali username dan password (perhatikan huruf kapital)
  • Untuk login dengan key, pastikan key yang dimasukkan sesuai dengan yang diberikan tim Mertani
  • Pastikan koneksi internet aktif sebelum login
  • Jika akun baru, pastikan sudah membuka link undangan dari email
  • Gunakan fitur Lupa Kata Sandi jika tidak ingat password
Kemungkinan penyebab:
  • Versi aplikasi belum diperbarui
  • Cache aplikasi bermasalah Solusi:
  • Perbarui aplikasi ke versi terbaru melalui Play Store atau App Store
  • Coba hapus cache aplikasi melalui pengaturan ponsel, lalu buka kembali
  • Uninstall dan install ulang aplikasi jika masalah berlanjut
Kemungkinan penyebab:
  • Versi aplikasi tidak kompatibel dengan OS ponsel
  • Memori ponsel penuh
  • Data cache aplikasi corrupt Solusi:
  • Perbarui aplikasi ke versi terbaru
  • Kosongkan ruang penyimpanan ponsel
  • Hapus cache aplikasi melalui Pengaturan → Aplikasi → Mertani → Hapus Cache
  • Restart ponsel, lalu buka kembali aplikasi
Ini adalah perilaku normal. Beberapa pembaruan aplikasi mengharuskan sesi login diperbarui demi keamanan. Lakukan login ulang dengan username dan password seperti biasa.

Peta & Beranda

Kemungkinan penyebab:
  • Koneksi internet tidak stabil saat memuat peta
  • Akun tidak memiliki akses ke device manapun
  • Data lokasi device belum dikonfigurasi (koordinat GPS kosong) Solusi:
  • Pastikan koneksi internet aktif dan stabil
  • Tutup dan buka kembali aplikasi untuk memuat ulang peta
  • Periksa apakah akun Anda memiliki akses device, hubungi administrator instansi jika perlu
  • Pastikan device sudah memiliki data koordinat GPS yang valid di sistem
Kemungkinan penyebab:
  • Koordinat GPS device salah saat konfigurasi awal
  • Data lokasi belum diperbarui setelah device dipindah Solusi:
  • Perbarui koordinat device melalui menu Edit Device di dashboard web
  • Pastikan format koordinat sudah benar (latitude, longitude dalam desimal)
Kemungkinan penyebab:
  • Izin notifikasi aplikasi belum diaktifkan di ponsel
  • Device baru saja berubah status (sistem membutuhkan beberapa saat untuk memproses)
  • Threshold warning belum dikonfigurasi Solusi:
  • Periksa izin notifikasi: Pengaturan Ponsel → Aplikasi → Mertani → Notifikasi → Aktifkan
  • Pastikan mode Do Not Disturb tidak aktif
  • Untuk warning detection, pastikan threshold sudah dikonfigurasi di menu Pengaturan Level Status pada dashboard

Monitoring Data Sensor

Kemungkinan penyebab:
  • Device belum pernah mengirim data
  • Rentang waktu filter tidak mencakup data yang ada
  • Koneksi internet terputus saat memuat data Solusi:
  • Pastikan device aktif dan sudah pernah mengirim data ke server
  • Ubah filter rentang waktu, coba pilih rentang yang lebih lebar
  • Periksa koneksi internet, lalu tarik ke bawah (pull to refresh) untuk memuat ulang
  • Cek status device di halaman Beranda. Jika offline, data mungkin memang belum masuk
Kemungkinan penyebab:
  • Toggle Realtime belum diaktifkan di halaman Detail Pemantauan
  • Interval pengiriman device cukup panjang (misalnya 1 jam), sehingga update tidak langsung terlihat
  • Koneksi internet tidak stabil Solusi:
  • Pastikan toggle Realtime di pojok kanan atas halaman sudah aktif
  • Perhatikan interval pengiriman device. Jika interval 1 jam, grafik baru diperbarui setiap 1 jam
  • Refresh halaman atau tarik ke bawah untuk memuat ulang data
Kemungkinan penyebab:
  • Filter tanggal/waktu yang dipilih tidak memiliki data
  • Sensor baru saja ditambahkan dan belum ada data historis Solusi:
  • Coba ubah filter ke Hari Ini sebagai default awal
  • Jika sensor baru, tunggu minimal satu siklus pengiriman data
  • Lakukan pull to refresh di halaman untuk memuat ulang data
Kemungkinan penyebab:
  • Sensor memerlukan kalibrasi
  • Rumus kalibrasi yang terkonfigurasi tidak tepat
  • Sensor rusak atau tidak terpasang dengan benar di lapangan Solusi:
  • Lakukan kalibrasi sensor melalui menu Kalibrasi Sensor (tekan tahan kartu sensor → pilih Kalibrasi Sensor)
  • Periksa konfigurasi rumus kalibrasi di dashboard, lihat Kalibrasi Sensor
  • Jika masalah berlanjut, lakukan pengecekan fisik perangkat di lapangan

Unduh Data & Bluetooth

Kemungkinan penyebab:
  • Koneksi internet terputus saat proses unduh
  • Tidak ada data pada rentang waktu yang dipilih
  • Penyimpanan ponsel penuh Solusi:
  • Pastikan koneksi internet stabil selama proses unduh berlangsung
  • Verifikasi bahwa rentang waktu yang dipilih memiliki data (cek terlebih dahulu di Detail Monitoring)
  • Kosongkan ruang penyimpanan ponsel, lalu coba unduh kembali
Kemungkinan penyebab:
  • Bluetooth ponsel belum diaktifkan
  • Device IoT belum diaktifkan dalam mode Bluetooth
  • Jarak antara ponsel dan device terlalu jauh
  • Device IoT tidak terdeteksi karena sudah terhubung ke perangkat lain Solusi:
  • Aktifkan Bluetooth di ponsel dan pastikan izin lokasi juga diberikan ke aplikasi (diperlukan untuk scan Bluetooth di Android)
  • Pastikan device IoT sudah dalam mode Bluetooth aktif sesuai prosedur dari teknisi
  • Dekatkan ponsel ke device IoT (jarak ideal < 10 meter tanpa halangan)
  • Jika device terhubung ke ponsel lain, putuskan koneksi tersebut terlebih dahulu
Kemungkinan penyebab:
  • Password yang dimasukkan salah
  • Device pernah di-reset sehingga password kembali ke default Solusi:
  • Periksa password Bluetooth default pada dokumentasi perangkat atau hubungi teknisi yang menginstal device tersebut
  • Jika device pernah di-reset, gunakan password default pabrik
Kemungkinan penyebab:
  • Volume data yang tersimpan di device sangat besar (device lama tidak dikunjungi)
  • Sinyal Bluetooth tidak stabil karena jarak atau interferensi
  • Baterai ponsel hampir habis Solusi:
  • Pastikan ponsel berada dalam jangkauan dekat device selama proses unduh berlangsung
  • Hindari menggunakan aplikasi lain yang berat selama proses berlangsung
  • Pastikan baterai ponsel cukup (minimal 30%) sebelum memulai unduh
  • Jika terhenti, coba putuskan koneksi Bluetooth → hubungkan kembali → ulangi proses unduh
Kemungkinan penyebab:
  • Koneksi internet tidak stabil saat proses unggah
  • Data sudah ada di server (duplikat) sehingga tidak ditampilkan ulang
  • Rentang waktu filter di Detail Monitoring tidak mencakup periode data yang diunggah Solusi:
  • Pastikan koneksi internet stabil saat mengunggah data
  • Setelah unggah berhasil, buka halaman Detail Monitoring dan sesuaikan filter waktu ke periode data yang baru diunggah
  • Lakukan pull to refresh untuk memuat ulang tampilan data

Device & Sensor

Kemungkinan penyebab:
  • Koneksi internet terputus saat menekan Simpan
  • Field wajib tidak terisi
  • Sesi login sudah kadaluarsa Solusi:
  • Pastikan koneksi internet aktif, lalu tekan Simpan kembali
  • Pastikan semua field yang wajib diisi sudah terisi
  • Logout dan login kembali jika sesi sudah expired, lalu ulangi perubahan
Ini adalah perilaku normal. Kalibrasi hanya berlaku untuk data yang dikirim setelah kalibrasi disimpan. Data historis sebelumnya tidak akan berubah. Solusi:
  • Tunggu hingga device mengirim data berikutnya sesuai interval pengirimannya
  • Periksa timestamp data terbaru di Detail Monitoring. Jika sudah lebih baru dari waktu kalibrasi disimpan, nilai baru seharusnya sudah berlaku
Kemungkinan penyebab:
  • Akun tidak memiliki permission yang cukup untuk fitur tersebut
  • Role yang ditetapkan untuk akun Anda membatasi akses ke fitur tertentu Solusi:
  • Hubungi administrator instansi Anda untuk memeriksa dan menyesuaikan permission akun
  • Lihat dokumentasi Permission System untuk memahami sistem hak akses Mertani

Pengaturan

Kemungkinan penyebab:
  • Ukuran file foto terlalu besar
  • Format file tidak didukung
  • Koneksi internet tidak stabil saat unggah Solusi:
  • Kompres ukuran foto sebelum mengunggah (disarankan di bawah 2MB)
  • Gunakan format gambar yang umum: JPG atau PNG
  • Pastikan koneksi internet stabil, lalu coba unggah kembali
Kemungkinan penyebab:
  • Kata sandi lama yang dimasukkan salah
  • Kata sandi baru tidak memenuhi syarat minimum (panjang/format)
  • Konfirmasi kata sandi baru tidak cocok Solusi:
  • Pastikan kata sandi lama dimasukkan dengan benar (perhatikan huruf kapital dan karakter khusus)
  • Gunakan kata sandi baru minimal 8 karakter dengan kombinasi huruf dan angka
  • Pastikan kolom konfirmasi kata sandi baru diisi identik dengan kolom kata sandi baru
Last modified on July 28, 2026