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

# Блок команд

## Обзор

Блок **Команды** позволяет задать пользовательские команды для устройства в Navixy и отправлять их по запросу из [виджета объекта](/docs/user/ru/guide/tracking/objects-list/object-widget.md). Используйте его, чтобы отправить устройству инструкцию на уровне прошивки напрямую, например команду CAN или активировать выход, либо вызвать любую внешнюю систему, принимающую HTTP-запросы, такую как канал Slack, сервис уведомлений, CRM или пользовательский API-эндпоинт. После настройки команды можно отправлять одним щелчком.

Блок «Команды» поддерживает два типа команд:

* **Команда устройства** отправляет строку инструкции на уровне протокола напрямую устройству (например, чтобы отправить команду CAN или активировать выход).
* **Программная команда** отправляет HTTP POST-запрос с JSON-телом на любой указанный URL, при необходимости включая в полезную нагрузку текущие данные устройства, такие как местоположение, скорость или ID устройства.

Команды сохраняются для каждого устройства и остаются доступными для повторного использования.

{% hint style="info" %}
**Когда использовать «Команды», а когда IoT Logic**

**Команды** предназначен для разовых ручных действий, нацеленных на одно устройство. Используйте его, когда нужно отправить однократную команду без настройки потока автоматизации.

Для автоматической отправки команд по правилам, например для запуска действия устройства или webhook при превышении порога датчика, либо для отправки одной и той же команды на несколько устройств, используйте [IoT Logic](/docs/user/ru/guide/account/iot-logic.md). **Действие устройства** и **Webhook** узлы в IoT Logic предоставляют те же базовые возможности с полной автоматизацией потока и нацеливанием на несколько устройств.
{% endhint %}

## Настройка

Чтобы настроить «Команды» для устройства:

1. Перейдите в **Устройства и настройки** в левой боковой панели.
2. Выберите устройство, которое хотите настроить.
3. Найдите и разверните **Команды** блок.

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

Вы можете добавить несколько команд каждого типа. Каждая команда сохраняется отдельно.

### Команды устройства

A **команда устройства** отправляет строку инструкции на уровне протокола напрямую устройству по его каналу связи.

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

Чтобы добавить команду устройства, нажмите **Добавить команду устройства** внизу блока. Настройте следующие поля:

1. **Имя команды**: метка команды, как она будет отображаться в виджете объекта (например, `перезагрузка устройства`). Выберите имя, которое ясно описывает назначение команды.
2. **Строка команды**: точная строка инструкции, которая будет отправлена устройству (например, `cpureset`).

{% hint style="warning" %}
Допустимые строки команд зависят от конкретного устройства и определяются производителем устройства. Всегда обращайтесь к официальной документации для вашей модели устройства, чтобы найти правильные строки команд. Ввод неверных значений может привести к нежелательным последствиям для устройства.
{% endhint %}

Нажмите **Сохранить** чтобы сохранить команду. Нажмите **Удалить** чтобы удалить её.

### Программные команды

A **программная команда** отправляет HTTP POST-запрос с JSON-телом на указанный вами URL. Это может быть внешний конечный пункт сервиса (например, Slack, пользовательский приемник webhook или любой REST API) либо API-эндпоинт Navixy.

Тело запроса имеет формат JSON и должно быть структурировано в соответствии с тем, что ожидает конечный пункт назначения. Вы можете включать в тело атрибуты данных устройства с помощью `{{attribute_name}}` синтаксиса.

Программные команды настраиваются на двух вкладках: **Общие** и **Тело**.

Чтобы добавить программную команду, нажмите **Добавить программную команду** внизу блока.

#### Вкладка «Общие»

{% columns %}
{% column width="58.333333333333336%" %}
Настройте следующее:

1. **Заголовок**: метка команды, как она будет отображаться в виджете объекта.
2. **URL**: полный URL конечного пункта, на который будет отправлен POST-запрос (например, `https://hooks.slack.com/services/...` или `https://api.eu.navixy.com/v2/...`).
3. **Заголовки**: пары ключ-значение, отправляемые как HTTP-заголовки запроса. Добавляйте заголовки по мере необходимости для конечного пункта назначения. Нажмите **Добавить заголовок** чтобы вставить новую строку.
   * Используйте заголовок `Authorization` для аутентификации на основе токена (например, `Authorization` / `Bearer your_token`).
   * Также можно использовать другие методы аутентификации, поддерживаемые конечным пунктом назначения, например API-ключи, передаваемые как параметр запроса в URL.
     {% endcolumn %}

{% column width="41.666666666666664%" %}

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

#### Вкладка «Тело»

{% columns %}
{% column width="58.333333333333336%" %}
Блок **Тело** поле, в котором вы формируете JSON-полезную нагрузку. Запишите корректный JSON, соответствующий формату, ожидаемому конечным пунктом назначения.

Чтобы включить в полезную нагрузку актуальные данные устройства, используйте `{{attribute_name}}` синтаксис. Нажмите кнопку выбора атрибутов <img src="/files/ae357cf387d87e403846c62edd82424f4874d0f0" alt="" data-size="line"> в правом верхнем углу поля тела, чтобы открыть доступный для поиска список атрибутов устройства. При выборе атрибута соответствующий `{{attribute_name}}` заполнитель будет вставлен в тело в позиции курсора.
{% endcolumn %}

{% column width="41.666666666666664%" %}

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

{% hint style="info" %}
Доступные атрибуты зависят от конкретного устройства и данных, которые оно передает на платформу. В списке отображаются только те атрибуты, которые действительно отправляются устройством. Используйте выбор атрибутов, чтобы избежать опечаток или неверных имен атрибутов.
{% endhint %}

Нажмите **Сохранить** чтобы сохранить команду. Нажмите **Удалить** чтобы удалить её.

#### Пример: отправка уведомления Slack

Slack поддерживает получение сообщений от внешних сервисов через Incoming Webhooks. После того как вы настроите webhook в рабочем пространстве Slack и получите URL webhook (см. [руководство по Slack Incoming Webhooks](https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks/)), создайте программную команду со следующей конфигурацией:

**Вкладка «Общие»:**

* **Заголовок**: `Notify Slack`
* **URL**: ваш URL Slack Incoming Webhook (например, `https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXX`)
* **Заголовки**: заголовки не требуются

**Вкладка «Тело»:**

{% code overflow="wrap" %}

```json
{
  "text": "Устройство {{device_id}}: скорость {{speed}} км/ч, {{latitude}}, {{longitude}}"
}
```

{% endcode %}

Slack ожидает JSON-объект с полем `text` . `{{device_id}}`, `{{speed}}`, `{{latitude}}`, и `{{longitude}}` заполнители будут заменены текущими значениями устройства в момент отправки команды. При запуске из виджета объекта сообщение появится в канале Slack, настроенном для вашего webhook.

## Отправка команд из виджета объекта

После сохранения команды они появляются в **Команды** блоке [виджета объекта](/docs/user/ru/guide/tracking/objects-list/object-widget.md) устройства в модуле «Отслеживание».

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

Нажмите кнопку **отправки** (▷) рядом с именем команды, чтобы отправить её немедленно. Диалог подтверждения отсутствует, и команда отправляется сразу после нажатия. Блок «Команды» показывает все команды устройства и программные команды, настроенные для этого устройства.

{% hint style="info" %}
Команды являются индивидуальными для каждого устройства. Команды, настроенные для одного устройства, не отображаются в виджетах объекта других устройств. Чтобы отправлять команды на несколько устройств по правилам или условиям, используйте 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:

```
GET https://navixy.com/docs/user/ru/guide/devices-and-settings/object-management/output-control-block.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
