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>
This commit is contained in:
parent
325409dd3f
commit
0c8c814f75
@ -131,12 +131,21 @@
|
||||
|
||||
# ── SmartDevices (pilotage, relais, thermostats) ──────────────────────────────
|
||||
|
||||
- repo: etm-powersync-plugins-modbus
|
||||
plugin: waveshare-relay-d8
|
||||
slug: waveshare
|
||||
name: Waveshare relais
|
||||
channel: testing
|
||||
category: smartdevice
|
||||
# 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
|
||||
|
||||
@ -23,7 +23,6 @@
|
||||
* [PhoenixConnect](bornes/phoenixconnect.md)
|
||||
* [INRO](bornes/inro.md)
|
||||
* [SmartDevices](smart/index.md)
|
||||
* [Waveshare relais](smart/waveshare.md)
|
||||
* [Shelly](smart/shelly.md)
|
||||
* [Tasmota](smart/tasmota.md)
|
||||
* [Tuya](smart/tuya.md)
|
||||
|
||||
@ -64,7 +64,6 @@ Jedes Gerät trägt drei unabhängige Badges:
|
||||
|
||||
| Brand / Model | Protocol | Channel | Origin | Stability |
|
||||
|---|---|---|---|---|
|
||||
| Waveshare relais | Modbus RTU | <span class="badge testing">TESTING</span> | <span class="badge origin-etm">ETM</span> | <span class="badge experimental">EXPERIMENTAL</span> |
|
||||
| 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> |
|
||||
|
||||
@ -64,7 +64,6 @@ Every device carries three independent badges:
|
||||
|
||||
| Brand / Model | Protocol | Channel | Origin | Stability |
|
||||
|---|---|---|---|---|
|
||||
| Waveshare relais | Modbus RTU | <span class="badge testing">TESTING</span> | <span class="badge origin-etm">ETM</span> | <span class="badge experimental">EXPERIMENTAL</span> |
|
||||
| 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> |
|
||||
|
||||
@ -64,7 +64,6 @@ Chaque appareil porte trois badges indépendants :
|
||||
|
||||
| Brand / Model | Protocol | Channel | Origin | Stability |
|
||||
|---|---|---|---|---|
|
||||
| Waveshare relais | Modbus RTU | <span class="badge testing">TESTING</span> | <span class="badge origin-etm">ETM</span> | <span class="badge experimental">EXPERIMENTAL</span> |
|
||||
| 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> |
|
||||
|
||||
9
docs/appareils/index.de.md
Normal file
9
docs/appareils/index.de.md
Normal file
@ -0,0 +1,9 @@
|
||||
# Geräte
|
||||
|
||||
ETM PowerSync kommuniziert mit den Geräten über Modbus (TCP/RTU) und
|
||||
herstellereigene Protokolle, mithilfe der mitgelieferten Plugins.
|
||||
|
||||
- [Kompatibilität](compatibilite.md) — vollständige Matrix mit APT-Kanälen
|
||||
- [Zähler](compteurs/index.md) — Eastron SDM, ABB B2x
|
||||
- [Wallboxen](bornes/index.md) — ABB Terra AC, Keba
|
||||
- [SmartDevices](smart/index.md) — Shelly, Tasmota, GPIO
|
||||
9
docs/appareils/index.en.md
Normal file
9
docs/appareils/index.en.md
Normal file
@ -0,0 +1,9 @@
|
||||
# Devices
|
||||
|
||||
ETM PowerSync talks to equipment over Modbus (TCP/RTU) and vendor-specific
|
||||
protocols, through the bundled plugins.
|
||||
|
||||
- [Compatibility](compatibilite.md) — full matrix with APT channels
|
||||
- [Meters](compteurs/index.md) — Eastron SDM, ABB B2x
|
||||
- [EV chargers](bornes/index.md) — ABB Terra AC, Keba
|
||||
- [SmartDevices](smart/index.md) — Shelly, Tasmota, GPIO
|
||||
@ -6,4 +6,4 @@ propriétaires, grâce aux plugins embarqués.
|
||||
- [Compatibilité](compatibilite.md) — matrice complète avec canaux APT
|
||||
- [Compteurs](compteurs/index.md) — Eastron SDM, ABB B2x
|
||||
- [Bornes de recharge](bornes/index.md) — ABB Terra AC, Keba
|
||||
- [SmartDevices](smart/index.md) — Waveshare
|
||||
- [SmartDevices](smart/index.md) — Shelly, Tasmota, GPIO
|
||||
|
||||
@ -8,7 +8,6 @@ hide:
|
||||
<!-- BEGIN GENERATED: __index_smartdevice__ -->
|
||||
| Device | Protocol | Channel | Origin | Stability |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| [Waveshare relais](waveshare.md) | Modbus RTU | <span class="badge testing">TESTING</span> | <span class="badge origin-etm">ETM</span> | <span class="badge experimental">EXPERIMENTAL</span> |
|
||||
| [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> |
|
||||
|
||||
@ -8,7 +8,6 @@ hide:
|
||||
<!-- BEGIN GENERATED: __index_smartdevice__ -->
|
||||
| Device | Protocol | Channel | Origin | Stability |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| [Waveshare relais](waveshare.md) | Modbus RTU | <span class="badge testing">TESTING</span> | <span class="badge origin-etm">ETM</span> | <span class="badge experimental">EXPERIMENTAL</span> |
|
||||
| [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> |
|
||||
|
||||
@ -10,7 +10,6 @@ Modules de pilotage de charges supportés par ETM PowerSync.
|
||||
<!-- BEGIN GENERATED: __index_smartdevice__ -->
|
||||
| Device | Protocol | Channel | Origin | Stability |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| [Waveshare relais](waveshare.md) | Modbus RTU | <span class="badge testing">TESTING</span> | <span class="badge origin-etm">ETM</span> | <span class="badge experimental">EXPERIMENTAL</span> |
|
||||
| [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> |
|
||||
|
||||
@ -1,78 +0,0 @@
|
||||
# Waveshare-Relais
|
||||
|
||||
<!-- BEGIN GENERATED: __badges_waveshare-relay-d8__ -->
|
||||
<span class="badge testing">TESTING</span> <span class="badge origin-etm">ETM</span> <span class="badge experimental">EXPERIMENTAL</span>
|
||||
|
||||
<!-- END GENERATED -->
|
||||
|
||||
Waveshare-Relaismodul (Variante mit 8 Kanälen, RS485), Ansteuerung über
|
||||
**Modbus RTU**.
|
||||
|
||||
## 1. Benötigte Hardware
|
||||
|
||||
- Waveshare 8-Channel Relay Module (RS485)
|
||||
- USB↔RS485-Adapter auf Hub-Seite
|
||||
- 12-V-DC-Versorgung + Buskabel (A/B)
|
||||
|
||||
## 2. RS485-Anschluss
|
||||
|
||||
A↔A, B↔B, gemeinsame Masse, **120 Ω** am Busende.
|
||||
12 V DC an die Klemmen VCC/GND des Moduls.
|
||||
|
||||
## 3. Modbus-Adressierung
|
||||
|
||||
Standardadresse: **1**. Einstellbar über das Waveshare-Dienstprogramm oder per
|
||||
Modbus-Befehl zur Adressänderung.
|
||||
|
||||
Parameter: **9600 bps, 8N1**.
|
||||
|
||||
## 4. Hinzufügen in PowerSync
|
||||
|
||||
Manuelles Hinzufügen (serieller Port, Slave-Adresse).
|
||||
Siehe [Gerät hinzufügen](../../installation/application.md).
|
||||
|
||||
---
|
||||
|
||||
## Referenz
|
||||
|
||||
<!-- BEGIN GENERATED: integrationpluginwaveshare-relay-d8.json -->
|
||||
**Manufacturer:** Waveshare
|
||||
**Plugin:** `WaveshareRelayD8`
|
||||
|
||||
#### Supported models
|
||||
| Model | Role | Transport | Pairing | Quantities |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| **Waveshare Relay D8** | — | Modbus RTU | Auto-discovery | 17 |
|
||||
|
||||
#### Per-model detail
|
||||
??? abstract "Waveshare Relay D8 — `waveshareRelayD8`"
|
||||
_Settings:_
|
||||
|
||||
| Key | Label | Type | Range | Default | Read-only |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| `rtuMaster` | Modbus RTU master UUID | QString | — | — | no |
|
||||
| `slaveAddress` | Modbus slave address | int | 1–247 | `1` | no |
|
||||
|
||||
_Measured quantities:_
|
||||
|
||||
| Key | Quantity | Type | Unit |
|
||||
| --- | --- | --- | --- |
|
||||
| `connected` | Connected | bool | — |
|
||||
| `relay1State` | Relay 1 | bool | — |
|
||||
| `relay2State` | Relay 2 | bool | — |
|
||||
| `relay3State` | Relay 3 | bool | — |
|
||||
| `relay4State` | Relay 4 | bool | — |
|
||||
| `relay5State` | Relay 5 | bool | — |
|
||||
| `relay6State` | Relay 6 | bool | — |
|
||||
| `relay7State` | Relay 7 | bool | — |
|
||||
| `relay8State` | Relay 8 | bool | — |
|
||||
| `input1State` | Input 1 | bool | — |
|
||||
| `input2State` | Input 2 | bool | — |
|
||||
| `input3State` | Input 3 | bool | — |
|
||||
| `input4State` | Input 4 | bool | — |
|
||||
| `input5State` | Input 5 | bool | — |
|
||||
| `input6State` | Input 6 | bool | — |
|
||||
| `input7State` | Input 7 | bool | — |
|
||||
| `input8State` | Input 8 | bool | — |
|
||||
|
||||
<!-- END GENERATED -->
|
||||
@ -1,77 +0,0 @@
|
||||
# Waveshare relays
|
||||
|
||||
<!-- BEGIN GENERATED: __badges_waveshare-relay-d8__ -->
|
||||
<span class="badge testing">TESTING</span> <span class="badge origin-etm">ETM</span> <span class="badge experimental">EXPERIMENTAL</span>
|
||||
|
||||
<!-- END GENERATED -->
|
||||
|
||||
Waveshare relay module (8-channel RS485 variant), driven over **Modbus RTU**.
|
||||
|
||||
## 1. Hardware required
|
||||
|
||||
- Waveshare 8-Channel Relay Module (RS485)
|
||||
- A USB↔RS485 adapter on the hub side
|
||||
- 12 V DC supply + bus cable (A/B)
|
||||
|
||||
## 2. RS485 wiring
|
||||
|
||||
A↔A, B↔B, common ground, **120 Ω** at the end of the bus.
|
||||
12 V DC to the module's VCC/GND terminals.
|
||||
|
||||
## 3. Modbus addressing
|
||||
|
||||
Default address: **1**. Configurable from the Waveshare utility, or by the
|
||||
Modbus address-change command.
|
||||
|
||||
Parameters: **9600 bps, 8N1**.
|
||||
|
||||
## 4. Adding in PowerSync
|
||||
|
||||
Manual addition (serial port, slave address).
|
||||
See [Adding a device](../../installation/application.md).
|
||||
|
||||
---
|
||||
|
||||
## Reference
|
||||
|
||||
<!-- BEGIN GENERATED: integrationpluginwaveshare-relay-d8.json -->
|
||||
**Manufacturer:** Waveshare
|
||||
**Plugin:** `WaveshareRelayD8`
|
||||
|
||||
#### Supported models
|
||||
| Model | Role | Transport | Pairing | Quantities |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| **Waveshare Relay D8** | — | Modbus RTU | Auto-discovery | 17 |
|
||||
|
||||
#### Per-model detail
|
||||
??? abstract "Waveshare Relay D8 — `waveshareRelayD8`"
|
||||
_Settings:_
|
||||
|
||||
| Key | Label | Type | Range | Default | Read-only |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| `rtuMaster` | Modbus RTU master UUID | QString | — | — | no |
|
||||
| `slaveAddress` | Modbus slave address | int | 1–247 | `1` | no |
|
||||
|
||||
_Measured quantities:_
|
||||
|
||||
| Key | Quantity | Type | Unit |
|
||||
| --- | --- | --- | --- |
|
||||
| `connected` | Connected | bool | — |
|
||||
| `relay1State` | Relay 1 | bool | — |
|
||||
| `relay2State` | Relay 2 | bool | — |
|
||||
| `relay3State` | Relay 3 | bool | — |
|
||||
| `relay4State` | Relay 4 | bool | — |
|
||||
| `relay5State` | Relay 5 | bool | — |
|
||||
| `relay6State` | Relay 6 | bool | — |
|
||||
| `relay7State` | Relay 7 | bool | — |
|
||||
| `relay8State` | Relay 8 | bool | — |
|
||||
| `input1State` | Input 1 | bool | — |
|
||||
| `input2State` | Input 2 | bool | — |
|
||||
| `input3State` | Input 3 | bool | — |
|
||||
| `input4State` | Input 4 | bool | — |
|
||||
| `input5State` | Input 5 | bool | — |
|
||||
| `input6State` | Input 6 | bool | — |
|
||||
| `input7State` | Input 7 | bool | — |
|
||||
| `input8State` | Input 8 | bool | — |
|
||||
|
||||
<!-- END GENERATED -->
|
||||
@ -1,77 +0,0 @@
|
||||
# Waveshare relais
|
||||
|
||||
<!-- BEGIN GENERATED: __badges_waveshare-relay-d8__ -->
|
||||
<span class="badge testing">TESTING</span> <span class="badge origin-etm">ETM</span> <span class="badge experimental">EXPERIMENTAL</span>
|
||||
|
||||
<!-- END GENERATED -->
|
||||
|
||||
Module de relais Waveshare (modèle 8 canaux RS485), pilotage via **Modbus RTU**.
|
||||
|
||||
## 1. Matériel requis
|
||||
|
||||
- Module Waveshare 8-Channel Relay (RS485)
|
||||
- Adaptateur USB↔RS485 côté hub
|
||||
- Alimentation 12 V DC + câble bus (A/B)
|
||||
|
||||
## 2. Raccordement RS485
|
||||
|
||||
A↔A, B↔B, masse commune, terminaison **120 Ω** en bout de bus.
|
||||
Alimentation 12 V DC sur les bornes VCC/GND du module.
|
||||
|
||||
## 3. Adressage Modbus
|
||||
|
||||
Adresse par défaut : **1**. Configurable via l'utilitaire Waveshare ou par
|
||||
commande Modbus de changement d'adresse.
|
||||
|
||||
Paramètres : **9600 bps, 8N1**.
|
||||
|
||||
## 4. Ajout dans PowerSync
|
||||
|
||||
Ajout manuel (port série, adresse esclave).
|
||||
Voir [Ajouter un appareil](../../installation/application.md).
|
||||
|
||||
---
|
||||
|
||||
## Référence
|
||||
|
||||
<!-- BEGIN GENERATED: integrationpluginwaveshare-relay-d8.json -->
|
||||
**Manufacturer:** Waveshare
|
||||
**Plugin:** `WaveshareRelayD8`
|
||||
|
||||
#### Supported models
|
||||
| Model | Role | Transport | Pairing | Quantities |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| **Waveshare Relay D8** | — | Modbus RTU | Auto-discovery | 17 |
|
||||
|
||||
#### Per-model detail
|
||||
??? abstract "Waveshare Relay D8 — `waveshareRelayD8`"
|
||||
_Settings:_
|
||||
|
||||
| Key | Label | Type | Range | Default | Read-only |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| `rtuMaster` | Modbus RTU master UUID | QString | — | — | no |
|
||||
| `slaveAddress` | Modbus slave address | int | 1–247 | `1` | no |
|
||||
|
||||
_Measured quantities:_
|
||||
|
||||
| Key | Quantity | Type | Unit |
|
||||
| --- | --- | --- | --- |
|
||||
| `connected` | Connected | bool | — |
|
||||
| `relay1State` | Relay 1 | bool | — |
|
||||
| `relay2State` | Relay 2 | bool | — |
|
||||
| `relay3State` | Relay 3 | bool | — |
|
||||
| `relay4State` | Relay 4 | bool | — |
|
||||
| `relay5State` | Relay 5 | bool | — |
|
||||
| `relay6State` | Relay 6 | bool | — |
|
||||
| `relay7State` | Relay 7 | bool | — |
|
||||
| `relay8State` | Relay 8 | bool | — |
|
||||
| `input1State` | Input 1 | bool | — |
|
||||
| `input2State` | Input 2 | bool | — |
|
||||
| `input3State` | Input 3 | bool | — |
|
||||
| `input4State` | Input 4 | bool | — |
|
||||
| `input5State` | Input 5 | bool | — |
|
||||
| `input6State` | Input 6 | bool | — |
|
||||
| `input7State` | Input 7 | bool | — |
|
||||
| `input8State` | Input 8 | bool | — |
|
||||
|
||||
<!-- END GENERATED -->
|
||||
Loading…
x
Reference in New Issue
Block a user