secubox-openwrt/DOCS-fr/embedded/zigbee2mqtt-docker.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

131 lines
5.0 KiB
Markdown

# Docker Zigbee2MQTT sur OpenWrt ARM64
> **Languages:** [English](../../DOCS/embedded/zigbee2mqtt-docker.md) | Francais | [中文](../../DOCS-zh/embedded/zigbee2mqtt-docker.md)
**Version :** 1.0.0
**Derniere mise a jour :** 2025-12-28
**Statut :** Actif
Ce guide explique comment deployer l'application SecuBox Zigbee2MQTT (basee sur Docker) sur les cibles OpenWrt ARM64. Il utilise le paquet `secubox-app-zigbee2mqtt` (installateur, CLI, service procd) avec l'interface LuCI (`luci-app-zigbee2mqtt`).
---
## Prerequis
1. **OpenWrt 24.10.x ARM64** (ESPRESSObin, MOCHAbin, RPi4, etc.) avec >= 256 Mo de stockage libre (image Docker + repertoire de donnees).
2. **Fonctionnalites du noyau** : cgroups (`/sys/fs/cgroup`), USB CDC ACM (`kmod-usb-acm`).
3. **Materiel** : Coordinateur Zigbee presente comme `/dev/ttyACM0` (ex., SONOFF ZBDongle-E/MG21).
4. **Reseau** : Broker MQTT accessible (Mosquitto local ou distant `mqtt://host:1883`).
5. **Flux de paquets** : `docker`, `dockerd`, `containerd` disponibles (`opkg update`).
---
## Etapes d'installation
```sh
opkg update
opkg install secubox-app-zigbee2mqtt luci-app-zigbee2mqtt
```
1. **Executer l'installateur de prerequis** (verifie le stockage, les cgroups, l'USB, installe Docker, telecharge l'image, active le service) :
```sh
zigbee2mqttctl install
```
2. **Demarrer le service** :
```sh
/etc/init.d/zigbee2mqtt start # active automatiquement via l'installateur
```
3. **Configuration LuCI** (flux optionnel via interface) : Services -> SecuBox -> Zigbee2MQTT. Ajustez le port serie, l'hote/identifiants MQTT, les topics de base, etc., puis cliquez sur "Appliquer".
L'installateur ecrit les donnees persistantes sous `/srv/zigbee2mqtt/data` (config + base de donnees) et expose l'interface web Zigbee2MQTT sur le port `8080` par defaut.
---
## Reference de ligne de commande (`/usr/sbin/zigbee2mqttctl`)
| Commande | Description |
|----------|-------------|
| `install` | Configuration complete des prerequis (paquets Docker, repertoire de donnees, telechargement d'image, activation du service). |
| `check` | Relancer les verifications de prerequis (stockage, cgroups, module USB, peripherique serie). |
| `update` | Telecharger la derniere image Zigbee2MQTT et redemarrer le service active. |
| `status` | Afficher l'etat du conteneur Docker (filtre `docker ps`). |
| `logs [-f]` | Afficher les logs Docker du conteneur en continu. |
| `service-run` / `service-stop` | Commandes internes utilisees par le script init procd ; pas pour invocation manuelle. |
Toutes les commandes doivent etre executees en tant que root.
---
## Configuration UCI (`/etc/config/zigbee2mqtt`)
```uci
config zigbee2mqtt 'main'
option enabled '1'
option serial_port '/dev/ttyACM0'
option mqtt_host 'mqtt://127.0.0.1:1883'
option mqtt_username ''
option mqtt_password ''
option base_topic 'zigbee2mqtt'
option frontend_port '8080'
option channel '11'
option image 'ghcr.io/koenkk/zigbee2mqtt:latest'
option data_path '/srv/zigbee2mqtt'
option timezone 'UTC'
```
Editez via `uci` ou le formulaire LuCI ; validez les modifications pour redemarrer automatiquement :
```sh
uci set zigbee2mqtt.main.mqtt_host='mqtt://192.168.1.10:1883'
uci commit zigbee2mqtt
/etc/init.d/zigbee2mqtt restart
```
---
## Validation et tests de fumee
- Verification rapide des prerequis :
```sh
zigbee2mqttctl check
```
- Test de fumee du depot (execute le demarrage/arret du service + pub/sub MQTT optionnel) :
```sh
./scripts/smoke_test.sh
```
- Bundle de diagnostics (SecuBox general) :
```sh
./scripts/diagnose.sh
```
---
## Depannage
| Symptome | Resolution |
|----------|------------|
| `zigbee2mqttctl install` signale "/sys/fs/cgroup missing" | Activez les cgroups dans la configuration du noyau ou mettez a niveau vers une build avec support cgroup. |
| Coordinateur USB non detecte | Assurez-vous que `kmod-usb-acm` est installe, que le module `cdc_acm` est charge (`lsmod | grep cdc_acm`), et que le peripherique apparait sous `/dev/ttyACM*`. Rebranchez le dongle. |
| Docker ne demarre pas | Verifiez `/etc/init.d/dockerd status`. Si `docker info` echoue, inspectez `/var/log/messages` pour les erreurs du pilote de stockage. |
| Echecs d'authentification MQTT | Definissez `mqtt_username`/`mqtt_password` via UCI ou LuCI et redemarrez le service. |
| Port 8080 deja utilise | Changez `frontend_port` dans UCI, validez, redemarrez le service. Mettez a jour les mappages vhost en consequence. |
---
## Desinstallation / Nettoyage
```sh
/etc/init.d/zigbee2mqtt stop
/etc/init.d/zigbee2mqtt disable
docker rm -f secbx-zigbee2mqtt 2>/dev/null
opkg remove luci-app-zigbee2mqtt secubox-app-zigbee2mqtt
rm -rf /srv/zigbee2mqtt
```
---
## Prochaines etapes
- Utilisez `luci-app-vhost-manager` pour publier l'interface Zigbee2MQTT sous HTTPS (voir `luci-app-vhost-manager/README.md`).
- Integrez avec le futur App Store SecuBox en ajoutant une entree de manifeste referencant cet installateur.
- Combinez avec les profils/assistants une fois ces composants introduits selon la feuille de route du projet.