> 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/commands.md).

# Команды

Как сохранять команды для GPS-устройства, например перезагрузку, иммобилизацию автомобиля или оповещение в командном чате, и отправлять их из Мониторинга или X-GPS Mobile.

Команда — это действие, которое вы сохраняете на устройстве, а затем отправляете одним щелчком. Например, вы можете перезагрузить GPS-устройство, которое перестало передавать данные, заблокировать транспорт или отправить местоположение транспорта в ваш командный чат. Вы настраиваете команды для каждого устройства в **Управление устройствами** модуле. Затем вы отправляете их из [виджета «Объект»](/docs/user/ru/guide/tracking/objects-list/object-widget.md) в модуле Мониторинг или из [X-GPS Mobile](/docs/user/ru/guide/x-gps-mobile-apps/x-gps-mobile.md) приложения.

## Что можно делать с командами

Ниже приведены типичные задачи, которые сохраненная команда выполняет одним щелчком. Во втором столбце указан тип команды, которая выполняет задачу. Команда устройства отправляется на GPS-устройство. Программная команда отправляет запрос в другой сервис, например в командный чат. [Команды устройства и программные команды](#device-commands-and-software-commands) описывает оба типа.

| Задача                                                                   | Тип команды         | Что происходит                                                                                                                                                               |
| ------------------------------------------------------------------------ | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Перезапустить устройство, которое перестало передавать данные            | Команда устройства  | Устройство получает команду на перезагрузку и перезагружается.                                                                                                               |
| Заблокировать транспорт                                                  | Команда устройства  | Устройство включает выход, подключенный к иммобилайзеру транспортного средства. См. [Иммобилизация транспортного средства](#vehicle-immobilization).                         |
| Открыть дверь или включить сигнализацию                                  | Команда устройства  | Устройство переключает выход, который управляет замком или сигнализацией.                                                                                                    |
| Изменять настройку устройства на новое значение каждый раз               | Команда устройства  | Вы вводите значение при отправке команды, а устройство применяет его. См. [Запрашивать значение при каждой отправке команды](#ask-for-a-value-each-time-you-send-a-command). |
| Отправить местоположение и скорость транспорта в командный чат           | Программная команда | Navixy отправляет сообщение в чат. См. [Отправить местоположение и скорость в Slack](#send-location-and-speed-to-slack).                                                     |
| Отправить местоположение транспорта в вашу CRM или диспетчерскую систему | Программная команда | Navixy отправляет текущее местоположение устройства по адресу системы.                                                                                                       |

## Команды устройства и программные команды

В Navixy есть два типа команд. Они различаются тем, куда направлено действие:

* **Команда устройства**Команда устройства: Navixy отправляет инструкцию GPS-устройству, и устройство выполняет её. Устройство может перезагружаться, включать или выключать выход либо изменять одну из своих настроек. Инструкция представляет собой текст, который называется строкой команды. У каждой модели устройства есть свои строки команд, которые производитель указывает в документации к модели.
* **Программная команда**Программная команда: Navixy отправляет запрос в другой сервис, например в командный чат, CRM или на ваш сервер. На GPS-устройство ничего не отправляется. Запрос может включать текущие данные устройства, например его местоположение и скорость.

У каждого устройства свой список команд. Команда отображается только на тех устройствах, куда вы её добавили или [скопировали её на](#copy-commands-to-other-devices)Это также относится к программной команде: она ничего не отправляет на устройство, но передает собственные данные этого устройства, например его текущее местоположение. Если программную команду добавили только на одно устройство, она отображается только на этом устройстве.

## Иммобилизация транспортного средства

Чтобы заблокировать транспорт командой, в транспортном средстве должен быть иммобилайзер или реле блокировки, подключенное к одному из выходов GPS-устройства. Команда переключает этот выход. Строка команды берется из документации производителя устройства.

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

{% hint style="warning" %}
Команда, которая переключает выход, может быть небезопасной для транспорта в некоторых ситуациях, например когда транспорт движется. Отправляйте такие команды с особой осторожностью и сначала проверяйте ситуацию с транспортом. Navixy не проверяет скорость или зажигание транспорта перед отправкой команды. У некоторых GPS-устройств есть собственная логика безопасности, которая описана в [Управление выходами](/docs/expert-center/ru/faq-and-troubleshooting/gps-devices/outputs-control.md).
{% endhint %}

## Когда вместо этого использовать IoT Logic

Команды предназначены для ручных действий: вы сами решаете, когда отправлять команду, и отправляете её для одного устройства за раз. Чтобы отправлять команды автоматически, например когда значение датчика пересекает порог, или отправлять одну и ту же команду на многие устройства, используйте [IoT Logic](/docs/user/ru/guide/account/iot-logic.md). Его **Действие устройства** и **Вебхук** узлы выполняют те же задачи, что и команды устройства и программные команды, внутри автоматизированного потока.

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

## Отправить команду

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

Navixy отправляет команду сразу после нажатия кнопки отправки, без подтверждения. Единственное исключение — команда, которая [запрашивает значение](#ask-for-a-value-each-time-you-send-a-command): сначала она открывает поле для значения. Перед отправкой команды, которая переключает выход, например блокировку, убедитесь, что это безопасно для транспорта в его текущей ситуации. См. [Иммобилизация транспортного средства](#vehicle-immobilization).

Чтобы отправить команду, выполните следующие шаги:

1. В модуле Мониторинг откройте виджет «Объект» устройства.
2. Разверните **Команды** блок.
3. Нажмите кнопку отправки рядом с командой.
4. Если команда запрашивает значение, введите до 500 символов и нажмите **Отправить**.

<figure><img src="https://2388694493-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-d3074f8879c2b2a0b719e8d54783c387e53a2794%2Fobject-widget-commands.png?alt=media" alt="Object widget in the Tracking module with the Commands block expanded. It lists a device command named Device reboot and a software command named Notify Slack, each with a send button."><figcaption><p>Команды в виджете «Объект»</p></figcaption></figure>

Приложение X-GPS Mobile показывает те же команды. См. [Информация об активе](/docs/user/ru/guide/x-gps-mobile-apps/x-gps-mobile/assets-list/asset-information.md#gps-device) чтобы узнать, где в приложении они перечислены. Вы не можете добавлять или изменять команды в приложении.

## Результаты команды

После отправки команды из виджета «Объект» Navixy показывает уведомление с результатом:

* Для команды устройства уведомление показывает, отправила ли Navixy команду. Успешный результат означает, что команда вышла из Navixy. Он не подтверждает, что устройство выполнило её.
* Для программной команды уведомление показывает название команды и ответ принимающего сервиса. В ответе есть код состояния — число, которое показывает, принял ли сервис запрос, например `200` если принял. В нем также есть текст, который вернул сервис.

Каждая отправленная команда также отображается в [Последние события](/docs/user/ru/guide/tracking/objects-list/object-widget.md#data-blocks) блоке виджета «Объект». Разверните запись, чтобы увидеть результат. Если команда запрашивала значение, в заголовке записи рядом с названием команды отображается введенное вами значение, например `Обновить статус <на связи>`.

<figure><img src="https://2388694493-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-a0310f4425c07ba87b52177eb45073451f14a827%2Frecent-events-command-value.png?alt=media" alt="Recent events entry with the value that was sent shown in angle brackets next to the command name"><figcaption><p>Отправленная команда в блоке «Последние события»</p></figcaption></figure>

## Настроить команды для устройства

Чтобы открыть команды устройства, выполните следующие шаги:

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

<figure><img src="https://2388694493-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-0b08686ab5211cfcdda8ed6f2edc4f90b87fdc6a%2Foutput-control-block.png?alt=media" alt="Devices and settings module with a device selected. The Commands block is expanded and has no commands yet. It shows the Add device command and Add software command buttons."><figcaption><p>Блок «Команды» устройства без команд</p></figcaption></figure>

На устройстве может быть до 10 команд — в сумме команд устройства и программных команд. Когда на устройстве уже 10 команд, **Добавить команду устройства** и **Добавить программную команду** недоступны. Чтобы удалить команду, нажмите **Удалить** в её форме.

### Добавить команду устройства

Команде устройства нужна строка команды для вашей модели устройства, которую вы найдете в документации к модели.

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

Чтобы добавить команду устройства, выполните следующие шаги:

1. Нажмите **Добавить команду устройства**.
2. Введите **Название команды**, например `Перезагрузка устройства`.
3. Введите **Строку команды**, например `cpureset`.
4. Нажмите **Сохранить**.

<figure><img src="https://2388694493-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-4fb41dda6033a61f1af4dbdae9e75b73ddf14353%2Foutput-control-device-vommand.png?alt=media" alt="Device command form with the Command name and Command string fields, and the Delete and Save buttons"><figcaption><p>Команда устройства</p></figcaption></figure>

### Запрашивать значение при каждой отправке команды

Команда может запрашивать значение при отправке вместо того, чтобы всегда отправлять один и тот же текст. Чтобы команда устройства запрашивала значение, добавьте `<>` заполнитель в **Строку команды** то место, куда подставляется значение, например `relay,<>`. Программная команда тоже может запрашивать значение: см. [Добавить программную команду](#add-a-software-command).

У команды может быть только один `<>` заполнитель. Если вы добавите второй, в поле появится ошибка, и Navixy не сохранит команду. Чтобы прочитать краткое описание `<>` синтаксиса в продукте, нажмите значок справки в **Команды** блок.

### Скопировать команды на другие устройства

Чтобы назначить нескольким устройствам одинаковые команды, настройте их на одном устройстве и скопируйте:

1. В **Команды** блоке нажмите значок копирования. Всплывающая подсказка к нему — **Применить эти настройки к другим объектам**.
2. Выберите устройства.
3. Нажмите **Применить**.

Navixy добавляет сохраненные команды устройства к каждому выбранному устройству. Команды, которые уже есть на выбранном устройстве, остаются без изменений.

### Добавить программную команду

Программная команда соединяет Navixy с другим сервисом, например с командным чатом, CRM или вашим сервером. Она отправляет HTTP POST-запрос с JSON-телом на адрес, который вы выбираете. Адрес может принадлежать любому сервису, который принимает такие запросы, например Slack, получателю вебхуков или REST API. Чтобы добавить программную команду, выполните следующие шаги:

1. Нажмите **Добавить программную команду**.
2. На **вкладке «Общие»** введите **Название** и **URL** который принимает запрос.
3. Если принимающему сервису нужны HTTP-заголовки, нажмите **Добавить заголовок** и введите ключ и значение каждого заголовка.
4. На **вкладке «Тело»** введите JSON-тело в формате, который ожидает принимающий сервис.
5. Нажмите **Сохранить**.

{% columns %}
{% column width="58.333333333333336%" %}
Это **URL** полный адрес принимающего сервиса, например `https://hooks.slack.com/services/...`.

Для сервиса, который использует аутентификацию по токену, добавьте `Authorization` заголовок со значением `Bearer your_token`. Сервис, который передает API-ключ в URL, не требует заголовка.
{% endcolumn %}

{% column width="41.666666666666664%" %}

<figure><img src="https://2388694493-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-38e4eab9ed360e81a51ad8247392a8b9104d5db4%2Foutput-control-software-command-general.png?alt=media" alt="General tab of a software command with the Title, URL, and Headers fields"><figcaption><p>Вкладка «Общие» программной команды</p></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column width="58.333333333333336%" %}
Чтобы добавить текущие данные устройства в тело, используйте заполнители атрибутов в `{{attribute_name}}` формате. Нажмите <img src="https://2388694493-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-1fa59f996fe69fa378ac659fa97f7e00c376f263%2Fimage.png?alt=media" alt="Attribute picker" data-size="line"> рядом с полем и выберите атрибут. Navixy вставляет его заполнитель туда, где находится курсор. Когда вы отправляете команду, Navixy заменяет каждый заполнитель атрибута текущим значением атрибута.
{% endcolumn %}

{% column width="41.666666666666664%" %}

<figure><img src="https://2388694493-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-82eaece7ab729a184238a6d1f3413b4fec7300ab%2Foutput-control-software-command-body.png?alt=media" alt="Body tab of a software command with a JSON body and the attribute picker button"><figcaption><p>Вкладка «Тело» программной команды</p></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

Список атрибутов показывает только те атрибуты, которые устройство отправляет в Navixy, поэтому у разных устройств он различается. Выбирайте атрибуты из списка, чтобы избежать ошибок при вводе их названий.

Чтобы программная команда [запрашивала значение](#ask-for-a-value-each-time-you-send-a-command) при отправке, добавьте `<>` заполнитель в **вкладке «Тело»**, например `{"value": "<>"}`.

### Отправить местоположение и скорость в Slack

Программная команда может отправлять местоположение и скорость устройства в канал Slack через входящий вебхук Slack. Slack ожидает JSON-тело с полем `text` полем. Это тело отправляет ID устройства, скорость и координаты:

{% code overflow="wrap" %}

```json
{
  "text": "Device {{device_id}}: speed {{speed}} km/h at {{latitude}}, {{longitude}}"
}
```

{% endcode %}

Чтобы настроить команду, выполните следующие шаги:

1. В Slack настройте входящий вебхук и скопируйте его URL. В [Руководство по входящим вебхукам Slack](https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks/) рассказывает, как это сделать.
2. В блоке устройства **Команды** нажмите **Добавить программную команду**.
3. На **вкладке «Общие»** на вкладке `Notify Slack` в качестве **Название**.
4. В **URL**, вставьте URL вебхука, например `https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXX`.
5. На **вкладке «Тело»** на вкладке введите JSON-тело.
6. Нажмите **Сохранить**.

Когда вы отправляете команду, Navixy заменяет четыре заполнителя атрибутов текущими значениями устройства. Сообщение появляется в канале Slack, к которому принадлежит этот вебхук.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://navixy.com/docs/user/ru/guide/devices-and-settings/object-management/commands.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
