OpenClaw tourne sur un Wiren Board : comment un agent IA pilote le contrôleur et écrit ses propres scripts

OpenClaw ne tourne pas ici sur un ordinateur portable, mais directement sur un contrôleur Wiren Board 8. L'auteur a connecté Telegram, ajouté un ensemble de Skills pour les équipements Modbus et accordé à l'agent des droits étendus. Pendant les tests, le bot a détecté les équipements sur le bus, vérifié les firmwares et collecté de la télémétrie en temps réel. Il a aussi corrigé un script wb-rules et même aidé à construire une interface web locale sur mesure pour un appartement connecté.

Traité par IA depuis Habr AI ; édité par Hamidun News
OpenClaw tourne sur un Wiren Board : comment un agent IA pilote le contrôleur et écrit ses propres scripts
Source : Habr AI. Collage: Hamidun News.
Écouter l'article
Fiche synthèse et chiffres clés
ParamètreDonnées
Source primaireHabr AI ↗
Rédacteur en chef
Chiffre clé #1Installation de `git` et `nodejs`
Chiffre clé #2Création d'un dossier dédié à OpenClaw
Chiffre clé #3Désactivation, via `package.json`, de la dépendance inutile `node-llama-cpp`

OpenClaw s'utilise d'ordinaire comme agent IA personnel sur un ordinateur classique. Wiren Board a voulu aller plus loin en l'installant directement sur un contrôleur. L'expérience montre que l'agent ne se contente pas de répondre sur Telegram : il peut aussi travailler avec du matériel réel, lire des fichiers de configuration, scanner le Modbus, écrire des scripts et corriger ses propres erreurs.

Comment tout a été déployé

Pour l'expérience, l'équipe a utilisé un Wiren Board 8 dédié et a renoncé à la toute dernière version d'OpenClaw. L'auteur a choisi la version 2026.2.22 : les builds plus récents avaient déjà introduit des bugs avec Telegram et s'étaient nettement alourdis. Les dépendances de base restent modestes — `git` et `Node.js` —, mais même ainsi le système occupe pas mal d'espace : environ 200 Mo de dépendances sur la partition système, plus près de 700 Mo pour l'application elle-même, surtout à cause de `node_modules`. Tout a été installé dans le répertoire personnel de `root`, sur la grande partition `/mnt/data/root`.

  • Installation de `git` et `nodejs`
  • Création d'un dossier dédié à OpenClaw
  • Désactivation, via `package.json`, de la dépendance inutile `node-llama-cpp`
  • Installation de `[email protected]` et liaison de la CLI avec `npm link`
  • Lancement de `gateway` et `doctor`, puis vérification des modèles et des logs

Vient ensuite la partie la moins agréable : la configuration. Le format des fichiers JSON a changé d'une version à l'autre, si bien que les commandes automatiques `onboard` et `configure` ne généraient pas toujours une configuration correcte pour les fournisseurs de modèles personnalisés. Autre bizarrerie, côté clés : pour les fournisseurs standard, elles étaient lues dans `auth-profiles.json`, mais pour les fournisseurs personnalisés, curieusement dans `models.json`. L'auteur y voit clairement quelque chose qui ressemble à un bug et duplique les clés aux deux endroits. Il a également installé `wireguard-tools` sur le contrôleur pour contourner les restrictions régionales de certains fournisseurs de LLM.

L'agent découvre le matériel

Une fois la configuration de base terminée, OpenClaw a été connecté à Telegram. Par défaut, le bot ne peut ni lancer d'utilitaires, ni modifier le système, ni effectuer d'autres opérations potentiellement dangereuses : il a donc fallu activer manuellement les droits étendus, et les réserver à un utilisateur Telegram précis.

L'auteur a ensuite chargé sur le contrôleur un ensemble dédié, `wb-openclaw-skills`, qui regroupe les connaissances sur le matériel Wiren Board, les protocoles, les registres et les utilitaires courants. La première consigne donnée à l'agent était on ne peut plus directe : pour toute intervention sur le matériel, toujours chercher d'abord le Skill `wb-*` approprié et l'utiliser.

Le test a montré que ce contexte fonctionne réellement. L'agent a présenté avec assurance la gamme de compteurs WB-MAP, puis a scanné le bus RS-485 et trouvé les appareils connectés. Sa réponse, brève :

«

Concrètement, je vois actuellement 3 appareils Modbus physiques. »

Derrière cette phrase, de vraies actions sur le contrôleur : le bot a identifié le capteur WB-MSW v4, le module relais WB-MR6C et le compteur électrique WB-MAP6S. Il a ensuite vérifié le firmware du compteur, confirmé que la version 2.12.0 était à jour, puis relevé en direct la tension, la puissance, la température, l'humidité et le CO₂.

