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

# Bloc de commandes

## Vue d’ensemble

Le **bloc Commands** vous permet de définir des commandes personnalisées pour un appareil dans Navixy et de les envoyer à la demande depuis le [widget Objet](/docs/user/fr/guide/tracking/objects-list/object-widget.md). Utilisez-le pour envoyer directement à un appareil une instruction au niveau du micrologiciel, par exemple pour envoyer une commande CAN ou activer une sortie, ou pour appeler tout système externe acceptant des requêtes HTTP, comme un canal Slack, un service de notification, un CRM ou un point de terminaison d’API personnalisé. Une fois configurées, les commandes peuvent être envoyées en un seul clic.

Le bloc Commands prend en charge deux types de commandes :

* **Commande appareil** envoie une chaîne d’instruction au niveau du protocole directement à l’appareil (par exemple, pour envoyer une commande CAN ou activer une sortie).
* **Commande logicielle** envoie une requête HTTP POST avec un corps JSON vers n’importe quelle URL, en incluant éventuellement dans la charge utile les données actuelles de l’appareil, telles que la position, la vitesse ou l’ID de l’appareil.

Les commandes sont enregistrées par appareil et restent disponibles pour une utilisation répétée.

{% hint style="info" %}
**Quand utiliser Commands ou IoT Logic**

**bloc Commands** est conçu pour des actions ponctuelles et manuelles ciblant un seul appareil. Utilisez-le lorsque vous devez envoyer une commande unique sans configurer de flux d’automatisation.

Pour l’envoi automatisé de commandes basé sur des règles, par exemple déclencher une action d’appareil ou un webhook lorsqu’un seuil de capteur est franchi, ou envoyer la même commande à plusieurs appareils, utilisez [IoT Logic](/docs/user/fr/guide/account/iot-logic.md). Les **Action appareil** et **Webhook** dans IoT Logic fournissent les mêmes capacités sous-jacentes avec une automatisation complète du flux et un ciblage multi-appareils.
{% endhint %}

## Configuration

Pour configurer Commands pour un appareil :

1. Accédez à **Appareils et paramètres** dans la barre latérale gauche.
2. Sélectionnez l’appareil que vous souhaitez configurer.
3. Repérez puis développez le **bloc Commands** bloc.

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

Vous pouvez ajouter plusieurs commandes de chaque type. Chaque commande est enregistrée individuellement.

### Commandes de l’appareil

Une **commande appareil** envoie une chaîne d’instruction au niveau du protocole directement à l’appareil via son canal de communication.

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

Pour ajouter une commande appareil, cliquez sur **Ajouter une commande appareil** en bas du bloc. Configurez les champs suivants :

1. **Nom de la commande**: une étiquette pour la commande telle qu’elle apparaîtra dans le widget Objet (par exemple, `redémarrage de l’appareil`). Choisissez un nom qui décrit clairement l’action de la commande.
2. **Chaîne de commande**: la chaîne d’instruction exacte qui sera envoyée à l’appareil (par exemple, `cpureset`).

{% hint style="warning" %}
Les chaînes de commande valides sont spécifiques à l’appareil et définies par le fabricant de l’appareil. Référez-vous toujours à la documentation officielle de votre modèle d’appareil pour trouver les chaînes de commande correctes. La saisie de valeurs incorrectes peut avoir des effets inattendus sur l’appareil.
{% endhint %}

Cliquez sur **Enregistrer** pour stocker la commande. Cliquez sur **Supprimer** pour la retirer.

### Commandes logicielles

Une **commande logicielle** envoie une requête HTTP POST avec un corps JSON vers une URL que vous spécifiez. Il peut s’agir d’un point de terminaison de service externe (comme Slack, un collecteur de webhook personnalisé ou n’importe quelle API REST) ou d’un point de terminaison d’API Navixy.

Le corps de la requête est au format JSON et doit être structuré conformément aux attentes du point de terminaison de destination. Vous pouvez inclure des attributs de données de l’appareil dans le corps à l’aide de la syntaxe `{{attribute_name}}` .

Les commandes logicielles sont configurées dans deux onglets : **Général** et **Corps**.

Pour ajouter une commande logicielle, cliquez sur **Ajouter une commande logicielle** en bas du bloc.

#### Onglet Général

