For the complete documentation index, see llms.txt. This page is also available as Markdown.

Logika

Rute aliran data IoT Logic berdasarkan kondisi dengan node Logika. Evaluasi nilai telemetri, picu tindakan untuk rekaman yang cocok, dan lewati sisanya.

Ikhtisar teknis dan kemampuan

Blok Logika node menciptakan titik percabangan cerdas yang merutekan data masuk ke jalur yang berbeda berdasarkan kondisi logis. Node ini menerima data dari node lain, memvalidasinya terhadap kondisi yang Anda tentukan, dan merutekan hasilnya ke jalur yang berbeda berdasarkan berhasil atau gagalnya validasi. Node ini memungkinkan Anda membangun alur kerja IF->THEN/ELSE di mana tindakan berbeda terjadi secara otomatis berdasarkan kondisi data real-time.

IF/THEN Logic node tile

Blok Logika node dikonfigurasi secara terpisah untuk setiap aliran di UI platform Navixy. Setiap node hanya berisi satu formula logika, dengan mengandalkan Bahasa Ekspresi IoT Logic Navixy. Untuk opsi sintaks khusus yang terkait dengan ekspresi logis, lihat Ekspresi dan sintaks Logika.

IF/THEN Logic node positioning in the flow architecture (with inbound and outbound connections)

Cara kerja node Logika

Saat data pertama kali mencapai sebuah Logika node, IoT Logic membuat atribut boolean yang ditentukan pengguna untuk menyimpan hasil evaluasi. Setiap paket data berikutnya dievaluasi terhadap ekspresi logika Anda, memperbarui nilai atribut ini dan merutekan data sesuai dengan hasilnya:

  • Hasil benar: Data mengalir melalui koneksi THEN (hijau) dengan atribut boolean disetel ke true.

  • Hasil salah: Data mengalir melalui koneksi ELSE (merah) dengan atribut boolean disetel ke false. Itu adalah kasus yang umum, tetapi bukan satu-satunya: pada nilai yang hilang, beberapa operator merutekan ke ELSE sambil membiarkan atribut null tetap false. Lihat Nilai yang hilang dan perutean null.

Evaluasi ini terjadi secara independen untuk setiap paket data, sehingga record yang berbeda dari perangkat yang sama dapat mengikuti jalur yang berbeda berdasarkan kondisi real-time.

Integrasi arsitektur aliran

Atribut boolean yang dibuat oleh Logika node melampaui perutean aliran dan terintegrasi dengan kemampuan pemantauan Navixy yang lebih luas. Karena ini adalah atribut kustom yang ditentukan pengguna, atribut tersebut dapat:

  • Dipantau secara real-time: Lihat hasil evaluasi di Penganalisis Data untuk memecahkan masalah kondisi dan memverifikasi logika

  • Ditambahkan sebagai sensor kustom: Terintegrasi dengan antarmuka utama Navixy untuk pemantauan berkelanjutan

Sebagai sensor kustom, atribut ini memungkinkan dua kemampuan utama:

  • Memicu Aturan peringatan: Anda dapat membuat aturan kustom berdasarkan nilai sensor untuk menerima notifikasi jika terjadi penyimpangan. Untuk detail tentang pembuatan aturan, lihat Aturan dan notifikasi.

  • Entitas pemantauan: Anda dapat menambahkan atribut ke Daftar pelacak widget untuk memantau nilainya bersama pembacaan perangkat lainnya. Untuk detail tentang cara membuat sensor kustom dari atribut IoT Logic, lihat Menampilkan atribut terhitung baru di platform Navixy.

Blok Logika node memerlukan koneksi ke setidaknya satu node sebelumnya (Sumber Data atau node pemrosesan lainnya) untuk menerima data input guna validasi.

Kemampuan node

