powersync-docs/docs/appareils/compatibilite.md
Patrick Schurig 846c0c7525 feat(i18n): traduire ce qu'on écrit, garder verbatim ce que la machine affiche
Signalé sur /de/appareils/bornes/goecharger/ : la page était allemande sur deux
lignes et anglaise sur tout le reste. Le diagnostic a séparé deux choses que
j'avais mises dans le même sac le 2026-10-12.

LA LIGNE DE PARTAGE, écrite en tête du générateur :

  • les LIBELLÉS QUE NOUS ÉCRIVONS (en-têtes de colonnes, titres de section,
    oui/non, « Documentation fabricant ») → TRADUITS. Ils ne désignent rien à
    l'écran, l'anglais n'y était qu'une friction. REF devient REF_I18N, trois
    jeux de 20 libellés.

  • le CONTENU VENANT DE NYMEA (noms de modèles, clés de registres, libellés de
    champs comme « MAC address », unités) → VERBATIM, en anglais. Ce sont
    exactement les chaînes que l'installateur lit DANS L'APP, qui tourne en
    en_US. Les traduire rendrait la doc inutilisable pour retrouver un champ à
    l'écran.

Et la pièce qui change l'expérience plus que la traduction elle-même : une note
`verbatim`, générée dans la langue de la page, en tête du bloc de référence.
Sans elle le mélange FR/EN passe pour une traduction bâclée ; avec elle c'est
une convention que le lecteur comprend.

L'injection devient sensible à la langue : `locale_of()` déduit la langue du
suffixe du fichier et `process()` rend le bloc en conséquence. Sans ça le même
bloc partait à l'identique dans les trois versions.

TAGLINES ET TITRES — i18n/devices.yaml, 52 entrées

Le tagline vivait en paragraphe libre, écrit UNE SEULE FOIS à la création de la
page : il restait donc en anglais sur les trois versions, y compris la
FRANÇAISE. Il entre dans le bloc badges, donc il est régénéré, donc traduisible
pour toujours. 52 taglines en fr et de ; l'anglais retombe sur l'amont.

Les traductions vivent dans le dépôt de DOC et pas dans les meta.json : trois
des cinq dépôts plugins sont des dépôts nymea amont que l'AGENTS.md interdit de
modifier. Repli sur l'amont pour toute entrée absente.

Deux titres s'affichaient en FRANÇAIS sous /de/ et /en/ — « Compteur ABB B2x »,
« Borne ABB Terra AC » : corrigés, dans la page et dans la nav.

Deux coquilles AMONT corrigées au passage, repérées en relisant les 57 entrées :
meta.json annonçait « Bestel » pour Vestel et « Easeex » pour Easee. Signalées
comme corrections, pas comme traductions, dans i18n/devices.yaml.

48 FICHES FR ÉTAIENT DANS UN ANCIEN FORMAT, ET MENTAIENT

Trouvé en vérifiant : 48 fiches FR n'avaient pas de marqueur `__badges_*__`.
Leurs badges étaient du HTML figé, écrit une fois — goecharger affichait
« NIGHTLY » alors que PORTING_STATUS dit `stable` depuis. Elles sont migrées au
format canonique : badges générés, donc exacts, plus titre localisé, tagline et
intertitre. Reste `hvac/homeconnect.md`, orpheline (plugin hors PORTING_STATUS).

NAV : UN CONSTAT QUI ÉVITE DE REFAIRE L'ESSAI

`literate-nav` ne lit que son `nav_file` : la substitution par suffixe de
mkdocs-static-i18n ne s'y applique PAS. Un `SUMMARY.de.md` généré n'était lu par
personne et la barre latérale allemande gardait les noms français. Testé, puis
retiré — et la raison est écrite dans le générateur pour que personne n'y
revienne. Les libellés de nav passent par `nav_translations` : 31 éléments
traduits par langue au lieu de 29.

RÉFÉRENCE API : LAISSÉE EN ANGLAIS, DÉLIBÉRÉMENT

Les 23 pages de l'API n'ont pas de variante par langue. Leur traduire les
libellés aurait fait voir du FRANÇAIS aux lecteurs /de/ et /en/ par le repli —
une régression. Créer 46 variantes pour traduire dix libellés aurait triplé
28 000 mots de contenu généré pour un gain nul : le reste de la page (noms de
méthodes, de champs, de types, descriptions) est l'API elle-même, et ce sont les
chaînes qu'on écrit dans ses requêtes. À la place, une note explique dans les
trois langues POURQUOI cette référence est en anglais.

Vérifié : build --strict sans avertissement, les deux générateurs rendent « Doc à
jour » en --check, et la fiche goecharger relue dans les trois langues.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-13 08:42:21 +02:00

