secubox-openwrt/DOCS-fr/MQTT_BRIDGE.md
CyberMind-FR ccfb58124c docs: Add trilingual documentation (French and Chinese translations)
Add complete French (fr) and Chinese (zh) translations for all documentation:

- Root files: README, CHANGELOG, SECURITY, BETA-RELEASE
- docs/: All 16 core documentation files
- DOCS/: All 19 deep-dive documents including embedded/ and archive/
- package/secubox/: All 123+ package READMEs
- Misc: secubox-tools/, scripts/, EXAMPLES/, config-backups/, streamlit-apps/

Total: 346 translation files created

Each file includes language switcher links for easy navigation between
English, French, and Chinese versions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-20 10:00:18 +01:00

5.6 KiB

Module Pont MQTT

Languages: English | Francais | 中文

Version: 0.4.0 Statut: Brouillon

Le Pont MQTT SecuBox expose les dongles USB et les capteurs IoT a travers une interface LuCI avec theme.

Composants

  • Apercu - sante du broker, adaptateurs connectes, payloads recents.
  • Appareils - appareils USB apparies avec etat (en ligne/hors ligne).
  • Parametres - identifiants du broker, modeles de topics de base, retention.

API RPC (luci.mqtt-bridge)

Methode Description
status Metriques du broker, payloads stockes et parametres actuels.
list_devices Enumere les noeuds USB/capteur apparies.
trigger_pairing Ouvre la fenetre d'appairage (2 minutes).
apply_settings Persiste la configuration broker/pont.

status inclut maintenant aussi un tableau profiles decrivant les presets USB/Zigbee detectes. Chaque entree expose:

Champ Description
id Identifiant interne du preset (ex: zigbee_usb2134).
label Nom convivial de l'adaptateur depuis les descripteurs USB.
vendor / product Paire VID:PID USB.
bus / device Numeros bus/device Linux comme vus dans dmesg/lsusb.
port Chemin /dev/tty* resolu quand disponible.
detected Flag booleen (true quand le dongle est actuellement attache).
notes Indices lisibles par l'humain rendus dans la vue Appareils.

Fichiers

luci-app-mqtt-bridge/
 ├── htdocs/luci-static/resources/view/mqtt-bridge/*.js
 ├── htdocs/luci-static/resources/mqtt-bridge/common.css
 ├── root/usr/libexec/rpcd/luci.mqtt-bridge
 ├── root/usr/share/luci/menu.d/luci-app-mqtt-bridge.json
 ├── root/usr/share/rpcd/acl.d/luci-app-mqtt-bridge.json
└── root/etc/config/mqtt-bridge

Profil Zigbee / SMSC USB2134B

L'onglet Appareils affiche maintenant un preset pour le pont "Bus 003 Device 002: ID 0424:2134 SMSC USB2134B" qui est communement flashe avec le firmware de coordinateur Zigbee. La vue LuCI consomme le tableau profiles explique ci-dessus et affiche l'etat de detection actuel avec l'indice tty.

Pour verifier le dongle manuellement:

dmesg | tail -n 40 | grep -E '0424:2134|usb 3-1'
lsusb -d 0424:2134
ls /dev/ttyACM* /dev/ttyUSB* 2>/dev/null

Log kernel typique:

[ 6456.735692] usb 3-1.1: USB disconnect, device number 3
[ 6459.021458] usb 3-1.1: new full-speed USB device number 4 using xhci-hcd

Faire correspondre les numeros Bus/Device reportes avec /sys/bus/usb/devices/*/busnum et /sys/bus/usb/devices/*/devnum; l'assistant RPC inspecte ces fichiers et publie le chemin /dev/tty* resolu (quand exporte sous /sys/bus/usb/devices/*/tty). Si l'adaptateur n'est pas branche, l'UI rend quand meme le preset pour que les operateurs sachent exactement quelle paire VID/PID chercher.

Une fois le noeud tty confirme, mettre a jour /etc/config/mqtt-bridge et redemarrer le service pont pour lier le trafic Zigbee aux topics MQTT definis dans l'onglet Parametres.

Daemon moniteur d'adaptateur

Le package installe maintenant un observateur leger (/usr/sbin/mqtt-bridge-monitor) qui garde SecuBox informe des adaptateurs attaches:

  • Configure via config monitor 'monitor' (intervalle en secondes) et sections config adapter '...' dans /etc/config/mqtt-bridge.
  • Gere avec le script init standard: service mqtt-bridge start|stop|status.
  • Ecrit les transitions d'etat dans le log systeme (logread -e mqtt-bridge-monitor).
  • Met a jour chaque section adaptateur avec detected, port, bus, device, health, et last_seen, que l'onglet Appareils LuCI affiche maintenant.
  • La vue Parametres MQTT expose les memes entrees d'adaptateur pour pouvoir activer/desactiver les presets, renommer les labels, ou surcharger les assignations /dev/tty* sans quitter l'UI.
  • Les boutons dans la vue Parametres permettent de declencher un rescan (API.rescanAdapters) ou effacer les donnees en cache pour un adaptateur specifique (API.resetAdapter), utile apres re-flashage des dongles ou changement de ports USB.

Utiliser uci show mqtt-bridge.adapter pour inspecter les metadonnees persistees, ou ubus call luci.mqtt-bridge status pour voir le payload JSON consomme par l'UI.

Templates & regles d'automatisation

/etc/config/mqtt-bridge inclut maintenant des definitions config template pour les appareils Zigbee et Modbus:

config template 'zigbee_default'
	option device_type 'zigbee'
	option topic 'secubox/zigbee/{id}/state'
	option qos '1'
	option retain '1'

Ceux-ci sont exportes a travers le RPC status (tableau templates) pour que LuCI ou les clients externes puissent suggerer des motifs de topics par type d'appareil. Ajouter vos propres sections pour couvrir d'autres bus ou schemas de nommage.

Les regles d'automatisation (config rule) peuvent reagir aux transitions d'etat des adaptateurs:

config rule 'zigbee_disconnect'
	option type 'adapter_status'
	option adapter 'zigbee_usb2134'
	option when 'missing'
	option action 'alert'
	option message 'Pont USB Zigbee deconnecte'
	option topic 'alerts/mqtt/zigbee'

Quand le daemon remarque que l'adaptateur passe a missing ou online, les regles correspondantes ecrivent dans syslog et /tmp/mqtt-bridge-alerts.log, facilitant le transfert des evenements vers SecuBox Alerts ou tout autre pipeline.

Prochaines etapes

  • Ajouter une vraie integration daemon avec Mosquitto.
  • Supporter TLS et les topics par appareil.
  • Emettre des alertes SecuBox sur les seuils des capteurs.

Voir .codex/apps/mqtt-bridge/TODO.md pour le backlog evolutif.