Blok Logika node menawarkan:

  • Perutean data bersyarat: Buat alur kerja bercabang yang secara otomatis mengarahkan data berdasarkan ekspresi logis yang menghasilkan nilai benar atau salah.

  • Validasi real-time: Uji data perangkat yang masuk terhadap aturan bisnis dan ambang operasional saat data tiba.

  • Dukungan kondisi kompleks: Gabungkan beberapa parameter menggunakan operator logis (AND, OR, dll.) untuk pengambilan keputusan yang lebih canggih.

  • Kondisi berbasis Perimeter: Rujuk Perimeter Navixy yang diberi nama secara langsung dalam ekspresi menggunakan inGeofence(), enterGeofence(), dan leaveGeofence() fungsi, tanpa perbandingan koordinat manual. geofenceName() mengembalikan nama Perimeter tempat perangkat berada, sehingga satu kondisi dapat mencakup banyak area. Lihat Fungsi Perimeter.

  • Pembuatan atribut: Hasilkan atribut boolean yang mencatat hasil validasi untuk digunakan di node lain, sistem pemantauan Navixy, dan layanan pihak ketiga.

  • Jalur output fleksibel: Rutekan data melalui koneksi THEN (benar) dan ELSE (salah, atau kadang null pada nilai yang hilang) untuk memicu tindakan lanjutan yang berbeda.

Opsi konfigurasi

Blok Logika node memungkinkan Anda menentukan ekspresi kondisional yang mengevaluasi data masuk dan membuat jalur bercabang dalam aliran Anda berdasarkan hasilnya.

Mari kita lihat elemen apa yang digunakan node ini dan apa yang dapat Anda konfigurasi saat menggunakannya.

Langkah konfigurasi

1

Tentukan nama node

Masukkan nama deskriptif untuk ini Logika node.

  • Gunakan nama yang dengan jelas mengidentifikasi tujuan validasi (mis., Pemeriksaan peringatan suhu, Deteksi pelanggaran kecepatan).

  • Nama ini akan ditampilkan di diagram aliran agar mudah dikenali.

2

Tentukan nama ekspresi

Masukkan nama untuk atribut boolean yang akan menyimpan hasil validasi.

  • Atribut ini akan muncul di Penganalisis Data dan tersedia untuk digunakan di node berikutnya.

  • Gunakan nama deskriptif seperti high_temperature_alert atau speed_violation_detected.

  • Sistem akan membuat nama secara otomatis seperti logic_1, logic_2 jika tidak ditentukan.

3

Buat ekspresi kondisional

Susun pernyataan logika Anda menggunakan bidang ekspresi.

4

Simpan konfigurasi node

Klik Terapkan perubahan untuk menyelesaikan pembuatan node.

5

Hubungkan jalur output

Setelah Anda mengonfigurasi node, Anda perlu membuat koneksi untuk hasil validasi.

  • Koneksi THEN (hijau): Terhubung ke node yang harus memproses data saat ekspresi bernilai true.

  • Koneksi ELSE (merah): Terhubung ke node yang harus memproses data kapan pun ekspresi tidak bernilai true. Ini mencakup hasil false atau nilai yang hilang yang tidak dapat dievaluasi oleh node.

  • Koneksi THEN wajib, sedangkan koneksi ELSE bersifat opsional.

Untuk informasi terperinci tentang sintaks ekspresi, operator, dan perilaku aliran data, lihat Ekspresi dan sintaks Logika.

Koneksi output dan aliran data

Blok Logika node menciptakan dua jalur output yang berbeda berdasarkan hasil evaluasi ekspresi.

IF/THEN Logic node showing THEN and ELSE connections with green and red color coding

Koneksi THEN (hijau)

  • Aktif saat: Ekspresi logis menghasilkan true.

  • Persyaratan koneksi: Wajib. Setiap node Logika harus memiliki setidaknya satu output THEN.

  • Beberapa koneksi: Dapat terhubung ke beberapa node berikutnya untuk pemrosesan paralel.

  • Penggunaan umum: Memicu Aturan peringatan, pemrosesan khusus, perhitungan kondisional, atau merutekan data ke titik akhir tertentu.

Koneksi ELSE (merah)

  • Aktif saat: Ekspresi logis menghasilkan false, bernilai null, atau tidak dapat dievaluasi.

  • Pengecualian yang perlu diperhatikan: Sebagian besar perbandingan nilai hilang dirutekan ke sini. Sebuah != perbandingan antara nilai yang hilang dan literal non-null merutekan ke THEN sebagai gantinya, begitu pula !~, dan !^ dan !$ pada nilai yang hilang value() hasil.

  • Nilai yang disimpan tidak selalu false: Perutean ke ELSE tidak menjamin atribut boolean disimpan sebagai false. Perbandingan relasional (<, <=, >, >=) dan referensi nilai hilang polos jatuh ke ELSE dengan atribut tetap null. Lihat Nilai yang hilang dan perutean null.

  • Persyaratan koneksi: Opsional. Gunakan hanya jika Anda perlu menangani hasil negatif.

  • Penanganan kesalahan: Memproses kasus ketika ekspresi tidak dapat dievaluasi karena kesalahan sintaks atau tipe data yang tidak valid. Perutean data hilang bergantung pada operator. Lihat Nilai yang hilang dan perutean null.

  • Penggunaan umum: Mencatat validasi yang gagal, merutekan data melalui jalur pemrosesan alternatif, atau melanjutkan operasi normal.

