Simpan Data Sensor ke CSV & Excel dari Node-RED

Meski InfluxDB dan Grafana ideal untuk visualisasi jangka panjang, banyak kebutuhan lapangan yang lebih sederhana: laporan harian untuk atasan, data untuk audit, atau sekadar backup dalam format yang bisa dibuka siapa saja tanpa software khusus. Untuk kebutuhan ini, menyimpan data sensor ke CSV atau Excel dari Node-RED adalah solusi paling praktis.

Kenapa CSV/Excel Masih Relevan?
Meski terdengar sederhana dibanding database time-series, format CSV dan Excel punya keunggulan tersendiri:
- Universal dan mudah dibagikan — bisa dibuka di Excel, Google Sheets, atau software apapun tanpa instalasi tambahan.
- Cocok untuk laporan manual — banyak manajer/atasan lebih nyaman menerima laporan dalam bentuk spreadsheet dibanding dashboard digital.
- Mudah untuk analisis ad-hoc — pivot table, grafik cepat, atau perhitungan tambahan bisa langsung dilakukan di Excel tanpa query database.
- Requirement audit/kepatuhan — beberapa industri mewajibkan laporan dalam format file yang bisa diarsipkan secara independen.
Menulis Data ke CSV dengan Node File
Node-RED punya node bawaan file yang bisa langsung digunakan tanpa instalasi tambahan. Susun flow sederhana:
[Modbus-Read] → [Function: format CSV row] → [file]
Function node menyiapkan setiap baris data dalam format CSV (dipisah koma), lengkap dengan timestamp:
const now = new Date().toISOString();
const tekanan = msg.payload.tekanan;
const suhu = msg.payload.suhu;
msg.payload = `${now},${tekanan},${suhu}\n`;
return msg;
Konfigurasi node file:
- Filename — path lengkap file tujuan, misalnya
/home/pi/data/log_sensor.csv. - Action — pilih “append to file” supaya data baru ditambahkan, bukan menimpa file lama.
- Add newline — aktifkan supaya setiap entri berada di baris baru.
Membuat File CSV dengan Header yang Rapi
Agar file CSV mudah dibaca saat dibuka di Excel, tambahkan baris header di awal. Gunakan node inject yang dijalankan sekali saat deploy untuk menulis header, terpisah dari flow logging rutin:
[Inject: saat startup] → [Function: buat header] → [file: overwrite]
msg.payload = "Timestamp,Tekanan (bar),Suhu (C)\n";
return msg;
Pastikan node file untuk header menggunakan mode “overwrite” (bukan append) dan dijalankan terpisah dari flow data rutin yang menggunakan mode append.

Export Otomatis Harian/Mingguan dengan node-red-contrib-file-function atau Rotasi Manual
Untuk file yang tidak terus membesar tanpa batas, buat rotasi file otomatis berdasarkan tanggal. Gunakan node Function untuk membuat nama file dinamis:
const tanggal = new Date().toISOString().split('T')[0];
msg.filename = `/home/pi/data/log_${tanggal}.csv`;
return msg;
Dengan pendekatan ini, setiap hari otomatis dibuat file CSV baru, memudahkan pengarsipan dan mencegah satu file tunggal membengkak tak terkendali.
Konversi ke Excel (XLSX) untuk Laporan Lebih Formal
Jika butuh format XLSX asli (bukan sekadar CSV), gunakan node komunitas node-red-contrib-xlsx. Setelah diinstall via Manage Palette, node ini bisa menulis data langsung ke file .xlsx dengan dukungan multiple sheet dan formatting dasar — cocok untuk laporan yang akan didistribusikan ke manajemen dalam format yang lebih “presentable” dibanding CSV mentah.
Tips Praktis Logging ke File
- Jangan logging terlalu sering — untuk laporan harian, logging tiap 1-5 menit sudah cukup; logging tiap detik akan menghasilkan file raksasa yang tidak perlu.
- Pastikan permission folder benar — di Linux/Raspberry Pi, pastikan user yang menjalankan Node-RED punya izin tulis ke folder tujuan.
- Backup rutin ke lokasi terpisah — jangan hanya mengandalkan satu SD card/disk, terutama untuk data yang dibutuhkan untuk audit.
- Kombinasikan dengan InfluxDB jika perlu keduanya — tidak ada larangan menulis data ke CSV dan InfluxDB sekaligus dari flow yang sama, sesuai kebutuhan masing-masing.
Dengan kemampuan logging ke CSV/Excel ini, seri artikel Node-RED untuk industri sudah mencakup keseluruhan alur: dari instalasi, koneksi data, visualisasi real-time, historian, alarm, hingga pelaporan sederhana — fondasi lengkap untuk membangun sistem monitoring industri Anda sendiri.
Mengirim Laporan CSV/Excel Otomatis via Email
Selain menyimpan file di server, laporan CSV atau Excel harian/mingguan sering perlu dikirim otomatis ke manajemen atau tim terkait tanpa harus login ke server untuk mengunduhnya secara manual. Oleh karena itu, node email seperti node-red-node-email bisa dimanfaatkan untuk mengotomatisasi proses ini.
Flow sederhana untuk kebutuhan ini biasanya terdiri dari node Inject terjadwal (misalnya setiap jam 7 pagi), node Function yang membaca file CSV/Excel hari sebelumnya, kemudian node Email yang mengirimkan file tersebut sebagai lampiran ke daftar penerima yang sudah ditentukan. Dengan demikian, laporan produksi harian bisa sampai ke inbox manajemen tanpa campur tangan manual sama sekali.
Mengelola Ukuran File Log Jangka Panjang
Sama seperti database time-series, file CSV yang terus ditulis setiap hari juga berpotensi menumpuk dan memenuhi storage server jika tidak dikelola dengan baik. Selain rotasi file harian yang sudah dibahas sebelumnya, beberapa langkah tambahan berikut dapat membantu menjaga ukuran storage tetap terkendali dalam jangka panjang.
- Kompresi file lama — file CSV berumur lebih dari 30 hari bisa dikompres otomatis ke format .zip atau .gz untuk menghemat ruang penyimpanan tanpa menghapus datanya.
- Pindahkan ke cold storage — arsipkan file yang sudah sangat lama ke storage terpisah (NAS atau cloud storage) yang lebih murah dibanding disk utama server produksi.
- Hapus otomatis setelah periode tertentu — jika regulasi internal mengizinkan, file mentah yang sudah sangat lama (misalnya lebih dari 2 tahun) bisa dihapus otomatis melalui cron job, asalkan ringkasannya sudah diarsipkan.
Dengan strategi pengelolaan file yang jelas sejak awal, sistem logging CSV/Excel dari Node-RED tetap bisa diandalkan dalam jangka panjang tanpa membebani kapasitas storage server secara berlebihan.
📌 Call to Action
- Siap mulai membangun dashboard monitoring industri Anda sendiri? Dapatkan modul konverter Modbus RTU sebagai titik awal proyek Anda → tokopedia.com/bisaioti
- Ingin dipandu dari instalasi hingga dashboard benar-benar berjalan? Ikuti kelas “Node-RED untuk Monitoring Industri” → bisaioti.com/lab
