> 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/devices-and-settings/object-management/output-control-block.md).

# Blok perintah

## Ikhtisar

Blok **Perintah** memungkinkan Anda mendefinisikan perintah kustom untuk perangkat di Navixy dan mengirimkannya sesuai permintaan dari [widget Objek](/docs/user/id/guide/tracking/objects-list/object-widget.md). Gunakan ini untuk mengirim instruksi tingkat firmware langsung ke perangkat, seperti mengirim perintah CAN atau mengaktifkan output, atau untuk memanggil sistem eksternal apa pun yang menerima permintaan HTTP, seperti saluran Slack, layanan notifikasi, CRM, atau endpoint API kustom. Setelah dikonfigurasi, perintah dapat dikirim dengan satu klik.

Blok Perintah mendukung dua jenis perintah:

* **Perintah perangkat** mengirim string instruksi tingkat protokol langsung ke perangkat (mis., untuk mengirim perintah CAN atau mengaktifkan output).
* **Perintah perangkat lunak** mengirim permintaan HTTP POST dengan body JSON ke URL mana pun, secara opsional menyertakan data perangkat saat ini seperti lokasi, kecepatan, atau ID perangkat dalam payload.

Perintah disimpan per perangkat dan tetap tersedia untuk penggunaan berulang.

{% hint style="info" %}
**Kapan menggunakan Perintah vs. IoT Logic**

**Perintah** dirancang untuk tindakan manual ad hoc yang menargetkan satu perangkat. Gunakan ini ketika Anda perlu mengirim perintah satu kali tanpa mengonfigurasi alur otomasi.

Untuk pengiriman perintah otomatis berbasis aturan, seperti memicu tindakan perangkat atau webhook ketika ambang sensor terlampaui, atau mengirim perintah yang sama ke beberapa perangkat, gunakan [IoT Logic](/docs/user/id/guide/account/iot-logic.md). **Aksi perangkat** dan **Webhook** node di IoT Logic menyediakan kemampuan dasar yang sama dengan otomasi alur penuh dan penargetan multi-perangkat.
{% endhint %}

## Konfigurasi

Untuk mengonfigurasi Perintah untuk perangkat:

1. Buka **Perangkat dan pengaturan** di bilah sisi kiri.
2. Pilih perangkat yang ingin Anda konfigurasikan.
3. Temukan dan perluas **Perintah** blok.

<figure><img src="/files/ceffdb7e4cfa91e404955d28db4449aa8309c953" alt="Commands block showing device and software command options"><figcaption></figcaption></figure>

Anda dapat menambahkan beberapa perintah dari setiap jenis. Setiap perintah disimpan secara individual.

### Perintah perangkat

Sebuah **perintah perangkat** mengirim string instruksi tingkat protokol langsung ke perangkat melalui saluran komunikasinya.

<figure><img src="/files/78e09ab17da4fe010c95552c28f2611350077d82" alt="Device command form with Command name and Command string fields"><figcaption></figcaption></figure>

Untuk menambahkan perintah perangkat, klik **Tambah perintah perangkat** di bagian bawah blok. Konfigurasikan kolom berikut:

1. **Nama perintah**: label untuk perintah yang akan tampil di widget Objek (mis., `restart perangkat`). Pilih nama yang secara jelas menggambarkan apa yang dilakukan perintah tersebut.
2. **String perintah**: string instruksi persis yang akan dikirim ke perangkat (mis., `cpureset`).

{% hint style="warning" %}
String perintah yang valid bersifat spesifik untuk perangkat dan ditentukan oleh produsen perangkat. Selalu rujuk dokumentasi resmi untuk model perangkat Anda guna menemukan string perintah yang benar. Memasukkan nilai yang salah dapat menimbulkan efek yang tidak diinginkan pada perangkat.
{% endhint %}

Klik **Simpan** untuk menyimpan perintah. Klik **Hapus** untuk menghapusnya.

### Perintah perangkat lunak

Sebuah **perintah perangkat lunak** mengirim permintaan HTTP POST dengan body JSON ke URL yang Anda tentukan. Ini dapat berupa endpoint layanan eksternal (seperti Slack, penerima webhook kustom, atau REST API apa pun) atau endpoint API Navixy.

Body permintaan berbentuk JSON dan harus disusun sesuai dengan format yang diharapkan oleh endpoint tujuan. Anda dapat menyertakan atribut data perangkat dalam body menggunakan sintaks `{{attribute_name}}` .

Perintah perangkat lunak dikonfigurasi melalui dua tab: **Umum** dan **Body**.

Untuk menambahkan perintah perangkat lunak, klik **Tambah perintah perangkat lunak** di bagian bawah blok.