Persyaratan node terminal

Saat terhubung ke node terminal (Tindakan, Webhook) yang tidak mendukung koneksi keluar, buat koneksi paralel untuk memastikan baik node terminal maupun Titik Akhir Output menerima data:

Mengapa kedua cabang memerlukan Titik Akhir Output:

  • Memastikan persistensi data dan visibilitas sistem

  • Memungkinkan validasi aliran

  • Kedua cabang dapat berbagi node Titik Akhir Output yang sama

Pertanyaan yang sering diajukan

Dapatkah saya menggunakan atribut yang dibuat oleh node lain dalam ekspresi Logika?

Ya. Logika node dapat mereferensikan atribut apa pun yang tersedia dari sumber data yang terhubung, termasuk parameter perangkat asli dan atribut yang dihitung oleh node Inisiasi Atribut sebelumnya. Fitur pelengkapan otomatis membantu Anda memilih dari semua atribut yang tersedia.

Apa yang terjadi jika ekspresi saya mengandung kesalahan sintaks?

Jika ekspresi mengandung kesalahan sintaks atau tidak dapat dievaluasi, node Logika merutekan data melalui koneksi ELSE dan menyimpan atribut sebagai null, bukan false. Periksa sintaks ekspresi dan pastikan semua atribut yang direferensikan ada dalam aliran data Anda.

Dapatkah saya menghubungkan beberapa node ke output node Logika yang sama?

Ya. Koneksi THEN dan ELSE mendukung beberapa koneksi keluar, sehingga Anda dapat memicu beberapa tindakan berbeda berdasarkan kondisi logis yang sama. Ini memungkinkan pemrosesan paralel untuk alur kerja bisnis yang kompleks.

Bagaimana cara memantau hasil node Logika?

Hasil node Logika muncul sebagai atribut boolean di Penganalisis Data tabel. Pilih perangkat Anda dan cari nama atribut yang Anda tentukan di bidang nama ekspresi. Nilainya biasanya ditampilkan sebagai true atau false, tetapi nilai yang hilang dapat membuat atribut null sebagai gantinya, bergantung pada operator. Lihat Nilai yang hilang dan perutean null.

Mengapa kondisi saya terpenuhi meskipun atributnya belum memiliki nilai?

Kemungkinan besar kondisi tersebut menggunakan != terhadap literal non-null, atau !~, pada nilai yang belum pernah diterima. Kedua operator memperlakukan "tidak ada nilai" sebagai berbeda dari literal yang Anda bandingkan, sehingga bernilai true dan merutekan ke THEN. Default aman akan melakukan sebaliknya. Operator !^ dan !$ melakukan hal yang sama pada value() hasil yang hilang, dan menghasilkan null saat atribut direferensikan dengan nama. Tambahkan pengaman keberadaan (value('attr', 0, 'all') != null && ...) atau == null pemeriksaan jika kondisi hanya boleh aktif setelah atribut memiliki nilai nyata. Lihat Nilai yang hilang dan perutean null untuk rincian lengkap per operator.

Dapatkah saya merangkai beberapa node Logika bersama-sama?

Ya. Anda dapat menghubungkan Logika node secara berurutan untuk membuat pohon keputusan yang kompleks. Setiap Logika node dapat mereferensikan atribut boolean yang dibuat oleh node sebelumnya Logika , sehingga memungkinkan alur kerja validasi multi-tahap yang canggih.

Example flow showing multiple IF/THEN Logic nodes connected in sequence for complex decision trees

Mengapa cabang Logika harus terhubung ke Titik Akhir Output?

Setiap cabang Logika harus berakhir di Titik Akhir Output untuk validasi aliran data dan visibilitas sistem. Saat menggunakan node terminal (Action, Webhook) yang tidak mendukung koneksi keluar, buat koneksi paralel dari node Logika langsung ke Titik Akhir Output. Kedua cabang dapat berbagi Titik Akhir Output yang sama jika diperlukan.

Terakhir diperbarui

Apakah ini membantu?