diff --git a/PORTING_STATUS.yaml b/PORTING_STATUS.yaml
index 65ca8a6..2ff5a0d 100644
--- a/PORTING_STATUS.yaml
+++ b/PORTING_STATUS.yaml
@@ -297,6 +297,12 @@
# ── Tarifs & prévisions ───────────────────────────────────────────────────────
+- repo: etm-powersync-plugins
+ plugin: openmeteo
+ channel: testing
+ origin: etm
+ category: tarif
+
- repo: nymea-plugins
plugin: awattar
channel: stable
diff --git a/TODO_powersync-docs.md b/TODO_powersync-docs.md
new file mode 100644
index 0000000..1c20386
--- /dev/null
+++ b/TODO_powersync-docs.md
@@ -0,0 +1,56 @@
+# ETM PowerSync — Documentation : ToDo
+
+> État au 04/06/2026. La fondation docs-as-code est en place (CI verte, déploiement auto,
+> 3 badges canal/origine/stabilité, catalogue complet, cycle de vie des forks).
+> Reste la « chair » éditoriale + quelques dettes.
+
+## Priorités proposées (à valider par Patrick)
+
+### 🔴 P1 — rapide & fort impact
+- [ ] **Ajouter le plugin `openmeteo`** (`powersync-plugin-openmeteo`) à `PORTING_STATUS`.
+ Tourne déjà sur nymea-dev mais absent de la doc. Catégorie à définir
+ (météo/données ? tarif/prévisions ?). → 1 ligne dans PORTING_STATUS.
+- [ ] **Améliorer le rendu des « Détails par modèle »** (voir capture abb-terra).
+ Aujourd'hui Réglages / Grandeurs mesurées sont aplatis en une ligne illisible
+ pleine de `|`. Le tableau Markdown ne se rend pas en tableau. → tâche Claude Code
+ sur le générateur : produire de vrais tableaux lisibles (colonnes Clé / Libellé /
+ Type / Unité / Plage / Défaut), ou des listes structurées.
+
+### 🟠 P2 — documentation technique / API
+- [ ] **Documentation MQTT** (topics, payloads, intégration).
+- [ ] **Documentation JsonRPC-API** (nymea). RestAPI utile ? → à trancher.
+
+### 🟡 P3 — contenu éditorial (au rythme de Patrick)
+- [ ] **Section Getting Started / Installation** :
+ - [ ] version basée sur paquets **APT** (Auto / pro)
+ - [ ] version **Community** : image Raspberry Pi + Raspberry Imager
+- [ ] **Captures app mobile** « comment ajouter un appareil » → page partagée
+ `installation/application.md` (transversal, bénéficie à toutes les fiches).
+- [ ] **Schémas de branchement** (EN COURS — Patrick prépare les symboles) :
+ - [ ] préparer les symboles (chantier Patrick)
+ - [ ] famille **comptage/puissance** (attend la convention de tores par rôle :
+ producteur / consommateur / maison → interfaces nymea smartmeter*)
+ - [ ] intégration des SVG dans la prose des fiches
+- [ ] **Étapes de paramétrage** par appareil → prose fiche par fiche, au fil de l'eau.
+- [ ] **Promotion des canaux** : monter testing/stable les plugins éprouvés terrain.
+ - [ ] décider statut **Keba** (testing ou stable selon usage prod réel)
+ - [ ] vérifier **Waveshare** correct en ligne (après les reverts)
+
+### 🟢 P4 — dette infra (mord dès que ça charge)
+- [ ] **Ajouter de la RAM physique à pve01tm** (→ 16 Go). Vrai correctif des 503.
+ Le ballooning désactivé sur Gitea n'est qu'un palliatif sur un hôte à 7,7 Go
+ sans marge. Investissement infra prioritaire.
+- [ ] Vérifier ce que fait **MariaDB** sur la VM Gitea (vu au htop) : utile à Gitea
+ ou process qui traîne et grignote la RAM ?
+- [ ] Durcir la **clé SSH de déploiement** (`command=""` dans authorized_keys) — DMZ.
+
+### 🔵 P5 — évolutions long terme
+- [ ] **Chemin A** : lire le canal directement depuis le dépôt APT reprepro
+ (`repos.etm-powersync.fr`) une fois peuplé → supprime la double-saisie
+ PORTING_STATUS ↔ APT.
+- [ ] **Webhooks** repos plugins → workflow docs, si le cron nocturne devient
+ trop lent (pour l'instant OK).
+
+---
+*« Je suis sûr on va encore trouver des choses à ajouter LOL » — oui. Garder ce fichier
+vivant, cocher au fur et à mesure.*
diff --git a/docs/appareils/SUMMARY.md b/docs/appareils/SUMMARY.md
index 80694fb..134175c 100644
--- a/docs/appareils/SUMMARY.md
+++ b/docs/appareils/SUMMARY.md
@@ -38,7 +38,6 @@
* [SG-Ready](hvac/sgready.md)
* [SimpleHeatpump](hvac/simpleheatpump.md)
* [Tado](hvac/tado.md)
- * [Home Connect](hvac/homeconnect.md)
* [Stiebel Eltron](hvac/stiebeleltron.md)
* [iDM](hvac/idm.md)
* [Drexel und Weiss](hvac/drexelundweiss.md)
@@ -57,6 +56,7 @@
* [Wattsonic](onduleurs/wattsonic.md)
* [SunSpec](onduleurs/sunspec.md)
* [Tarifs & prévisions](tarifs/index.md)
+ * [OpenMeteo](tarifs/openmeteo.md)
* [aWATTar](tarifs/awattar.md)
* [Tempo](tarifs/tempo.md)
* [spot-hinta](tarifs/spothinta.md)
diff --git a/docs/appareils/bornes/abb-terra.md b/docs/appareils/bornes/abb-terra.md
index 1897aa1..c988a27 100644
--- a/docs/appareils/bornes/abb-terra.md
+++ b/docs/appareils/bornes/abb-terra.md
@@ -47,6 +47,7 @@ Voir [Ajouter un appareil](../../installation/application.md).
#### Détail par modèle
??? abstract "Terra AC Charger (TCP) — `terraAcTcp`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `macAddress` | MAC address | QString | — | — | oui |
@@ -56,6 +57,7 @@ Voir [Ajouter un appareil](../../installation/application.md).
| `slaveId` | Slave ID | uint | 1–255 | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -78,12 +80,14 @@ Voir [Ajouter un appareil](../../installation/application.md).
??? abstract "Terra AC Charger (RTU) — `terraAcRtu`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `rtuMaster` | Modbus RTU master | QString | — | — | non |
| `slaveId` | Modbus slave ID | uint | 1–247 | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/bornes/amperfied.md b/docs/appareils/bornes/amperfied.md
index 2b4370d..77b76bf 100644
--- a/docs/appareils/bornes/amperfied.md
+++ b/docs/appareils/bornes/amperfied.md
@@ -19,12 +19,14 @@ Connect Amperfied/Heidelberg wallboxes to nymea.
#### Détail par modèle
??? abstract "Energy Control — `energyControl`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `rtuMaster` | Modbus RTU master | QString | — | — | non |
| `slaveId` | Modbus slave ID | uint | 1–248 | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -39,6 +41,7 @@ Connect Amperfied/Heidelberg wallboxes to nymea.
??? abstract "connect.home — `connectHome`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `macAddress` | MAC address | QString | — | — | non |
@@ -46,6 +49,7 @@ Connect Amperfied/Heidelberg wallboxes to nymea.
| `hostName` | Host name | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -60,6 +64,7 @@ Connect Amperfied/Heidelberg wallboxes to nymea.
??? abstract "connect.business — `connectBusiness`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `macAddress` | MAC address | QString | — | — | non |
@@ -67,6 +72,7 @@ Connect Amperfied/Heidelberg wallboxes to nymea.
| `hostName` | Host name | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -82,6 +88,7 @@ Connect Amperfied/Heidelberg wallboxes to nymea.
??? abstract "connect.solar — `connectSolar`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `macAddress` | MAC address | QString | — | — | non |
@@ -89,6 +96,7 @@ Connect Amperfied/Heidelberg wallboxes to nymea.
| `hostName` | Host name | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/bornes/easee.md b/docs/appareils/bornes/easee.md
index b869f30..ebaf413 100644
--- a/docs/appareils/bornes/easee.md
+++ b/docs/appareils/bornes/easee.md
@@ -17,6 +17,7 @@ Integrates Easee wallboxes with nymea.
#### Détail par modèle
??? abstract "Easee account — `account`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -24,11 +25,13 @@ Integrates Easee wallboxes with nymea.
??? abstract "Easee charger — `charger`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Charger ID | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `maxChargingCurrent` | Maximum charging current | double | Ampere |
diff --git a/docs/appareils/bornes/evbox.md b/docs/appareils/bornes/evbox.md
index eb9f23b..9f32b56 100644
--- a/docs/appareils/bornes/evbox.md
+++ b/docs/appareils/bornes/evbox.md
@@ -17,12 +17,14 @@ Integrates EVBox wallboxes with nymea.
#### Détail par modèle
??? abstract "Elvi + MID meter — `elviMid`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `serialPort` | Serial port | QString | — | — | oui |
| `serialNumber` | Serial number | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -35,12 +37,14 @@ Integrates EVBox wallboxes with nymea.
??? abstract "Elvi — `elvi`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `serialPort` | Serial port | QString | — | — | oui |
| `serialNumber` | Serial number | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/bornes/everest.md b/docs/appareils/bornes/everest.md
index 4db300b..1e1a53a 100644
--- a/docs/appareils/bornes/everest.md
+++ b/docs/appareils/bornes/everest.md
@@ -18,6 +18,7 @@ Control and monitor EVerest based EV chargers
#### Détail par modèle
??? abstract "Everest (MQTT) — `everestMqtt`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `hostName` | Host name | QString | — | — | non |
@@ -26,6 +27,7 @@ Control and monitor EVerest based EV chargers
| `connector` | Connector name | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Charging enabled | bool | — |
@@ -44,11 +46,13 @@ Control and monitor EVerest based EV chargers
??? abstract "EVerest connection — `everestConnection`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `port` | Port | uint | — | `8080` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `hostName` | Host name | QString | — | — | non |
@@ -58,6 +62,7 @@ Control and monitor EVerest based EV chargers
| `serialNumber` | Serial number | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -65,11 +70,13 @@ Control and monitor EVerest based EV chargers
??? abstract "EVerest AC Charger — `everestChargerAc`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `index` | Index | uint | — | `0` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/bornes/goecharger.md b/docs/appareils/bornes/goecharger.md
index 205a54f..75598dc 100644
--- a/docs/appareils/bornes/goecharger.md
+++ b/docs/appareils/bornes/goecharger.md
@@ -16,6 +16,7 @@ Control and monitor the go-eCharger smart wallbox for electric vehicles.
#### Détail par modèle
??? abstract "go-eCharger Home — `goeHome`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `macAddress` | MAC address | QString | — | — | non |
@@ -26,6 +27,7 @@ Control and monitor the go-eCharger smart wallbox for electric vehicles.
| `apiVersion` | API Version | uint | 1–2 | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/bornes/inro.md b/docs/appareils/bornes/inro.md
index 534fe81..8ac75cd 100644
--- a/docs/appareils/bornes/inro.md
+++ b/docs/appareils/bornes/inro.md
@@ -16,12 +16,14 @@ Connect INRO PANTABOX wallboxes to nymea.
#### Détail par modèle
??? abstract "PANTABOX — `pantabox`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `macAddress` | MAC address | QString | — | — | oui |
| `serialNumber` | Serial number | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/bornes/keba.md b/docs/appareils/bornes/keba.md
index fdfab01..e670225 100644
--- a/docs/appareils/bornes/keba.md
+++ b/docs/appareils/bornes/keba.md
@@ -46,6 +46,7 @@ Voir [Ajouter un appareil](../../installation/application.md).
#### Détail par modèle
??? abstract "Keba KeContact — `keba`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `macAddress` | MAC address | QString | — | — | oui |
@@ -55,6 +56,7 @@ Voir [Ajouter un appareil](../../installation/application.md).
| `model` | Product name | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -91,6 +93,7 @@ Voir [Ajouter un appareil](../../installation/application.md).
??? abstract "KeConnect German Edition — `kebaSimple`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `macAddress` | MAC address | QString | — | — | oui |
@@ -100,6 +103,7 @@ Voir [Ajouter un appareil](../../installation/application.md).
| `model` | Product name | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/bornes/mennekes.md b/docs/appareils/bornes/mennekes.md
index 32c1086..7fbd8fc 100644
--- a/docs/appareils/bornes/mennekes.md
+++ b/docs/appareils/bornes/mennekes.md
@@ -18,6 +18,7 @@ Connect MENNEKES wallboxes to nymea.
#### Détail par modèle
??? abstract "AMTRON Charge Control/Professional — `amtronECU`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `address` | Host address | QString | — | — | non |
@@ -25,6 +26,7 @@ Connect MENNEKES wallboxes to nymea.
| `macAddress` | MAC address | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -40,6 +42,7 @@ Connect MENNEKES wallboxes to nymea.
??? abstract "AMTRON XTRA/Premium — `amtronHCC3`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `address` | Host address | QString | — | — | non |
@@ -47,6 +50,7 @@ Connect MENNEKES wallboxes to nymea.
| `macAddress` | MAC address | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -61,12 +65,14 @@ Connect MENNEKES wallboxes to nymea.
??? abstract "AMTRON Compact 2.0s — `amtronCompact20`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/bornes/pcelectric.md b/docs/appareils/bornes/pcelectric.md
index 901ced6..85a7dfc 100644
--- a/docs/appareils/bornes/pcelectric.md
+++ b/docs/appareils/bornes/pcelectric.md
@@ -17,6 +17,7 @@ Integrate the PCE EV11.3 wallbox with nymea.
#### Détail par modèle
??? abstract "PCE EV11.3 — `ev11`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `address` | Host address | QString | — | — | non |
@@ -25,6 +26,7 @@ Integrate the PCE EV11.3 wallbox with nymea.
| `serialNumber` | Serial number | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -56,6 +58,7 @@ Integrate the PCE EV11.3 wallbox with nymea.
??? abstract "PCE EV11.3 (no meter) — `ev11NoMeter`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `address` | Host address | QString | — | — | non |
@@ -64,6 +67,7 @@ Integrate the PCE EV11.3 wallbox with nymea.
| `serialNumber` | Serial number | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/bornes/phoenixconnect.md b/docs/appareils/bornes/phoenixconnect.md
index 94bcb46..89cdd6d 100644
--- a/docs/appareils/bornes/phoenixconnect.md
+++ b/docs/appareils/bornes/phoenixconnect.md
@@ -21,6 +21,7 @@ Control and monitor Wallbe, Compleo and Scapo wallboxes.
#### Détail par modèle
??? abstract "Wallbe ECO 2.0 — `wallbeEco2`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `macAddress` | MAC address | QString | — | — | oui |
@@ -28,6 +29,7 @@ Control and monitor Wallbe, Compleo and Scapo wallboxes.
| `hostName` | Host name | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -41,6 +43,7 @@ Control and monitor Wallbe, Compleo and Scapo wallboxes.
??? abstract "Wallbe Pro — `wallbePro`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `macAddress` | MAC address | QString | — | — | oui |
@@ -48,6 +51,7 @@ Control and monitor Wallbe, Compleo and Scapo wallboxes.
| `hostName` | Host name | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -63,6 +67,7 @@ Control and monitor Wallbe, Compleo and Scapo wallboxes.
??? abstract "Compleo ECO s — `compleoEcoS`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `macAddress` | MAC address | QString | — | — | oui |
@@ -70,6 +75,7 @@ Control and monitor Wallbe, Compleo and Scapo wallboxes.
| `hostName` | Host name | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -83,6 +89,7 @@ Control and monitor Wallbe, Compleo and Scapo wallboxes.
??? abstract "Compleo PRO — `compleoPro`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `macAddress` | MAC address | QString | — | — | oui |
@@ -90,6 +97,7 @@ Control and monitor Wallbe, Compleo and Scapo wallboxes.
| `hostName` | Host name | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -105,6 +113,7 @@ Control and monitor Wallbe, Compleo and Scapo wallboxes.
??? abstract "Scapo Economy — `scapoEco`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `macAddress` | MAC address | QString | — | — | oui |
@@ -112,6 +121,7 @@ Control and monitor Wallbe, Compleo and Scapo wallboxes.
| `hostName` | Host name | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -125,6 +135,7 @@ Control and monitor Wallbe, Compleo and Scapo wallboxes.
??? abstract "Scapo Vision — `scapoVision`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `macAddress` | MAC address | QString | — | — | oui |
@@ -132,6 +143,7 @@ Control and monitor Wallbe, Compleo and Scapo wallboxes.
| `hostName` | Host name | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/bornes/v2xeamberelectric.md b/docs/appareils/bornes/v2xeamberelectric.md
index f5fb7b1..6c238e4 100644
--- a/docs/appareils/bornes/v2xeamberelectric.md
+++ b/docs/appareils/bornes/v2xeamberelectric.md
@@ -14,12 +14,14 @@
#### Détail par modèle
??? abstract "Amber Electric - V2Xe Amber Electric — `V2XeAmberElectric`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `authToken` | auth token | QString | — | — | non |
| `currentSite` | current site | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Reachable | bool | — |
diff --git a/docs/appareils/bornes/webasto.md b/docs/appareils/bornes/webasto.md
index cb28cd4..669c7f5 100644
--- a/docs/appareils/bornes/webasto.md
+++ b/docs/appareils/bornes/webasto.md
@@ -18,6 +18,7 @@ Integrates Webasto Live DC wallbox into nymea.
#### Détail par modèle
??? abstract "Webasto Live — `webastoLive`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `address` | IP address | QString | — | — | non |
@@ -25,6 +26,7 @@ Integrates Webasto Live DC wallbox into nymea.
| `macAddress` | MAC address | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -48,6 +50,7 @@ Integrates Webasto Live DC wallbox into nymea.
??? abstract "Webasto NEXT — `webastoNext`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `address` | IP address | QString | — | — | non |
@@ -57,6 +60,7 @@ Integrates Webasto Live DC wallbox into nymea.
| `slaveId` | Slave ID | uint | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -84,6 +88,7 @@ Integrates Webasto Live DC wallbox into nymea.
??? abstract "Webasto Unite — `webastoUnite`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `address` | IP address | QString | — | — | non |
@@ -91,6 +96,7 @@ Integrates Webasto Live DC wallbox into nymea.
| `macAddress` | MAC address | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/compatibilite.md b/docs/appareils/compatibilite.md
index a63dd89..eb62241 100644
--- a/docs/appareils/compatibilite.md
+++ b/docs/appareils/compatibilite.md
@@ -83,7 +83,6 @@ Chaque appareil porte trois badges indépendants :
| SG-Ready | — | STABLE | NYMEA | |
| SimpleHeatpump | — | STABLE | NYMEA | |
| Tado | — | STABLE | NYMEA | |
-| Home Connect | — | STABLE | NYMEA | CONSUMER |
| Stiebel Eltron | Modbus TCP | STABLE | NYMEA | |
| iDM | Modbus TCP | STABLE | NYMEA | CONSUMER |
| Drexel und Weiss | Modbus RTU | STABLE | NYMEA | |
@@ -110,6 +109,7 @@ Chaque appareil porte trois badges indépendants :
| Marque / Modèle | Protocole | Canal | Origine | Stabilité |
|---|---|---|---|---|
+| OpenMeteo | — | TESTING | ETM | CONSUMER |
| aWATTar | — | STABLE | NYMEA | CONSUMER |
| Tempo | — | STABLE | NYMEA | CONSUMER |
| spot-hinta | — | STABLE | NYMEA | CONSUMER |
diff --git a/docs/appareils/compteurs/abb-b2x.md b/docs/appareils/compteurs/abb-b2x.md
index aeafd78..63ad047 100644
--- a/docs/appareils/compteurs/abb-b2x.md
+++ b/docs/appareils/compteurs/abb-b2x.md
@@ -43,17 +43,20 @@ Voir [Ajouter un appareil](../../installation/application.md).
#### Détail par modèle
??? abstract "ABB B2x energy meter — `abbB2x`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | 1–254 | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | 1–254 | `1` | oui |
| `modbusMasterUuid` | Modbus RTU master | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/compteurs/bgetech.md b/docs/appareils/compteurs/bgetech.md
index 5fb2466..1c7d0bd 100644
--- a/docs/appareils/compteurs/bgetech.md
+++ b/docs/appareils/compteurs/bgetech.md
@@ -16,17 +16,20 @@ Connect B+G E-Tech energy meters.
#### Détail par modèle
??? abstract "SDM630 — `sdm630`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/compteurs/eastron.md b/docs/appareils/compteurs/eastron.md
index ce187c2..2eb0f77 100644
--- a/docs/appareils/compteurs/eastron.md
+++ b/docs/appareils/compteurs/eastron.md
@@ -74,17 +74,20 @@ adresse esclave et terminaison.
#### Détail par modèle
??? abstract "SDM630 — Energy Meter — `sdm630`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -110,17 +113,20 @@ adresse esclave et terminaison.
??? abstract "SDM630 — Consumer Meter — `sdm630Consumer`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -130,17 +136,20 @@ adresse esclave et terminaison.
??? abstract "SDM630 — Producer Meter — `sdm630Producer`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -150,17 +159,20 @@ adresse esclave et terminaison.
??? abstract "SDM72 — Energy Meter — `sdm72`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -180,17 +192,20 @@ adresse esclave et terminaison.
??? abstract "SDM72 — Consumer Meter — `sdm72Consumer`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -200,17 +215,20 @@ adresse esclave et terminaison.
??? abstract "SDM72 — Producer Meter — `sdm72Producer`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -220,17 +238,20 @@ adresse esclave et terminaison.
??? abstract "SDM120 — Energy Meter — `sdm120`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -243,17 +264,20 @@ adresse esclave et terminaison.
??? abstract "SDM120 — Consumer Meter — `sdm120Consumer`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -263,17 +287,20 @@ adresse esclave et terminaison.
??? abstract "SDM120 — Producer Meter — `sdm120Producer`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -283,17 +310,20 @@ adresse esclave et terminaison.
??? abstract "SDM220 — Energy Meter — `sdm220`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -306,17 +336,20 @@ adresse esclave et terminaison.
??? abstract "SDM220 — Consumer Meter — `sdm220Consumer`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -326,17 +359,20 @@ adresse esclave et terminaison.
??? abstract "SDM220 — Producer Meter — `sdm220Producer`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -346,17 +382,20 @@ adresse esclave et terminaison.
??? abstract "SDM230 — Energy Meter — `sdm230`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -369,17 +408,20 @@ adresse esclave et terminaison.
??? abstract "SDM230 — Consumer Meter — `sdm230Consumer`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -389,17 +431,20 @@ adresse esclave et terminaison.
??? abstract "SDM230 — Producer Meter — `sdm230Producer`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/compteurs/inepro.md b/docs/appareils/compteurs/inepro.md
index 9237eb2..90a2541 100644
--- a/docs/appareils/compteurs/inepro.md
+++ b/docs/appareils/compteurs/inepro.md
@@ -16,17 +16,20 @@ Connect inepro Metering Modbus RTU energy meters.
#### Détail par modèle
??? abstract "PRO380 — `pro380`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/compteurs/powerfox.md b/docs/appareils/compteurs/powerfox.md
index c4cd028..23ebc1b 100644
--- a/docs/appareils/compteurs/powerfox.md
+++ b/docs/appareils/compteurs/powerfox.md
@@ -17,6 +17,7 @@ Connects nymea to powerfox.
#### Détail par modèle
??? abstract "powerfox account — `account`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -24,11 +25,13 @@ Connects nymea to powerfox.
??? abstract "powerfox smart meter — `powerMeter`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | ID | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Reachable | bool | — |
diff --git a/docs/appareils/compteurs/schrack.md b/docs/appareils/compteurs/schrack.md
index 8fc2165..7bc7f24 100644
--- a/docs/appareils/compteurs/schrack.md
+++ b/docs/appareils/compteurs/schrack.md
@@ -16,12 +16,14 @@ Integrate the Schrack i-CHARGE CION wallbox with nymea.
#### Détail par modèle
??? abstract "i-CHARGE CION — `cion`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/compteurs/senseair.md b/docs/appareils/compteurs/senseair.md
index c0f2314..d5521f2 100644
--- a/docs/appareils/compteurs/senseair.md
+++ b/docs/appareils/compteurs/senseair.md
@@ -16,11 +16,13 @@ Connect Senseair sensors nymea.
#### Détail par modèle
??? abstract "SenseAir S8 — `s8`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `rtuMaster` | Modbus RTU master UUID | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/compteurs/vestel.md b/docs/appareils/compteurs/vestel.md
index da17781..5755f41 100644
--- a/docs/appareils/compteurs/vestel.md
+++ b/docs/appareils/compteurs/vestel.md
@@ -16,6 +16,7 @@ Connect Vestel wallboxes to nymea.
#### Détail par modèle
??? abstract "EVC04 — `evc04`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `hostName` | Host name | QString | — | — | non |
@@ -23,6 +24,7 @@ Connect Vestel wallboxes to nymea.
| `macAddress` | MAC address | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/generic/genericcar.md b/docs/appareils/generic/genericcar.md
index 767576e..a637d08 100644
--- a/docs/appareils/generic/genericcar.md
+++ b/docs/appareils/generic/genericcar.md
@@ -14,6 +14,7 @@
#### Détail par modèle
??? abstract "Generic electric car — `car`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `capacity` | Capacity | double | KiloWattHour |
diff --git a/docs/appareils/generic/genericenergy.md b/docs/appareils/generic/genericenergy.md
index 148eeb0..66bc86e 100644
--- a/docs/appareils/generic/genericenergy.md
+++ b/docs/appareils/generic/genericenergy.md
@@ -20,12 +20,14 @@
#### Détail par modèle
??? abstract "Generic power socket — `socket`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Power | bool | — |
??? abstract "Generic energy meter — `energyMeter`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `currentPower` | Current Power usage | double | Watt |
@@ -43,6 +45,7 @@
??? abstract "Impulse based energy meter — `impulseSmartMeter`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `currentPower` | Current Power usage | double | Watt |
@@ -51,6 +54,7 @@
??? abstract "Generic energy storage — `energyStorage`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `currentPower` | Current power | double | Watt |
@@ -61,6 +65,7 @@
??? abstract "Generic smart meter consumer — `smartMeterConsumer`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `currentPower` | Current Power usage | double | Watt |
@@ -68,6 +73,7 @@
??? abstract "Generic smart meter producer — `smartMeterProducer`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `currentPower` | Current Power production | double | Watt |
@@ -75,6 +81,7 @@
??? abstract "Generic wallbox — `wallbox`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/generic/genericheatingcooling.md b/docs/appareils/generic/genericheatingcooling.md
index a26460e..4fc47d5 100644
--- a/docs/appareils/generic/genericheatingcooling.md
+++ b/docs/appareils/generic/genericheatingcooling.md
@@ -20,18 +20,21 @@
#### Détail par modèle
??? abstract "Generic heating — `heating`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Power | bool | — |
??? abstract "Generic ventilation — `ventilation`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Power | bool | — |
??? abstract "Generic ventilation with flow control — `ventilationFlow`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Power | bool | — |
@@ -39,6 +42,7 @@
??? abstract "Generic thermostat — `thermostat`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `temperature` | Temperature sensor input | double | DegreeCelsius |
@@ -48,12 +52,14 @@
??? abstract "Generic cooler — `cooling`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Cooler on/off | bool | — |
??? abstract "SG-Ready — `sgReady`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `relay1` | Relay 1 | bool | — |
@@ -63,6 +69,7 @@
??? abstract "Generic simple heat pump — `simpleHeatPump`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Heat pump enabled | bool | — |
diff --git a/docs/appareils/hvac/alphainnotec.md b/docs/appareils/hvac/alphainnotec.md
index e1d0fe8..6ea83a8 100644
--- a/docs/appareils/hvac/alphainnotec.md
+++ b/docs/appareils/hvac/alphainnotec.md
@@ -16,6 +16,7 @@ Integrate alpha innotec heat pumps into nymea.
#### Détail par modèle
??? abstract "alpha connect — `alphaConnect`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `address` | IP address | QString | — | — | non |
@@ -25,6 +26,7 @@ Integrate alpha innotec heat pumps into nymea.
| `slaveId` | Modbus slave ID | int | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/hvac/daikinairco.md b/docs/appareils/hvac/daikinairco.md
index f48c804..f064b75 100644
--- a/docs/appareils/hvac/daikinairco.md
+++ b/docs/appareils/hvac/daikinairco.md
@@ -17,12 +17,14 @@
#### Détail par modèle
??? abstract "Daikin Airco — `airco`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `deviceId` | Device ID | QString | — | — | oui |
| `deviceName` | Device name | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/hvac/drexelundweiss.md b/docs/appareils/hvac/drexelundweiss.md
index e38b044..568812c 100644
--- a/docs/appareils/hvac/drexelundweiss.md
+++ b/docs/appareils/hvac/drexelundweiss.md
@@ -17,17 +17,20 @@ Connect to Drexel und Weiss HVAC systems.
#### Détail par modèle
??? abstract "X2 LU — `x2lu`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | uint | 0–250 | `0` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -38,17 +41,20 @@ Connect to Drexel und Weiss HVAC systems.
??? abstract "X2 WP — `x2wp`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | uint | 0–250 | `0` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/hvac/homeconnect.md b/docs/appareils/hvac/homeconnect.md
index d4432b8..2f9f850 100644
--- a/docs/appareils/hvac/homeconnect.md
+++ b/docs/appareils/hvac/homeconnect.md
@@ -26,6 +26,7 @@ Connect to Home Connect devices.
#### Détail par modèle
??? abstract "Home Connect account — `homeConnectAccount`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -34,11 +35,13 @@ Connect to Home Connect devices.
??? abstract "Oven — `oven`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | ID | QString | — | `-` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -56,11 +59,13 @@ Connect to Home Connect devices.
??? abstract "Dishwasher — `dishwasher`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | ID | QString | — | `-` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -74,11 +79,13 @@ Connect to Home Connect devices.
??? abstract "Coffee Maker — `coffeeMaker`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | ID | QString | — | `-` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -94,11 +101,13 @@ Connect to Home Connect devices.
??? abstract "Dryer — `dryer`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | ID | QString | — | `-` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -114,11 +123,13 @@ Connect to Home Connect devices.
??? abstract "Fridge Freezer — `fridge`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | ID | QString | — | `-` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -130,11 +141,13 @@ Connect to Home Connect devices.
??? abstract "Washer — `washer`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | ID | QString | — | `-` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -151,22 +164,26 @@ Connect to Home Connect devices.
??? abstract "Cook top — `cookTop`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | ID | QString | — | `-` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Hood — `hood`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | ID | QString | — | `-` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -176,11 +193,13 @@ Connect to Home Connect devices.
??? abstract "Cleaning robot — `cleaningRobot`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | ID | QString | — | `-` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -188,11 +207,13 @@ Connect to Home Connect devices.
??? abstract "Cook processor — `cookProcessor`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | ID | QString | — | `-` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/hvac/idm.md b/docs/appareils/hvac/idm.md
index 263a39f..76b97a0 100644
--- a/docs/appareils/hvac/idm.md
+++ b/docs/appareils/hvac/idm.md
@@ -16,6 +16,7 @@ Control iDM network enabled heat pumps.
#### Détail par modèle
??? abstract "Navigator 2.0 — `navigator2`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `macAddress` | MAC address | QString | — | — | non |
@@ -23,6 +24,7 @@ Control iDM network enabled heat pumps.
| `address` | IP address | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/hvac/index.md b/docs/appareils/hvac/index.md
index ddf9eb6..94af61e 100644
--- a/docs/appareils/hvac/index.md
+++ b/docs/appareils/hvac/index.md
@@ -12,7 +12,6 @@ hide:
| [SG-Ready](sgready.md) | — | STABLE | NYMEA | |
| [SimpleHeatpump](simpleheatpump.md) | — | STABLE | NYMEA | |
| [Tado](tado.md) | — | STABLE | NYMEA | |
-| [Home Connect](homeconnect.md) | — | STABLE | NYMEA | CONSUMER |
| [Stiebel Eltron](stiebeleltron.md) | Modbus TCP | STABLE | NYMEA | |
| [iDM](idm.md) | Modbus TCP | STABLE | NYMEA | CONSUMER |
| [Drexel und Weiss](drexelundweiss.md) | Modbus RTU | STABLE | NYMEA | |
diff --git a/docs/appareils/hvac/mypv.md b/docs/appareils/hvac/mypv.md
index 9c32387..8469960 100644
--- a/docs/appareils/hvac/mypv.md
+++ b/docs/appareils/hvac/mypv.md
@@ -16,12 +16,14 @@ Control my-PV network enabled heating rods.
#### Détail par modèle
??? abstract "AC Elwa E — `elwa`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `ipAddress` | IP address | QString | — | — | non |
| `serialNumber` | Serial number | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/hvac/sgready.md b/docs/appareils/hvac/sgready.md
index 2f23f51..5f81b1a 100644
--- a/docs/appareils/hvac/sgready.md
+++ b/docs/appareils/hvac/sgready.md
@@ -17,12 +17,14 @@
#### Détail par modèle
??? abstract "SG Ready interface — `sgReadyInterface`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `gpioNumber1` | GPIO number 1 | int | — | `-1` | non |
| `gpioNumber2` | GPIO number 2 | int | — | `-1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `sgReadyMode` | Smart grid mode | QString | — |
diff --git a/docs/appareils/hvac/simpleheatpump.md b/docs/appareils/hvac/simpleheatpump.md
index 55a55c1..aad6f68 100644
--- a/docs/appareils/hvac/simpleheatpump.md
+++ b/docs/appareils/hvac/simpleheatpump.md
@@ -17,11 +17,13 @@
#### Détail par modèle
??? abstract "Simple heat pump interface — `simpleHeatPumpInterface`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `gpioNumber` | GPIO number | int | — | `-1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Heat pump enabled | bool | — |
diff --git a/docs/appareils/hvac/stiebeleltron.md b/docs/appareils/hvac/stiebeleltron.md
index 6c521fe..b16916d 100644
--- a/docs/appareils/hvac/stiebeleltron.md
+++ b/docs/appareils/hvac/stiebeleltron.md
@@ -16,6 +16,7 @@ Integrate Stiebel Eltron heat pumps into nymea.
#### Détail par modèle
??? abstract "Stiebel Eltron Heatpump — `stiebelEltron`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `address` | IP address | QString | — | — | non |
@@ -25,6 +26,7 @@ Integrate Stiebel Eltron heat pumps into nymea.
| `slaveId` | Modbus slave ID | int | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/hvac/tado.md b/docs/appareils/hvac/tado.md
index 0222c26..ce8628f 100644
--- a/docs/appareils/hvac/tado.md
+++ b/docs/appareils/hvac/tado.md
@@ -17,6 +17,7 @@ Connect to your Tado account to interact with the heating setup.
#### Détail par modèle
??? abstract "Tado account — `tadoAccount`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -25,6 +26,7 @@ Connect to your Tado account to interact with the heating setup.
??? abstract "Zone — `zone`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `homeId` | Home id | QString | — | — | oui |
@@ -32,6 +34,7 @@ Connect to your Tado account to interact with the heating setup.
| `type` | Type | bool | — | `False` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/onduleurs/bosswerk.md b/docs/appareils/onduleurs/bosswerk.md
index e136b1a..8706ec7 100644
--- a/docs/appareils/onduleurs/bosswerk.md
+++ b/docs/appareils/onduleurs/bosswerk.md
@@ -16,6 +16,7 @@ Integrates Bosswerk solar inverters with nymea.
#### Détail par modèle
??? abstract "MI-300/600 — `mix00`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `hostName` | Host name | QString | — | — | non |
@@ -23,6 +24,7 @@ Integrates Bosswerk solar inverters with nymea.
| `address` | IP address | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/onduleurs/fronius.md b/docs/appareils/onduleurs/fronius.md
index 1f6c80d..a27cb31 100644
--- a/docs/appareils/onduleurs/fronius.md
+++ b/docs/appareils/onduleurs/fronius.md
@@ -20,6 +20,7 @@
#### Détail par modèle
??? abstract "Fronius Solar — `connection`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `address` | Host address | QString | — | — | non |
@@ -27,6 +28,7 @@
| `macAddress` | Mac address | QString | — | `00:00:00:00:00:00` | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Reachable | bool | — |
@@ -34,12 +36,14 @@
??? abstract "Fronius solar inverter — `inverter`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Device ID | QString | — | — | oui |
| `serialNumber` | Serial number | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Reachable | bool | — |
@@ -50,12 +54,14 @@
??? abstract "Fronius smart meter — `meter`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Device ID | QString | — | — | oui |
| `serialNumber` | Serial number | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Reachable | bool | — |
@@ -75,12 +81,14 @@
??? abstract "Fronius solar storage — `storage`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Device ID | QString | — | — | oui |
| `serialNumber` | Serial number | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Reachable | bool | — |
diff --git a/docs/appareils/onduleurs/huawei.md b/docs/appareils/onduleurs/huawei.md
index a11e862..ff325e1 100644
--- a/docs/appareils/onduleurs/huawei.md
+++ b/docs/appareils/onduleurs/huawei.md
@@ -20,6 +20,7 @@ Connect to Huawei FusionSolar devices.
#### Détail par modèle
??? abstract "Huawei FusionSolar Inverter (SmartDongle) — `huaweiFusionSolarInverter`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `macAddress` | MAC address | QString | — | — | non |
@@ -29,6 +30,7 @@ Connect to Huawei FusionSolar devices.
| `slaveId` | Slave ID | int | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -38,6 +40,7 @@ Connect to Huawei FusionSolar devices.
??? abstract "SmartLogger — `huaweiSmartLogger`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `macAddress` | MAC address | QString | — | — | non |
@@ -47,6 +50,7 @@ Connect to Huawei FusionSolar devices.
| `meterSlaveId` | Meter slave ID | int | — | `5` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -55,17 +59,20 @@ Connect to Huawei FusionSolar devices.
??? abstract "Huawei FusionSolar Inverter (Modbus RTU) — `huaweiRtuInverter`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | oui |
| `slaveAddress` | Modbus slave address | uint | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -74,6 +81,7 @@ Connect to Huawei FusionSolar devices.
??? abstract "Huawei Meter — `huaweiMeter`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -92,11 +100,13 @@ Connect to Huawei FusionSolar devices.
??? abstract "Huawei Battery — `huaweiBattery`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `unit` | Unit | uint | — | `0` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/onduleurs/kostal.md b/docs/appareils/onduleurs/kostal.md
index abf8d3b..d12ce2a 100644
--- a/docs/appareils/onduleurs/kostal.md
+++ b/docs/appareils/onduleurs/kostal.md
@@ -18,12 +18,14 @@ Connect to Kostal Solar Electric inverters.
#### Détail par modèle
??? abstract "KOSTAL Inverter — `kostalInverter`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `port` | Port | int | — | `1502` |
| `slaveId` | Slave ID | int | — | `71` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `macAddress` | MAC address | QString | — | — | non |
@@ -34,6 +36,7 @@ Connect to Kostal Solar Electric inverters.
| `slaveId` | Slave ID | int | — | `71` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -52,6 +55,7 @@ Connect to Kostal Solar Electric inverters.
??? abstract "KOSTAL Meter — `kostalMeter`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -71,6 +75,7 @@ Connect to Kostal Solar Electric inverters.
??? abstract "KOSTAL Battery — `kostalBattery`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/onduleurs/mtec.md b/docs/appareils/onduleurs/mtec.md
index 51b7e92..a9f461f 100644
--- a/docs/appareils/onduleurs/mtec.md
+++ b/docs/appareils/onduleurs/mtec.md
@@ -14,6 +14,7 @@
#### Détail par modèle
??? abstract "MTec — `mtec`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `address` | IP address | QString | — | — | non |
@@ -21,6 +22,7 @@
| `macAddress` | MAC address | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/onduleurs/sma.md b/docs/appareils/onduleurs/sma.md
index 520e0bd..91a1914 100644
--- a/docs/appareils/onduleurs/sma.md
+++ b/docs/appareils/onduleurs/sma.md
@@ -21,6 +21,7 @@ Connect to SMA solar equipment.
#### Détail par modèle
??? abstract "SMA Sunny WebBox — `sunnyWebBox`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `address` | Host address | QString | — | — | non |
@@ -28,6 +29,7 @@ Connect to SMA solar equipment.
| `macAddress` | MAC address | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -39,12 +41,14 @@ Connect to SMA solar equipment.
??? abstract "SMA Energy Meter — `speedwireMeter`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `serialNumber` | Serial number | QString | — | — | oui |
| `modelId` | Model ID | uint | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -70,6 +74,7 @@ Connect to SMA solar equipment.
??? abstract "SMA Inverter — `speedwireInverter`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `address` | Host address | QString | — | — | non |
@@ -79,6 +84,7 @@ Connect to SMA solar equipment.
| `modelId` | Model ID | uint | — | `0` | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -98,6 +104,7 @@ Connect to SMA solar equipment.
??? abstract "SMA Battery — `speedwireBattery`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -112,6 +119,7 @@ Connect to SMA solar equipment.
??? abstract "SMA Solar Inverter (Modbus) — `modbusSolarInverter`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `address` | Host address | QString | — | — | non |
@@ -122,6 +130,7 @@ Connect to SMA solar equipment.
| `serialNumber` | Serial number | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -141,6 +150,7 @@ Connect to SMA solar equipment.
??? abstract "SMA Battery Inverter (Modbus) — `modbusBatteryInverter`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `address` | Host address | QString | — | — | non |
@@ -151,6 +161,7 @@ Connect to SMA solar equipment.
| `serialNumber` | Serial number | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/onduleurs/solarlog.md b/docs/appareils/onduleurs/solarlog.md
index a0a441b..cc14a4d 100644
--- a/docs/appareils/onduleurs/solarlog.md
+++ b/docs/appareils/onduleurs/solarlog.md
@@ -16,11 +16,13 @@ Integrate Solar-Log devices with nymea.
#### Détail par modèle
??? abstract "Solar-Log — `solarlog`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `host` | Address | QString | — | `solar-log` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Reachable | bool | — |
diff --git a/docs/appareils/onduleurs/solax.md b/docs/appareils/onduleurs/solax.md
index ede5019..ea1609f 100644
--- a/docs/appareils/onduleurs/solax.md
+++ b/docs/appareils/onduleurs/solax.md
@@ -19,6 +19,7 @@ Connect to SolaX Power X1 and X3 G4 inverters.
#### Détail par modèle
??? abstract "Solax Inverter — `solaxInverterTcp`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `address` | Host address | QString | — | — | non |
@@ -28,6 +29,7 @@ Connect to SolaX Power X1 and X3 G4 inverters.
| `slaveId` | Slave ID | int | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -40,6 +42,7 @@ Connect to SolaX Power X1 and X3 G4 inverters.
??? abstract "Solax Inverter — `solaxInverterChild`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -48,11 +51,13 @@ Connect to SolaX Power X1 and X3 G4 inverters.
??? abstract "SolaX Meter — `solaxMeter`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Meter ID | uint | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -72,6 +77,7 @@ Connect to SolaX Power X1 and X3 G4 inverters.
??? abstract "SolaX Battery — `solaxBattery`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/onduleurs/sungrow.md b/docs/appareils/onduleurs/sungrow.md
index ea8a935..de67ae4 100644
--- a/docs/appareils/onduleurs/sungrow.md
+++ b/docs/appareils/onduleurs/sungrow.md
@@ -18,6 +18,7 @@ Connect to Sungrow inverters.
#### Détail par modèle
??? abstract "Sungrow Inverter — `sungrowInverterTcp`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `address` | Host address | QString | — | — | non |
@@ -25,6 +26,7 @@ Connect to Sungrow inverters.
| `macAddress` | MAC address | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -35,6 +37,7 @@ Connect to Sungrow inverters.
??? abstract "Sungrow Meter — `sungrowMeter`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -54,6 +57,7 @@ Connect to Sungrow inverters.
??? abstract "Sungrow Battery — `sungrowBattery`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/onduleurs/sunspec.md b/docs/appareils/onduleurs/sunspec.md
index fc9267b..6299652 100644
--- a/docs/appareils/onduleurs/sunspec.md
+++ b/docs/appareils/onduleurs/sunspec.md
@@ -25,11 +25,13 @@ Connect to SunSpec devices.
#### Détail par modèle
??? abstract "SunSpec Generic — `sunspecConnection`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveId` | Slave ID | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `address` | Host address | QString | — | — | non |
@@ -40,12 +42,14 @@ Connect to SunSpec devices.
| `endianness` | Endianness | QString | — | `Big Endian` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "SunSpec single phase inverter — `sunspecSinglePhaseInverter`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `modelId` | Model | int | — | — | oui |
@@ -55,6 +59,7 @@ Connect to SunSpec devices.
| `serialNumber` | Serial number | QString | — | `Unkown` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -73,6 +78,7 @@ Connect to SunSpec devices.
??? abstract "SunSpec split phase inverter — `sunspecSplitPhaseInverter`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `modelId` | Model | int | — | — | oui |
@@ -82,6 +88,7 @@ Connect to SunSpec devices.
| `serialNumber` | Serial number | QString | — | `Unkown` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -103,6 +110,7 @@ Connect to SunSpec devices.
??? abstract "SunSpec three phase inverter — `sunspecThreePhaseInverter`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `modelId` | Model | int | — | — | oui |
@@ -112,6 +120,7 @@ Connect to SunSpec devices.
| `serialNumber` | Serial number | QString | — | `Unkown` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -135,6 +144,7 @@ Connect to SunSpec devices.
??? abstract "SunSpec single phase meter — `sunspecSinglePhaseMeter`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `modelId` | Model | int | — | `0` | oui |
@@ -144,6 +154,7 @@ Connect to SunSpec devices.
| `serialNumber` | Serial number | QString | — | `Unkown` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -157,6 +168,7 @@ Connect to SunSpec devices.
??? abstract "SunSpec split phase meter — `sunspecSplitPhaseMeter`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `modelId` | Model | int | — | `0` | oui |
@@ -166,6 +178,7 @@ Connect to SunSpec devices.
| `serialNumber` | Serial number | QString | — | `Unkown` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -189,6 +202,7 @@ Connect to SunSpec devices.
??? abstract "SunSpec three phase meter — `sunspecThreePhaseMeter`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `modelId` | Model | int | — | `0` | oui |
@@ -198,6 +212,7 @@ Connect to SunSpec devices.
| `serialNumber` | Serial number | QString | — | `Unkown` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -224,6 +239,7 @@ Connect to SunSpec devices.
??? abstract "SunSpec Storage — `sunspecStorage`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `modelId` | Model | int | — | `0` | oui |
@@ -233,6 +249,7 @@ Connect to SunSpec devices.
| `serialNumber` | Serial number | QString | — | `Unkown` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -249,11 +266,13 @@ Connect to SunSpec devices.
??? abstract "SolarEdge — `solarEdgeConnection`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveId` | Slave ID | int | — | `1` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `address` | Host address | QString | — | — | non |
@@ -263,12 +282,14 @@ Connect to SunSpec devices.
| `slaveId` | Slave ID | int | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "SolarEdge battery — `solarEdgeBattery`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `modbusAddress` | Modbus address | uint | — | `0` | oui |
@@ -277,6 +298,7 @@ Connect to SunSpec devices.
| `serialNumber` | Serial number | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/onduleurs/wattsonic.md b/docs/appareils/onduleurs/wattsonic.md
index ee05c3f..0627229 100644
--- a/docs/appareils/onduleurs/wattsonic.md
+++ b/docs/appareils/onduleurs/wattsonic.md
@@ -18,11 +18,13 @@ Connect Wattsonic devices to nymea.
#### Détail par modèle
??? abstract "Wattsonic hybrid inverter — `inverter`"
_Paramètres de découverte :_
+
| Clé | Libellé | Type | Plage | Défaut |
| --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `247` |
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | — | `247` | non |
@@ -31,6 +33,7 @@ Connect Wattsonic devices to nymea.
| `inverterGeneration` | Inverter generation | QString | — | `Auto` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -39,6 +42,7 @@ Connect Wattsonic devices to nymea.
??? abstract "Wattsonic energy meter — `meter`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -57,6 +61,7 @@ Connect Wattsonic devices to nymea.
??? abstract "Wattsonic energy storage — `battery`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/smart/gpio.md b/docs/appareils/smart/gpio.md
index 61ca582..e59ad2c 100644
--- a/docs/appareils/smart/gpio.md
+++ b/docs/appareils/smart/gpio.md
@@ -23,6 +23,7 @@ Control GPIOs for Raspberry Pi or BeagleBone Black.
#### Détail par modèle
??? abstract "GPIO Output — `gpioOutputRpi`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `gpio` | GPIO | int | — | `-1` | non |
@@ -31,12 +32,14 @@ Control GPIOs for Raspberry Pi or BeagleBone Black.
| `description` | Description | QString | — | `-` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Power | bool | — |
??? abstract "GPIO Input — `gpioInputRpi`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `gpio` | GPIO | int | — | `-1` | non |
@@ -45,12 +48,14 @@ Control GPIOs for Raspberry Pi or BeagleBone Black.
| `description` | Description | QString | — | `-` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Powered | bool | — |
??? abstract "GPIO Button — `gpioButtonRpi`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `gpio` | GPIO | int | — | `-1` | non |
@@ -60,6 +65,7 @@ Control GPIOs for Raspberry Pi or BeagleBone Black.
??? abstract "Counter — `counterRpi`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `gpio` | GPIO | int | — | `-1` | non |
@@ -68,12 +74,14 @@ Control GPIOs for Raspberry Pi or BeagleBone Black.
| `description` | Description | QString | — | `-` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `counter` | Counter | int | Hertz |
??? abstract "GPIO Output — `gpioOutputBbb`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `gpio` | GPIO | int | — | `-1` | non |
@@ -82,12 +90,14 @@ Control GPIOs for Raspberry Pi or BeagleBone Black.
| `description` | Description | QString | — | `-` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Power | bool | — |
??? abstract "GPIO Input — `gpioInputBbb`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `gpio` | GPIO | int | — | `-1` | non |
@@ -96,12 +106,14 @@ Control GPIOs for Raspberry Pi or BeagleBone Black.
| `description` | Description | QString | — | `-` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Power | bool | — |
??? abstract "GPIO Button — `gpioButtonBbb`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `gpio` | GPIO | int | — | `-1` | non |
@@ -111,6 +123,7 @@ Control GPIOs for Raspberry Pi or BeagleBone Black.
??? abstract "Counter — `counterBbb`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `gpio` | GPIO | int | — | `-1` | non |
@@ -119,6 +132,7 @@ Control GPIOs for Raspberry Pi or BeagleBone Black.
| `description` | Description | QString | — | `-` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `counter` | Counter | int | Hertz |
diff --git a/docs/appareils/smart/modbuscommander.md b/docs/appareils/smart/modbuscommander.md
index 4b90674..38466c9 100644
--- a/docs/appareils/smart/modbuscommander.md
+++ b/docs/appareils/smart/modbuscommander.md
@@ -21,35 +21,41 @@ Write and read Modbus register.
#### Détail par modèle
??? abstract "Modbus TCP client — `modbusTCPClient`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `ipAddress` | IP Address | QString | — | `127.0.0.1` | non |
| `port` | Port | uint | — | `502` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Modbus RTU client — `modbusRTUClient`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Coil — `coil`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | uint | — | `1` | non |
| `registerAddress` | Register address | uint | — | `0` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -57,12 +63,14 @@ Write and read Modbus register.
??? abstract "Discrete input — `discreteInput`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | uint | — | `1` | non |
| `registerAddress` | Register address | uint | — | `0` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -70,12 +78,14 @@ Write and read Modbus register.
??? abstract "Input register — `inputRegister`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | uint | — | `1` | non |
| `registerAddress` | Register address | uint | — | `0` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -83,12 +93,14 @@ Write and read Modbus register.
??? abstract "Holding register — `holdingRegister`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Slave address | uint | — | `1` | non |
| `registerAddress` | Register address | uint | — | `0` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/smart/mqttclient.md b/docs/appareils/smart/mqttclient.md
index a1db03d..6ed2049 100644
--- a/docs/appareils/smart/mqttclient.md
+++ b/docs/appareils/smart/mqttclient.md
@@ -17,12 +17,14 @@ Subscribe to the internal or an external MQTT broker and send and receive MQTT m
#### Détail par modèle
??? abstract "Internal MQTT client — `internalMqttClient`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `topicFilter` | Subscription topic filter | QString | — | `#` | non |
??? abstract "MQTT client — `mqttClient`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `serverAddress` | Address | QString | — | — | non |
diff --git a/docs/appareils/smart/shelly.md b/docs/appareils/smart/shelly.md
index 652f97c..959113f 100644
--- a/docs/appareils/smart/shelly.md
+++ b/docs/appareils/smart/shelly.md
@@ -46,6 +46,7 @@ Use Shelly devices with nymea.
#### Détail par modèle
??? abstract "Shelly 1 — `shelly1`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -54,6 +55,7 @@ Use Shelly devices with nymea.
| `password` | Password (optional) | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Powered | bool | — |
@@ -65,11 +67,13 @@ Use Shelly devices with nymea.
??? abstract "Shelly Plus 1 — `shellyPlus1`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Powered | bool | — |
@@ -81,6 +85,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly 1PM — `shelly1pm`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -89,6 +94,7 @@ Use Shelly devices with nymea.
| `password` | Password (optional) | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Powered | bool | — |
@@ -102,11 +108,13 @@ Use Shelly devices with nymea.
??? abstract "Shelly Plus 1PM — `shellyPlus1pm`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Powered | bool | — |
@@ -120,11 +128,13 @@ Use Shelly devices with nymea.
??? abstract "Shelly Pro 1PM — `shellyPro1Pm`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Powered | bool | — |
@@ -138,6 +148,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly 1L — `shelly1l`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -146,6 +157,7 @@ Use Shelly devices with nymea.
| `password` | Password (optional) | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Powered | bool | — |
@@ -159,6 +171,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly 2 — `shelly2`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -168,6 +181,7 @@ Use Shelly devices with nymea.
| `rollerMode` | Roller shutter mode | bool | — | `False` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -180,6 +194,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly 2.5 — `shelly25`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -189,6 +204,7 @@ Use Shelly devices with nymea.
| `rollerMode` | Roller shutter mode | bool | — | `False` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -201,12 +217,14 @@ Use Shelly devices with nymea.
??? abstract "Shelly Plus 2PM — `shellyPlus25`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
| `rollerMode` | Roller shutter mode | bool | — | `False` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -219,6 +237,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly Plus Plug S/US/UK/IT — `shellyPlusPlug`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -227,6 +246,7 @@ Use Shelly devices with nymea.
| `password` | Password (optional) | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Powered | bool | — |
@@ -240,6 +260,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly Plug/PlugS — `shellyPlug`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -248,6 +269,7 @@ Use Shelly devices with nymea.
| `password` | Password (optional) | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -261,6 +283,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly RGBW2 — `shellyRgbw2`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -269,6 +292,7 @@ Use Shelly devices with nymea.
| `password` | Password (optional) | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -285,6 +309,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly Dimmer (2) / Vintage — `shellyDimmer`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -293,6 +318,7 @@ Use Shelly devices with nymea.
| `password` | Password (optional) | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -306,6 +332,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly button 1 — `shellyButton1`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -314,6 +341,7 @@ Use Shelly devices with nymea.
| `password` | Password (optional) | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -326,6 +354,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly I3 — `shellyI3`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -334,6 +363,7 @@ Use Shelly devices with nymea.
| `password` | Password (optional) | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -347,6 +377,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly H&T — `shellyHT`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -355,6 +386,7 @@ Use Shelly devices with nymea.
| `password` | Password (optional) | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `temperature` | Temperature | double | DegreeCelsius |
@@ -369,6 +401,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly TRV — `shellyTrv`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -377,6 +410,7 @@ Use Shelly devices with nymea.
| `password` | Password (optional) | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `temperature` | Temperature | double | DegreeCelsius |
@@ -395,6 +429,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly Flood — `shellyFlood`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -403,6 +438,7 @@ Use Shelly devices with nymea.
| `password` | Password (optional) | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `waterDetected` | Water detected | bool | — |
@@ -417,6 +453,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly Smoke — `shellySmoke`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -425,6 +462,7 @@ Use Shelly devices with nymea.
| `password` | Password (optional) | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `fireDetected` | Fire detected | bool | — |
@@ -439,11 +477,13 @@ Use Shelly devices with nymea.
??? abstract "Shelly Plus Smoke — `shellyPlusSmoke`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `fireDetected` | Fire detected | bool | — |
@@ -458,6 +498,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly Gas — `shellyGas`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -466,6 +507,7 @@ Use Shelly devices with nymea.
| `password` | Password (optional) | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `gasLevel` | Gas level | double | PartsPerMillion |
@@ -481,11 +523,13 @@ Use Shelly devices with nymea.
??? abstract "Shelly switch — `shellySwitch`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `channel` | Channel | uint | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -494,6 +538,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly 3EM (gen1) — `shellyEm3`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -502,6 +547,7 @@ Use Shelly devices with nymea.
| `password` | Password (optional) | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -534,6 +580,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly Pro 3EM (120A / 400A) — `shellyPro3EM`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -541,6 +588,7 @@ Use Shelly devices with nymea.
| `password` | Password (optional) | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -570,6 +618,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly 3EM (Gen3) — `shelly3EM`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -577,6 +626,7 @@ Use Shelly devices with nymea.
| `password` | Password (optional) | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -606,6 +656,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly EM — `shellyEm`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -614,6 +665,7 @@ Use Shelly devices with nymea.
| `password` | Password (optional) | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -625,12 +677,14 @@ Use Shelly devices with nymea.
??? abstract "Shelly Power meter Channel — `shellyPowerMeterChannel`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
| `channel` | Channel | uint | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -640,12 +694,14 @@ Use Shelly devices with nymea.
??? abstract "Shelly EM Channel — `shellyEmChannel`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
| `channel` | Channel | uint | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -658,6 +714,7 @@ Use Shelly devices with nymea.
??? abstract "Shelly Motion — `shellyMotion`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | oui |
@@ -666,6 +723,7 @@ Use Shelly devices with nymea.
| `password` | Password (optional) | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `isPresent` | Person is present | bool | — |
@@ -681,11 +739,13 @@ Use Shelly devices with nymea.
??? abstract "Shelly connected Roller Shutter — `shellyRoller`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `channel` | Channel | uint | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -697,11 +757,13 @@ Use Shelly devices with nymea.
??? abstract "Shelly Addon temperature sensor — `shellyAddonTempSensor`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `addonId` | ID | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/smart/tasmota.md b/docs/appareils/smart/tasmota.md
index 5b62f85..deb86c7 100644
--- a/docs/appareils/smart/tasmota.md
+++ b/docs/appareils/smart/tasmota.md
@@ -25,12 +25,14 @@ Connect ESPs flashed with Tasmota to nymea.
#### Détail par modèle
??? abstract "Single switch (Sonoff Basic, RF, Touch...) — `sonoff_basic`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `ipAddress` | IP address | QString | — | — | non |
| `attachedDeviceCH1` | Connected device | QString | — | `None` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -39,6 +41,7 @@ Connect ESPs flashed with Tasmota to nymea.
??? abstract "Dual switch (Sonoff Dual, T1 2CH...) — `sonoff_dual`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `ipAddress` | IP address | QString | — | — | non |
@@ -46,6 +49,7 @@ Connect ESPs flashed with Tasmota to nymea.
| `attachedDeviceCH2` | Connected device 2 | QString | — | `None` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -55,6 +59,7 @@ Connect ESPs flashed with Tasmota to nymea.
??? abstract "3 channel switch (Sonoff 3CH, Tuya 3CH...) — `sonoff_tri`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `ipAddress` | IP address | QString | — | — | non |
@@ -63,6 +68,7 @@ Connect ESPs flashed with Tasmota to nymea.
| `attachedDeviceCH3` | Connected device 3 | QString | — | `None` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -73,6 +79,7 @@ Connect ESPs flashed with Tasmota to nymea.
??? abstract "4 channel switch (Sonoff 4CH, T1 4CH...) — `sonoff_quad`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `ipAddress` | IP address | QString | — | — | non |
@@ -82,6 +89,7 @@ Connect ESPs flashed with Tasmota to nymea.
| `attachedDeviceCH4` | Connected device 4 | QString | — | `None` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -93,11 +101,13 @@ Connect ESPs flashed with Tasmota to nymea.
??? abstract "Dimmer (Sonoff D1...) — `sonoff_dimmer`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `ipAddress` | IP address | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -107,11 +117,13 @@ Connect ESPs flashed with Tasmota to nymea.
??? abstract "Tasmota power switch — `tasmotaSwitch`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `channelName` | Channel name | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -120,11 +132,13 @@ Connect ESPs flashed with Tasmota to nymea.
??? abstract "Tasmota light — `tasmotaLight`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `channelName` | Channel name | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -133,12 +147,14 @@ Connect ESPs flashed with Tasmota to nymea.
??? abstract "Tasmota shutter — `tasmotaShutter`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `openingChannel` | Opening channel | QString | — | — | non |
| `closingChannel` | Closing channel | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -146,12 +162,14 @@ Connect ESPs flashed with Tasmota to nymea.
??? abstract "Tasmota blinds — `tasmotaBlinds`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `openingChannel` | Opening channel | QString | — | — | non |
| `closingChannel` | Closing channel | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -159,11 +177,13 @@ Connect ESPs flashed with Tasmota to nymea.
??? abstract "Power meter — `powerMeterChannel`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `channelName` | Channel name | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/smart/tuya.md b/docs/appareils/smart/tuya.md
index 5ca7f16..1e384a4 100644
--- a/docs/appareils/smart/tuya.md
+++ b/docs/appareils/smart/tuya.md
@@ -19,6 +19,7 @@ Connect to the Tuya cloud.
#### Détail par modèle
??? abstract "Tuya cloud login — `tuyaCloud`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -27,11 +28,13 @@ Connect to the Tuya cloud.
??? abstract "Tuya switch — `tuyaSwitch`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | ID | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -39,22 +42,26 @@ Connect to the Tuya cloud.
??? abstract "Tuya blinds — `tuyaClosable`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | ID | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Tuya color light — `tuyaLight`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | ID | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/smart/unipi.md b/docs/appareils/smart/unipi.md
index 23af7a6..47170cf 100644
--- a/docs/appareils/smart/unipi.md
+++ b/docs/appareils/smart/unipi.md
@@ -40,210 +40,247 @@ Integrates UniPi with nymea
#### Détail par modèle
??? abstract "UniPi 1 — `uniPi1`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "UniPi 1 Lite — `uniPi1Lite`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Neuron L403 — `neuronL403`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Neuron S103 — `neuronS103`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Neuron M103 — `neuronM103`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Neuron M203 — `neuronM203`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Neuron M303 — `neuronM303`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Neuron M403 — `neuronM403`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Neuron M503 — `neuronM503`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Neuron L203 — `neuronL203`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Neuron L303 — `neuronL303`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Neuron L503 — `neuronL503`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Neuron L513 — `neuronL513`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Neuron xS10 — `neuronXS10`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | int | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Neuron xS20 — `neuronXS20`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | int | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Neuron xS30 — `neuronXS30`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | int | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Neuron xS40 — `neuronXS40`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | int | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Neuron xS50 — `neuronXS50`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | int | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Neuron xS11 — `neuronXS11`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | int | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Neuron xS51 — `neuronXS51`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | int | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "Digital input — `digitalInput`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `circuit` | Circuit | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `inputStatus` | Digital input | bool | — |
??? abstract "Digital output — `digitalOutput`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `circuit` | Circuit | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Power | bool | — |
??? abstract "Analog output — `analogOutput`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `circuit` | Circuit | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `outputValue` | Analog output | double | Volt |
??? abstract "Analog Input — `analogInput`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `circuit` | Circuit | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `inputValue` | Analog input | double | Volt |
??? abstract "User LED — `userLED`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `circuit` | Circuit | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `power` | Power | bool | — |
diff --git a/docs/appareils/smart/usbrelay.md b/docs/appareils/smart/usbrelay.md
index f51c8e6..7e132aa 100644
--- a/docs/appareils/smart/usbrelay.md
+++ b/docs/appareils/smart/usbrelay.md
@@ -17,23 +17,27 @@ Control relays connected over USB.
#### Détail par modèle
??? abstract "USB Relay Connector — `usbRelayConnector`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `path` | System path | QString | — | — | non |
| `relayCount` | Relay count | uint | — | `2` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
??? abstract "USB Relay — `usbRelay`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `relayNumber` | Relay number | uint | — | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/smart/usbrly82.md b/docs/appareils/smart/usbrly82.md
index 3b4d583..6066fa0 100644
--- a/docs/appareils/smart/usbrly82.md
+++ b/docs/appareils/smart/usbrly82.md
@@ -16,11 +16,13 @@ Control relays connected over USB and read digital and analog inputs.
#### Détail par modèle
??? abstract "USB-RLY82 — `usbRelay`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `serialNumber` | Serial number | QString | — | — | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/smart/waveshare.md b/docs/appareils/smart/waveshare.md
index dd91be9..b53d215 100644
--- a/docs/appareils/smart/waveshare.md
+++ b/docs/appareils/smart/waveshare.md
@@ -46,12 +46,14 @@ Voir [Ajouter un appareil](../../installation/application.md).
#### Détail par modèle
??? abstract "Waveshare Relay D8 — `waveshareRelayD8`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `rtuMaster` | Modbus RTU master UUID | QString | — | — | non |
| `slaveAddress` | Modbus slave address | int | 1–247 | `1` | non |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/docs/appareils/tarifs/awattar.md b/docs/appareils/tarifs/awattar.md
index cafe8e0..9afa774 100644
--- a/docs/appareils/tarifs/awattar.md
+++ b/docs/appareils/tarifs/awattar.md
@@ -17,6 +17,7 @@ Get the latest energy price from aWATTar.
#### Détail par modèle
??? abstract "aWATTar AT — `awattarAT`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Online | bool | — |
@@ -30,6 +31,7 @@ Get the latest energy price from aWATTar.
??? abstract "aWATTar DE — `awattarDE`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Online | bool | — |
diff --git a/docs/appareils/tarifs/index.md b/docs/appareils/tarifs/index.md
index 09d6b6a..944dcae 100644
--- a/docs/appareils/tarifs/index.md
+++ b/docs/appareils/tarifs/index.md
@@ -8,6 +8,7 @@ hide:
| Appareil | Protocole | Canal | Origine | Stabilité |
| --- | --- | --- | --- | --- |
+| [OpenMeteo](openmeteo.md) | — | TESTING | ETM | CONSUMER |
| [aWATTar](awattar.md) | — | STABLE | NYMEA | CONSUMER |
| [Tempo](tempo.md) | — | STABLE | NYMEA | CONSUMER |
| [spot-hinta](spothinta.md) | — | STABLE | NYMEA | CONSUMER |
diff --git a/docs/appareils/tarifs/openmeteo.md b/docs/appareils/tarifs/openmeteo.md
new file mode 100644
index 0000000..7fd424c
--- /dev/null
+++ b/docs/appareils/tarifs/openmeteo.md
@@ -0,0 +1,80 @@
+# OpenMeteo
+
+
+TESTING ETM CONSUMER
+
+
+
+Get current weather data for your location.
+
+_Guide d'installation à venir._
+
+## Référence
+
+
+**Fabricant :** Open-Meteo
+**Plugin :** `OpenMeteo`
+
+#### Modèles pris en charge
+| Modèle | Rôle | Transport | Ajout | Grandeurs |
+| --- | --- | --- | --- | --- |
+| **Open-Meteo site** | weather, daylightsensor | — | Ajout manuel | 23 |
+| **Open-Meteo PV plane** | — | — | Ajout manuel | 2 |
+
+#### Détail par modèle
+??? abstract "Open-Meteo site — `openMeteoSite`"
+ _Réglages :_
+
+ | Clé | Libellé | Type | Plage | Défaut | Lecture seule |
+ | --- | --- | --- | --- | --- | --- |
+ | `name` | Name | QString | — | — | non |
+ | `latitude` | Latitude | double | — | `48.9` | non |
+ | `longitude` | Longitude | double | — | `7.85` | non |
+ | `elevation` | Elevation (m, optional) | double | — | `0` | non |
+
+ _Grandeurs mesurées :_
+
+ | Clé | Grandeur | Type | Unité |
+ | --- | --- | --- | --- |
+ | `weatherDescription` | Weather description | QString | — |
+ | `weatherCondition` | Weather condition | QString | — |
+ | `updateTime` | Last update | int | UnixTime |
+ | `temperature` | Temperature | double | DegreeCelsius |
+ | `temperatureMin` | Minimum temperature (today) | double | DegreeCelsius |
+ | `temperatureMax` | Maximum temperature (today) | double | DegreeCelsius |
+ | `humidity` | Humidity | int | Percentage |
+ | `pressure` | Pressure | double | HectoPascal |
+ | `windSpeed` | Wind speed | double | MeterPerSecond |
+ | `windDirection` | Wind direction | int | Degree |
+ | `cloudiness` | Cloudiness | int | Percentage |
+ | `snowfall` | Snowfall (preceding hour) | double | CentiMeter |
+ | `ghi` | GHI forecast (W/m2) | double | — |
+ | `dni` | DNI forecast (W/m2) | double | — |
+ | `dhi` | DHI forecast (W/m2) | double | — |
+ | `terrestrialRadiation` | TOA radiation (W/m2) | double | — |
+ | `shortwaveRadiationSumToday` | GHI sum today (kWh/m2) | double | — |
+ | `ghiObserved` | GHI observed sat (W/m2) | double | — |
+ | `clearSkyGhi` | Clear-sky GHI sat (W/m2) | double | — |
+ | `clearSkyIndex` | Clear-sky index kt | double | — |
+ | `sunriseTime` | Sunrise time | int | UnixTime |
+ | `sunsetTime` | Sunset time | int | UnixTime |
+ | `daylight` | Daylight | bool | — |
+
+??? abstract "Open-Meteo PV plane — `openMeteoPvPlane`"
+ _Réglages :_
+
+ | Clé | Libellé | Type | Plage | Défaut | Lecture seule |
+ | --- | --- | --- | --- | --- | --- |
+ | `name` | Name | QString | — | — | non |
+ | `tilt` | Tilt (deg, 0=horizontal) | double | 0–90 | `30` | non |
+ | `azimuth` | Azimuth (deg geographic, 180=South) | double | 0–360 | `180` | non |
+ | `kwp` | Peak power kWp | double | — | `0` | non |
+
+ _Grandeurs mesurées :_
+
+ | Clé | Grandeur | Type | Unité |
+ | --- | --- | --- | --- |
+ | `gtiNow` | GTI current (W/m2) | double | — |
+ | `updateTime` | Last update | int | UnixTime |
+
+
diff --git a/docs/appareils/tarifs/spothinta.md b/docs/appareils/tarifs/spothinta.md
index 286af6e..02b16bd 100644
--- a/docs/appareils/tarifs/spothinta.md
+++ b/docs/appareils/tarifs/spothinta.md
@@ -16,6 +16,7 @@ Get Findlands current energy price from spot-hinta.fi.
#### Détail par modèle
??? abstract "spot-hinta — `spothinta`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Online | bool | — |
diff --git a/docs/appareils/tarifs/tempo.md b/docs/appareils/tarifs/tempo.md
index 680a1ab..e768e37 100644
--- a/docs/appareils/tarifs/tempo.md
+++ b/docs/appareils/tarifs/tempo.md
@@ -18,6 +18,7 @@ Get logged hours from Tempo.
#### Détail par modèle
??? abstract "Tempo connection — `tempoConnection`"
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -25,11 +26,13 @@ Get logged hours from Tempo.
??? abstract "Account — `account`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `key` | Key | QString | — | — | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
@@ -45,11 +48,13 @@ Get logged hours from Tempo.
??? abstract "Team — `team`"
_Réglages :_
+
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `id` | Id | int | — | `0` | oui |
_Grandeurs mesurées :_
+
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
diff --git a/schemas/GABARIT-blocs.md b/schemas/GABARIT-blocs.md
new file mode 100644
index 0000000..95cf39e
--- /dev/null
+++ b/schemas/GABARIT-blocs.md
@@ -0,0 +1,118 @@
+# Gabarit des blocs — schémas ETM-PowerSync
+
+Règles pour dessiner un bloc dans Inkscape de façon à ce que l'assembleur
+(`stack2.py`) le place et le relie sans routage. Tout est porté par le SVG.
+
+## 1. Modèle géométrique
+
+- **viewBox = corps + pattes.** Le corps du symbole est inséré de **8 px** de
+ chaque côté où il y a des ports. Les pastilles tombent **sur le bord de la
+ viewBox**, reliées au corps par une **patte de 8 px**.
+- Conséquence : la boîte englobante (viewBox) est ce qui s'aligne à
+ l'empilement, mais visuellement le fil se raccorde à distance du dessin.
+- Pastille = ``. Patte = `` de la
+ couleur du signal.
+
+```
+ ┌───── viewBox ─────┐
+ │ �· patte (8px) │ ← pastille sur le bord, corps en retrait
+ │ ┌─────────────┐ │
+ │ │ CORPS │ │
+ │ └─────────────┘ │
+ └───────────────────┘
+```
+
+## 2. Placement des ports
+
+Un port sort **du côté qui fait face à ce qu'il relie** :
+
+| Côté | Usage |
+|---|---|
+| Haut / Bas (sur l'axe) | Puissance (l'empilement vertical) |
+| Gauche / Droite | Comms & signaux, face à l'équipement relié |
+| Bas | Relais / sorties vers les charges en aval |
+
+- **Entraxe DC = 68 px** (ports à `centre ± 34`). À respecter pour que
+ `cof_dc.OUT1/OUT2` ↔ `onduleur.PV1/PV2` s'alignent en deux verticales droites.
+- Pour empiler des blocs identiques sans écart (ex. blocs batterie), viewBox
+ serrée + ports haut/bas → `GAP=0` les fait se toucher.
+
+**Empilement série (blocs batterie)** : `DC_IN` en haut, `DC_OUT` en bas, sur
+le même axe vertical. La mise en série se câble en chaîne :
+
+```
+BMS.DC_BAT → BAT1.DC_IN
+BAT1.DC_OUT → BAT2.DC_IN
+BAT2.DC_OUT → BAT3.DC_IN (dernier DC_OUT libre)
+```
+
+Le `COM` reste sur le côté (gauche) et chaîne en parallèle vers le BMS.
+
+## 3. Code couleur
+
+| Signal | Couleur | Trait |
+|---|---|---|
+| Puissance | `#0d2b3b` (navy) | plein |
+| CAN / BMS | `#31a3dd` (bleu) | pointillé |
+| RS485 | `#e69500` (orange) | pointillé |
+| Ethernet | `#00b4d8` (cyan) | pointillé |
+| Relais | pastille `#fec113`, patte/fil `#caa000` | pointillé fin |
+| PWR (alim) | `#e6194b` (rouge) | plein |
+| PE (terre) | `#00ff00` (vert) | plein |
+
+## 4. Dictionnaire des noms de ports (`term:…`)
+
+| Type | Terminaux |
+|---|---|
+| `compteur` | `L_IN`, `L_OUT`, `BUS` (= smartmeter, tête TGBT) |
+| `linky` | `L_OUT` (point de livraison, en amont) |
+| `disjoncteur` / `differentiel` | `L_IN`, `L_OUT` |
+| `tgbt` | `IN`, `SECOURS`, `CONSO`, `OUT1`–`OUT3`, `PE` |
+| `cof_dc` | `IN1`, `IN2`, `OUT1`, `OUT2`, `PE` |
+| `cof_ac` | `AC_IN`, `AC_OUT`, `PE` |
+| `cof_backup` | `OND`, `RESEAU`, `SECOURU`, `CONSO`, `PE` |
+| `onduleur` | `PV1`, `PV2`, `BAT`, `OND` (départ TGBT) (+ `BMS`, `RS485`, `ETH` ; `AC_IN` si backup) |
+| `string_pv` | `DC` (1 string) / `DC1`, `DC2` (2 strings) |
+| `microonduleur` | `AC_IN`, `OND` |
+| `bcu` (ex-BMS) | `DC_INV`, `DC_BAT`, `COM` |
+| `bloc_batterie` | `DC_IN`, `DC_OUT`, `COM` (empilable en série) |
+| `hems` | `C1`–`C4`, `RS485_1`, `RS485_2`, `ETH`, `USB1`, `USB2`, `PWR` |
+| `switch_eth` | `SW1`–`SW4` |
+| `dgt` | `PE` (collecte, non numérotée), `TERRE` (vers piquet) |
+| `prise_terre` | `TERRE` (symbole ⏚) |
+
+Noms : MAJUSCULES, underscore, sans accent. Numérotation à partir de 1.
+
+## 5. Zones texte injectables (`lbl:…`)
+
+| Nom | Exemple | Types |
+|---|---|---|
+| `repere` | `-U1`, `-A1` | tous (injecté depuis l'`id` de la scène) |
+| `puissance` | `10 kW`, `<10kVA`, `15kVA` | onduleur, cof_ac, tgbt |
+| `courbe_calibre` | `C 50A` | disjoncteur |
+| `sensibilite` | `30 mA` | differentiel |
+| `tension` | `DC 1000V` | cof_dc |
+| `string_desc` | `8 × 425Wc` | string_pv |
+| `capacite` | `9,6 kWh` | bloc_batterie |
+
+## 6. Encodage dans le SVG
+
+- En-tête : déclarer les namespaces
+ `xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"` et
+ `xmlns:etm="https://etm-powersync.fr/ns/schema"`.
+- Type : ``.
+- Terminal : sur la pastille, `inkscape:label="term:AC_OUT"`
+ (réglable dans Inkscape via *Propriétés de l'objet → Étiquette*).
+- Zone texte : sur le ``, `inkscape:label="lbl:puissance"`.
+
+`inkscape:label` survit au round-trip Inkscape. **Ne pas** utiliser `etm:` sur
+les éléments dessinés (Inkscape les efface quand on les édite).
+
+## 7. Workflow
+
+1. Dupliquer `block-template.svg` comme base.
+2. Dessiner le corps (inséré de 8 px), poser les pattes + pastilles aux bords.
+3. Étiqueter chaque pastille `term:…`, chaque texte injectable `lbl:…`,
+ renseigner le `type`.
+4. Lancer l'extracteur → `library.json` se met à jour.
+5. L'assembleur consomme une scène (`blocks` + `links` typés) → schéma SVG.
diff --git a/schemas/README.md b/schemas/README.md
new file mode 100644
index 0000000..9caf675
--- /dev/null
+++ b/schemas/README.md
@@ -0,0 +1,147 @@
+# Récap — Générateur de schémas unifilaires ETM-PowerSync
+
+État au terme de la session. Sert de point d'entrée pour reprendre le projet.
+
+---
+
+## 1. Objectif
+
+Assembler de petits **schémas unifilaires** pour les fiches de documentation,
+à partir d'une **bibliothèque de symboles** dessinés dans Inkscape. Cible : des
+schémas de quelques blocs (doc), pas des unifilaires complets d'installation.
+
+## 2. Principe : « assembler des blocs, pas router »
+
+- Chaque **bloc** est un glyphe compact avec des **ports nommés** sur ses bords.
+- Une **scène** (fichier JSON) liste les blocs avec leur position `(x,y)` et les
+ **liens** entre ports nommés.
+- L'**assembleur** place les blocs et relie les ports par des traits droits ou
+ en L. **Aucun routage automatique** : c'est l'auteur de la scène qui pose les
+ blocs, ce qui reste simple parce que les schémas de doc sont petits.
+
+Conséquence : ajuster un schéma = déplacer un bloc d'une ligne dans le JSON. Les
+symboles et l'assembleur ne changent pas.
+
+## 3. Format d'un symbole (résumé du `GABARIT-blocs.md`)
+
+- **viewBox = corps + pattes.** Le corps est inséré de **8 px** ; chaque port
+ est une **patte de 8 px** terminée par une pastille **sur le bord** de la
+ viewBox (c'est ce bord qui sert d'alignement à l'assemblage).
+- **Placement** : puissance en **haut/bas** (axe d'empilement), comms & signaux
+ sur les **côtés** (face à leur destination), relais en **bas**.
+- **Entraxe DC = 68 px** (ports à `centre ± 34`), identique entre blocs voisins
+ (`cof_dc.OUT1/2` ↔ `onduleur.PV1/2`).
+- **Encodage** : pastille = `` ; zone texte =
+ `` (vide, remplie par l'assembleur) ; type =
+ déduit du **nom de fichier** (`symbol-cof-dc.svg` → `cof_dc`).
+- **Dans Inkscape** : sélectionner la pastille → `Ctrl+Shift+O` → champ
+ **Étiquette** → taper `term:…` → **Entrée** (obligatoire) → `Ctrl+S`.
+
+## 4. Code couleur / types de liens
+
+| Type de lien | Couleur | Trait |
+|---|---|---|
+| `power` (puissance, ponts) | navy `#0d2b3b` | plein |
+| `can` (CAN/BMS) | bleu `#31a3dd` | pointillé |
+| `rs485` (Modbus) | orange `#e69500` | pointillé |
+| `eth` (Ethernet) | cyan `#00b4d8` | pointillé |
+| `relais` (SG-Ready, ECS…) | jaune `#caa000` | pointillé fin |
+| `pwr` (alim auxiliaire) | rouge `#e6194b` | plein |
+| `pe` (terre) | vert `#00ff00` | plein |
+
+## 5. Mise à la terre — deux méthodes
+
+- **Terre locale** (`"to":"GND"`) : chaque `PE` se termine par un symbole ⏚
+ posé sur place, écarté et orienté selon le côté du port. Pour les schémas
+ denses/éparpillés (cas général). Pas de fil qui traverse.
+- **Rail** (`"to":"DGT.RAIL"`) : la barrette `dgt` est une barre ; chaque `PE`
+ tombe droit dessus à son aplomb (pas de numérotation). Pour une **rangée de
+ coffrets** côte à côte. `DGT.TERRE → prise_terre.TERRE`.
+
+## 6. Chaîne d'outils
+
+- **`extract.py`** — parcourt les `symbol-*.svg`, résout les transformations
+ Inkscape, lit les `inkscape:label` (`term:`/`lbl:`), déduit le type du nom de
+ fichier, et écrit **`library.json`** (coordonnées monde de chaque port + zones
+ texte). À lancer après chaque modif de symbole.
+- **`stack2.py`** — l'assembleur. Lit une **scène** JSON et produit le schéma
+ SVG. Gère : placement libre `(x,y)`, injection `repere`/`display` dans les
+ zones `lbl:`, liens typés, cibles spéciales `DGT.RAIL` et `GND`, connecteurs
+ droits ou en L (`horizfirst`).
+- **`block-template.svg`** — bloc vierge à dupliquer comme base.
+- **`GABARIT-blocs.md`** — règle le **dessin** des blocs.
+- **`REGLES-cablage.md`** — règle le **câblage** des scènes.
+
+### Format d'une scène
+
+```json
+{
+ "w": 580, "h": 540,
+ "blocks": [
+ {"id":"U1","block":"symbol-onduleur.svg","at":[216,30],
+ "repere":"Ond1","display":{"puissance":"10 kW"}}
+ ],
+ "links": [
+ {"from":"U1.OND","to":"Q1.OND","type":"power","horizfirst":true},
+ {"from":"U1.PE","to":"GND","type":"pe"}
+ ]
+}
+```
+
+## 7. Règles de câblage (résumé du `REGLES-cablage.md`)
+
+1. **Arrivée** : `Linky → Disj. différentiel principal → Smartmeter → TGBT.IN`.
+ Le smartmeter (= notre `compteur`) est en tête de TGBT + RS485 vers onduleur.
+2. **Smartmeter ≠ Linky** : le smartmeter est à nous ; le Linky est au
+ distributeur (amont, hors câblage).
+3. **PV (DC)** : `String → COF-DC → Onduleur` (entraxe 68).
+4. **Batterie série** : `BMS.DC_BAT → BAT1.DC_IN`, `BAT1.DC_OUT → BAT2.DC_IN`…,
+ `COM` en parallèle.
+5. **Raccordement onduleur** (port `OND`) :
+ - simple : `OND → COF-AC.AC_IN → COF-AC.AC_OUT → TGBT.OND`
+ - backup : `OND → TGBT.OND` **et** `AC_IN → COF-BCKP.OND`
+6. **Backup** : critère = présence d'un `cof_backup`. Avec → `SECOURU`/`CONSO`
+ séparés vers le TGBT ; sans → pont `TGBT.SECOURS ── TGBT.CONSO`.
+7. **Ethernet** : plus d'un appareil ETH → insérer un `switch_eth` ; sinon lien
+ direct.
+8. **Terre** : tous les `PE` → DGT (ou ⏚ local) → prise de terre.
+
+## 8. Inventaire des symboles
+
+### Validés (passent l'extracteur, ports corrects)
+- `string_pv` (`DC1`, `PE`) et `2string_pv` (`DC1`, `DC2`, `PE`)
+- `cof_dc` (`IN1`, `IN2`, `OUT1`, `OUT2`, `PE`)
+- `compteur` / smartmeter (`L_IN`, `L_OUT`, `BUS`)
+- `onduleur` (`PV1`, `PV2`, `BAT`, `OND`, `BMS`, `RS485`, `ETH`, `PE`)
+- `onduleur_bckp` (idem + `AC_IN`)
+- `microonduleur` / `microonduleur_2pv` (`AC_IN`, `OND`, `PE`)
+- `bms` (`DC_INV`, `DC_BAT`, `COM`, `BMS`)
+- `cof_backup` (`OND` en bas, `RESEAU`, `SECOURU`, `CONSO`, `PE`)
+- `tgbt` (`SECOURU`, `CONSO`, `OND`, `OUT1`–`OUT3`, `PE`)
+- `dgt` (`RAIL_L`, `RAIL_R`, `TERRE`) et `prise_terre` (`TERRE`)
+
+### À corriger
+- **`cof_ac`** : n'a plus que `AC_IN` → rajouter `AC_OUT` (bas) + `PE`.
+- **`bloc_batterie`** : encore `DC`/`COM` → passer à `DC_IN` (haut) / `DC_OUT`
+ (bas) / `COM` pour l'empilage série.
+
+### Détails cosmétiques
+- Onduleur : texte visible « AC-OUT » à renommer « OND » (l'étiquette du port
+ est déjà bonne).
+- Repères qui frôlent le texte visible en haut de certains blocs (zone
+ `lbl:repere` à décaler).
+- Types `2string_pv` / `microonduleur_2pv` : à garder distincts ou normaliser
+ en `string_pv` / `microonduleur` (décision en attente).
+
+## 9. ToDo — nouveaux composants à créer
+
+- **Borne de recharge** (IRVE) — versions **RS485** et **ETH**.
+- **PAC** — versions **SG-Ready**, **RS485**, **ETH**.
+- **ECS** avec commande **HC/HP** (jour/nuit).
+- **Routeur solaire**.
+
+(+ finir `cof_ac` et l'ajustement `bloc_batterie`, puis monter une **fiche
+complète** de bout en bout appliquant toutes les règles.)
+
+
+schemas/library.json : quand tu lanceras l'extracteur, il va créer ce fichier (le cache des ports). Pense à l'ajouter au .gitignore du repo — c'est le seul truc à ne pas versionner (il se régénère sans risque).
diff --git a/schemas/REGLES-cablage.md b/schemas/REGLES-cablage.md
new file mode 100644
index 0000000..f9b80d0
--- /dev/null
+++ b/schemas/REGLES-cablage.md
@@ -0,0 +1,137 @@
+# Règles de câblage — schémas ETM-PowerSync
+
+Règles fonctionnelles à respecter quand on écrit une **scène** (placement +
+liens). Les symboles ne changent pas ; c'est le câblage qui applique ces règles.
+Complément du `GABARIT-blocs.md` (qui, lui, régit le dessin des blocs).
+
+## 1. Chaîne d'arrivée
+
+Ordre électrique côté arrivée :
+
+```
+Linky → Disjoncteur_différentiel_principal → Smartmeter → TGBT.IN
+Smartmeter.BUS → Onduleur (RS485)
+```
+
+Le **smartmeter** est en **tête de TGBT** (en série sur l'arrivée générale), et
+communique à l'onduleur en RS485.
+
+## 2. Smartmeter ≠ Linky — ne pas confondre
+
+| Appareil | Type | Qui le pose | Rôle |
+|---|---|---|---|
+| Smartmeter | `compteur` | nous (installation) | tête de TGBT, mesure + RS485 onduleur |
+| Linky | `linky` | le distributeur | point de livraison, en amont, hors de notre câblage |
+
+Le `compteur` de notre collection **est** le smartmeter. Le Linky n'est pas un
+élément qu'on câble ; on le représente seulement comme l'arrivée si besoin.
+
+## 3. Chaîne de production PV (DC)
+
+```
+String_PV.DC1/DC2 → COF-DC.IN1/IN2
+COF-DC.OUT1/OUT2 → Onduleur.PV1/PV2
+```
+
+Entraxe DC 68 px respecté de part et d'autre → liaisons droites.
+
+## 4. Batterie — mise en série
+
+Blocs batterie empilables : `DC_IN` (haut) / `DC_OUT` (bas) / `COM` (côté).
+
+```
+BMS.DC_BAT → BAT1.DC_IN
+BAT1.DC_OUT → BAT2.DC_IN
+BAT2.DC_OUT → BAT3.DC_IN (dernier DC_OUT libre)
+BMS.COM → BATn.COM (comms en parallèle)
+BMS.DC_INV → Onduleur.BAT
+BMS.BMS → Onduleur.BMS (CAN)
+```
+
+## 5. Raccordement de l'onduleur (port `OND`)
+
+La sortie principale de l'onduleur est le port **`OND`**, qui va toujours vers
+**`TGBT.OND`**. Le nommage est identique des deux côtés (`Onduleur.OND →
+TGBT.OND`).
+
+**Onduleur simple (sans backup)** — la sortie passe par un `cof_ac` :
+```
+Onduleur.OND → COF-AC.AC_IN
+COF-AC.AC_OUT → TGBT.OND
+```
+
+**Onduleur backup (a aussi un `AC_IN`)** :
+```
+Onduleur.OND → TGBT.OND (départ principal)
+Onduleur.AC_IN → COF-BCKP (entrée secourue)
+```
+
+Les **micro-onduleurs** suivent la même logique : leur départ est `OND` (vers le
+`cof_ac` puis `TGBT.OND`).
+
+## 6. Backup — conditionnel à la présence du coffret backup
+
+**Critère : présence d'un `cof_backup` dans la scène.** En mode backup il y a
+toujours un coffret backup, quelle que soit la techno (Victron, Fronius +
+backup-box, micro-onduleur backup).
+
+**Avec `cof_backup`** → départs séparés :
+```
+cof_backup.SECOURU → TGBT.SECOURS
+arrivée → TGBT.CONSO
+```
+
+**Sans `cof_backup`** → les deux départs sont pontés :
+```
+TGBT.SECOURS ── TGBT.CONSO (lien type power)
+```
+
+Aucun changement de symbole : ce sont deux variantes de scène.
+
+## 7. Réseau Ethernet — switch si plus d'un appareil
+
+Le HEMS n'a qu'un seul port `ETH`. Dès qu'il y a **plus d'un appareil Ethernet**
+à raccorder, on intercale un `switch_eth`.
+
+**Un seul appareil ETH** → lien direct :
+```
+HEMS.ETH → Appareil.ETH
+```
+
+**Plusieurs appareils ETH** → via le switch :
+```
+HEMS.ETH → SWITCH.SW1
+Onduleur.ETH → SWITCH.SW2
+.ETH → SWITCH.SW3
+...
+```
+
+## 9. Mise à la terre (PE)
+
+Toutes les terres remontent en **arborescence** vers une barrette de terre
+principale, qui descend au piquet :
+
+```
+COF-DC.PE ─┐
+COF-AC.PE ─┤
+COF-BCKP.PE─┼─→ DGT (barrette de terre principale) ──→ prise_terre (piquet)
+TGBT.PE ─┤
+String.PE ─┤
+Micro.PE ─┘
+```
+
+- Chaque port `PE` d'un bloc se relie à la **DGT** (type `dgt`), lien **vert**.
+- La `DGT` n'est pas numérotée : tous les PE s'y raccordent.
+- `DGT.TERRE → prise_terre.TERRE` (symbole de prise de terre ⏚).
+
+## 10. Récap des liens par type
+
+| Lien | type | couleur |
+|---|---|---|
+| Puissance AC/DC, ponts | `power` | navy |
+| CAN / BMS | `can` | bleu |
+| Modbus RS485 | `rs485` | orange |
+| Ethernet | `eth` | cyan |
+| Relais (SG-Ready, ECS…) | `relais` | jaune |
+| Alimentation auxiliaire | `pwr` | rouge |
+| Terre | (port `PE`) | vert |
diff --git a/schemas/scenes/scene-backup.json b/schemas/scenes/scene-backup.json
new file mode 100644
index 0000000..873e6a4
--- /dev/null
+++ b/schemas/scenes/scene-backup.json
@@ -0,0 +1,18 @@
+{ "w":580,"h":540,
+ "blocks":[
+ {"id":"U1","block":"symbol-onduleur_bckp.svg","at":[216,30],"repere":"Ond1","display":{"puissance":"10 kW"}},
+ {"id":"RES","block":"block-reseau.svg","at":[430,120],"repere":""},
+ {"id":"BK1","block":"symbol-cof_backup.svg","at":[216,210],"repere":"COF-BCKP"},
+ {"id":"Q1","block":"symbol-tgbt.svg","at":[216,380],"repere":"TGBT"}
+ ],
+ "links":[
+ {"from":"U1.AC_IN","to":"BK1.OND","type":"power"},
+ {"from":"RES.L_OUT","to":"BK1.RESEAU","type":"power","horizfirst":false},
+ {"from":"BK1.SECOURU","to":"Q1.SECOURU","type":"power"},
+ {"from":"BK1.CONSO","to":"Q1.CONSO","type":"power"},
+ {"from":"U1.OND","to":"Q1.OND","type":"power","horizfirst":true},
+ {"from":"U1.PE","to":"GND","type":"pe"},
+ {"from":"BK1.PE","to":"GND","type":"pe"},
+ {"from":"Q1.PE","to":"GND","type":"pe"}
+ ]
+}
diff --git a/schemas/scenes/scene-terre.json b/schemas/scenes/scene-terre.json
new file mode 100644
index 0000000..5c962bf
--- /dev/null
+++ b/schemas/scenes/scene-terre.json
@@ -0,0 +1,17 @@
+{ "w":470,"h":300,
+ "blocks":[
+ {"id":"D1","block":"block-pe-stub.svg","at":[40,30],"repere":"COF-DC"},
+ {"id":"D2","block":"block-pe-stub.svg","at":[150,30],"repere":"COF-AC"},
+ {"id":"D3","block":"block-pe-stub.svg","at":[260,30],"repere":"TGBT"},
+ {"id":"D4","block":"block-pe-stub.svg","at":[370,30],"repere":"Ond1"},
+ {"id":"DGT","block":"symbol-dgt.svg","at":[20,170],"repere":"DGT"},
+ {"id":"PT","block":"symbol-prise-terre.svg","at":[200,235],"repere":""}
+ ],
+ "links":[
+ {"from":"D1.PE","to":"DGT.RAIL","type":"pe"},
+ {"from":"D2.PE","to":"DGT.RAIL","type":"pe"},
+ {"from":"D3.PE","to":"DGT.RAIL","type":"pe"},
+ {"from":"D4.PE","to":"DGT.RAIL","type":"pe"},
+ {"from":"DGT.TERRE","to":"PT.TERRE","type":"pe"}
+ ]
+}
diff --git a/schemas/scenes/scene-test.json b/schemas/scenes/scene-test.json
new file mode 100644
index 0000000..25c9e40
--- /dev/null
+++ b/schemas/scenes/scene-test.json
@@ -0,0 +1,24 @@
+{ "w":680,"h":720,
+ "blocks":[
+ {"id":"G1","block":"symbol-2string-pv.svg","at":[250,20],"repere":"PV1","display":{"string_desc":"8x425Wc"}},
+ {"id":"K1","block":"symbol-cof-dc.svg","at":[250,204],"repere":"COF-DC"},
+ {"id":"U1","block":"symbol-onduleur.svg","at":[250,338],"repere":"Ond1","display":{"puissance":"10 kW"}},
+ {"id":"Q1","block":"block-cof-ac.svg","at":[260,480],"repere":"COF-AC"},
+ {"id":"P1","block":"symbol-compteur.svg","at":[250,590],"repere":"Meter1"},
+ {"id":"A1","block":"symbol-bms.svg","at":[90,338],"repere":"BMS1"},
+ {"id":"B1","block":"symbol-bloc-batterie.svg","at":[90,490],"repere":"BAT1","display":{"capacite":"9,6 kWh"}}
+ ],
+ "links":[
+ {"from":"G1.DC1","to":"K1.IN1","type":"power"},
+ {"from":"G1.DC2","to":"K1.IN2","type":"power"},
+ {"from":"K1.OUT1","to":"U1.PV1","type":"power"},
+ {"from":"K1.OUT2","to":"U1.PV2","type":"power"},
+ {"from":"A1.DC_INV","to":"U1.BAT","type":"power"},
+ {"from":"A1.DC_BAT","to":"B1.DC","type":"power"},
+ {"from":"A1.BMS","to":"U1.BMS","type":"can"},
+ {"from":"A1.COM","to":"B1.COM","type":"can"},
+ {"from":"U1.AC_OUT","to":"Q1.AC_IN","type":"power"},
+ {"from":"Q1.AC_OUT","to":"P1.L_IN","type":"power"},
+ {"from":"U1.RS485","to":"P1.BUS","type":"rs485","horizfirst":true}
+ ]
+}
diff --git a/schemas/symbols/block-hems-full.svg b/schemas/symbols/block-hems-full.svg
new file mode 100644
index 0000000..91ef41f
--- /dev/null
+++ b/schemas/symbols/block-hems-full.svg
@@ -0,0 +1,21 @@
+
diff --git a/schemas/symbols/block-reseau.svg b/schemas/symbols/block-reseau.svg
new file mode 100644
index 0000000..b0c741e
--- /dev/null
+++ b/schemas/symbols/block-reseau.svg
@@ -0,0 +1,7 @@
+
diff --git a/schemas/symbols/block-switch.svg b/schemas/symbols/block-switch.svg
new file mode 100644
index 0000000..e604e93
--- /dev/null
+++ b/schemas/symbols/block-switch.svg
@@ -0,0 +1,10 @@
+
diff --git a/schemas/symbols/block-template.svg b/schemas/symbols/block-template.svg
new file mode 100644
index 0000000..ba2eb82
--- /dev/null
+++ b/schemas/symbols/block-template.svg
@@ -0,0 +1,26 @@
+
diff --git a/schemas/symbols/symbol-2string-pv.svg b/schemas/symbols/symbol-2string-pv.svg
new file mode 100644
index 0000000..dc5f098
--- /dev/null
+++ b/schemas/symbols/symbol-2string-pv.svg
@@ -0,0 +1,316 @@
+
+
diff --git a/schemas/symbols/symbol-bloc-batterie.svg b/schemas/symbols/symbol-bloc-batterie.svg
new file mode 100644
index 0000000..dd8be7a
--- /dev/null
+++ b/schemas/symbols/symbol-bloc-batterie.svg
@@ -0,0 +1,149 @@
+
+
diff --git a/schemas/symbols/symbol-bms.svg b/schemas/symbols/symbol-bms.svg
new file mode 100644
index 0000000..fe35fae
--- /dev/null
+++ b/schemas/symbols/symbol-bms.svg
@@ -0,0 +1,185 @@
+
+
diff --git a/schemas/symbols/symbol-cof-ac.svg b/schemas/symbols/symbol-cof-ac.svg
new file mode 100644
index 0000000..e02b581
--- /dev/null
+++ b/schemas/symbols/symbol-cof-ac.svg
@@ -0,0 +1,38 @@
+
+
\ No newline at end of file
diff --git a/schemas/symbols/symbol-cof-dc.svg b/schemas/symbols/symbol-cof-dc.svg
new file mode 100644
index 0000000..f31a60d
--- /dev/null
+++ b/schemas/symbols/symbol-cof-dc.svg
@@ -0,0 +1,340 @@
+
+
diff --git a/schemas/symbols/symbol-cof_backup.svg b/schemas/symbols/symbol-cof_backup.svg
new file mode 100644
index 0000000..f74c17b
--- /dev/null
+++ b/schemas/symbols/symbol-cof_backup.svg
@@ -0,0 +1,378 @@
+
+
diff --git a/schemas/symbols/symbol-compteur.svg b/schemas/symbols/symbol-compteur.svg
new file mode 100644
index 0000000..dc7cc03
--- /dev/null
+++ b/schemas/symbols/symbol-compteur.svg
@@ -0,0 +1,156 @@
+
+
diff --git a/schemas/symbols/symbol-dgt.svg b/schemas/symbols/symbol-dgt.svg
new file mode 100644
index 0000000..a4c5b9a
--- /dev/null
+++ b/schemas/symbols/symbol-dgt.svg
@@ -0,0 +1,13 @@
+
diff --git a/schemas/symbols/symbol-microonduleur-2pv.svg b/schemas/symbols/symbol-microonduleur-2pv.svg
new file mode 100644
index 0000000..77a81d5
--- /dev/null
+++ b/schemas/symbols/symbol-microonduleur-2pv.svg
@@ -0,0 +1,269 @@
+
+
diff --git a/schemas/symbols/symbol-microonduleur.svg b/schemas/symbols/symbol-microonduleur.svg
new file mode 100644
index 0000000..fb8d6c6
--- /dev/null
+++ b/schemas/symbols/symbol-microonduleur.svg
@@ -0,0 +1,211 @@
+
+
diff --git a/schemas/symbols/symbol-onduleur.svg b/schemas/symbols/symbol-onduleur.svg
new file mode 100644
index 0000000..b1d57b0
--- /dev/null
+++ b/schemas/symbols/symbol-onduleur.svg
@@ -0,0 +1,297 @@
+
+
diff --git a/schemas/symbols/symbol-onduleur_bckp.svg b/schemas/symbols/symbol-onduleur_bckp.svg
new file mode 100644
index 0000000..70dbbfe
--- /dev/null
+++ b/schemas/symbols/symbol-onduleur_bckp.svg
@@ -0,0 +1,322 @@
+
+
diff --git a/schemas/symbols/symbol-prise-terre.svg b/schemas/symbols/symbol-prise-terre.svg
new file mode 100644
index 0000000..65e5276
--- /dev/null
+++ b/schemas/symbols/symbol-prise-terre.svg
@@ -0,0 +1,13 @@
+
diff --git a/schemas/symbols/symbol-string-pv.svg b/schemas/symbols/symbol-string-pv.svg
new file mode 100644
index 0000000..ccd4e25
--- /dev/null
+++ b/schemas/symbols/symbol-string-pv.svg
@@ -0,0 +1,201 @@
+
+
diff --git a/schemas/symbols/symbol-tgbt.svg b/schemas/symbols/symbol-tgbt.svg
new file mode 100644
index 0000000..3c24b0b
--- /dev/null
+++ b/schemas/symbols/symbol-tgbt.svg
@@ -0,0 +1,344 @@
+
+
diff --git a/scripts/extract.py b/scripts/extract.py
new file mode 100644
index 0000000..3d198c4
--- /dev/null
+++ b/scripts/extract.py
@@ -0,0 +1,68 @@
+import xml.etree.ElementTree as ET, re, glob, json, os
+SVG="http://www.w3.org/2000/svg"; ETM="https://etm-powersync.fr/ns/schema"
+INK="http://www.inkscape.org/namespaces/inkscape"
+SODI="http://sodipodi.sourceforge.net/DTD/sodipodi-0.0"
+def ln(t): return t.split('}')[-1]
+def parse_tf(s):
+ M=[1,0,0,1,0,0]
+ if not s: return M
+ for name,args in re.findall(r'(\w+)\s*\(([^)]*)\)', s):
+ n=[float(x) for x in re.split(r'[,\s]+',args.strip()) if x!='']
+ if name=='translate': m=[1,0,0,1,n[0],n[1] if len(n)>1 else 0]
+ elif name=='scale': m=[n[0],0,0,(n[1] if len(n)>1 else n[0]),0,0]
+ elif name=='matrix': m=n
+ else: m=[1,0,0,1,0,0]
+ a,b,c,d,e,f=M; a2,b2,c2,d2,e2,f2=m
+ M=[a*a2+c*b2,b*a2+d*b2,a*c2+c*d2,b*c2+d*d2,a*e2+c*f2+e,b*e2+d*f2+f]
+ return M
+def comp(M1,M2):
+ a,b,c,d,e,f=M1;a2,b2,c2,d2,e2,f2=M2
+ return [a*a2+c*b2,b*a2+d*b2,a*c2+c*d2,b*c2+d*d2,a*e2+c*f2+e,b*e2+d*f2+f]
+def app(M,x,y):
+ a,b,c,d,e,f=M; return (round(a*x+c*y+e,1),round(b*x+d*y+f,1))
+def pos(el):
+ if ln(el.tag) in("circle","ellipse"): return float(el.get("cx",0)),float(el.get("cy",0))
+ if ln(el.tag)=="text": return float(el.get("x",0) or 0),float(el.get("y",0) or 0)
+ if ln(el.tag)=="path" and el.get(f"{{{SODI}}}type")=="arc":
+ return float(el.get(f"{{{SODI}}}cx",0)),float(el.get(f"{{{SODI}}}cy",0))
+ return None
+
+lib={}
+for fn in sorted(glob.glob("symbol-*.svg")):
+ root=ET.parse(fn).getroot()
+ c=root.find(f".//{{{ETM}}}component")
+ ctype=c.get("type") if c is not None else None
+ if not ctype: # repli : deduire du nom de fichier
+ stem=os.path.basename(fn)[:-4]
+ for pre in ("symbol-","block-"):
+ if stem.startswith(pre): stem=stem[len(pre):]
+ ctype=stem.replace("-","_")
+ terms={}; labels={}
+ def walk(el,M):
+ M=comp(M,parse_tf(el.get("transform")))
+ lab=el.get(f"{{{INK}}}label"); p=pos(el)
+ # inkscape:label term:/lbl:
+ if lab and p:
+ x,y=app(M,*p)
+ if lab.startswith("term:"): terms[lab[5:]]={"x":x,"y":y}
+ elif lab.startswith("lbl:"):
+ anchor=(el.get("text-anchor") or "start")
+ labels[lab[4:]]={"x":x,"y":y,"anchor":anchor}
+ # repli etm:terminal / etm:label
+ et=el.get(f"{{{ETM}}}terminal")
+ if et and p and et not in terms: terms[et]=dict(zip(("x","y"),app(M,*p)))
+ el_lbl=el.get(f"{{{ETM}}}label")
+ if el_lbl and p and el_lbl not in labels:
+ x,y=app(M,*p); labels[el_lbl]={"x":x,"y":y,"anchor":el.get("text-anchor") or "start"}
+ for ch in el: walk(ch,M)
+ walk(root,[1,0,0,1,0,0])
+ lib[fn]={"type":ctype,"terminals":terms,"labels":labels}
+
+json.dump(lib, open("library.json","w"), indent=2, ensure_ascii=False)
+# rapport
+print(f"{'fichier':30} {'type':14} terminaux / labels")
+for fn,d in lib.items():
+ t=",".join(d["terminals"]) or "—"
+ l=",".join(d["labels"]) or "—"
+ miss="" if d["type"] else " [TYPE MANQUANT]"
+ print(f"{fn:30} {str(d['type']):14} T[{t}] L[{l}]{miss}")
diff --git a/scripts/gen_device_reference.py b/scripts/gen_device_reference.py
index a2dbee3..e77f463 100644
--- a/scripts/gen_device_reference.py
+++ b/scripts/gen_device_reference.py
@@ -176,6 +176,15 @@ def entry_name(e: dict, meta: dict) -> str:
return e.get("name") or meta.get("title") or e.get("plugin", "?")
+def render_manual_url(e: dict, meta: dict) -> str:
+ """Retourne la section 'Documentation fabricant' si manual_url est présent."""
+ url = e.get("manual_url", "")
+ if not url:
+ return ""
+ name = entry_name(e, meta)
+ return f"\n**Documentation fabricant** : [Manuel {name}]({url})\n"
+
+
# ── Helpers JSON nymea ────────────────────────────────────────────────────────
def transport_of(tc: dict) -> str:
@@ -240,6 +249,7 @@ def render_params(tc: dict) -> list:
rows = [[f"`{p['name']}`", p.get("displayName", ""), p.get("type", ""),
fmt_range(p), fmt_default(p)] for p in disc]
lines.append("_Paramètres de découverte :_")
+ lines.append("")
lines.append(md_table(["Clé", "Libellé", "Type", "Plage", "Défaut"], rows))
lines.append("")
settings = tc.get("paramTypes", [])
@@ -248,6 +258,7 @@ def render_params(tc: dict) -> list:
fmt_range(p), fmt_default(p),
"oui" if p.get("readOnly") else "non"] for p in settings]
lines.append("_Réglages :_")
+ lines.append("")
lines.append(md_table(["Clé", "Libellé", "Type", "Plage", "Défaut", "Lecture seule"], rows))
lines.append("")
return lines
@@ -287,6 +298,7 @@ def render_plugin(plugin: dict) -> str:
body += render_params(tc)
if tc.get("stateTypes"):
body.append("_Grandeurs mesurées :_")
+ body.append("")
body += render_states(tc)
for ln in ("\n".join(body)).splitlines():
out.append(" " + ln if ln else "")
@@ -452,7 +464,7 @@ def build_device_page(e: dict, plugin_data: dict | None, meta: dict) -> str:
tagline = meta.get("tagline", "")
if plugin_data:
- gen = render_plugin(plugin_data)
+ gen = render_plugin(plugin_data) + render_manual_url(e, meta)
else:
print(f" INFO : {fname} absent (nightly) → page stub pour {title}",
file=sys.stderr)
@@ -463,7 +475,7 @@ def build_device_page(e: dict, plugin_data: dict | None, meta: dict) -> str:
header_parts = [f"# {title}", "", badges_block]
if tagline:
header_parts += ["", tagline]
- header_parts.append("") # ligne vide avant le bloc BEGIN
+ header_parts += ["", "_Guide d'installation à venir._", "", "## Référence", ""]
header = "\n".join(header_parts)
return header + "\n" + block + "\n"
@@ -563,7 +575,10 @@ def process(docs: Path, entries: list, plugins: dict, src: Path, check: bool) ->
cat = key.removeprefix("__index_").removesuffix("__")
gen = render_category_index(cat, entries, plugins, src)
elif key in plugins:
- gen = render_plugin(plugins[key])
+ plugin_name = key.removeprefix("integrationplugin").removesuffix(".json")
+ entry = entry_by_plugin.get(plugin_name, {})
+ meta_e = load_meta(src, plugin_name) if entry else {}
+ gen = render_plugin(plugins[key]) + render_manual_url(entry, meta_e)
else:
# Clé plugin absente : nightly sans JSON → stub ; sinon avertissement
plugin_name = key.removeprefix("integrationplugin").removesuffix(".json")
diff --git a/scripts/stack2.py b/scripts/stack2.py
new file mode 100644
index 0000000..6c8afcd
--- /dev/null
+++ b/scripts/stack2.py
@@ -0,0 +1,94 @@
+# Assembleur libre : placement (x,y) + liens typés (puissance/can/rs485/eth) entre ports nommés.
+import xml.etree.ElementTree as ET, json, sys
+SVG="http://www.w3.org/2000/svg";INK="http://www.inkscape.org/namespaces/inkscape"
+ET.register_namespace("",SVG);ET.register_namespace("inkscape",INK)
+def lname(t):return t.split('}')[-1]
+STYLE={
+ "power":{"stroke":"#0d2b3b","stroke-width":"1.8"},
+ "can" :{"stroke":"#31a3dd","stroke-width":"1.4","stroke-dasharray":"3 2"},
+ "rs485":{"stroke":"#e69500","stroke-width":"1.4","stroke-dasharray":"3 2"},
+ "eth" :{"stroke":"#00b4d8","stroke-width":"1.4","stroke-dasharray":"3 2"},
+ "relais":{"stroke":"#caa000","stroke-width":"1.3","stroke-dasharray":"1 1.5"},
+ "pwr" :{"stroke":"#e6194b","stroke-width":"1.6"},
+ "pe" :{"stroke":"#00ff00","stroke-width":"1.6"},
+}
+LBL={"can":"CAN","rs485":"RS485","eth":"ETH"}
+def ports(root):
+ d={}
+ for el in root.iter():
+ l=el.get(f"{{{INK}}}label")
+ if l and l.startswith("term:") and lname(el.tag)=="circle":
+ d[l[5:]]=(float(el.get("cx")),float(el.get("cy")))
+ return d
+def inject(root,disp,rep):
+ for el in root.iter():
+ l=el.get(f"{{{INK}}}label")
+ if not l or not l.startswith("lbl:"):continue
+ k=l[4:]
+ if k=="repere" and rep is not None:el.text=rep
+ elif k in disp:el.text=disp[k]
+def vb(root):v=[float(x) for x in root.get("viewBox").split()];return v[2],v[3]
+
+scene=json.load(open(sys.argv[1]))
+W=scene.get("w",520);H=scene.get("h",420)
+master=ET.Element(f"{{{SVG}}}svg",{"viewBox":f"0 0 {W} {H}"})
+ET.SubElement(master,f"{{{SVG}}}rect",{"x":"0","y":"0","width":str(W),"height":str(H),"fill":"#fff"})
+links_g=ET.SubElement(master,f"{{{SVG}}}g")
+P={}; SIDE={}
+for c in scene["blocks"]:
+ r=ET.parse(c["block"]).getroot();w,h=vb(r)
+ ox,oy=c["at"]
+ inject(r,c.get("display",{}),c.get("repere"))
+ r.set("x",str(ox));r.set("y",str(oy));r.set("width",str(w));r.set("height",str(h));r.set("overflow","visible")
+ master.append(r)
+ vbw,vbh=vb(r)
+ for k,(px,py) in ports(r).items():
+ P[f'{c["id"]}.{k}']=(ox+px,oy+py)
+ if px<=6: SIDE[f'{c["id"]}.{k}']="L"
+ elif px>=vbw-6: SIDE[f'{c["id"]}.{k}']="R"
+ elif py<=6: SIDE[f'{c["id"]}.{k}']="T"
+ else: SIDE[f'{c["id"]}.{k}']="B"
+def elbow(p1,p2,horizfirst):
+ x1,y1=p1;x2,y2=p2
+ if abs(x1-x2)<0.6 or abs(y1-y2)<0.6: return [p1,p2]
+ return [p1,(x2,y1),p2] if horizfirst else [p1,(x1,y2),p2]
+for w in scene["links"]:
+ typ=w.get("type","power")
+ a=P[w["from"]]
+ if w["to"].endswith(".RAIL"): # cible = barrette rail
+ bid=w["to"][:-5]
+ L=P[f"{bid}.RAIL_L"]; R=P[f"{bid}.RAIL_R"]
+ ry=L[1]; ex=min(max(a[0],L[0]),R[0]) # tombe à l'aplomb, borné à la barre
+ b=(ex,ry); pts=[a,(a[0],ry)] if abs(a[0]-ex)<0.6 else [a,(a[0],ry),(ex,ry)]
+ # pastille de jonction sur la barre
+ import xml.etree.ElementTree as _ET
+ _ET.SubElement(links_g,f"{{{SVG}}}circle",{"cx":f"{ex:.1f}","cy":f"{ry:.1f}","r":"2.4","fill":"#00ff00"})
+ elif w["to"]=="GND": # terre locale : symbole au port, écarté du corps
+ import xml.etree.ElementTree as _ET
+ sx,sy=a; side=SIDE.get(w["from"],"B"); LEAD=10
+ g=_ET.SubElement(links_g,f"{{{SVG}}}g")
+ def L(x1,y1,x2,y2,wd):
+ _ET.SubElement(g,f"{{{SVG}}}line",{"x1":f"{x1:.1f}","y1":f"{y1:.1f}","x2":f"{x2:.1f}","y2":f"{y2:.1f}","stroke":"#00ff00","stroke-width":wd})
+ if side in ("L","R"):
+ d=-1 if side=="L" else 1
+ bx=sx+d*LEAD # patte horizontale
+ L(sx,sy,bx,sy,"1.6")
+ # ⏚ vertical au bout (3 traits décroissants, axe vertical)
+ L(bx,sy-6,bx,sy+6,"2"); L(bx+d*3,sy-4,bx+d*3,sy+4,"2"); L(bx+d*6,sy-2,bx+d*6,sy+2,"2")
+ else:
+ by=sy+LEAD
+ L(sx,sy,sx,by,"1.6")
+ L(sx-6,by,sx+6,by,"2"); L(sx-4,by+3,sx+4,by+3,"2"); L(sx-2,by+6,sx+2,by+6,"2")
+ continue
+ else:
+ b=P[w["to"]]; hf=w.get("horizfirst",True); pts=elbow(a,b,hf)
+ d="M "+" L ".join(f"{x:.1f} {y:.1f}" for x,y in pts)
+ attrs={"d":d,"fill":"none"};attrs.update(STYLE[typ])
+ ET.SubElement(links_g,f"{{{SVG}}}path",attrs)
+ if typ in LBL:
+ mx,my=pts[len(pts)//2]
+ t=ET.SubElement(links_g,f"{{{SVG}}}text",{"x":f"{mx+3:.1f}","y":f"{my-3:.1f}",
+ "font-family":"'IBM Plex Mono',monospace","font-size":"7","fill":STYLE[typ]["stroke"]})
+ t.text=LBL[typ]
+ET.ElementTree(master).write(sys.argv[2],encoding="utf-8",xml_declaration=True)
+print("écrit",sys.argv[2])