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>
434 lines
14 KiB
YAML
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)
|