> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/user/id/guide/account/iot-logic/nodes/initiate-attribute-node/managing-attributes.md).

# Mengelola atribut

Laporan **Inisiasi Atribut** node memungkinkan Anda membuat, mengedit, dan mengelola atribut data di seluruh aliran IoT Logic Anda. Panduan ini membahas tindakan dasar pengelolaan atribut (membuat, mengedit, menghapus) dan operasi penting, termasuk fungsi autofill untuk pembuatan formula.

## Membuat atribut

Berikut cara membuat atribut baru di node Inisiasi Atribut:

{% stepper %}
{% step %}

### Tambahkan atribut baru

Klik tombol **Tambahkan atribut** tombol
{% endstep %}

{% step %}

### Beri nama atribut

Masukkan nama untuk atribut Anda (mis., "Speed mph"). Nama ini akan ditampilkan di [Penganalisis Data](/docs/user/id/guide/account/iot-logic/data-stream-analyzer.md) dan berfungsi sebagai [nama sensor kustom di Navixy](/docs/user/id/guide/account/iot-logic/nodes/initiate-attribute-node/displaying-new-calculated-attributes-on-the-navixy-platform.md).
{% endstep %}

{% step %}

### Tentukan formula

Tentukan ekspresi nilai. Untuk pembuatan formula yang lebih cepat, gunakan [autofill](#autofill-attribute-names).

{% hint style="info" %}
Sintaks pendek adalah default untuk nama atribut yang diautofill dalam formula, dan Anda juga dapat menggunakannya untuk input formula manual. Saat merujuk hanya pada nilai valid terbaru dari suatu atribut, Anda dapat menghilangkan sintaks fungsi lengkap `value()` dan tanda kutip. Misalnya, formula konversi suhu dapat ditulis sebagai `temperature*1.8 + 32` sebagai ganti `value('temperature', 0, 'valid')*1.8 + 32`.
{% endhint %}
{% endstep %}

{% step %}

### Selesaikan konfigurasi

Klik **Simpan** untuk mengonfirmasi konfigurasi node
{% endstep %}
{% endstepper %}

Atribut baru disimpan di node dan perhitungan yang dikonfigurasi diterapkan segera dalam aliran.

### Pengaturan waktu untuk atribut

Pengaturan waktu memberi Anda kendali atas cap waktu yang terkait dengan atribut Anda:

* **Waktu pembuatan**: Saat data dibuat
  * Gunakan `now()` untuk menetapkan waktu saat ini dalam milidetik
  * Gunakan `genTime('parameter_name', 0, 'valid')` untuk menggunakan waktu pembuatan parameter itu sendiri
* **Waktu server**: Saat data diterima oleh IoT Logic
  * Gunakan `now()` untuk menetapkan waktu saat ini dalam milidetik
  * Gunakan `srvTime('parameter_name', 0, 'valid')` untuk menggunakan waktu server parameter
  * Tambahkan offset untuk menyesuaikan zona waktu (mis., `srvTime('can_speed', 0, 'valid') + 120000` menambahkan 2 menit)

{% hint style="info" %}
Pengaturan waktu penting untuk analisis dan sinkronisasi data. Konfigurasi waktu yang tepat memastikan bahwa data Anda mempertahankan integritas kronologis di seluruh aliran.
{% endhint %}

### Pengisian otomatis nama atribut

Saat membuat formula perhitungan, Anda perlu mereferensikan nama atribut yang sudah ada dari perangkat fisik atau atribut hasil perhitungan dari node lain. Untuk menyederhanakan proses ini dan mencegah salah eja, IoT Logic menyediakan fungsi autofill untuk nama atribut.

Untuk menggunakan autofill saat menyusun formula:

1. Klik ![image-20250605-130755.png](/files/2f4537182e5ac9bdec2931825b20d6933353436f) di **Rumus** bidang.
2. Pilih atribut yang diinginkan dari daftar yang muncul; daftar ini mendukung input teks manual untuk keperluan pencarian.
3. Klik nama atribut untuk menyisipkannya ke dalam formula Anda.

Atribut yang dipilih disisipkan secara otomatis dalam format siap pakai, menggunakan [sintaks pendek](#short-syntax) dari Bahasa Ekspresi Navixy IoT Logic. Artinya, entri yang diautofill mengakses nilai terbaru dari atribut yang dipilih.

Anda dapat memodifikasi parameter sesuai kebutuhan - ubah nomor indeks untuk nilai historis atau sesuaikan penanda validitas. Untuk melakukannya, Anda perlu mendefinisikan formula menggunakan [sintaks lengkap](#full-syntax) secara eksplisit, di dalam `value()` fungsi.

Daftar difilter berdasarkan sumber data aliran Anda dan cocok dengan apa yang terlihat di [Penganalisis Data](/docs/user/id/guide/account/iot-logic/data-stream-analyzer.md).

{% hint style="info" %}
Daftar autofill hanya menampilkan atribut yang memenuhi **semua** kriteria berikut secara bersamaan:

* **Didukung oleh perangkat** - Atribut harus didukung oleh setidaknya satu perangkat yang saat ini ditambahkan ke aliran Anda
* **Benar-benar dikirimkan** - Perangkat harus telah mengirim data nyata untuk atribut ini (bukan sekadar mendukungnya secara teoretis)
* **Tersedia di aliran** - Ini mencakup parameter perangkat dan atribut hasil perhitungan dari **Inisiasi Atribut** node lain dalam aliran yang sama

**Contoh**: Jika perangkat Anda mendukung sensor kecepatan dan suhu, tetapi hanya mengirim data kecepatan (mungkin karena sensor suhu rusak), daftar autofill akan menampilkan atribut 'speed' tetapi tidak 'temperature'. Atribut suhu akan muncul hanya setelah perangkat benar-benar mengirim pembacaan suhu, meskipun secara teknis perangkat mendukungnya.
{% endhint %}

#### Atribut berindeks dalam autofill

Beberapa atribut data berisi beberapa nilai yang diindeks di dalam satu atribut, seperti pembacaan dari beberapa sensor analog yang terhubung ke perangkat telematika utama. Untuk menggunakan atribut ini dalam perhitungan, Anda perlu menentukan nomor indeks yang tepat sesuai dengan sensor atau input spesifik yang ingin Anda rujuk.

Misalnya, jika Anda perlu bekerja dengan pembacaan tegangan dari input analog ketiga pada perangkat Anda, data ini masuk melalui atribut `analog_2` (menggunakan pengindeksan berbasis nol, dengan input pertama bernilai indeks 0). Dalam formula Anda, ini akan muncul sebagai `value('analog_2', 0, 'valid')`.

Autofill juga menangani skenario ini untuk Anda:

* Atribut berindeks ditandai dengan ![image-20250606-123725.png](/files/2cfb5af586f779c5ae7c0b343f1772d2de5c1592) ikon di daftar autofill.
* Entri ini menampilkan rentang indeks yang tersedia dalam tanda kurung siku, seperti `analog_[1..4]` untuk atribut yang mendukung lima nilai berindeks (indeks 1 hingga 4).
* Saat Anda memilih atribut berindeks, kursor otomatis berada di akhir nama atribut di dalam tanda kutip, sehingga Anda dapat langsung mengetik nomor indeks spesifik yang Anda perlukan.

## Bahasa ekspresi

Semua formula di IoT Logic mengikuti spesifikasi [Bahasa Ekspresi Navixy IoT Logic](/docs/iot-logic-api/technologies/navixy-iot-logic-expression-language.md). Di bawah ini, Anda akan menemukan referensi singkat untuk dua opsi sintaks bahasa ini. Pilihan sintaks bergantung pada kasus tertentu dan dirancang untuk kemudahan:

* Sintaks pendek mudah ditulis dan paling cocok saat Anda hanya memerlukan data terbaru.
* Sintaks panjang sedikit lebih kompleks, tetapi menawarkan kontrol lebih besar atas kedalaman data saat Anda perlu menangani nilai historis.

{% hint style="success" %}
Opsi sintaks tidak memengaruhi formula itu sendiri! Anda juga dapat menggabungkan sintaks pendek dan panjang dalam formula yang sama.
{% endhint %}

### Sintaks pendek

Opsi formula pendek mengakses nilai atribut terbaru tanpa memeriksa validitas. Ini berguna saat Anda tidak memerlukan nilai historis dalam formula dan tidak ingin memfilter `null` nilai.

{% hint style="info" %}
[Autofill ](#autofill-attribute-names)fitur selalu menggunakan sintaks pendek.
{% endhint %}

**Sintaks:** `attribute_name`

**Default:**

* Indeks: `0` (nilai saat ini)
* Validasi: `'all'` (mencakup nilai null)

Misalnya, bentuk pendek `temperature` sama dengan formula lengkap `value('temperature', 0, 'all')`. Artinya, Anda dapat dengan mudah membuat perhitungan tanpa menambahkan parameter bawaan secara eksplisit:

```jexl
temperature * 1.8 + 32
```

### Sintaks lengkap

Menggunakan sintaks formula lengkap memungkinkan Anda mengakses nilai historis atau mode validasi eksplisit. Ini membantu saat Anda perlu menggunakan nilai selain yang terbaru dan menangani null. Dalam kasus sintaks lengkap, Anda perlu menentukan `value()` fungsi.

**Fungsi:** `value(attribute_name, index, validation)`

**Parameter:**

<table><thead><tr><th width="152.54547119140625">Parameter</th><th width="176.45452880859375">Rentang/Nilai</th><th>Deskripsi</th></tr></thead><tbody><tr><td><code>attribute_name</code></td><td>Atribut valid apa pun</td><td>Nama persis dari telemetri perangkat (dapat <a href="#autofill-attribute-names">diautofill</a>)</td></tr><tr><td><code>indeks</code></td><td>0-12</td><td>Posisi historis: 0=saat ini, 1=sebelumnya, 12=12 pembacaan lalu</td></tr><tr><td><code>validasi</code></td><td><code>'all'</code> atau <code>'valid'</code></td><td><code>'all'</code>=mencakup null (indeks tepat), <code>'valid'</code>=tidak mencakup null (pembacaan valid ke-N)</td></tr></tbody></table>

**Contoh:**

* Pembacaan sebelumnya apa pun

```jexl
value('temperature', 1, 'all')
```

* Pembacaan valid ke-5 dari belakang

```jexl
value('speed', 5, 'valid')
```

* Perubahan suhu (sintaks pendek dan lengkap digunakan dalam formula yang sama)

```jexl
temperature - value('temperature', 1, 'all')
```

{% hint style="info" %}
Untuk contoh formula lainnya, lihat [Contoh perhitungan](/docs/user/id/guide/account/iot-logic/nodes/initiate-attribute-node/calculation-examples.md).
{% endhint %}

## Mengedit atribut yang sudah ada

Untuk mengubah atribut yang sudah ada:

1. Buka jendela konfigurasi node dengan mengarahkan kursor ke atas node untuk menampilkan tindakan cepat, atau klik dua kali node
2. Temukan atribut yang ingin Anda edit di daftar atribut
3. Lakukan perubahan yang diperlukan pada kolom teks properti atribut: **Nama atribut**, **Rumus** atau pengaturan waktu
4. Jika Anda perlu mengedit atribut lain di node ini, ulangi langkah 3 untuk atribut tersebut
5. Klik **Simpan** untuk menerapkan perubahan Anda pada konfigurasi node

{% hint style="info" %}
Saat Anda mengedit atribut, perubahan hanya akan diterapkan pada data baru yang diterima setelah disimpan. Data historis yang sudah terkumpul tidak akan dihitung ulang.
{% endhint %}

## Menghapus atribut

Untuk menghapus atribut yang tidak lagi diperlukan:

1. Buka jendela konfigurasi node dengan mengarahkan kursor ke atas node untuk menampilkan tindakan cepat, atau klik dua kali node
2. Temukan atribut yang ingin Anda hapus dan klik <img src="/files/a45e9a5bc4bcb8220bf27e8551f2df47f465c834" alt="" data-size="line">
3. Klik **Terapkan perubahan** untuk mengonfirmasi konfigurasi node

{% hint style="info" %}
Saat Anda menghapus atribut, atribut tersebut tidak akan lagi dihitung untuk data baru, tetapi data historis yang berisi atribut ini akan tetap tidak berubah di basis data.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://navixy.com/docs/user/id/guide/account/iot-logic/nodes/initiate-attribute-node/managing-attributes.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
