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

# Bloque de comandos

## Descripción general

El **Comandos** bloque le permite definir comandos personalizados para un dispositivo en Navixy y enviarlos a demanda desde el [widget de objeto](/docs/user/es/guide/tracking/objects-list/object-widget.md). Úselo para enviar una instrucción a nivel de firmware directamente a un dispositivo, como enviar un comando CAN o activar una salida, o para llamar a cualquier sistema externo que acepte solicitudes HTTP, como un canal de Slack, un servicio de notificaciones, un CRM o un punto de conexión API personalizado. Una vez configurados, los comandos se pueden enviar con un solo clic.

El bloque Comandos admite dos tipos de comandos:

* **Comando del dispositivo** envía una cadena de instrucción a nivel de protocolo directamente al dispositivo (por ejemplo, para enviar un comando CAN o activar una salida).
* **Comando de software** envía una solicitud HTTP POST con un cuerpo JSON a cualquier URL, incluyendo opcionalmente datos actuales del dispositivo como la ubicación, la velocidad o el ID del dispositivo en la carga útil.

Los comandos se guardan por dispositivo y permanecen disponibles para su uso repetido.

{% hint style="info" %}
**Cuándo usar Comandos vs. IoT Logic**

**Comandos** está diseñado para acciones manuales puntuales dirigidas a un solo dispositivo. Úselo cuando necesite enviar un comando único sin configurar un flujo de automatización.

Para el envío automatizado de comandos basado en reglas, como activar una acción del dispositivo o un webhook cuando se supera el umbral de un sensor, o enviar el mismo comando a varios dispositivos, use [IoT Logic](/docs/user/es/guide/account/iot-logic.md). El **Acción del dispositivo** y **Webhook** nodos en IoT Logic proporcionan las mismas capacidades subyacentes con automatización completa del flujo y segmentación para varios dispositivos.
{% endhint %}

## Configuración

Para configurar Comandos para un dispositivo:

1. Vaya a **Dispositivos y ajustes** en la barra lateral izquierda.
2. Seleccione el dispositivo que desea configurar.
3. Ubique y expanda el **Comandos** bloque.

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

Puede agregar varios comandos de cada tipo. Cada comando se guarda individualmente.

### Comandos del dispositivo

Un **comando del dispositivo** envía una cadena de instrucción a nivel de protocolo directamente al dispositivo a través de su canal de comunicación.

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

Para agregar un comando del dispositivo, haga clic en **Agregar comando del dispositivo** en la parte inferior del bloque. Configure los siguientes campos:

1. **Nombre del comando**: una etiqueta para el comando tal como aparecerá en el widget de objeto (por ejemplo, `reinicio del dispositivo`). Elija un nombre que describa claramente lo que hace el comando.
2. **Cadena de comando**: la cadena de instrucción exacta que se enviará al dispositivo (por ejemplo, `cpureset`).

{% hint style="warning" %}
Las cadenas de comando válidas dependen del dispositivo y están definidas por el fabricante del dispositivo. Consulte siempre la documentación oficial de su modelo de dispositivo para encontrar las cadenas de comando correctas. Introducir valores incorrectos puede tener efectos no deseados en el dispositivo.
{% endhint %}

Haga clic en **Guardar** para almacenar el comando. Haga clic en **Eliminar** para quitarlo.

### Comandos de software

Un **comando de software** envía una solicitud HTTP POST con un cuerpo JSON a una URL que usted especifique. Puede tratarse de un punto de conexión de un servicio externo (como Slack, un receptor de webhook personalizado o cualquier API REST) o de un punto de conexión de la API de Navixy.

El cuerpo de la solicitud es JSON y debe estructurarse según lo que espere el punto de conexión de destino. Puede incluir atributos de datos del dispositivo en el cuerpo usando la `{{attribute_name}}` sintaxis.

Los comandos de software se configuran en dos pestañas: **General** y **Cuerpo**.

Para agregar un comando de software, haga clic en **Agregar comando de software** en la parte inferior del bloque.

#### Pestaña General

{% columns %}
{% column width="58.333333333333336%" %}
Configure lo siguiente:

