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

120 lines
5.6 KiB
Markdown

# Module Pont MQTT
> **Languages:** [English](../DOCS/MQTT_BRIDGE.md) | Francais | [中文](../DOCS-zh/MQTT_BRIDGE.md)
**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:
```bash
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:
```uci
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:
```uci
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.