{% columns %}
{% column width="58.333333333333336%" %}
Configurez les éléments suivants :

1. **Titre**: une étiquette pour la commande telle qu’elle apparaîtra dans le widget Objet.
2. **URL**: l’URL complète du point de terminaison vers lequel la requête POST sera envoyée (par exemple, `https://hooks.slack.com/services/...` ou `https://api.eu.navixy.com/v2/...`).
3. **En-têtes**: paires clé-valeur envoyées comme en-têtes de requête HTTP. Ajoutez les en-têtes nécessaires pour le point de terminaison de destination. Cliquez sur **Ajouter un en-tête** pour insérer une nouvelle ligne.
   * Utilisez l’en-tête `Authorization` pour l’authentification par jeton (par exemple, `Authorization` / `Bearer your_token`).
   * D’autres méthodes d’authentification prises en charge par la destination, comme des clés API transmises en tant que paramètres de requête dans l’URL, peuvent également être utilisées.
     {% endcolumn %}

{% column width="41.666666666666664%" %}

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

#### Onglet Corps

{% columns %}
{% column width="58.333333333333336%" %}
Le **Corps** est l’endroit où vous composez la charge utile JSON. Rédigez un JSON valide correspondant au format attendu par le point de terminaison de destination.

Pour inclure des données en direct de l’appareil dans la charge utile, utilisez la syntaxe `{{attribute_name}}` . Cliquez sur le bouton du sélecteur d’attributs <img src="/files/99151d37d713adf0c1ee75195459e21049726759" alt="" data-size="line"> en haut à droite du champ du corps pour ouvrir une liste consultable des attributs disponibles pour l’appareil. La sélection d’un attribut insère le `{{attribute_name}}` placeholder correspondant dans le corps à la position du curseur.
{% endcolumn %}

{% column width="41.666666666666664%" %}

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

{% hint style="info" %}
Les attributs disponibles dépendent de l’appareil spécifique et des données qu’il transmet à la plateforme. Seuls les attributs réellement envoyés par l’appareil apparaissent dans la liste. Utilisez le sélecteur pour éviter les fautes de frappe ou les noms d’attributs incorrects.
{% endhint %}

Cliquez sur **Enregistrer** pour stocker la commande. Cliquez sur **Supprimer** pour la retirer.

#### Exemple : envoi d’une notification Slack

Slack prend en charge la réception de messages provenant de services externes via Incoming Webhooks. Une fois que vous avez configuré un webhook dans votre espace de travail Slack et obtenu l’URL du webhook (voir le [guide Slack Incoming Webhooks](https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks/)), créez une commande logicielle avec la configuration suivante :

**Onglet Général :**

* **Titre**: `Notifier Slack`
* **URL**: votre URL Slack Incoming Webhook (par exemple, `https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXX`)
* **En-têtes**: aucun en-tête requis

**Onglet Corps :**

{% code overflow="wrap" %}

```json
{
  "text": "Appareil {{device_id}} : vitesse {{speed}} km/h à {{latitude}}, {{longitude}}"
}
```

{% endcode %}

Slack attend un objet JSON avec un champ `text` . Les placeholders `{{device_id}}`, `{{speed}}`, `{{latitude}}`, et `{{longitude}}` seront remplacés par les valeurs actuelles de l’appareil au moment de l’envoi de la commande. Lorsqu’elle est déclenchée depuis le widget Objet, le message apparaîtra dans le canal Slack configuré pour votre webhook.

## Envoi de commandes depuis le widget Objet

Une fois les commandes enregistrées, elles apparaissent dans le **bloc Commands** bloc de l’ [widget Objet](/docs/user/fr/guide/tracking/objects-list/object-widget.md) dans le module de suivi.

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

Cliquez sur le bouton **envoyer** (▷) à côté du nom d’une commande pour l’envoyer immédiatement. Il n’y a pas de boîte de dialogue de confirmation et la commande est envoyée dès que vous cliquez. Le bloc Commands affiche toutes les commandes appareil et toutes les commandes logicielles configurées pour cet appareil.

{% hint style="info" %}
Les commandes sont propres à chaque appareil. Les commandes configurées pour un appareil n’apparaissent pas dans les widgets Objet des autres appareils. Pour envoyer des commandes à plusieurs appareils selon des règles ou des conditions, utilisez 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/fr/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.