1. **Título**: una etiqueta para el comando tal como aparecerá en el widget de objeto.
2. **URL**: la URL completa del punto de conexión al que se enviará la solicitud POST (por ejemplo, `https://hooks.slack.com/services/...` o `https://api.eu.navixy.com/v2/...`).
3. **Encabezados**: pares clave-valor enviados como encabezados de la solicitud HTTP. Agregue encabezados según sea necesario para el punto de conexión de destino. Haga clic en **Agregar encabezado** para insertar una nueva fila.
   * Use el encabezado `Authorization` para autenticación basada en token (por ejemplo, `Authorization` / `Bearer your_token`).
   * También se pueden usar otros métodos de autenticación admitidos por el destino, como claves API transmitidas como parámetros de consulta en la URL.
     {% endcolumn %}

{% column width="41.666666666666664%" %}

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

#### Pestaña Cuerpo

{% columns %}
{% column width="58.333333333333336%" %}
El **Cuerpo** campo es donde compone la carga útil JSON. Escriba JSON válido que coincida con el formato esperado por el punto de conexión de destino.

Para incluir datos en tiempo real del dispositivo en la carga útil, use la `{{attribute_name}}` sintaxis. Haga clic en el botón selector de atributos <img src="/files/4063447336598bb240fe17f6ad0926e8b2de7545" alt="" data-size="line"> en la esquina superior derecha del campo del cuerpo para abrir una lista con búsqueda de los atributos disponibles para el dispositivo. Al seleccionar un atributo, se inserta el `{{attribute_name}}` marcador de posición correspondiente en el cuerpo en la posición del cursor.
{% endcolumn %}

{% column width="41.666666666666664%" %}

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

{% hint style="info" %}
Los atributos disponibles dependen del dispositivo específico y de los datos que transmite a la plataforma. Solo aparecen en la lista los atributos realmente enviados por el dispositivo. Use el selector para evitar errores tipográficos o nombres de atributos incorrectos.
{% endhint %}

Haga clic en **Guardar** para almacenar el comando. Haga clic en **Eliminar** para quitarlo.

#### Ejemplo: envío de una notificación de Slack

Slack admite la recepción de mensajes desde servicios externos mediante Incoming Webhooks. Una vez que haya configurado un webhook en su espacio de trabajo de Slack y obtenido la URL del webhook (consulte la [guía de Slack Incoming Webhooks](https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks/)), cree un comando de software con la siguiente configuración:

**Pestaña General:**

* **Título**: `Notificar a Slack`
* **URL**: su URL de Slack Incoming Webhook (por ejemplo, `https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXX`)
* **Encabezados**: no se requieren encabezados

**Pestaña Cuerpo:**

{% code overflow="wrap" %}

```json
{
  "text": "Dispositivo {{device_id}}: velocidad {{speed}} km/h en {{latitude}}, {{longitude}}"
}
```

{% endcode %}

Slack espera un objeto JSON con un campo `text` . El `{{device_id}}`, `{{speed}}`, `{{latitude}}`, y `{{longitude}}` los marcadores de posición se reemplazarán con los valores actuales del dispositivo en el momento en que se envíe el comando. Cuando se activa desde el widget de objeto, el mensaje aparecerá en el canal de Slack configurado para su webhook.

## Envío de comandos desde el widget de objeto

Una vez guardados los comandos, aparecen en el **Comandos** bloque del [widget de objeto](/docs/user/es/guide/tracking/objects-list/object-widget.md) en el módulo de Seguimiento.

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

Haga clic en el **enviar** botón (▷) junto al nombre de un comando para enviarlo de inmediato. No hay cuadro de diálogo de confirmación y el comando se envía en cuanto hace clic. El bloque Comandos muestra todos los comandos del dispositivo y los comandos de software configurados para ese dispositivo.

{% hint style="info" %}
Los comandos son por dispositivo. Los comandos configurados para un dispositivo no aparecen en los widgets de objeto de otros dispositivos. Para enviar comandos a varios dispositivos según reglas o condiciones, use 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/es/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.