#### Tab Umum

{% columns %}
{% column width="58.333333333333336%" %}
Konfigurasikan hal berikut:

1. **Judul**: label untuk perintah yang akan tampil di widget Objek.
2. **URL**: URL endpoint lengkap tempat permintaan POST akan dikirim (mis., `https://hooks.slack.com/services/...` atau `https://api.eu.navixy.com/v2/...`).
3. **Header**: pasangan kunci-nilai yang dikirim sebagai header permintaan HTTP. Tambahkan header sesuai kebutuhan untuk endpoint tujuan. Klik **Tambah header** untuk menyisipkan baris baru.
   * Gunakan header `Authorization` untuk autentikasi berbasis token (mis., `Authorization` / `Bearer your_token`).
   * Metode autentikasi lain yang didukung oleh tujuan, seperti kunci API yang diteruskan sebagai parameter kueri di URL, juga dapat digunakan.
     {% endcolumn %}

{% column width="41.666666666666664%" %}

<figure><img src="/files/7a5a90bc99fd237243c94b31c180ef3340485603" alt="Software command General tab with Title, URL, and Headers fields"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

#### Tab Body

{% columns %}
{% column width="58.333333333333336%" %}
Blok **Body** adalah tempat Anda menyusun payload JSON. Tulis JSON valid yang sesuai dengan format yang diharapkan oleh endpoint tujuan.

Untuk menyertakan data perangkat langsung dalam payload, gunakan sintaks `{{attribute_name}}` . Klik tombol pemilih atribut <img src="/files/ef5ace1d44f944a1bee1460b46afb8bcebfcc693" alt="" data-size="line"> di pojok kanan atas kolom body untuk membuka daftar atribut yang tersedia untuk perangkat dan dapat dicari. Memilih atribut akan menyisipkan `{{attribute_name}}` placeholder
{% endcolumn %}

{% column width="41.666666666666664%" %}

<figure><img src="/files/2b78d3a46300ade2348ca54e2ed7c5804cb61399" alt="Software command Body tab with JSON body field and attribute picker"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

{% hint style="info" %}
yang sesuai ke dalam body pada posisi kursor.
{% endhint %}

Klik **Simpan** untuk menyimpan perintah. Klik **Hapus** untuk menghapusnya.

#### Contoh: mengirim notifikasi Slack

Slack mendukung penerimaan pesan dari layanan eksternal melalui Incoming Webhooks. Setelah Anda menyiapkan webhook di workspace Slack Anda dan memperoleh URL webhook (lihat [panduan Slack Incoming Webhooks](https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks/)), buat perintah perangkat lunak dengan konfigurasi berikut:

**Tab Umum:**

* **Judul**: `Notify Slack`
* **URL**: URL Slack Incoming Webhook Anda (mis., `https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXX`)
* **Header**: tidak diperlukan header

**Tab Body:**

{% code overflow="wrap" %}

```json
{
  "text": "Perangkat {{device_id}}: kecepatan {{speed}} km/jam pada {{latitude}}, {{longitude}}"
}
```

{% endcode %}

Slack mengharapkan objek JSON dengan kolom `text` . `{{device_id}}`, `{{speed}}`, `{{latitude}}`, dan `{{longitude}}` placeholder akan diganti dengan nilai saat ini untuk perangkat pada saat perintah dikirim. Saat dipicu dari widget Objek, pesan akan muncul di saluran Slack yang dikonfigurasi untuk webhook Anda.

## Mengirim perintah dari widget Objek

Setelah perintah disimpan, perintah tersebut akan muncul di **Perintah** blok [widget Objek](/docs/user/id/guide/tracking/objects-list/object-widget.md) perangkat di modul Tracking.

<figure><img src="/files/b46886735af3c9b0edde89ca279a2b81280883a3" alt="Object widget Commands block showing two commands with send buttons"><figcaption></figcaption></figure>

Klik tombol **kirim** (▷) di samping nama perintah untuk mengirimkannya segera. Tidak ada dialog konfirmasi dan perintah akan dikirim segera setelah Anda mengekliknya. Blok Perintah menampilkan semua perintah perangkat dan perintah perangkat lunak yang dikonfigurasi untuk perangkat tersebut.

{% hint style="info" %}
Perintah bersifat per perangkat. Perintah yang dikonfigurasi untuk satu perangkat tidak akan muncul di widget Objek perangkat lain. Untuk mengirim perintah ke beberapa perangkat berdasarkan aturan atau kondisi, gunakan IoT Logic.
{% 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/devices-and-settings/object-management/output-control-block.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.
