Node Adjacent Message Calculation membandingkan bidang numerik (BIGINT atau DOUBLE) antara pesan saat ini dan pesan sebelumnya, menghitung hasil berdasarkan ekspresi yang telah ditentukan, lalu menuliskannya ke bidang output tertentu untuk analisis lebih lanjut.
Use cases
Smart meter melaporkan penggunaan listrik kumulatifnya setiap jam. Untuk menentukan penggunaan inkremental selama satu jam terakhir (dalam kWh), Anda dapat menggunakan node Adjacent Message Calculation untuk mengurangkan nilai penggunaan sebelumnya dari nilai saat ini.
Prerequisites
Pastikan ekspresi perhitungan data atau filter penyaringan data telah dikonfigurasi. Untuk informasi selengkapnya, lihat Configure data computing and data filtering.
Background information
-
Untuk ikhtisar fitur parsing data, lihat Usage Notes.
-
Untuk petunjuk penggunaan ruang kerja parsing data, lihat Data Parsing Workspace Instructions.
Procedure
-
Di kanvas tengah, klik ikon add
setelah node saat ini. -
Pada daftar node yang muncul, klik node Adjacent Message Calculation.
-
Di kanvas, klik node Adjacent Message Calculation. Di panel konfigurasi di sebelah kanan, konfigurasikan node tersebut sesuai dengan tabel berikut.
Parameter
Parameter
Description
Example
basic settings
previous variable field
Pilih bidang numerik dari pesan sebelumnya untuk perhitungan.
Variabel
${pre_var}merepresentasikan nilai bidang ini dalam ekspresi.PentingBidang ini hanya mendukung bidang numerik (BIGINT atau DOUBLE) dari output node sebelumnya.
Dalam kasus smart meter, pilih bidang penggunaan listrik, misalnya kWh.
current variable field
Pilih bidang numerik dari pesan saat ini untuk perhitungan.
Variabel
${current_var}merepresentasikan nilai bidang ini dalam ekspresi.PentingBidang ini hanya mendukung bidang numerik (BIGINT atau DOUBLE) dari output node sebelumnya.
Dalam kasus smart meter, pilih bidang penggunaan listrik, misalnya kWh.
result field name
Masukkan nama untuk bidang yang akan menyimpan hasil perhitungan.
Nama harus unik, panjang maksimal 30 karakter, serta hanya boleh terdiri dari huruf, angka, dan garis bawah (_). Nama tidak boleh dimulai dengan angka.
Untuk kasus smart meter, Anda dapat memberi nama bidang tersebut kwh_diff untuk merepresentasikan konsumsi listrik inkremental per jam.
expression
Tentukan ekspresi untuk menghitung nilai dari previous variable field dan current variable field.
Anda harus menggunakan
${current_var}untuk merepresentasikan nilai current variable field dan${pre_var}untuk merepresentasikan nilai previous variable field.Anda dapat menggunakan operasi aritmetika dasar dan semua fungsi yang didukung oleh node ekspresi. Untuk informasi selengkapnya, lihat Configure expressions.
Untuk kasus smart meter, untuk menghitung konsumsi listrik inkremental per jam, kurangkan nilai penggunaan sebelumnya dari nilai saat ini.
Ekspresinya adalah:
${current_var} - ${pre_var}.advanced settings
message partition key
Opsional. Kunci yang digunakan untuk mempartisi pesan dalam topik yang sama guna perhitungan bersebelahan. Pesan dengan kunci partisi yang sama diproses secara berurutan.
Jika Anda tidak menentukan kunci, IoT Platform menggunakan kombinasi ProductKey dan DeviceName sebagai kunci partisi pesan default.
Untuk kasus smart meter:
Agar perhitungan bersebelahan pada pesan konsumsi listrik (kWh) dari meter yang sama berjalan tepat, kunci partisi harus berupa ProductKey dan DeviceName meter tersebut. Dalam hal ini, Anda dapat membiarkan bidang ini kosong agar menggunakan nilai default.
Namun, jika beberapa meter melaporkan data melalui satu gerbang (gateway) dan bidang deviceId dalam muatan pesan mengidentifikasi setiap meter, Anda harus mengatur message partition key menjadi deviceId. Hal ini memastikan bahwa pesan dari meter fisik yang sama diproses secara berurutan.
message TTL
Satuan: detik. Default: 86.400 (satu hari). Minimum: 1. Maksimum: 2.592.000 (30 hari).
-
Jika tidak ada pesan baru yang diterima dalam rentang durasi ini, nilai variabel sebelumnya akan dihapus. Node mereset TTL pesan setiap kali menerima pesan baru.
-
Jika TTL pesan habis dan nilai variabel sebelumnya dihapus, sistem memperlakukan pesan masuk berikutnya sebagai pesan pertama dalam urutannya. Perhitungan bersebelahan tidak dijalankan pada pesan pertama ini, dan bidang hasil akan kosong.
Untuk kasus smart meter, Anda dapat menggunakan nilai default 86400.
-
-
Klik Save di pojok kanan atas Konsol Parsing Data untuk menyimpan konfigurasi node.
PentingOutput node ini mencakup bidang hasil yang ditentukan dan semua bidang output dari node sebelumnya.
Next steps
Lanjutkan membangun pipeline parsing data Anda dengan menambahkan node pemrosesan atau mengonfigurasi node target.