powersync-docs/PORTING_STATUS.yaml
Patrick Schurig 0c8c814f75 fix(ci): l'entrée Waveshare bloquait toute la chaîne — retirée, CI débloquée
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>
2026-10-13 07:43:31 +02:00

434 lines
14 KiB
YAML

# PORTING_STATUS.yaml — source de vérité : catalogue complet ETM PowerSync
#
# Champs :
# repo : repo source (etm-powersync-*, nymea-*)
# plugin : nom du dossier plugin (= nom du integrationplugin*.json sans le préfixe/suffixe)
# slug : nom de fichier de la fiche .md si différent du plugin (optionnel)
# name : libellé affiché (optionnel si meta.json.title existe)
# channel : stable | testing | nightly
# origin : etm | nymea | tiers (déduit du repo si absent)
# category : compteur | irve | smartdevice | hvac | onduleur | batterie | tarif | generic
#
# ── Entrées ACTIVES ──────────────────────────────────────────────────────────
# Modèle whitelist : seules les entrées non commentées apparaissent dans la doc.
# Décommenter une ligne suffit à l'activer (génère matrice + fiche + nav).
# ── Compteurs ─────────────────────────────────────────────────────────────────
- repo: etm-powersync-plugins-modbus
plugin: eastron
name: Eastron SDM
channel: stable
category: compteur
- repo: etm-powersync-plugins-modbus
plugin: abbb2x
slug: abb-b2x
name: Compteur ABB B2x
channel: testing
category: compteur
- repo: nymea-plugins
plugin: powerfox
channel: stable
category: compteur
- repo: nymea-plugins-modbus
plugin: bgetech
channel: stable
category: compteur
- repo: nymea-plugins-modbus
plugin: inepro
channel: stable
category: compteur
- repo: nymea-plugins-modbus
plugin: schrack
channel: stable
category: compteur
- repo: nymea-plugins-modbus
plugin: vestel
channel: stable
category: compteur
- repo: nymea-plugins-modbus
plugin: senseair
channel: stable
category: compteur
# ── Bornes de recharge (IRVE) ─────────────────────────────────────────────────
- repo: etm-powersync-plugins-modbus
plugin: abbterra
slug: abb-terra
name: Borne ABB Terra AC
channel: testing
category: irve
- repo: etm-powersync-plugins
plugin: keba
channel: testing
origin: etm
category: irve
- repo: nymea-plugins
plugin: easee
channel: stable
category: irve
- repo: nymea-plugins
plugin: goecharger
channel: stable
category: irve
- repo: nymea-plugins
plugin: evbox
channel: stable
category: irve
- repo: nymea-plugins
plugin: everest
channel: stable
category: irve
- repo: nymea-plugins
plugin: v2xeamberelectric
name: Amber Electric
channel: stable
category: irve
- repo: nymea-plugins-modbus
plugin: amperfied
channel: stable
category: irve
- repo: nymea-plugins-modbus
plugin: mennekes
channel: stable
category: irve
- repo: nymea-plugins-modbus
plugin: webasto
channel: stable
category: irve
- repo: nymea-plugins-modbus
plugin: pcelectric
channel: stable
category: irve
- repo: nymea-plugins-modbus
plugin: phoenixconnect
channel: stable
category: irve
- repo: nymea-plugins-modbus
plugin: inro
channel: stable
category: irve
# ── SmartDevices (pilotage, relais, thermostats) ──────────────────────────────
# Waveshare D8 — entrée RETIRÉE le 2026-10-13.
# Le plugin n'a jamais été livré : il a été sorti de `main` de
# etm-powersync-plugins-modbus le 2026-08-02 (997ea13) parce qu'il était
# « built by nothing, absent from both PLUGIN_DIRS and debian/control, so no
# package has ever shipped it ». Vérifié : 0 occurrence dans modbus.pri et
# debian/control sur main, aucun paquet installé sur le banc (dont les relais
# sont en GPIO). L'AGENTS.md du moteur le classe en DÉFÉRÉ (chantier transport
# Modbus RTU/RS485, session dédiée).
#
# Tant que cette entrée disait `channel: testing`, validate_entries() arrêtait
# TOUTE la chaîne — la CI a é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. Le garde-fou avait raison.
#
# À réintroduire le jour où le plugin est réellement construit et empaqueté,
# avec le canal qui correspondra à sa maturité d'alors.
- repo: nymea-plugins
plugin: shelly
channel: stable
category: smartdevice
- repo: nymea-plugins
plugin: tasmota
channel: stable
category: smartdevice
- repo: nymea-plugins
plugin: tuya
channel: stable
category: smartdevice
- repo: nymea-plugins
plugin: gpio
channel: stable
category: smartdevice
- repo: nymea-plugins
plugin: usbrelay
channel: stable
category: smartdevice
- repo: nymea-plugins
plugin: usbrly82
channel: stable
category: smartdevice
- repo: nymea-plugins
plugin: mqttclient
channel: stable
category: smartdevice
- repo: nymea-plugins-modbus
plugin: modbuscommander
channel: stable
category: smartdevice
- repo: nymea-plugins-modbus
plugin: unipi
channel: stable
category: smartdevice
# ── HVAC (PAC, climatisation, ECS) ───────────────────────────────────────────
- repo: nymea-plugins
plugin: daikinairco
name: Daikin
channel: stable
category: hvac
subcategory: climatisation
- repo: nymea-plugins
plugin: sgready
name: SG-Ready
channel: stable
category: hvac
subcategory: pac
- repo: nymea-plugins
plugin: simpleheatpump
name: SimpleHeatpump
channel: stable
category: hvac
subcategory: pac
- repo: nymea-plugins
plugin: tado
channel: stable
category: hvac
- repo: nymea-plugins-modbus
plugin: stiebeleltron
channel: stable
category: hvac
- repo: nymea-plugins-modbus
plugin: idm
channel: stable
category: hvac
- repo: nymea-plugins-modbus
plugin: drexelundweiss
channel: stable
category: hvac
- repo: nymea-plugins-modbus
plugin: alphainnotec
channel: stable
category: hvac
- repo: nymea-plugins-modbus
plugin: mypv
channel: stable
category: hvac
# ── Onduleurs / PV / Stockage ─────────────────────────────────────────────────
- repo: nymea-plugins
plugin: fronius
name: Fronius
channel: stable
category: onduleur
- repo: nymea-plugins
plugin: bosswerk
channel: stable
category: onduleur
- repo: nymea-plugins
plugin: solarlog
channel: stable
category: onduleur
- repo: nymea-plugins-modbus
plugin: sma
channel: stable
category: onduleur
- repo: nymea-plugins-modbus
plugin: solax
channel: stable
category: onduleur
- repo: nymea-plugins-modbus
plugin: sungrow
channel: stable
category: onduleur
- repo: nymea-plugins-modbus
plugin: huawei
channel: stable
category: onduleur
- repo: nymea-plugins-modbus
plugin: kostal
channel: stable
category: onduleur
- repo: nymea-plugins-modbus
plugin: mtec
name: mtec
channel: stable
category: onduleur
- repo: nymea-plugins-modbus
plugin: wattsonic
channel: stable
category: onduleur
- repo: nymea-plugins-modbus
plugin: sunspec
channel: stable
category: onduleur
# ── Tarifs & prévisions ───────────────────────────────────────────────────────
- repo: etm-powersync-plugins
plugin: openmeteo
channel: testing
origin: etm
category: tarif
- repo: nymea-plugins
plugin: awattar
channel: stable
category: tarif
- repo: nymea-plugins
plugin: tempo
channel: stable
category: tarif
- repo: nymea-plugins
plugin: spothinta
channel: stable
category: tarif
# ── Types génériques nymea ────────────────────────────────────────────────────
- repo: nymea-plugins-genericthings
plugin: genericenergy
name: genericenergy
channel: stable
category: generic
- repo: nymea-plugins-genericthings
plugin: genericheatingcooling
name: genericheatingcooling
channel: stable
category: generic
- repo: nymea-plugins-genericthings
plugin: genericcar
name: genericcar
channel: stable
category: generic
# ── Entrées COMMENTÉES — hors périmètre énergie ──────────────────────────────
# Domotique grand public : décommenter pour inclure dans la doc si nécessaire.
# Format YAML flow : valide quand décommenté, ajouter category: manuellement.
# -- nymea-plugins : domotique --
# - {repo: nymea-plugins, plugin: anel, channel: stable}
# - {repo: nymea-plugins, plugin: aqi, channel: stable}
# - {repo: nymea-plugins, plugin: avahimonitor, channel: stable}
# - {repo: nymea-plugins, plugin: bimmerconnected, channel: stable}
# - {repo: nymea-plugins, plugin: bluos, channel: stable}
# - {repo: nymea-plugins, plugin: bose, channel: stable}
# - {repo: nymea-plugins, plugin: coinmarketcap, channel: stable}
# - {repo: nymea-plugins, plugin: commandlauncher, channel: stable}
# - {repo: nymea-plugins, plugin: datetime, channel: stable}
# - {repo: nymea-plugins, plugin: daylightsensor, channel: stable}
# - {repo: nymea-plugins, plugin: denon, channel: stable}
# - {repo: nymea-plugins, plugin: dht, channel: stable}
# - {repo: nymea-plugins, plugin: doorbird, channel: stable}
# - {repo: nymea-plugins, plugin: dweetio, channel: stable}
# - {repo: nymea-plugins, plugin: dynatrace, channel: stable}
# - {repo: nymea-plugins, plugin: elgato, channel: stable}
# - {repo: nymea-plugins, plugin: eq-3, channel: stable}
# - {repo: nymea-plugins, plugin: espsomfyrts, channel: stable}
# - {repo: nymea-plugins, plugin: espuino, channel: stable}
# - {repo: nymea-plugins, plugin: fastcom, channel: stable}
# - {repo: nymea-plugins, plugin: flowercare, channel: stable}
# - {repo: nymea-plugins, plugin: garadget, channel: stable}
# - {repo: nymea-plugins, plugin: httpcommander, channel: stable}
# - {repo: nymea-plugins, plugin: i2cdevices, channel: stable}
# - {repo: nymea-plugins, plugin: kodi, channel: stable}
# - {repo: nymea-plugins, plugin: lgsmarttv, channel: stable}
# - {repo: nymea-plugins, plugin: lifx, channel: stable}
# - {repo: nymea-plugins, plugin: logilink, channel: stable}
# - {repo: nymea-plugins, plugin: mailnotification, channel: nightly}
# - {repo: nymea-plugins, plugin: mcp3008, channel: stable}
# - {repo: nymea-plugins, plugin: mecelectronics, channel: stable}
# - {repo: nymea-plugins, plugin: meross, channel: stable}
# - {repo: nymea-plugins, plugin: mystrom, channel: stable}
# - {repo: nymea-plugins, plugin: nanoleaf, channel: stable}
# - {repo: nymea-plugins, plugin: neatobotvac, channel: stable}
# - {repo: nymea-plugins, plugin: netatmo, channel: stable}
# - {repo: nymea-plugins, plugin: networkdetector, channel: stable}
# - {repo: nymea-plugins, plugin: notifyevents, channel: stable}
# - {repo: nymea-plugins, plugin: nuki, channel: stable}
# - {repo: nymea-plugins, plugin: onewire, channel: stable}
# - {repo: nymea-plugins, plugin: openuv, channel: stable}
# - {repo: nymea-plugins, plugin: openweathermap, channel: stable}
# - {repo: nymea-plugins, plugin: osdomotics, channel: stable}
# - {repo: nymea-plugins, plugin: philipshue, channel: stable}
# - {repo: nymea-plugins, plugin: pushbullet, channel: stable}
# - {repo: nymea-plugins, plugin: pushnotifications,channel: nightly}
# - {repo: nymea-plugins, plugin: reversessh, channel: stable}
# - {repo: nymea-plugins, plugin: senic, channel: stable}
# - {repo: nymea-plugins, plugin: serialportcommander, channel: nightly}
# - {repo: nymea-plugins, plugin: somfytahoma, channel: stable}
# - {repo: nymea-plugins, plugin: sonos, channel: stable}
# - {repo: nymea-plugins, plugin: sunposition, channel: stable}
# - {repo: nymea-plugins, plugin: systemmonitor, channel: stable}
# - {repo: nymea-plugins, plugin: tcpcommander, channel: stable}
# - {repo: nymea-plugins, plugin: telegram, channel: stable}
# - {repo: nymea-plugins, plugin: texasinstruments, channel: nightly}
# - {repo: nymea-plugins, plugin: tmate, channel: stable}
# - {repo: nymea-plugins, plugin: tplink, channel: stable}
# - {repo: nymea-plugins, plugin: udpcommander, channel: stable}
# - {repo: nymea-plugins, plugin: unifi, channel: stable}
# - {repo: nymea-plugins, plugin: wakeonlan, channel: stable}
# - {repo: nymea-plugins, plugin: wemo, channel: stable}
# - {repo: nymea-plugins, plugin: wheretheissat, channel: stable}
# - {repo: nymea-plugins, plugin: ws2812fx, channel: stable}
# - {repo: nymea-plugins, plugin: yamahaavr, channel: stable}
# - {repo: nymea-plugins, plugin: homeconnect, channel: stable, category: hvac}
# -- nymea-plugins-genericthings : types hors énergie --
# - {repo: nymea-plugins-genericthings, plugin: genericbuttons, channel: stable}
# - {repo: nymea-plugins-genericthings, plugin: genericgarages, channel: stable}
# - {repo: nymea-plugins-genericthings, plugin: genericirrigation, channel: nightly}
# - {repo: nymea-plugins-genericthings, plugin: genericlights, channel: stable}
# - {repo: nymea-plugins-genericthings, plugin: genericsensors, channel: stable}
# - {repo: nymea-plugins-genericthings, plugin: genericshading, channel: stable}
# - {repo: nymea-plugins-genericthings, plugin: genericthing, channel: stable}
# -- etm-powersync-plugins : hors périmètre direct --
# - {repo: etm-powersync-plugins, plugin: openmeteo, channel: nightly}
# (keba : fork ETM disponible mais doublon de nymea-plugins/keba ci-dessus)