validate_entries() arrête la génération quand une entrée de PORTING_STATUS d'un
canal autre que nightly n'a pas son integrationplugin*.json dans --src. L'entrée
waveshare-relay-d8 était en `channel: testing` pour un plugin qui n'a JAMAIS été
livré : la CI a donc échoué chaque nuit du 2026-08-02 au 2026-10-13, et le site de
doc est resté gelé au build du 1er août. Dix semaines, en silence.
Le garde-fou avait raison. C'est l'entrée qui était fausse, pas le contrôle — d'où
le choix de retirer l'entrée plutôt que de la basculer en nightly (ce qui aurait
publié « portage en cours » là où il n'y a pas de portage) ou d'assouplir
validate_entries() (ce qui aurait échangé un échec visible contre une doc
silencieusement incomplète).
Retirés : l'entrée de PORTING_STATUS — remplacée par le motif complet, sur place,
pour que personne ne la réintroduise sans savoir — et les trois fiches
smart/waveshare.{md,de.md,en.md}. Le reste des mentions vivait dans du contenu
généré (SUMMARY.md, index de catégorie, matrice de compatibilité) et a disparu à
la régénération.
Au passage, deux choses trouvées en nettoyant :
- `appareils/index.md` citait « SmartDevices — Waveshare » comme exemple de la
catégorie ; remplacé par Shelly, Tasmota, GPIO, qui sont en canal stable.
- cette même page n'avait AUCUNE variante traduite : une entrée de nav de premier
niveau servie en français sous /de/ et /en/. Traduite.
Chaîne CI rejouée en entier dans l'ordre, après correction : génération appareils
OK, génération API OK, `mkdocs build --strict` sans aucun avertissement,
contrôle d'idempotence OK.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
22 lines
1.7 KiB
Markdown
22 lines
1.7 KiB
Markdown
---
|
|
hide:
|
|
- toc
|
|
---
|
|
|
|
# SmartDevices
|
|
|
|
<!-- BEGIN GENERATED: __index_smartdevice__ -->
|
|
| Device | Protocol | Channel | Origin | Stability |
|
|
| --- | --- | --- | --- | --- |
|
|
| [Shelly](shelly.md) | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
|
|
| [Tasmota](tasmota.md) | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
|
|
| [Tuya](tuya.md) | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
|
|
| [GPIO](gpio.md) | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
|
|
| [USB Relay](usbrelay.md) | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
|
|
| [USB-RLY82](usbrly82.md) | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
|
|
| [MQTT client](mqttclient.md) | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
|
|
| [Modbus Commander](modbuscommander.md) | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
|
|
| [UniPi](unipi.md) | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
|
|
|
|
<!-- END GENERATED -->
|