> For the complete documentation index, see [llms.txt](https://docs.kiloiot.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kiloiot.io/kilo-docs-fr/kilo-iot-server/devices/commands/executing-commands.md).

# Exécution des commandes

Envoyez des commandes d’appareil depuis l’onglet États dans Kilo IoT Server et suivez chacune jusqu’à confirmation, avertissement léger ou échec.

Une fois qu’un appareil a des commandes définies, le **États** sous-onglet de la **Commandes et états** onglet est l’endroit où vous l’utilisez. Il affiche ce que vous pouvez exécuter, vous permet d’envoyer une commande avec ses paramètres et enregistre le résultat de tout ce que vous avez envoyé.

<figure><img src="https://3675309505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtNQh1wBSHSaknslMdOXm%2Fuploads%2Fgit-blob-e74a4f82293990804b0f2c1f00d28c14a5309a51%2Fdevice-command-execute.jpg?alt=media" alt="The Execute command dialog, setting a parameter value before dispatch"><figcaption></figcaption></figure>

## Commandes disponibles

Les **Commandes disponibles** tableau répertorie chaque commande définie sur l’appareil :

| Colonne          | Affiche                                    |
| ---------------- | ------------------------------------------ |
| **Nom**          | Le nom orienté action de la commande       |
| **Description**  | Ce qu'il fait                              |
| **Paramètres**   | Combien de saisies typées elle prend       |
| **Vérification** | Comment la plateforme confirme le résultat |
| **Exécuter**     | L’action qui envoie la commande            |

Si le tableau est vide, l’appareil n’a encore aucune commande — ouvrez le **Commandes** sous-onglet et définissez-en une (voir [Créer des commandes](/kilo-docs-fr/kilo-iot-server/devices/commands/creating-commands.md)).

## Exécution d’une commande

Cliquez sur **Exécuter** sur une commande pour ouvrir la **Exécuter la commande** boîte de dialogue.

* Si la commande n’a aucun paramètre, la boîte de dialogue confirme simplement qu’il n’y a rien à définir — appuyez sur **Exécuter** pour l’envoyer.
* Si elle prend des paramètres, remplissez chaque **Valeur**. Les entrées numériques affichent leur plage autorisée (par exemple `Min : 0 - Max : 100`), et la boîte de dialogue applique les limites définies sur la commande, afin que vous ne puissiez pas envoyer une valeur que l’appareil rejetterait.
* Cliquez sur **Exécuter** pour envoyer, ou **Annuler** pour revenir en arrière.

La commande est envoyée à l’appareil et la plateforme commence à la suivre selon la stratégie de vérification de la commande.

## Lorsqu’un appareil est hors ligne

Si l’appareil n’a pas donné de nouvelles dans sa fenêtre attendue, une bannière apparaît en haut de l’onglet États pour indiquer que l’appareil est hors ligne, ainsi que la dernière fois où il a été vu. Les commandes ne peuvent pas être exécutées de manière interactive sur un appareil hors ligne — mais les commandes en file d’attente sont envoyées automatiquement lorsque l’appareil se reconnecte, de sorte que l’intention de contrôle n’est jamais perdue silencieusement.

## Exécutions récentes

Chaque envoi est enregistré dans le **Exécutions récentes** tableau, vous offrant un historique continu de l’activité de contrôle sur l’appareil :

| Colonne        | Affiche                                         |
| -------------- | ----------------------------------------------- |
| **Commande**   | Quelle commande a été exécutée                  |
| **Débuté**     | Quand elle a été envoyée                        |
| **Mis à jour** | Quand son statut a changé pour la dernière fois |
| **Statut**     | Le résultat du cycle de vie (ci-dessous)        |
| **Détails**    | Une note en langage clair sur le résultat       |

### Statut d’exécution

La plateforme résume le cycle de livraison complet en cinq résultats clairs :

* **En attente** — En cours. La commande a été envoyée et traverse la livraison et, si configuré, la vérification.
* **Confirmé** — Succès vérifié. La vérification était configurée, et l’état rapporté par l’appareil correspondait à ce qui était attendu.
* **Livré** — La liaison descendante a été acceptée pour livraison, mais la commande utilise **Aucune vérification**, donc la plateforme ne vérifie pas si l’appareil l’a prise en compte. La commande a bien été envoyée ; son effet n’est pas vérifié par conception — contrairement au **Confirmé**.
* **Avertissement léger** — Livré et accusé de réception, mais la plateforme n’a pas pu confirmer l’effet dans la fenêtre de convergence. Considérez cela comme « impossible à vérifier », et non comme « définitivement échoué » — cela mérite un coup d’œil, mais la commande a très bien pu fonctionner.
* **Échec** — La commande n’est pas passée. La **Détails** colonne explique pourquoi — par exemple une erreur de validation ou une file d’attente de liaison descendante de l’appareil pleine.

Les **Détails** texte fournit la raison lisible par l’humain derrière chaque statut, de sorte qu’il est rarement nécessaire de quitter la page pour diagnostiquer une commande problématique.

### Raisons courantes dans la colonne Détails

Lorsqu’une commande arrive sur **Avertissement léger** ou **Échec**, la colonne Détails indique la cause en langage clair. Les plus courantes :

| Ce que dit Détails                                                 | Ce que cela signifie                                                                                                       |
| ------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------- |
| La file d’attente de liaison descendante de l’appareil est pleine. | La file d’attente des liaisons descendantes en attente de l’appareil est saturée — attendez ou videz-la avant de renvoyer. |
| La validation a échoué.                                            | La requête n’a pas passé la validation — vérifiez les paramètres et la charge utile de la commande.                        |
| Charge utile trop volumineuse pour l’appareil.                     | La charge utile encodée dépasse ce que l’appareil accepte à son débit de données actuel.                                   |
| Envoyé, mais l’appareil n’a pas confirmé la réception.             | La liaison descendante a été envoyée mais aucun accusé de réception n’est revenu (liaisons descendantes confirmées).       |
| Envoyé, mais l’appareil n’a pas confirmé l’état attendu à temps.   | Livré, mais l’état de capteur attendu n’est pas arrivé dans la fenêtre de convergence.                                     |
| Appareil hors ligne — commande non livrée à temps.                 | L’appareil n’était pas joignable pendant sa fenêtre de réception.                                                          |
| Aucune passerelle disponible pour atteindre l’appareil.            | Aucune passerelle n’était à portée pour transmettre la liaison descendante.                                                |
| Échec de l’authentification du courtier.                           | La connexion MQTT a rejeté la publication — vérifiez les identifiants du connecteur.                                       |
| La commande n’a pas pu être envoyée. Veuillez réessayer plus tard. | Une erreur d’envoi transitoire — réessayez.                                                                                |
| Charge utile invalide — vérifiez la commande.                      | La charge utile était mal formée pour l’appareil — revoyez l’encodeur ou le modèle.                                        |

Ce sont les cas courants ; d’autres messages peuvent apparaître, et la plateforme relaie la raison sous-jacente lorsqu’elle en a une plus spécifique.

## Utiliser les commandes depuis un tableau de bord

Pour le contrôle au quotidien, vous n’avez pas besoin d’ouvrir la page de détail de l’appareil. Ajoutez un [widget de contrôle](/kilo-docs-fr/kilo-iot-server/dashboards/adding-widgets/control-widget.md) à un tableau de bord, associez-le à la commande d’un appareil contrôlable, et toute personne ayant accès à ce tableau de bord peut piloter l’appareil avec un simple interrupteur ou bouton — en s’appuyant sur le même pipeline d’exécution et le même historique décrits ici.

Vous pouvez aussi envoyer une commande en la demandant. L’ [Assistant IA IoT](/kilo-docs-fr/kilo-iot-server/ai-assistant.md) intégré répertoriera les commandes d’un appareil, en exécutera une après vous avoir montré ce qu’il s’apprête à envoyer et avoir attendu votre confirmation, puis indiquera l’état de livraison — et un client externe connecté via le [Serveur MCP](/kilo-docs-fr/kilo-iot-server/api/mcp-server.md) peut faire la même chose. Dans tous les cas, l’envoi suit le pipeline décrit sur cette page et apparaît dans le même historique.

## Connexe

* [Créer des commandes](/kilo-docs-fr/kilo-iot-server/devices/commands/creating-commands.md) — définir les actions qu’un appareil peut effectuer
* [Confirmation des commandes](/kilo-docs-fr/kilo-iot-server/devices/commands/verification.md) — définir comment la plateforme vérifie un résultat
* [Exemple : prise intelligente](/kilo-docs-fr/kilo-iot-server/devices/commands/smart-socket-example.md) — créer et vérifier deux commandes de bout en bout
* [widget de contrôle](/kilo-docs-fr/kilo-iot-server/dashboards/adding-widgets/control-widget.md) — placer une commande sur un tableau de bord
* [Construire avec l’IA](/kilo-docs-fr/kilo-iot-server/ai-assistant/building-with-ai.md) — exécuter une commande en demandant à l’assistant
* [Serveur MCP](/kilo-docs-fr/kilo-iot-server/api/mcp-server.md) — exécuter une commande depuis ChatGPT, Claude ou un autre client IA


---

# 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://docs.kiloiot.io/kilo-docs-fr/kilo-iot-server/devices/commands/executing-commands.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.