125 lines
11 KiB
Markdown

# Compatibilité
Liste de référence des équipements supportés par ETM PowerSync. Générée depuis
`PORTING_STATUS.yaml` — ne pas modifier manuellement entre les marqueurs.
Chaque appareil porte trois badges indépendants :
**Canal APT** — disponibilité sur le dépôt de paquets :
| Badge | Signification |
|---|---|
| <span class="badge stable">STABLE</span> | Dépôt APT **stable** — prêt pour la production |
| <span class="badge testing">TESTING</span> | Dépôt APT **testing** — fonctionnel, en cours d'épreuve |
| <span class="badge nightly">NIGHTLY</span> | Portage en cours — non disponible en production |
**Origine** — provenance du plugin :
| Badge | Signification |
|---|---|
| <span class="badge origin-etm">ETM</span> | Plugin développé ou maintenu par ETM-Schurig |
| <span class="badge origin-nymea">NYMEA</span> | Plugin upstream nymea (communauté open-source) |
| <span class="badge origin-tiers">TIERS</span> | Plugin tiers / communautaire externe |
**Stabilité** — maturité déclarée par l'auteur du plugin (`meta.json`) :
| Badge | Signification |
|---|---|
| <span class="badge consumer">CONSUMER</span> | Validé pour usage grand public |
| <span class="badge community">COMMUNITY</span> | Plugin communautaire, support best-effort |
<!-- BEGIN GENERATED: __matrix__ -->
## Compteurs
| Marque / Modèle | Protocole | Canal | Origine | Stabilité |
|---|---|---|---|---|
| Eastron SDM | Modbus RTU | <span class="badge stable">STABLE</span> | <span class="badge origin-etm">ETM</span> | <span class="badge consumer">CONSUMER</span> |
| Compteur ABB B2x | Modbus RTU | <span class="badge testing">TESTING</span> | <span class="badge origin-etm">ETM</span> | <span class="badge consumer">CONSUMER</span> |
| powerfox | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| B+G E-Tech | Modbus RTU | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| inepro Metering | Modbus RTU | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| Schrack | Modbus RTU | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| Vestel | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| Senseair | Modbus RTU | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
## Bornes de recharge
| Marque / Modèle | Protocole | Canal | Origine | Stabilité |
|---|---|---|---|---|
| Borne ABB Terra AC | Modbus TCP | <span class="badge testing">TESTING</span> | <span class="badge origin-etm">ETM</span> | <span class="badge consumer">CONSUMER</span> |
| Keba | Modbus TCP | <span class="badge testing">TESTING</span> | <span class="badge origin-etm">ETM</span> | <span class="badge consumer">CONSUMER</span> |
| Easee | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| go-eCharger | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| EVBox | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| EVerest | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| Amber Electric | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | — |
| Amperfied | Modbus RTU | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| MENNEKES | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| webasto | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| PC Electric | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| PhoenixConnect | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| INRO | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
## SmartDevices
| Marque / Modèle | Protocole | Canal | Origine | Stabilité |
|---|---|---|---|---|
| Shelly | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| Tasmota | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| Tuya | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| GPIO | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| USB Relay | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| USB-RLY82 | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| MQTT client | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| Modbus Commander | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| UniPi | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
## HVAC
| Marque / Modèle | Protocole | Canal | Origine | Stabilité |
|---|---|---|---|---|
| Daikin | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| SG-Ready | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| SimpleHeatpump | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| Tado | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| Stiebel Eltron | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| iDM | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| Drexel und Weiss | Modbus RTU | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| alpha innotec | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| my-PV | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
## Onduleurs / PV
| Marque / Modèle | Protocole | Canal | Origine | Stabilité |
|---|---|---|---|---|
| Fronius | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| Bosswerk | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| Solar-Log | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| SMA | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| SolaX Power Inverter | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| Sungrow Inverter | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| Huawei FusionSolar | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| KOSTAL Solar Electric | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| mtec | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | — |
| Wattsonic | Modbus RTU | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| SunSpec | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
## Tarifs & prévisions
| Marque / Modèle | Protocole | Canal | Origine | Stabilité |
|---|---|---|---|---|
| OpenMeteo | — | <span class="badge testing">TESTING</span> | <span class="badge origin-etm">ETM</span> | <span class="badge consumer">CONSUMER</span> |
| aWATTar | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| Tempo | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| spot-hinta | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
## Types génériques
| Marque / Modèle | Protocole | Canal | Origine | Stabilité |
|---|---|---|---|---|
| genericenergy | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | — |
| genericheatingcooling | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | — |
| genericcar | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | — |
<!-- END GENERATED -->