Là où l'expérience devient utile

Le test le plus révélateur est parti d'un besoin concret : écrire un script `wb-rules` qui envoie une notification Telegram lorsqu'une des entrées du module MR6C se déclenche. Le bot a créé le fichier de règle, l'a chargé et a même annoncé que tout était prêt. Mais en réalité, aucun message n'arrivait.

L'agent a alors suivi un vrai cycle de débogage : il a repéré un appel `curl` peu fiable, corrigé l'authentification, ajouté des diagnostics dans le log, redémarré `wb-rules` et envoyé un message de test. Celui-ci est bien passé, mais les événements des entrées réelles restaient muets — et il a fallu creuser là aussi.

La seconde cause était plus subtile : une partie des signaux ne passait pas par les `Input N` classiques, mais par les compteurs d'impulsions `Input N counter`. L'agent a ajouté une seconde boucle de traitement, et les notifications ont alors effectivement afflué dans Telegram.

L'auteur ne s'est pas arrêté là et a confié à OpenClaw une tâche encore plus ambitieuse : concevoir une interface web d'appartement connecté adaptée au matériel déjà branché. Le bot a proposé ce qui pouvait être automatisé, découpé l'interface en écrans et, au final, aidé à construire une page HTML+JavaScript fonctionnant via MQTT over WebSocket. Elle a été placée dans `/var/www/static/`, une route a été ajoutée dans `nginx`, et la page a été ouverte sur le réseau local comme panneau de contrôle à part entière.

Ce que cela signifie

L'expérience montre qu'OpenClaw sur Wiren Board n'est plus un chatbot de démonstration, mais l'ébauche d'un opérateur local capable de lire la documentation, d'intervenir sur le système et d'interagir avec des appareils physiques.

L'intérêt est évident : au lieu de manipuler à la main configurations, registres et utilitaires, on peut formuler les tâches en langage naturel. Mais le coût d'une erreur grimpe aussi en flèche, car l'agent n'accède pas à un serveur abstrait, il accède à une véritable infrastructure technique. L'auteur juge OpenClaw comme une base de départ pratique, quoique trop lourde pour ce type d'usage.

Dossier

Questions clés sur cet article

Comment tout a été déployé?

Pour l'expérience, l'équipe a utilisé un Wiren Board 8 dédié et a renoncé à la toute dernière version d'OpenClaw. L'auteur a choisi la version 2026.2.22 : les builds plus récents avaient déjà introduit des bugs avec Telegram et s'étaient nettement alourdis. Les dépendances de base restent modestes — `git` et `Node.js` —, mais même ainsi le système occupe pas mal d'espace : environ 200 Mo de dépendances sur la partition système, plus près de 700 Mo pour l'application elle-même, surtout à cause de `node_modules`. Tout a été installé dans le répertoire personnel de `root`, sur

Que sait-on sur L'agent découvre le matériel ?

Une fois la configuration de base terminée, OpenClaw a été connecté à Telegram. Par défaut, le bot ne peut ni lancer d'utilitaires, ni modifier le système, ni effectuer d'autres opérations potentiellement dangereuses : il a donc fallu activer manuellement les droits étendus, et les réserver à un utilisateur Telegram précis. L'auteur a ensuite chargé sur le contrôleur un ensemble dédié, `wb-openclaw-skills`, qui regroupe les connaissances sur le matériel Wiren Board, les protocoles, les registres et les utilitaires courants. La première consigne donnée à l'agent était on ne

Que sait-on sur Là où l'expérience devient utile ?

Le test le plus révélateur est parti d'un besoin concret : écrire un script `wb-rules` qui envoie une notification Telegram lorsqu'une des entrées du module MR6C se déclenche. Le bot a créé le fichier de règle, l'a chargé et a même annoncé que tout était prêt. Mais en réalité, aucun message n'arrivait. L'agent a alors suivi un vrai cycle de débogage : il a repéré un appel `curl` peu fiable, corrigé l'authentification, ajouté des diagnostics dans le log, redémarré `wb-rules` et envoyé un message de test. Celui-ci est bien passé, mais les événements des entrées réelles restai

ZK
Zhemal Khamidun — CPO d'Alpina Digital, product manager d'AlpinaGPT. Conçoit des produits IA depuis 2019. Hamidun News est un projet personnel devenu un agrégateur en production avec plus de 6 000 lecteurs.
✦ Hands-On AI Engineering · Hamidun Academy

Build & Ship Production AI Agents Without Boilerplate Code

Start your free 72-hour trial at Hamidun Academy (academy.hamidun.com) — interactive lessons on Claude Code & Cursor, live Tech Radar, and production agent templates.

Start 72h Free Trial →Vibe-Coding Intensive
Qu'en pensez-vous ?
Chargement des commentaires…