Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

MQTT

Le canal mqtt s’abonne aux topics sur un broker MQTT et envoie chaque message dans la boucle de l’agent ou le moteur SOP. Il est conditionné par la fonctionnalité de compilation channel-mqtt.

Il s’agit d’une source d’événements SOP. Pour la syntaxe des déclencheurs et la correspondance des sujets, voir SOP Fan-In: MQTT. Cette page couvre la connexion au broker.

Configuration

La liste complète des champs, dérivée du schéma live. Pour un abonné basique, vous définissez broker_url et topics.

broker_url* string · default

URL du broker MQTT (par exemple mqtt://localhost:1883 ou mqtts://broker.example.com:8883). Utilisez mqtt:// pour les connexions en clair ou mqtts:// pour TLS.

Posez-le sur n’importe quelle surface :

Tableau de bord de la passerelle

Ouvrez /config/channels/mqtt et définissez le champ channels.mqtt.<alias>.broker_url.

zerocode

Dans le volet Config, définissez le champ channels.mqtt.<alias>.broker_url.

zeroclaw config

zeroclaw config set channels.mqtt.<alias>.broker_url <value>

Variable d’environnement

Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :

export ZEROCLAW_channels__mqtt__<alias>__broker_url=
client_id* string · default

Identifiant du client MQTT (doit être unique pour chaque broker).

Posez-le sur n’importe quelle surface :

Tableau de bord de la passerelle

Ouvrez /config/channels/mqtt et définissez le champ channels.mqtt.<alias>.client_id.

zerocode

Dans le panneau Config, définissez le champ channels.mqtt.<alias>.client_id.

zeroclaw config

zeroclaw config set channels.mqtt.<alias>.client_id <value>

Variable d’environnement

Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :

export ZEROCLAW_channels__mqtt__<alias>__client_id=
excluded_tools string[] · default []

Outils exclus de la spécification d’outils de ce canal. Lorsque ce paramètre est défini, ces outils ne sont pas exposés au modèle lors des réponses via ce canal.

Posez-le sur n’importe quelle surface :

Tableau de bord de la passerelle

Ouvrez /config/channels/mqtt et définissez le champ channels.mqtt.<alias>.excluded_tools.

zerocode

Dans le volet Config, définissez le champ channels.mqtt.<alias>.excluded_tools.

zeroclaw config

zeroclaw config set channels.mqtt.<alias>.excluded_tools <value>

Variable d’environnement

Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :

export ZEROCLAW_channels__mqtt__<alias>__excluded_tools=
keep_alive_secs integer · default 30

Intervalle keep-alive en secondes (par défaut : 30). Empêche la déconnexion du broker en cas d’inactivité.

Posez-le sur n’importe quelle surface :

Tableau de bord de la passerelle

Ouvrez /config/channels/mqtt et définissez le champ channels.mqtt.<alias>.keep_alive_secs.

zerocode

Dans le panneau Config, définissez le champ channels.mqtt.<alias>.keep_alive_secs.

zeroclaw config

zeroclaw config set channels.mqtt.<alias>.keep_alive_secs <value>

Variable d’environnement

Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :

export ZEROCLAW_channels__mqtt__<alias>__keep_alive_secs=
password 🔑 secret · default

Mot de passe pour l’authentification (facultatif).

Posez-le sur n’importe quelle surface :

Tableau de bord de la passerelle

Ouvrez /config/channels/mqtt et définissez le champ channels.mqtt.<alias>.password.

zerocode

Dans le volet Config, définissez le champ channels.mqtt.<alias>.password.

zeroclaw config

zeroclaw config set channels.mqtt.<alias>.password    # entrée masquée, stockée chiffrée

Variable d’environnement

Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :

export ZEROCLAW_channels__mqtt__<alias>__password=
qos integer · default 1

Niveau QoS MQTT (0 = au plus une fois, 1 = au moins une fois, 2 = exactement une fois). Par défaut : 1.

Posez-le sur n’importe quelle surface :

Tableau de bord de la passerelle

Ouvrez /config/channels/mqtt et définissez le champ channels.mqtt.<alias>.qos.

zerocode

Dans le volet Config, définissez le champ channels.mqtt.<alias>.qos.

zeroclaw config

zeroclaw config set channels.mqtt.<alias>.qos <value>

Variable d’environnement

Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :

export ZEROCLAW_channels__mqtt__<alias>__qos=
topics string[] · default []

Sujets auxquels s’abonner (p. ex., sensors/#, alerts/+/critical). Au moins un sujet est requis.

Posez-le sur n’importe quelle surface :

Tableau de bord de la passerelle

Ouvrez /config/channels/mqtt et définissez le champ channels.mqtt.<alias>.topics.

zerocode

Dans le volet Config, définissez le champ channels.mqtt.<alias>.topics.

zeroclaw config

zeroclaw config set channels.mqtt.<alias>.topics <value>

Variable d’environnement

Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :

export ZEROCLAW_channels__mqtt__<alias>__topics=
use_tls bool · default false

Activer le chiffrement TLS. Doit correspondre au schéma de broker_url : - mqtt://use_tls: false - mqtts://use_tls: true

Posez-le sur n’importe quelle surface :

Tableau de bord de la passerelle

Ouvrez /config/channels/mqtt et définissez le champ channels.mqtt.<alias>.use_tls.

zerocode

Dans le volet Config, définissez le champ channels.mqtt.<alias>.use_tls.

zeroclaw config

zeroclaw config set channels.mqtt.<alias>.use_tls <value>

Variable d’environnement

Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :

export ZEROCLAW_channels__mqtt__<alias>__use_tls=
username string? · default

Nom d’utilisateur pour l’authentification (facultatif).

Posez-le sur n’importe quelle surface :

Tableau de bord de la passerelle

Ouvrez /config/channels/mqtt et définissez le champ channels.mqtt.<alias>.username.

zerocode

Dans le panneau Config, définissez le champ channels.mqtt.<alias>.username.

zeroclaw config

zeroclaw config set channels.mqtt.<alias>.username <value>

Variable d’environnement

Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :

export ZEROCLAW_channels__mqtt__<alias>__username=

Référence complète des champs : référence de configuration.

TLS

Définissez use_tls pour qu’il corresponde au schéma de broker_url : mqtts:// va de pair avec use_tls = true, mqtt:// avec use_tls = false. Une incompatibilité est l’échec de connexion le plus courant.

Dépannage

SymptômeCause probableCorriger
Erreurs de connexion au démarrageL’URL du broker et le flag TLS sont en désaccordAssociez le schéma à use_tls (mqtt:// avec false, mqtts:// avec true)
Abonné mais aucun messagele filtre de topic ne correspond pas au topic publiéVérifier les topics et les jokers par rapport à ce qu’émet le publisher
SOP ne démarre pasincompatibilité de topic ou une condition défaillanteVérifiez le topic trigger et la condition par rapport au payload

Voir aussi