mise a jour
All checks were successful
Build & Deploy docs / build-deploy (push) Successful in 2m49s

This commit is contained in:
Patrick Schurig 2026-06-06 09:51:43 +02:00
parent b26274595c
commit 66aa71c990
93 changed files with 4515 additions and 6 deletions

View File

@ -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

56
TODO_powersync-docs.md Normal file
View File

@ -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.*

View File

@ -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)

View File

@ -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 | 1255 | `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 | 1247 | `1` | non |
_Grandeurs mesurées :_
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |

View File

@ -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 | 1248 | `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 | — |

View File

@ -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 |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | 12 | `1` | non |
_Grandeurs mesurées :_
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -83,7 +83,6 @@ Chaque appareil porte trois badges indépendants :
| SG-Ready | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| SimpleHeatpump | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| Tado | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| Home Connect | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| Stiebel Eltron | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| iDM | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| Drexel und Weiss | Modbus RTU | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
@ -110,6 +109,7 @@ Chaque appareil porte trois badges indépendants :
| Marque / Modèle | Protocole | Canal | Origine | Stabilité |
|---|---|---|---|---|
| OpenMeteo | — | <span class="badge testing">TESTING</span> | <span class="badge origin-etm">ETM</span> | <span class="badge consumer">CONSUMER</span> |
| aWATTar | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| Tempo | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| spot-hinta | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |

View File

@ -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 | 1254 | `1` |
_Réglages :_
| Clé | Libellé | Type | Plage | Défaut | Lecture seule |
| --- | --- | --- | --- | --- | --- |
| `slaveAddress` | Modbus slave address | uint | 1254 | `1` | oui |
| `modbusMasterUuid` | Modbus RTU master | QString | — | — | oui |
_Grandeurs mesurées :_
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | 0250 | `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 | 0250 | `0` | non |
| `modbusMasterUuid` | Modbus RTU master | QUuid | — | — | non |
_Grandeurs mesurées :_
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -12,7 +12,6 @@ hide:
| [SG-Ready](sgready.md) | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| [SimpleHeatpump](simpleheatpump.md) | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| [Tado](tado.md) | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| [Home Connect](homeconnect.md) | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| [Stiebel Eltron](stiebeleltron.md) | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |
| [iDM](idm.md) | Modbus TCP | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| [Drexel und Weiss](drexelundweiss.md) | Modbus RTU | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge community">COMMUNITY</span> |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 |

View File

@ -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 | — |

View File

@ -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 |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | — |

View File

@ -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 | 1247 | `1` | non |
_Grandeurs mesurées :_
| Clé | Grandeur | Type | Unité |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |

View File

@ -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 | — |

View File

@ -8,6 +8,7 @@ hide:
<!-- BEGIN GENERATED: __index_tarif__ -->
| Appareil | Protocole | Canal | Origine | Stabilité |
| --- | --- | --- | --- | --- |
| [OpenMeteo](openmeteo.md) | — | <span class="badge testing">TESTING</span> | <span class="badge origin-etm">ETM</span> | <span class="badge consumer">CONSUMER</span> |
| [aWATTar](awattar.md) | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| [Tempo](tempo.md) | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |
| [spot-hinta](spothinta.md) | — | <span class="badge stable">STABLE</span> | <span class="badge origin-nymea">NYMEA</span> | <span class="badge consumer">CONSUMER</span> |

View File

@ -0,0 +1,80 @@
# OpenMeteo
<!-- BEGIN GENERATED: __badges_openmeteo__ -->
<span class="badge testing">TESTING</span> <span class="badge origin-etm">ETM</span> <span class="badge consumer">CONSUMER</span>
<!-- END GENERATED -->
Get current weather data for your location.
_Guide d'installation à venir._
## Référence
<!-- BEGIN GENERATED: integrationpluginopenmeteo.json -->
**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 | 090 | `30` | non |
| `azimuth` | Azimuth (deg geographic, 180=South) | double | 0360 | `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 |
<!-- END GENERATED -->

View File

@ -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 | — |

View File

@ -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 | — |

118
schemas/GABARIT-blocs.md Normal file
View File

@ -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 = `<circle r="2.6">`. Patte = `<line stroke-width="1.2">` de la
couleur du signal.
```
┌───── viewBox ─────┐
<20>· 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 : `<metadata><etm:component type="onduleur"/></metadata>`.
- 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 `<text>`, `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.

147
schemas/README.md Normal file
View File

@ -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 = `<circle inkscape:label="term:NOM">` ; zone texte =
`<text inkscape:label="lbl:nom">` (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).

137
schemas/REGLES-cablage.md Normal file
View File

@ -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
<autre>.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 |

View File

@ -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"}
]
}

View File

@ -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"}
]
}

View File

@ -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}
]
}

View File

@ -0,0 +1,21 @@
<svg viewBox="0 0 184 124" xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:etm="https://etm-powersync.fr/ns/schema">
<metadata><etm:component type="hems"/></metadata>
<rect x="34" y="12" width="112" height="78" rx="7" fill="#0d2b3b" stroke="#31a3dd" stroke-width="1.6"/>
<text x="90" y="40" text-anchor="middle" font-family="'IBM Plex Mono',monospace" font-size="11" font-weight="700" fill="#31a3dd">HEMS</text>
<text x="90" y="51" text-anchor="middle" font-family="'IBM Plex Sans',sans-serif" font-size="6.5" fill="#fec113">ETM-PowerSync</text>
<!-- GAUCHE : leads -->
<line x1="34" y1="28" x2="26" y2="28" stroke="#e69500" stroke-width="1.2"/><circle cx="26" cy="28" r="2.6" fill="#e69500" inkscape:label="term:RS485_1"/><text x="40" y="31" font-family="monospace" font-size="6" fill="#fff">RS485_1</text>
<line x1="34" y1="44" x2="26" y2="44" stroke="#e69500" stroke-width="1.2"/><circle cx="26" cy="44" r="2.6" fill="#e69500" inkscape:label="term:RS485_2"/><text x="40" y="47" font-family="monospace" font-size="6" fill="#fff">RS485_2</text>
<line x1="34" y1="74" x2="26" y2="74" stroke="#00b4d8" stroke-width="1.2"/><circle cx="26" cy="74" r="2.6" fill="#00b4d8" inkscape:label="term:ETH"/><text x="40" y="77" font-family="monospace" font-size="6" fill="#fff">ETH</text>
<!-- DROITE : leads -->
<line x1="146" y1="28" x2="154" y2="28" stroke="#cccccc" stroke-width="1.2"/><circle cx="154" cy="28" r="2.6" fill="#cccccc" inkscape:label="term:USB1"/><text x="140" y="31" text-anchor="end" font-family="monospace" font-size="6" fill="#fff">USB1</text>
<line x1="146" y1="44" x2="154" y2="44" stroke="#cccccc" stroke-width="1.2"/><circle cx="154" cy="44" r="2.6" fill="#cccccc" inkscape:label="term:USB2"/><text x="140" y="47" text-anchor="end" font-family="monospace" font-size="6" fill="#fff">USB2</text>
<line x1="146" y1="74" x2="154" y2="74" stroke="#e6194b" stroke-width="1.2"/><circle cx="154" cy="74" r="2.6" fill="#e6194b" inkscape:label="term:PWR"/><text x="140" y="77" text-anchor="end" font-family="monospace" font-size="6" fill="#fff">PWR</text>
<text x="90" y="86" text-anchor="middle" font-family="'IBM Plex Mono',monospace" font-size="6" fill="#9fb4c2">RELAIS</text>
<!-- BAS : leads -->
<line x1="60" y1="90" x2="60" y2="98" stroke="#caa000" stroke-width="1.2"/><circle cx="60" cy="98" r="2.6" fill="#fec113" inkscape:label="term:C1"/><text x="60" y="110" text-anchor="middle" font-family="monospace" font-size="6" fill="#caa000">C1</text>
<line x1="80" y1="90" x2="80" y2="98" stroke="#caa000" stroke-width="1.2"/><circle cx="80" cy="98" r="2.6" fill="#fec113" inkscape:label="term:C2"/><text x="80" y="110" text-anchor="middle" font-family="monospace" font-size="6" fill="#caa000">C2</text>
<line x1="100" y1="90" x2="100" y2="98" stroke="#caa000" stroke-width="1.2"/><circle cx="100" cy="98" r="2.6" fill="#fec113" inkscape:label="term:C3"/><text x="100" y="110" text-anchor="middle" font-family="monospace" font-size="6" fill="#caa000">C3</text>
<line x1="120" y1="90" x2="120" y2="98" stroke="#caa000" stroke-width="1.2"/><circle cx="120" cy="98" r="2.6" fill="#fec113" inkscape:label="term:C4"/><text x="120" y="110" text-anchor="middle" font-family="monospace" font-size="6" fill="#caa000">C4</text>
<text x="144" y="24" text-anchor="end" font-family="'IBM Plex Mono',monospace" font-size="8" font-weight="700" fill="#31a3dd" inkscape:label="lbl:repere"></text>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -0,0 +1,7 @@
<svg viewBox="0 0 70 52" xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:etm="https://etm-powersync.fr/ns/schema">
<metadata><etm:component type="reseau"/></metadata>
<rect x="10" y="8" width="50" height="30" rx="5" fill="#fff" stroke="#0d2b3b" stroke-width="1.4"/>
<text x="35" y="27" text-anchor="middle" font-family="'IBM Plex Mono',monospace" font-size="9" font-weight="700" fill="#0d2b3b">Réseau</text>
<line x1="35" y1="38" x2="35" y2="46" stroke="#0d2b3b" stroke-width="1.4"/>
<circle cx="35" cy="46" r="2.6" fill="#0d2b3b" inkscape:label="term:L_OUT"/>
</svg>

After

Width:  |  Height:  |  Size: 633 B

View File

@ -0,0 +1,10 @@
<svg viewBox="0 0 130 64" xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:etm="https://etm-powersync.fr/ns/schema">
<metadata><etm:component type="switch_eth"/></metadata>
<rect x="18" y="10" width="94" height="30" rx="5" fill="#fff" stroke="#00b4d8" stroke-width="1.6"/>
<text x="65" y="29" text-anchor="middle" font-family="'IBM Plex Mono',monospace" font-size="9" font-weight="700" fill="#0d2b3b">SWITCH 4P</text>
<line x1="32" y1="40" x2="32" y2="48" stroke="#00b4d8" stroke-width="1.2"/><circle cx="32" cy="48" r="2.6" fill="#00b4d8" inkscape:label="term:SW1"/>
<line x1="54" y1="40" x2="54" y2="48" stroke="#00b4d8" stroke-width="1.2"/><circle cx="54" cy="48" r="2.6" fill="#00b4d8" inkscape:label="term:SW2"/>
<line x1="76" y1="40" x2="76" y2="48" stroke="#00b4d8" stroke-width="1.2"/><circle cx="76" cy="48" r="2.6" fill="#00b4d8" inkscape:label="term:SW3"/>
<line x1="98" y1="40" x2="98" y2="48" stroke="#00b4d8" stroke-width="1.2"/><circle cx="98" cy="48" r="2.6" fill="#00b4d8" inkscape:label="term:SW4"/>
<text x="110" y="16" text-anchor="end" font-family="'IBM Plex Mono',monospace" font-size="8" font-weight="700" fill="#0d2b3b" inkscape:label="lbl:repere"></text>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,26 @@
<svg viewBox="0 0 140 110" xmlns="http://www.w3.org/2000/svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:etm="https://etm-powersync.fr/ns/schema">
<!-- GABARIT BLOC ETM : viewBox = corps + pattes(8px). Pastilles au bord, corps en retrait. -->
<!-- type du composant a renseigner : -->
<metadata><etm:component type="" fabricant="" ref="" commande=""/></metadata>
<!-- CORPS (insere de 8px sur les bords a ports) -->
<rect x="8" y="8" width="124" height="94" rx="6" fill="#fff" stroke="#31a3dd" stroke-width="1.6"/>
<text x="70" y="58" text-anchor="middle" font-family="'IBM Plex Mono',monospace" font-size="11" font-weight="700" fill="#0d2b3b">BLOC</text>
<!-- PORTS PUISSANCE haut/bas, entraxe DC 34px (centre 70 -> 53 / 87) -->
<line x1="36" y1="8" x2="36" y2="0" stroke="#0d2b3b" stroke-width="1.2"/><circle cx="36" cy="0" r="2.6" fill="#0d2b3b" inkscape:label="term:IN1"/>
<line x1="104" y1="8" x2="104" y2="0" stroke="#0d2b3b" stroke-width="1.2"/><circle cx="104" cy="0" r="2.6" fill="#0d2b3b" inkscape:label="term:IN2"/>
<line x1="70" y1="102" x2="70" y2="110" stroke="#0d2b3b" stroke-width="1.2"/><circle cx="70" cy="110" r="2.6" fill="#0d2b3b" inkscape:label="term:OUT"/>
<!-- PORT COMMS exemple a gauche (couleur = type de signal) -->
<line x1="8" y1="40" x2="0" y2="40" stroke="#e69500" stroke-width="1.2"/><circle cx="0" cy="40" r="2.6" fill="#e69500" inkscape:label="term:BUS"/>
<!-- PORT PE exemple a droite -->
<line x1="132" y1="80" x2="140" y2="80" stroke="#00ff00" stroke-width="1.2"/><circle cx="140" cy="80" r="2.6" fill="#00ff00" inkscape:label="term:PE"/>
<!-- ZONES TEXTE injectables -->
<text x="130" y="20" text-anchor="end" font-family="'IBM Plex Mono',monospace" font-size="8" font-weight="700" fill="#0d2b3b" inkscape:label="lbl:repere"></text>
<text x="70" y="76" text-anchor="middle" font-family="'IBM Plex Mono',monospace" font-size="8" fill="#31a3dd" inkscape:label="lbl:puissance"></text>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,316 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 140 160"
version="1.1"
id="svg32"
sodipodi:docname="symbol-2string-pv.svg"
width="140"
height="160"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:etm="https://etm-powersync.fr/ns/schema">
<defs
id="defs36" />
<sodipodi:namedview
id="namedview34"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="2.1454545"
inkscape:cx="14.915254"
inkscape:cy="180.14831"
inkscape:window-width="1920"
inkscape:window-height="1172"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg32" />
<!-- GABARIT BLOC ETM : viewBox = corps + pattes(8px). Pastilles au bord, corps en retrait. -->
<!-- type du composant a renseigner : -->
<metadata
id="metadata2">
<etm:component
type=""
fabricant=""
ref=""
commande="" />
</metadata>
<!-- CORPS (insere de 8px sur les bords a ports) -->
<!-- PORTS PUISSANCE haut/bas, entraxe DC 34px (centre 70 -> 53 / 87) -->
<line
x1="36"
y1="160"
x2="36"
y2="152"
stroke="#0d2b3b"
stroke-width="1.2"
id="line8" />
<circle
cx="36"
cy="160"
r="2.5999999"
fill="#0d2b3b"
inkscape:label="term:DC1"
id="circle10" />
<line
x1="104"
y1="160"
x2="104"
y2="152"
stroke="#0d2b3b"
stroke-width="1.2"
id="line12" />
<circle
cx="104"
cy="160"
r="2.5999999"
fill="#0d2b3b"
inkscape:label="term:DC2"
id="circle14" />
<!-- PORT COMMS exemple a gauche (couleur = type de signal) -->
<!-- PORT PE exemple a droite -->
<line
x1="43.069881"
y1="130.2838"
x2="138.77582"
y2="130.2838"
stroke="#00ff00"
stroke-width="3.86534"
id="line24-6"
style="stroke-width:1.61068;stroke-dasharray:none" />
<line
x1="43.471207"
y1="131.06985"
x2="43.689819"
y2="103.43755"
stroke="#00ff00"
stroke-width="3.86534"
id="line24-6-7"
style="stroke-width:0.875911;stroke-dasharray:none" />
<line
x1="110.70627"
y1="130.16641"
x2="110.92506"
y2="103.11748"
stroke="#00ff00"
stroke-width="3.86534"
id="line24-6-7-5"
style="stroke-width:0.866962;stroke-dasharray:none" />
<circle
cx="140"
cy="130"
r="2.5999999"
fill="#00ff00"
inkscape:label="term:PE"
id="circle26" />
<!-- ZONES TEXTE injectables -->
<text
x="130"
y="20"
text-anchor="end"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
font-weight="700"
fill="#0d2b3b"
inkscape:label="lbl:repere"
id="text28" />
<text
x="70"
y="76"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
inkscape:label="lbl:puissance"
id="text30" />
<rect
x="23.935661"
y="4.9577065"
width="24.025883"
height="39.523567"
rx="1.0920855"
fill="#eaf4fb"
stroke="#31a3dd"
stroke-width="1.27551"
id="rect935" />
<line
x1="35.992504"
y1="12.837696"
x2="47.950996"
y2="5.0361366"
stroke="#31a3dd"
stroke-width="0.285572"
id="line937" />
<line
x1="36.031864"
y1="12.825191"
x2="23.982849"
y2="5.2226372"
stroke="#31a3dd"
stroke-width="0.300023"
id="line937-3"
inkscape:transform-center-x="-10.028381"
inkscape:transform-center-y="-0.51996349" />
<line
x1="35.997913"
y1="46.419022"
x2="35.997913"
y2="60.419018"
stroke="#0d2b3b"
stroke-width="1.6"
id="line939"
style="fill:#808080;stroke:#808080" />
<rect
x="24.205307"
y="63.702145"
width="24.025883"
height="39.523567"
rx="1.0920855"
fill="#eaf4fb"
stroke="#31a3dd"
stroke-width="1.27551"
id="rect935-6" />
<line
x1="36.26215"
y1="71.582138"
x2="48.220634"
y2="63.780598"
stroke="#31a3dd"
stroke-width="0.285572"
id="line937-0" />
<line
x1="36.30151"
y1="71.569656"
x2="24.252495"
y2="63.967106"
stroke="#31a3dd"
stroke-width="0.300023"
id="line937-3-6"
inkscape:transform-center-x="-10.028381"
inkscape:transform-center-y="-0.51996349" />
<text
x="9.5170984"
y="13.244488"
text-anchor="middle"
font-family="'IBM Plex Sans', system-ui, sans-serif"
font-size="11px"
font-weight="600"
fill="#0d2b3b"
id="text953-2-6">P1.1</text>
<text
x="10.635415"
y="71.419952"
text-anchor="middle"
font-family="'IBM Plex Sans', system-ui, sans-serif"
font-size="11px"
font-weight="600"
fill="#0d2b3b"
id="text953-2-6-1">P1.X</text>
<line
x1="35.992336"
y1="102.81201"
x2="35.992336"
y2="155.66428"
stroke="#0d2b3b"
stroke-width="1.33643"
id="line12-3-7-3" />
<rect
x="90.781059"
y="4.39571"
width="24.025883"
height="39.523567"
rx="1.0920855"
fill="#eaf4fb"
stroke="#31a3dd"
stroke-width="1.27551"
id="rect935-9" />
<line
x1="102.83789"
y1="12.275707"
x2="114.79639"
y2="4.4741402"
stroke="#31a3dd"
stroke-width="0.285572"
id="line937-2" />
<line
x1="102.87726"
y1="12.26321"
x2="90.828255"
y2="4.660656"
stroke="#31a3dd"
stroke-width="0.300023"
id="line937-3-2"
inkscape:transform-center-x="-10.028381"
inkscape:transform-center-y="-0.51996349" />
<line
x1="102.84331"
y1="45.857033"
x2="102.84331"
y2="59.857033"
stroke="#0d2b3b"
stroke-width="1.6"
id="line939-8"
style="fill:#808080;stroke:#808080" />
<rect
x="91.050705"
y="63.140167"
width="24.025883"
height="39.523567"
rx="1.0920855"
fill="#eaf4fb"
stroke="#31a3dd"
stroke-width="1.27551"
id="rect935-6-9" />
<line
x1="103.10754"
y1="71.020142"
x2="115.06603"
y2="63.218597"
stroke="#31a3dd"
stroke-width="0.285572"
id="line937-0-7" />
<line
x1="103.14691"
y1="71.00766"
x2="91.0979"
y2="63.405121"
stroke="#31a3dd"
stroke-width="0.300023"
id="line937-3-6-3"
inkscape:transform-center-x="-10.028381"
inkscape:transform-center-y="-0.51996349" />
<text
x="76.362495"
y="12.682507"
text-anchor="middle"
font-family="'IBM Plex Sans', system-ui, sans-serif"
font-size="11px"
font-weight="600"
fill="#0d2b3b"
id="text953-2-6-12">P2.1</text>
<text
x="77.480789"
y="70.857971"
text-anchor="middle"
font-family="'IBM Plex Sans', system-ui, sans-serif"
font-size="11px"
font-weight="600"
fill="#0d2b3b"
id="text953-2-6-1-9">P2.X</text>
<line
x1="103.99202"
y1="102.05568"
x2="103.99202"
y2="154.90794"
stroke="#0d2b3b"
stroke-width="1.33643"
id="line12-3-7-3-9" />
</svg>

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@ -0,0 +1,149 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 140 110"
version="1.1"
id="svg2744"
sodipodi:docname="symbol-bloc-batterie.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:etm="https://etm-powersync.fr/ns/schema">
<defs
id="defs2748" />
<sodipodi:namedview
id="namedview2746"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="3.0341309"
inkscape:cx="42.18671"
inkscape:cy="-18.291894"
inkscape:window-width="1920"
inkscape:window-height="1172"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg2744" />
<!-- GABARIT BLOC ETM : viewBox = corps + pattes(8px). Pastilles au bord, corps en retrait. -->
<!-- type du composant a renseigner : -->
<metadata
id="metadata2714">
<etm:component
type=""
fabricant=""
ref=""
commande="" />
</metadata>
<!-- CORPS (insere de 8px sur les bords a ports) -->
<rect
x="8"
y="8"
width="124"
height="94"
rx="6"
fill="#fff"
stroke="#31a3dd"
stroke-width="1.6"
id="rect2716" />
<!-- PORTS PUISSANCE haut/bas, entraxe DC 34px (centre 70 -> 53 / 87) -->
<line
x1="69.533897"
y1="8"
x2="69.533897"
y2="0"
stroke="#0d2b3b"
stroke-width="1.2"
id="line2720" />
<circle
cx="69.533897"
cy="0"
r="2.5999999"
fill="#0d2b3b"
inkscape:label="term:DC_IN"
id="circle2722" />
<line
x1="70"
y1="102"
x2="70"
y2="110"
stroke="#0d2b3b"
stroke-width="1.2"
id="line2728" />
<circle
cx="70"
cy="110"
r="2.6"
fill="#0d2b3b"
inkscape:label="term:DC_OUT"
id="circle2730" />
<!-- PORT COMMS exemple a gauche (couleur = type de signal) -->
<line
x1="8"
y1="40"
x2="0"
y2="40"
stroke="#e69500"
stroke-width="1.2"
id="line2732"
style="stroke:#31a3dd;stroke-opacity:1;fill:#31a3dd;fill-opacity:1" />
<circle
cx="0"
cy="40"
r="2.6"
fill="#e69500"
inkscape:label="term:COM"
id="circle2734"
style="stroke:#31a3dd;stroke-opacity:1;fill:#31a3dd;fill-opacity:1" />
<!-- PORT PE exemple a droite -->
<!-- ZONES TEXTE injectables -->
<text
x="130"
y="20"
text-anchor="end"
font-family="'IBM Plex Mono',monospace"
font-size="8"
font-weight="700"
fill="#0d2b3b"
inkscape:label="lbl:repere"
id="text2740" />
<text
x="70"
y="76"
text-anchor="middle"
font-family="'IBM Plex Mono',monospace"
font-size="8"
fill="#31a3dd"
inkscape:label="lbl:puissance"
id="text2742" />
<text
x="10.318336"
y="42.123268"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189-3-9-6-8">CAN_BAT</text>
<text
x="62.062622"
y="16.526825"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189-3-5-1-7">BAT</text>
<text
x="62.062622"
y="98.526817"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189-3-5-1-7-9">BAT</text>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -0,0 +1,185 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 140 110"
version="1.1"
id="svg32"
sodipodi:docname="symbol-bms.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:etm="https://etm-powersync.fr/ns/schema">
<defs
id="defs36" />
<sodipodi:namedview
id="namedview34"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="2.1454545"
inkscape:cx="77.838983"
inkscape:cy="49.173729"
inkscape:window-width="1920"
inkscape:window-height="1172"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg32" />
<!-- GABARIT BLOC ETM : viewBox = corps + pattes(8px). Pastilles au bord, corps en retrait. -->
<!-- type du composant a renseigner : -->
<metadata
id="metadata2">
<etm:component
type=""
fabricant=""
ref=""
commande="" />
</metadata>
<!-- CORPS (insere de 8px sur les bords a ports) -->
<rect
x="8"
y="8"
width="124"
height="94"
rx="6"
fill="#fff"
stroke="#31a3dd"
stroke-width="1.6"
id="rect4" />
<!-- PORTS PUISSANCE haut/bas, entraxe DC 34px (centre 70 -> 53 / 87) -->
<line
x1="70"
y1="102"
x2="70"
y2="110"
stroke="#0d2b3b"
stroke-width="1.2"
id="line16" />
<circle
cx="70"
cy="110"
r="2.6"
fill="#0d2b3b"
inkscape:label="term:DC_BAT"
id="circle18" />
<!-- PORT COMMS exemple a gauche (couleur = type de signal) -->
<!-- PORT PE exemple a droite -->
<line
x1="132"
y1="80"
x2="140"
y2="80"
stroke="#00ff00"
stroke-width="1.2"
id="line24"
style="stroke:#31a3dd;stroke-opacity:1" />
<circle
cx="140"
cy="80"
r="2.6"
fill="#00ff00"
inkscape:label="term:BMS"
id="circle26"
style="stroke:#31a3dd;stroke-opacity:1;fill:#31a3dd;fill-opacity:1" />
<!-- ZONES TEXTE injectables -->
<text
x="130"
y="20"
text-anchor="end"
font-family="'IBM Plex Mono',monospace"
font-size="8"
font-weight="700"
fill="#0d2b3b"
inkscape:label="lbl:repere"
id="text28" />
<text
x="70"
y="76"
text-anchor="middle"
font-family="'IBM Plex Mono',monospace"
font-size="8"
fill="#31a3dd"
inkscape:label="lbl:puissance"
id="text30" />
<text
x="68.327126"
y="57.937286"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="13px"
font-weight="700"
fill="#0d2b3b"
id="text2857">BMS</text>
<line
x1="-0.065200806"
y1="80.199104"
x2="7.9347992"
y2="80.199104"
stroke="#00ff00"
stroke-width="1.2"
id="line24-5-6"
style="fill:#31a3dd;fill-opacity:1;stroke:#31a3dd;stroke-opacity:1" />
<circle
cx="-0.022323608"
cy="80.00795"
r="2.5999999"
fill="#00ff00"
inkscape:label="term:COM"
id="circle26-6-2"
style="fill:#31a3dd;fill-opacity:1;stroke:#31a3dd;stroke-opacity:1" />
<line
x1="139.84174"
y1="40.175385"
x2="131.84174"
y2="40.175385"
stroke="#e69500"
stroke-width="1.2"
id="line20-7-3"
style="fill:#1a1a1a;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
<circle
cx="139.88461"
cy="39.984226"
r="2.5999999"
fill="#e69500"
inkscape:label="term:DC_INV"
id="circle22-3-6"
style="fill:#1a1a1a;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
<text
x="115.99464"
y="42.925819"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189-0">INV</text>
<text
x="115.46169"
y="83.165733"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189-3-9">BMS</text>
<text
x="11.125371"
y="82.626358"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189-3-9-6">CAN_BAT</text>
<text
x="63.104218"
y="98.793457"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189-3-5-1">BAT</text>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -0,0 +1,38 @@
<?xml version='1.0' encoding='utf-8'?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:ns1="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:ns3="https://etm-powersync.fr/ns/schema" viewBox="0 0 140 110" version="1.1" id="svg32" ns1:docname="symbol-cof-ac.svg" inkscape:version="1.2.2 (b0a8486541, 2022-12-01)">
<defs id="defs36" />
<ns1:namedview id="namedview34" pagecolor="#ffffff" bordercolor="#000000" borderopacity="0.25" inkscape:showpageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" showgrid="false" inkscape:zoom="4.2909091" inkscape:cx="56.864407" inkscape:cy="46.959746" inkscape:window-width="1920" inkscape:window-height="1172" inkscape:window-x="1920" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="svg32" />
<metadata id="metadata2">
<ns3:component type="" fabricant="" ref="" commande="" />
</metadata>
<rect x="8" y="8" width="124" height="94" rx="6" fill="#fff" stroke="#31a3dd" stroke-width="1.6" id="rect4" />
<line x1="36" y1="8" x2="36" y2="0" stroke="#0d2b3b" stroke-width="1.2" id="line8" />
<circle cx="36" cy="0" r="2.6" fill="#0d2b3b" inkscape:label="term:AC_IN" id="circle10" />
<line x1="36" y1="102" x2="36" y2="110" stroke="#0d2b3b" stroke-width="1.2" id="line16" />
<circle cx="36" cy="110" r="2.5999999" fill="#0d2b3b" inkscape:label="term:AC_OUT" id="circle18" />
<text x="130" y="20" text-anchor="end" font-family="'IBM Plex Mono',monospace" font-size="8" font-weight="700" fill="#0d2b3b" inkscape:label="lbl:repere" id="text28" />
<text x="70" y="76" text-anchor="middle" font-family="'IBM Plex Mono',monospace" font-size="8" fill="#31a3dd" inkscape:label="lbl:puissance" id="text30" />
<text x="24.844589" y="49.481934" text-anchor="middle" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11px" font-weight="600" fill="#0d2b3b" id="text953-8-0" style="font-size:8px">ID</text>
<line x1="36.173653" y1="53.94046" x2="36.173653" y2="103.40764" stroke="#0d2b3b" stroke-width="1.29292" id="line12-6-5" />
<line x1="47.003571" y1="50.206635" x2="47.003571" y2="59.271301" stroke="#0d2b3b" stroke-width="0.553464" id="line12-6-5-6" style="fill:#808080;stroke:#808080" />
<line x1="39.006302" y1="50.559113" x2="47.285812" y2="50.437897" stroke="#0d2b3b" stroke-width="0.534531" id="line12-6-5-6-9" style="fill:#808080;stroke:#808080" />
<line x1="39.291496" y1="59.064575" x2="47.06839" y2="58.942993" stroke="#0d2b3b" stroke-width="0.518881" id="line12-6-5-6-9-3" style="fill:#808080;stroke:#808080" />
<line x1="36.000179" y1="7.0298834" x2="36.000179" y2="44.831795" stroke="#0d2b3b" stroke-width="1.13024" id="line12-6-5-5" />
<line x1="35.809227" y1="53.958466" x2="43.809227" y2="45.958496" stroke="#0d2b3b" stroke-width="1.4" id="line14-5-5" />
<ellipse style="fill:none;stroke:#666666;stroke-width:0.747547" id="path2363" cx="36.193787" cy="59.170288" rx="3.2839651" ry="1.8303605" />
<circle cx="82.591583" cy="110.22798" r="2.5999999" fill="#00ff00" id="circle951-7-2" style="fill:#00ff00" inkscape:label="term:PE" />
<text x="89.645035" y="99.31337" text-anchor="middle" font-family="'IBM Plex Sans', system-ui, sans-serif" font-size="11px" font-weight="600" fill="#0d2b3b" id="text953-8-0-3" style="font-size:8px;fill:#00ff00">PE</text>
<line x1="82.528664" y1="34.425053" x2="82.528664" y2="44.321823" stroke="#0d2b3b" stroke-width="0.578309" id="line12-3-7-2-5-3" />
<line x1="82.587486" y1="58.23114" x2="82.587486" y2="110.09793" stroke="#0d2b3b" stroke-width="1.32391" id="line12-3-7-2-5-5-7" style="fill:#00ff00;stroke:#00ff00" />
<line x1="36.347816" y1="34.154015" x2="82.775223" y2="34.161026" stroke="#0d2b3b" stroke-width="1.10137" id="line12-3-7-2-5-5-2" />
<line x1="82.571991" y1="53.134613" x2="82.571991" y2="58.361969" stroke="#0d2b3b" stroke-width="0.420296" id="line12-3-7-2-5-3-6" />
<rect style="fill:none;stroke:#000000" id="rect586" width="7.7302351" height="14.172098" x="78.629356" y="38.928558" rx="1.0920855" />
<path ns1:type="star" style="fill:#000000;stroke:#000000" id="path694" inkscape:flatsided="false" ns1:sides="3" ns1:cx="103.0698" ns1:cy="22.160007" ns1:r1="3.0049753" ns1:r2="1.5024877" ns1:arg1="-0.5404195" ns1:arg2="0.50677805" inkscape:rounded="0" inkscape:randomized="0" d="m 105.64655,20.61396 -1.2631,2.275299 -1.26311,2.275299 -1.33891,-2.231527 -1.33892,-2.231527 2.60202,-0.04377 z" inkscape:transform-center-x="0.019434162" inkscape:transform-center-y="0.61235248" transform="matrix(0.76902329,0,0,0.83969992,3.28803,23.504273)" />
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -0,0 +1,340 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 140 110"
version="1.1"
id="svg32"
sodipodi:docname="symbol-cof-dc.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:etm="https://etm-powersync.fr/ns/schema">
<defs
id="defs36" />
<sodipodi:namedview
id="namedview34"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="4.2909091"
inkscape:cx="97.182203"
inkscape:cy="80.286017"
inkscape:window-width="1920"
inkscape:window-height="1172"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg32" />
<!-- GABARIT BLOC ETM : viewBox = corps + pattes(8px). Pastilles au bord, corps en retrait. -->
<!-- type du composant a renseigner : -->
<metadata
id="metadata2">
<etm:component
type=""
fabricant=""
ref=""
commande="" />
</metadata>
<!-- CORPS (insere de 8px sur les bords a ports) -->
<rect
x="8"
y="8"
width="124"
height="94"
rx="6"
fill="#fff"
stroke="#31a3dd"
stroke-width="1.6"
id="rect4" />
<!-- PORTS PUISSANCE haut/bas, entraxe DC 34px (centre 70 -> 53 / 87) -->
<line
x1="36"
y1="8"
x2="36"
y2="0"
stroke="#0d2b3b"
stroke-width="1.2"
id="line8" />
<circle
cx="36"
cy="0"
r="2.6"
fill="#0d2b3b"
inkscape:label="term:IN1"
id="circle10" />
<line
x1="104"
y1="8"
x2="104"
y2="0"
stroke="#0d2b3b"
stroke-width="1.2"
id="line12" />
<circle
cx="104"
cy="0"
r="2.6"
fill="#0d2b3b"
inkscape:label="term:IN2"
id="circle14" />
<line
x1="36.006908"
y1="110.49754"
x2="36.006908"
y2="102.49754"
stroke="#0d2b3b"
stroke-width="1.2"
id="line8-3" />
<circle
cx="36.089302"
cy="110.08556"
r="2.5999999"
fill="#0d2b3b"
inkscape:label="term:OUT1"
id="circle10-6" />
<line
x1="104.0069"
y1="110.49754"
x2="104.0069"
y2="102.49754"
stroke="#0d2b3b"
stroke-width="1.2"
id="line12-7" />
<circle
cx="104.08929"
cy="110.08556"
r="2.5999999"
fill="#0d2b3b"
inkscape:label="term:OUT2"
id="circle14-5" />
<!-- PORT COMMS exemple a gauche (couleur = type de signal) -->
<!-- PORT PE exemple a droite -->
<circle
cx="68.480347"
cy="110.22516"
r="2.5999999"
fill="#00ff00"
inkscape:label="term:PE"
id="circle26" />
<!-- ZONES TEXTE injectables -->
<text
x="130"
y="20"
text-anchor="end"
font-family="'IBM Plex Mono',monospace"
font-size="8"
font-weight="700"
fill="#0d2b3b"
inkscape:label="lbl:repere"
id="text28" />
<text
x="70"
y="76"
text-anchor="middle"
font-family="'IBM Plex Mono',monospace"
font-size="8"
fill="#31a3dd"
inkscape:label="lbl:puissance"
id="text30" />
<text
x="28.849693"
y="50.607208"
text-anchor="middle"
font-family="'IBM Plex Sans', system-ui, sans-serif"
font-size="11px"
font-weight="600"
fill="#0d2b3b"
id="text953-8"
style="font-size:8px">S1</text>
<text
x="74.719376"
y="64.26651"
text-anchor="middle"
font-family="'IBM Plex Sans', system-ui, sans-serif"
font-size="11px"
font-weight="600"
fill="#0d2b3b"
id="text953-8-0"
style="font-size:8px;fill:#00ff00">PE</text>
<line
x1="36.01115"
y1="53.800568"
x2="36.01115"
y2="103.54634"
stroke="#0d2b3b"
stroke-width="1.29656"
id="line12-6" />
<line
x1="35.990818"
y1="6.8359389"
x2="35.990818"
y2="44.254898"
stroke="#0d2b3b"
stroke-width="1.1245"
id="line12-3-7" />
<line
x1="35.894535"
y1="54.390465"
x2="43.894543"
y2="46.39048"
stroke="#0d2b3b"
stroke-width="1.4"
id="line14-5" />
<text
x="95.790146"
y="49.97374"
text-anchor="middle"
font-family="'IBM Plex Sans', system-ui, sans-serif"
font-size="11px"
font-weight="600"
fill="#0d2b3b"
id="text953-8-2"
style="font-size:8px">S2</text>
<line
x1="103.99496"
y1="53.266544"
x2="103.99496"
y2="102.78579"
stroke="#0d2b3b"
stroke-width="1.2936"
id="line12-6-0" />
<line
x1="103.996"
y1="6.2959352"
x2="103.996"
y2="43.621445"
stroke="#0d2b3b"
stroke-width="1.12309"
id="line12-3-7-2" />
<line
x1="79.197441"
y1="33.578812"
x2="79.197441"
y2="42.702545"
stroke="#0d2b3b"
stroke-width="0.555264"
id="line12-3-7-2-5" />
<line
x1="58.990715"
y1="33.403625"
x2="58.990715"
y2="43.300385"
stroke="#0d2b3b"
stroke-width="0.578309"
id="line12-3-7-2-5-3" />
<line
x1="79.240776"
y1="52.095108"
x2="79.240776"
y2="57.289299"
stroke="#0d2b3b"
stroke-width="0.41896"
id="line12-3-7-2-5-5" />
<line
x1="68.346855"
y1="57.209702"
x2="68.346855"
y2="108.41426"
stroke="#0d2b3b"
stroke-width="1.31543"
id="line12-3-7-2-5-5-7"
style="fill:#00ff00;stroke:#00ff00" />
<line
x1="58.865257"
y1="57.132545"
x2="79.456261"
y2="57.13961"
stroke="#0d2b3b"
stroke-width="0.736638"
id="line12-3-7-2-5-5-2" />
<line
x1="79.033531"
y1="33.965267"
x2="104.49835"
y2="33.972324"
stroke="#0d2b3b"
stroke-width="0.818238"
id="line12-3-7-2-5-5-2-9" />
<line
x1="36.387604"
y1="33.845211"
x2="59.272324"
y2="33.852268"
stroke="#0d2b3b"
stroke-width="0.776008"
id="line12-3-7-2-5-5-2-9-1" />
<line
x1="59.03405"
y1="52.113174"
x2="59.03405"
y2="57.34053"
stroke="#0d2b3b"
stroke-width="0.420296"
id="line12-3-7-2-5-3-6" />
<line
x1="103.9028"
y1="53.873505"
x2="111.9028"
y2="45.87355"
stroke="#0d2b3b"
stroke-width="1.4"
id="line14-5-3" />
<rect
style="fill:none;stroke:#000000"
id="rect586"
width="7.7302351"
height="14.172098"
x="55.091408"
y="37.90712"
rx="1.0920855" />
<path
sodipodi:type="star"
style="fill:#000000;stroke:#000000"
id="path694"
inkscape:flatsided="false"
sodipodi:sides="3"
sodipodi:cx="103.0698"
sodipodi:cy="22.160007"
sodipodi:r1="3.0049753"
sodipodi:r2="1.5024877"
sodipodi:arg1="-0.5404195"
sodipodi:arg2="0.50677805"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 105.64655,20.61396 -1.2631,2.275299 -1.26311,2.275299 -1.33891,-2.231527 -1.33892,-2.231527 2.60202,-0.04377 z"
inkscape:transform-center-x="0.019434162"
inkscape:transform-center-y="0.61235248"
transform="matrix(0.76902329,0,0,0.83969992,-20.249914,22.482835)" />
<rect
style="fill:none;stroke:#000000"
id="rect586-6"
width="7.7302351"
height="14.172098"
x="75.214195"
y="37.904091"
rx="1.0920855" />
<path
sodipodi:type="star"
style="fill:#000000;stroke:#000000"
id="path694-7"
inkscape:flatsided="false"
sodipodi:sides="3"
sodipodi:cx="103.0698"
sodipodi:cy="22.160007"
sodipodi:r1="3.0049753"
sodipodi:r2="1.5024877"
sodipodi:arg1="-0.5404195"
sodipodi:arg2="0.50677805"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 105.64655,20.61396 -1.2631,2.275299 -1.26311,2.275299 -1.33891,-2.231527 -1.33892,-2.231527 2.60202,-0.04377 z"
inkscape:transform-center-x="0.019434162"
inkscape:transform-center-y="0.61235248"
transform="matrix(0.76902329,0,0,0.83969992,-0.12712356,22.479809)" />
</svg>

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@ -0,0 +1,378 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 140 110"
version="1.1"
id="svg5344"
sodipodi:docname="symbol-cof_backup.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:etm="https://etm-powersync.fr/ns/schema">
<defs
id="defs5348" />
<sodipodi:namedview
id="namedview5346"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
showguides="true"
inkscape:zoom="4.2909091"
inkscape:cx="105.33898"
inkscape:cy="79.819915"
inkscape:window-width="1920"
inkscape:window-height="1172"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg5344" />
<!-- GABARIT BLOC ETM : viewBox = corps + pattes(8px). Pastilles au bord, corps en retrait. -->
<!-- type du composant a renseigner : -->
<metadata
id="metadata5314">
<etm:component
type=""
fabricant=""
ref=""
commande="" />
</metadata>
<!-- CORPS (insere de 8px sur les bords a ports) -->
<rect
x="8"
y="8"
width="124"
height="94"
rx="6"
fill="#fff"
stroke="#31a3dd"
stroke-width="1.6"
id="rect5316" />
<!-- PORTS PUISSANCE haut/bas, entraxe DC 34px (centre 70 -> 53 / 87) -->
<line
x1="36"
y1="110"
x2="36"
y2="102"
stroke="#0d2b3b"
stroke-width="1.2"
id="line5320" />
<circle
cx="36"
cy="110"
r="2.5999999"
fill="#0d2b3b"
inkscape:label="term:OND"
id="circle5322" />
<line
x1="104"
y1="8"
x2="104"
y2="0"
stroke="#0d2b3b"
stroke-width="1.2"
id="line5324" />
<circle
cx="104"
cy="0"
r="2.6"
fill="#0d2b3b"
inkscape:label="term:RESEAU"
id="circle5326" />
<line
x1="68.03653"
y1="109.46479"
x2="68.03653"
y2="101.46479"
stroke="#0d2b3b"
stroke-width="1.2"
id="line5320-9" />
<circle
cx="68.03653"
cy="109.87263"
r="2.5999999"
fill="#0d2b3b"
inkscape:label="term:SECOURU"
id="circle5322-3" />
<line
x1="104.03654"
y1="109.46479"
x2="104.03654"
y2="101.46479"
stroke="#0d2b3b"
stroke-width="1.2"
id="line5324-6" />
<circle
cx="104.07774"
cy="109.87677"
r="2.5999999"
fill="#0d2b3b"
inkscape:label="term:CONSO"
id="circle5326-0" />
<!-- PORT COMMS exemple a gauche (couleur = type de signal) -->
<!-- PORT PE exemple a droite -->
<line
x1="132"
y1="80"
x2="140"
y2="80"
stroke="#00ff00"
stroke-width="1.2"
id="line5336" />
<circle
cx="140"
cy="80"
r="2.6"
fill="#00ff00"
inkscape:label="term:PE"
id="circle5338" />
<!-- ZONES TEXTE injectables -->
<text
x="130"
y="20"
text-anchor="end"
font-family="'IBM Plex Mono',monospace"
font-size="8"
font-weight="700"
fill="#0d2b3b"
inkscape:label="lbl:repere"
id="text5340" />
<text
x="70"
y="76"
text-anchor="middle"
font-family="'IBM Plex Mono',monospace"
font-size="8"
fill="#31a3dd"
inkscape:label="lbl:puissance"
id="text5342" />
<line
x1="35.777946"
y1="52.318718"
x2="35.777946"
y2="63.370293"
stroke="#0d2b3b"
stroke-width="0.611117"
id="line12" />
<line
x1="59.575001"
y1="52.90337"
x2="35.522804"
y2="52.738972"
stroke="#0d2b3b"
stroke-width="0.881581"
id="line12-9" />
<line
x1="104.13062"
y1="52.848202"
x2="76.06131"
y2="52.684933"
stroke="#0d2b3b"
stroke-width="0.949097"
id="line12-9-9" />
<line
x1="104.00681"
y1="7.1981153"
x2="104.00681"
y2="53.293148"
stroke="#0d2b3b"
stroke-width="1.24808"
id="line12-3-2" />
<line
x1="104.02808"
y1="51.226917"
x2="104.02808"
y2="102.02263"
stroke="#0d2b3b"
stroke-width="1.31017"
id="line12-3-2-6" />
<line
x1="67.953384"
y1="70.933411"
x2="67.953384"
y2="102.57931"
stroke="#0d2b3b"
stroke-width="1.03413"
id="line12-3-2-6-2" />
<line
x1="36.626202"
y1="73.671509"
x2="28.646231"
y2="65.65152"
stroke="#0d2b3b"
stroke-width="1.4"
id="line14" />
<ellipse
cx="35.64941"
cy="63.775375"
fill="#0d2b3b"
id="circle16-3"
rx="0.66491354"
ry="0.61659968"
style="fill:none;stroke:#000000;stroke-width:0.24627" />
<ellipse
cx="59.330254"
cy="63.771133"
fill="#0d2b3b"
id="circle16-3-5"
rx="0.66491354"
ry="0.61659968"
style="fill:none;stroke:#000000;stroke-width:0.24627" />
<ellipse
cx="67.793823"
cy="59.213326"
fill="#0d2b3b"
id="circle16-3-5-0"
rx="0.66491354"
ry="0.61659968"
style="fill:none;stroke:#000000;stroke-width:0.24627" />
<ellipse
cx="76.342804"
cy="63.551529"
fill="#0d2b3b"
id="circle16-3-5-0-3"
rx="0.66491354"
ry="0.61659968"
style="fill:none;stroke:#000000;stroke-width:0.24627" />
<text
xml:space="preserve"
style="font-size:8px;fill:#000000"
x="17.409943"
y="73.195076"
id="text1088"><tspan
sodipodi:role="line"
id="tspan1086"
x="17.409943"
y="73.195076">D1</tspan></text>
<text
xml:space="preserve"
style="font-size:4px;fill:#000000"
x="66.447807"
y="51.343613"
id="text1088-31"><tspan
sodipodi:role="line"
id="tspan1086-9"
x="66.447807"
y="51.343613">0</tspan></text>
<text
xml:space="preserve"
style="font-size:4px;fill:#000000"
x="58.810875"
y="51.528084"
id="text1088-31-4"><tspan
sodipodi:role="line"
id="tspan1086-9-7"
x="58.810875"
y="51.528084">1</tspan></text>
<text
xml:space="preserve"
style="font-size:4px;fill:#000000"
x="74.810875"
y="51.528084"
id="text1088-31-4-8"><tspan
sodipodi:role="line"
id="tspan1086-9-7-4"
x="74.810875"
y="51.528084">2</tspan></text>
<line
x1="59.329475"
y1="52.433792"
x2="59.329475"
y2="63.243118"
stroke="#0d2b3b"
stroke-width="0.604384"
id="line12-8-6" />
<line
x1="76.350113"
y1="52.243561"
x2="76.350113"
y2="63.052887"
stroke="#0d2b3b"
stroke-width="0.604384"
id="line12-8-6-1" />
<line
x1="67.79953"
y1="54.111694"
x2="67.79953"
y2="58.726105"
stroke="#0d2b3b"
stroke-width="0.394886"
id="line12-8-6-1-2" />
<line
x1="67.864403"
y1="71.87027"
x2="58.939968"
y2="63.239975"
stroke="#0d2b3b"
stroke-width="1.53601"
id="line14-9"
inkscape:transform-center-x="-3.4286167"
inkscape:transform-center-y="0.13587755" />
<text
xml:space="preserve"
style="font-size:8px;fill:#000000"
x="50.520905"
y="72.868919"
id="text1088-7"><tspan
sodipodi:role="line"
id="tspan1086-3"
x="50.520905"
y="72.868919">S1</tspan></text>
<text
xml:space="preserve"
style="font-size:5.33333px;fill:#000000"
x="21.50209"
y="100.04961"
id="text1088-7-6-2-6"><tspan
sodipodi:role="line"
id="tspan1086-3-3-0-1"
x="21.50209"
y="100.04961"
style="font-size:5.33333px">Ond.</tspan></text>
<text
xml:space="preserve"
style="font-size:5.33333px;fill:#000000"
x="55.736374"
y="99.637642"
id="text1088-7-6-2-6-3"><tspan
sodipodi:role="line"
id="tspan1086-3-3-0-1-6"
x="55.736374"
y="99.637642"
style="font-size:5.33333px">Sec.</tspan></text>
<text
xml:space="preserve"
style="font-size:5.33333px;fill:#000000"
x="85.444"
y="99.870689"
id="text1088-7-6-2-6-3-7"><tspan
sodipodi:role="line"
id="tspan1086-3-3-0-1-6-5"
x="85.444"
y="99.870689"
style="font-size:5.33333px">Conso.</tspan></text>
<text
xml:space="preserve"
style="font-size:5.33333px;fill:#000000"
x="81.096542"
y="14.286902"
id="text1088-7-6-2-5"><tspan
sodipodi:role="line"
id="tspan1086-3-3-0-5"
x="81.096542"
y="14.286902"
style="font-size:5.33333px">RESEAU</tspan></text>
<line
x1="35.982616"
y1="73.245415"
x2="35.982616"
y2="107.83655"
stroke="#0d2b3b"
stroke-width="1.08118"
id="line12-3" />
</svg>

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@ -0,0 +1,156 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 140 110"
version="1.1"
id="svg32"
sodipodi:docname="symbol-compteur.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:etm="https://etm-powersync.fr/ns/schema">
<defs
id="defs36" />
<sodipodi:namedview
id="namedview34"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="4.2909091"
inkscape:cx="80.868644"
inkscape:cy="95.667373"
inkscape:window-width="1920"
inkscape:window-height="1172"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg32" />
<!-- GABARIT BLOC ETM : viewBox = corps + pattes(8px). Pastilles au bord, corps en retrait. -->
<!-- type du composant a renseigner : -->
<metadata
id="metadata2">
<etm:component
type=""
fabricant=""
ref=""
commande="" />
</metadata>
<!-- CORPS (insere de 8px sur les bords a ports) -->
<rect
x="8"
y="8"
width="124"
height="94"
rx="6"
fill="#fff"
stroke="#31a3dd"
stroke-width="1.6"
id="rect4" />
<line
x1="70.164825"
y1="2.2436447"
x2="70.164825"
y2="109.19703"
stroke="#0d2b3b"
stroke-width="1.68881"
id="line267" />
<circle
cx="70.164825"
cy="58.633476"
r="19"
fill="#ffffff"
stroke="#31a3dd"
stroke-width="1.6"
id="circle269" />
<text
x="70.164825"
y="62.633476"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="11px"
fill="#0d2b3b"
id="text271">kWh</text>
<line
x1="7.9190626"
y1="58.633476"
x2="50.164833"
y2="58.633476"
stroke="#31a3dd"
stroke-width="1.81991"
id="line273"
style="fill:#e69500;fill-opacity:1;stroke:#e69500;stroke-opacity:1;stroke-width:1.2;stroke-dasharray:none" />
<!-- PORTS PUISSANCE haut/bas, entraxe DC 34px (centre 70 -> 53 / 87) -->
<line
x1="70"
y1="8"
x2="70"
y2="0"
stroke="#0d2b3b"
stroke-width="1.2"
id="line12" />
<circle
cx="70"
cy="0"
r="2.5999999"
fill="#0d2b3b"
inkscape:label="term:L_IN"
id="circle14" />
<line
x1="70"
y1="102"
x2="70"
y2="110"
stroke="#0d2b3b"
stroke-width="1.2"
id="line16" />
<circle
cx="70"
cy="110"
r="2.6"
fill="#0d2b3b"
inkscape:label="term:L_OUT"
id="circle18" />
<!-- PORT COMMS exemple a gauche (couleur = type de signal) -->
<line
x1="7.9588022"
y1="58.61797"
x2="-0.041197959"
y2="58.61797"
stroke="#e69500"
stroke-width="1.2"
id="line20" />
<circle
cx="-0.041197959"
cy="58.61797"
r="2.5999999"
fill="#e69500"
inkscape:label="term:BUS"
id="circle22" />
<!-- PORT PE exemple a droite -->
<!-- ZONES TEXTE injectables -->
<text
x="130"
y="20"
text-anchor="end"
font-family="'IBM Plex Mono',monospace"
font-size="8"
font-weight="700"
fill="#0d2b3b"
inkscape:label="lbl:repere"
id="text28" />
<text
x="70"
y="76"
text-anchor="middle"
font-family="'IBM Plex Mono',monospace"
font-size="8"
fill="#31a3dd"
inkscape:label="lbl:puissance"
id="text30" />
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -0,0 +1,13 @@
<svg viewBox="0 0 420 60" xmlns="http://www.w3.org/2000/svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:etm="https://etm-powersync.fr/ns/schema">
<metadata><etm:component type="dgt"/></metadata>
<rect x="10" y="22" width="400" height="8" rx="2" fill="#00ff00" stroke="#00cc00" stroke-width="1"/>
<!-- extrémités du rail (définissent y et l'étendue x) -->
<circle cx="14" cy="26" r="2.2" fill="#00ff00" inkscape:label="term:RAIL_L"/>
<circle cx="406" cy="26" r="2.2" fill="#00ff00" inkscape:label="term:RAIL_R"/>
<!-- descente vers le piquet -->
<line x1="210" y1="30" x2="210" y2="50" stroke="#00ff00" stroke-width="1.6"/>
<circle cx="210" cy="50" r="2.6" fill="#00ff00" inkscape:label="term:TERRE"/>
<text x="210" y="18" text-anchor="middle" font-family="'IBM Plex Mono',monospace" font-size="8" font-weight="700" fill="#00aa00" inkscape:label="lbl:repere">DGT</text>
</svg>

After

Width:  |  Height:  |  Size: 933 B

View File

@ -0,0 +1,269 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 140 160"
version="1.1"
id="svg6244"
sodipodi:docname="symbol-microonduleur-2pv.svg"
width="140"
height="160"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:etm="https://etm-powersync.fr/ns/schema">
<defs
id="defs6248" />
<sodipodi:namedview
id="namedview6246"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="3.0341309"
inkscape:cx="114.69512"
inkscape:cy="124.08825"
inkscape:window-width="1920"
inkscape:window-height="1172"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg6244" />
<!-- GABARIT BLOC ETM : viewBox = corps + pattes(8px). Pastilles au bord, corps en retrait. -->
<!-- type du composant a renseigner : -->
<metadata
id="metadata6214">
<etm:component
type=""
fabricant=""
ref=""
commande="" />
</metadata>
<!-- CORPS (insere de 8px sur les bords a ports) -->
<rect
x="8.4669991"
y="9.4694681"
width="123.61208"
height="145.56183"
rx="5.9812298"
fill="#ffffff"
stroke="#31a3dd"
stroke-width="1.98792"
id="rect6216" />
<!-- PORTS PUISSANCE haut/bas, entraxe DC 34px (centre 70 -> 53 / 87) -->
<!-- PORT COMMS exemple a gauche (couleur = type de signal) -->
<!-- PORT PE exemple a droite -->
<line
x1="132.93221"
y1="144.94067"
x2="140.93221"
y2="144.94067"
stroke="#00ff00"
stroke-width="1.2"
id="line6236" />
<circle
cx="140.93221"
cy="144.94067"
r="2.5999999"
fill="#00ff00"
inkscape:label="term:PE"
id="circle6238" />
<!-- ZONES TEXTE injectables -->
<text
x="130"
y="20"
text-anchor="end"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
font-weight="700"
fill="#0d2b3b"
inkscape:label="lbl:repere"
id="text6240" />
<text
x="70"
y="76"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
inkscape:label="lbl:puissance"
id="text6242" />
<rect
x="33.102703"
y="26.281769"
width="24"
height="40"
rx="1.1"
fill="#eaf4fb"
stroke="#31a3dd"
stroke-width="1.3"
id="rect6369" />
<line
x1="45.102707"
y1="34.281769"
x2="57.102707"
y2="26.781769"
stroke="#31a3dd"
stroke-width="0.6"
id="line6371" />
<line
x1="45.102707"
y1="34.281769"
x2="33.102703"
y2="26.781769"
stroke="#31a3dd"
stroke-width="0.6"
id="line6373" />
<rect
x="82.888138"
y="26.210052"
width="24"
height="40"
rx="1.1"
fill="#eaf4fb"
stroke="#31a3dd"
stroke-width="1.3"
id="rect6369-1" />
<line
x1="94.888153"
y1="34.210052"
x2="106.88815"
y2="26.710052"
stroke="#31a3dd"
stroke-width="0.6"
id="line6371-8" />
<line
x1="94.888153"
y1="34.210052"
x2="82.888138"
y2="26.710052"
stroke="#31a3dd"
stroke-width="0.6"
id="line6373-7" />
<line
x1="71.102707"
y1="71.641937"
x2="71.102707"
y2="78.281769"
stroke="#0d2b3b"
stroke-width="1.19017"
id="line6375" />
<line
x1="44.707626"
y1="66.692795"
x2="44.707626"
y2="73.420021"
stroke="#0d2b3b"
stroke-width="1.19798"
id="line6375-9" />
<line
x1="94.707626"
y1="66.692795"
x2="94.707626"
y2="73.332626"
stroke="#0d2b3b"
stroke-width="1.19017"
id="line6375-9-2" />
<line
x1="70.674606"
y1="72.524475"
x2="45.093403"
y2="72.549675"
stroke="#0d2b3b"
stroke-width="1.74086"
id="line6375-9-2-0" />
<line
x1="95.415154"
y1="72.520943"
x2="69.833954"
y2="72.546143"
stroke="#0d2b3b"
stroke-width="1.74086"
id="line6375-9-2-0-2" />
<rect
x="49.102703"
y="78.281769"
width="44"
height="34"
rx="4"
fill="#ffffff"
stroke="#31a3dd"
stroke-width="1.6"
id="rect6377" />
<line
x1="53.102703"
y1="108.28178"
x2="89.102707"
y2="82.281769"
stroke="#31a3dd"
stroke-width="1.6"
id="line6379" />
<text
x="60.102703"
y="91.281769"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="11px"
font-weight="700"
fill="#0d2b3b"
id="text6381">=</text>
<text
x="82.102707"
y="106.28178"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="11px"
font-weight="700"
fill="#0d2b3b"
id="text6383">~</text>
<line
x1="71.102707"
y1="112.28178"
x2="71.102707"
y2="126.28177"
stroke="#0d2b3b"
stroke-width="1.6"
id="line6385" />
<line
x1="1.1814442"
y1="126.28177"
x2="138.5071"
y2="126.28177"
stroke="#0d2b3b"
stroke-width="1.69752"
id="line6387" />
<circle
cx="0.10270119"
cy="126.28177"
r="2.5999999"
fill="#0d2b3b"
id="circle6389"
inkscape:label="term:AC_IN" />
<circle
cx="140.10271"
cy="126.28177"
r="2.5999999"
fill="#0d2b3b"
id="circle6391"
inkscape:label="term:OND" />
<text
x="25.289143"
y="123.17162"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="8.5px"
fill="#31a3dd"
id="text6393">AC_IN</text>
<text
x="113.35217"
y="123.24895"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="8.5px"
fill="#31a3dd"
id="text6395">AC_OUT</text>
</svg>

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@ -0,0 +1,211 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 140 160"
version="1.1"
id="svg6244"
sodipodi:docname="symbol-microonduleur.svg"
width="140"
height="160"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:etm="https://etm-powersync.fr/ns/schema">
<defs
id="defs6248" />
<sodipodi:namedview
id="namedview6246"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="2.1454545"
inkscape:cx="37.288136"
inkscape:cy="121.41949"
inkscape:window-width="1920"
inkscape:window-height="1172"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg6244" />
<!-- GABARIT BLOC ETM : viewBox = corps + pattes(8px). Pastilles au bord, corps en retrait. -->
<!-- type du composant a renseigner : -->
<metadata
id="metadata6214">
<etm:component
type=""
fabricant=""
ref=""
commande="" />
</metadata>
<!-- CORPS (insere de 8px sur les bords a ports) -->
<rect
x="8.4669991"
y="9.4694681"
width="123.61208"
height="145.56183"
rx="5.9812298"
fill="#ffffff"
stroke="#31a3dd"
stroke-width="1.98792"
id="rect6216" />
<!-- PORTS PUISSANCE haut/bas, entraxe DC 34px (centre 70 -> 53 / 87) -->
<!-- PORT COMMS exemple a gauche (couleur = type de signal) -->
<!-- PORT PE exemple a droite -->
<line
x1="132.93221"
y1="144.94067"
x2="140.93221"
y2="144.94067"
stroke="#00ff00"
stroke-width="1.2"
id="line6236" />
<circle
cx="140.93221"
cy="144.94067"
r="2.5999999"
fill="#00ff00"
inkscape:label="term:PE"
id="circle6238" />
<!-- ZONES TEXTE injectables -->
<text
x="130"
y="20"
text-anchor="end"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
font-weight="700"
fill="#0d2b3b"
inkscape:label="lbl:repere"
id="text6240" />
<text
x="70"
y="76"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
inkscape:label="lbl:puissance"
id="text6242" />
<rect
x="59.102703"
y="26.281769"
width="24"
height="40"
rx="1.1"
fill="#eaf4fb"
stroke="#31a3dd"
stroke-width="1.3"
id="rect6369" />
<line
x1="71.102707"
y1="34.281769"
x2="83.102707"
y2="26.781769"
stroke="#31a3dd"
stroke-width="0.6"
id="line6371" />
<line
x1="71.102707"
y1="34.281769"
x2="59.102703"
y2="26.781769"
stroke="#31a3dd"
stroke-width="0.6"
id="line6373" />
<line
x1="71.102707"
y1="66.281769"
x2="71.102707"
y2="78.281769"
stroke="#0d2b3b"
stroke-width="1.6"
id="line6375" />
<rect
x="49.102703"
y="78.281769"
width="44"
height="34"
rx="4"
fill="#ffffff"
stroke="#31a3dd"
stroke-width="1.6"
id="rect6377" />
<line
x1="53.102703"
y1="108.28178"
x2="89.102707"
y2="82.281769"
stroke="#31a3dd"
stroke-width="1.6"
id="line6379" />
<text
x="60.102703"
y="91.281769"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="11px"
font-weight="700"
fill="#0d2b3b"
id="text6381">=</text>
<text
x="82.102707"
y="106.28178"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="11px"
font-weight="700"
fill="#0d2b3b"
id="text6383">~</text>
<line
x1="71.102707"
y1="112.28178"
x2="71.102707"
y2="126.28177"
stroke="#0d2b3b"
stroke-width="1.6"
id="line6385" />
<line
x1="1.1814442"
y1="126.28177"
x2="138.5071"
y2="126.28177"
stroke="#0d2b3b"
stroke-width="1.69752"
id="line6387" />
<circle
cx="0.10270119"
cy="126.28177"
r="2.5999999"
fill="#0d2b3b"
id="circle6389"
inkscape:label="term:AC_IN" />
<circle
cx="140.10271"
cy="126.28177"
r="2.5999999"
fill="#0d2b3b"
id="circle6391"
inkscape:label="term:OND" />
<text
x="25.289143"
y="123.17162"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="8.5px"
fill="#31a3dd"
id="text6393">AC_IN</text>
<text
x="113.35217"
y="123.24895"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="8.5px"
fill="#31a3dd"
id="text6395">AC_OUT</text>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@ -0,0 +1,297 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 140 110"
version="1.1"
id="svg32"
sodipodi:docname="symbol-onduleur.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:etm="https://etm-powersync.fr/ns/schema">
<defs
id="defs36" />
<sodipodi:namedview
id="namedview34"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="3.0341309"
inkscape:cx="33.287951"
inkscape:cy="90.800301"
inkscape:window-width="1920"
inkscape:window-height="1172"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg32" />
<!-- GABARIT BLOC ETM : viewBox = corps + pattes(8px). Pastilles au bord, corps en retrait. -->
<!-- type du composant a renseigner : -->
<metadata
id="metadata2">
<etm:component
type=""
fabricant=""
ref=""
commande="" />
</metadata>
<!-- CORPS (insere de 8px sur les bords a ports) -->
<rect
x="8"
y="8"
width="124"
height="94"
rx="6"
fill="#fff"
stroke="#31a3dd"
stroke-width="1.6"
id="rect4" />
<!-- PORTS PUISSANCE haut/bas, entraxe DC 34px (centre 70 -> 53 / 87) -->
<line
x1="36"
y1="8"
x2="36"
y2="0"
stroke="#0d2b3b"
stroke-width="1.2"
id="line8" />
<circle
cx="36"
cy="0"
r="2.6"
fill="#0d2b3b"
inkscape:label="term:PV1"
id="circle10" />
<line
x1="104"
y1="8"
x2="104"
y2="0"
stroke="#0d2b3b"
stroke-width="1.2"
id="line12" />
<circle
cx="104"
cy="0"
r="2.6"
fill="#0d2b3b"
inkscape:label="term:PV2"
id="circle14" />
<line
x1="70"
y1="102"
x2="70"
y2="110"
stroke="#0d2b3b"
stroke-width="1.2"
id="line16" />
<circle
cx="70"
cy="110"
r="2.6"
fill="#0d2b3b"
inkscape:label="term:OND"
id="circle18" />
<!-- PORT COMMS exemple a gauche (couleur = type de signal) -->
<line
x1="140"
y1="40"
x2="132"
y2="40"
stroke="#e69500"
stroke-width="1.2"
id="line20" />
<circle
cx="140"
cy="40"
r="2.5999999"
fill="#e69500"
inkscape:label="term:RS485"
id="circle22" />
<line
x1="139.53683"
y1="60.336311"
x2="131.53683"
y2="60.336311"
stroke="#e69500"
stroke-width="1.2"
id="line20-9"
style="fill:#00b4d8;fill-opacity:1;stroke:#00b4d8;stroke-opacity:1" />
<circle
cx="139.53683"
cy="60.336311"
r="2.5999999"
fill="#e69500"
inkscape:label="term:ETH"
id="circle22-1"
style="fill:#00b4d8;fill-opacity:1;stroke:#00b4d8;stroke-opacity:1" />
<!-- PORT PE exemple a droite -->
<line
x1="132"
y1="80"
x2="140"
y2="80"
stroke="#00ff00"
stroke-width="1.2"
id="line24" />
<line
x1="7.9851685"
y1="40.010593"
x2="-0.014831543"
y2="40.010593"
stroke="#e69500"
stroke-width="1.2"
id="line20-7"
style="stroke:#000000;stroke-opacity:1;fill:#1a1a1a;fill-opacity:1" />
<line
x1="-0.014831543"
y1="80.01059"
x2="7.9851685"
y2="80.01059"
stroke="#00ff00"
stroke-width="1.2"
id="line24-5"
style="stroke:#31a3dd;stroke-opacity:1;fill:#31a3dd;fill-opacity:1" />
<circle
cx="140"
cy="80"
r="2.6"
fill="#00ff00"
inkscape:label="term:PE"
id="circle26" />
<circle
cx="0.028060913"
cy="39.819435"
r="2.5999999"
fill="#e69500"
inkscape:label="term:BAT"
id="circle22-3"
style="stroke:#000000;stroke-opacity:1;fill:#1a1a1a;fill-opacity:1" />
<circle
cx="0.028060913"
cy="79.819435"
r="2.5999999"
fill="#00ff00"
inkscape:label="term:BMS"
id="circle26-6"
style="stroke:#31a3dd;stroke-opacity:1;fill:#31a3dd;fill-opacity:1" />
<!-- ZONES TEXTE injectables -->
<text
x="130"
y="20"
text-anchor="end"
font-family="'IBM Plex Mono',monospace"
font-size="8"
font-weight="700"
fill="#0d2b3b"
inkscape:label="lbl:repere"
id="text28" />
<text
x="70"
y="76"
text-anchor="middle"
font-family="'IBM Plex Mono',monospace"
font-size="8"
fill="#31a3dd"
inkscape:label="lbl:puissance"
id="text30" />
<text
x="10.138081"
y="42.761028"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189">BAT</text>
<text
x="104.931"
y="42.795639"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189-6"
style="fill:#e69500;fill-opacity:1">RS485</text>
<text
x="113.33852"
y="63.113434"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189-6-27"
style="fill:#00b4d8;fill-opacity:1;stroke:none;stroke-opacity:1">ETH</text>
<text
x="118.18555"
y="82.671356"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189-6-2"
style="fill:#00ff00">PE</text>
<text
x="10.670071"
y="83.004845"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189-3">BMS</text>
<text
x="55.245747"
y="98.161797"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189-3-5">AC-OUT</text>
<line
x1="12.137749"
y1="98.564148"
x2="111.21357"
y2="26.210571"
stroke="#31a3dd"
stroke-width="2.58641"
id="line1193" />
<text
x="34.601692"
y="41.135593"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="13px"
font-weight="700"
fill="#0d2b3b"
id="text1195">=</text>
<text
x="92.644066"
y="80.262711"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="13px"
font-weight="700"
fill="#0d2b3b"
id="text1197">~</text>
<text
x="37.022881"
y="16.951801"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1181">PV1</text>
<text
x="103.02288"
y="16.951801"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1183">PV2</text>
</svg>

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

@ -0,0 +1,322 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 140 110"
version="1.1"
id="svg32"
sodipodi:docname="symbol-onduleur_bckp.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:etm="https://etm-powersync.fr/ns/schema">
<defs
id="defs36" />
<sodipodi:namedview
id="namedview34"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="6.0682618"
inkscape:cx="45.647338"
inkscape:cy="74.568306"
inkscape:window-width="1920"
inkscape:window-height="1172"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg32" />
<!-- GABARIT BLOC ETM : viewBox = corps + pattes(8px). Pastilles au bord, corps en retrait. -->
<!-- type du composant a renseigner : -->
<metadata
id="metadata2">
<etm:component
type=""
fabricant=""
ref=""
commande="" />
</metadata>
<!-- CORPS (insere de 8px sur les bords a ports) -->
<rect
x="8"
y="8"
width="124"
height="94"
rx="6"
fill="#fff"
stroke="#31a3dd"
stroke-width="1.6"
id="rect4" />
<!-- PORTS PUISSANCE haut/bas, entraxe DC 34px (centre 70 -> 53 / 87) -->
<line
x1="36"
y1="9.0891018"
x2="36"
y2="0"
stroke="#0d2b3b"
stroke-width="4.84248"
id="line8"
style="stroke-width:1.5;stroke-dasharray:none" />
<circle
cx="36"
cy="0"
r="2.6"
fill="#0d2b3b"
inkscape:label="term:PV1"
id="circle10" />
<line
x1="104"
y1="7.9775534"
x2="104"
y2="0"
stroke="#0d2b3b"
stroke-width="4.68051"
id="line12"
style="stroke-width:1.5;stroke-dasharray:none" />
<circle
cx="104"
cy="0"
r="2.6"
fill="#0d2b3b"
inkscape:label="term:PV2"
id="circle14" />
<line
x1="104"
y1="102"
x2="104"
y2="110"
stroke="#0d2b3b"
stroke-width="1.2"
id="line16" />
<circle
cx="104"
cy="110"
r="2.5999999"
fill="#0d2b3b"
inkscape:label="term:OND"
id="circle18" />
<!-- PORT COMMS exemple a gauche (couleur = type de signal) -->
<line
x1="140"
y1="40"
x2="132"
y2="40"
stroke="#e69500"
stroke-width="1.2"
id="line20" />
<circle
cx="140"
cy="40"
r="2.5999999"
fill="#e69500"
inkscape:label="term:RS485"
id="circle22" />
<line
x1="139.53683"
y1="60.336311"
x2="131.53683"
y2="60.336311"
stroke="#e69500"
stroke-width="1.2"
id="line20-9"
style="fill:#00b4d8;fill-opacity:1;stroke:#00b4d8;stroke-opacity:1" />
<circle
cx="139.53683"
cy="60.336311"
r="2.5999999"
fill="#e69500"
inkscape:label="term:ETH"
id="circle22-1"
style="fill:#00b4d8;fill-opacity:1;stroke:#00b4d8;stroke-opacity:1" />
<!-- PORT PE exemple a droite -->
<line
x1="132"
y1="80"
x2="140"
y2="80"
stroke="#00ff00"
stroke-width="1.2"
id="line24" />
<line
x1="7.9851685"
y1="40.010593"
x2="-0.014831543"
y2="40.010593"
stroke="#e69500"
stroke-width="1.2"
id="line20-7"
style="stroke:#000000;stroke-opacity:1;fill:#1a1a1a;fill-opacity:1" />
<line
x1="-0.014831543"
y1="80.01059"
x2="7.9851685"
y2="80.01059"
stroke="#00ff00"
stroke-width="1.2"
id="line24-5"
style="stroke:#31a3dd;stroke-opacity:1;fill:#31a3dd;fill-opacity:1" />
<circle
cx="140"
cy="80"
r="2.6"
fill="#00ff00"
inkscape:label="term:PE"
id="circle26" />
<circle
cx="0.028060913"
cy="39.819435"
r="2.5999999"
fill="#e69500"
inkscape:label="term:BAT"
id="circle22-3"
style="stroke:#000000;stroke-opacity:1;fill:#1a1a1a;fill-opacity:1" />
<circle
cx="0.028060913"
cy="79.819435"
r="2.5999999"
fill="#00ff00"
inkscape:label="term:BMS"
id="circle26-6"
style="stroke:#31a3dd;stroke-opacity:1;fill:#31a3dd;fill-opacity:1" />
<!-- ZONES TEXTE injectables -->
<text
x="130"
y="20"
text-anchor="end"
font-family="'IBM Plex Mono',monospace"
font-size="8"
font-weight="700"
fill="#0d2b3b"
inkscape:label="lbl:repere"
id="text28" />
<text
x="70"
y="76"
text-anchor="middle"
font-family="'IBM Plex Mono',monospace"
font-size="8"
fill="#31a3dd"
inkscape:label="lbl:puissance"
id="text30" />
<text
x="10.138081"
y="42.761028"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189">BAT</text>
<text
x="104.931"
y="42.795639"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189-6"
style="fill:#e69500;fill-opacity:1">RS485</text>
<text
x="113.33852"
y="63.113434"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189-6-27"
style="fill:#00b4d8;fill-opacity:1;stroke:none;stroke-opacity:1">ETH</text>
<text
x="118.18555"
y="82.671356"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189-6-2"
style="fill:#00ff00">PE</text>
<text
x="10.670071"
y="83.004845"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189-3">BMS</text>
<text
x="89.245743"
y="98.161797"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189-3-5">AC-OUT</text>
<line
x1="36.09901"
y1="101.7886"
x2="36.09901"
y2="109.7886"
stroke="#0d2b3b"
stroke-width="1.2"
id="line16-3" />
<circle
cx="36.09901"
cy="109.7886"
r="2.5999999"
fill="#0d2b3b"
inkscape:label="term:AC_IN"
id="circle18-6" />
<text
x="23.344753"
y="97.950386"
text-anchor="start"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1189-3-5-7">AC-IN</text>
<line
x1="12.145685"
y1="98.553703"
x2="111.20564"
y2="24.902679"
stroke="#31a3dd"
stroke-width="2.60929"
id="line1193" />
<text
x="34.601692"
y="41.135593"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="13px"
font-weight="700"
fill="#0d2b3b"
id="text1195">=</text>
<text
x="92.644066"
y="80.262711"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="13px"
font-weight="700"
fill="#0d2b3b"
id="text1197">~</text>
<text
x="37.022881"
y="16.951801"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1181">PV1</text>
<text
x="103.02288"
y="16.951801"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
id="text1183">PV2</text>
</svg>

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

@ -0,0 +1,13 @@
<svg viewBox="0 0 60 70" xmlns="http://www.w3.org/2000/svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:etm="https://etm-powersync.fr/ns/schema">
<metadata><etm:component type="prise_terre"/></metadata>
<!-- port haut -->
<circle cx="30" cy="6" r="2.6" fill="#00ff00" inkscape:label="term:TERRE"/>
<line x1="30" y1="6" x2="30" y2="34" stroke="#00ff00" stroke-width="1.6"/>
<!-- symbole terre : 3 traits décroissants -->
<line x1="14" y1="34" x2="46" y2="34" stroke="#00ff00" stroke-width="2"/>
<line x1="20" y1="42" x2="40" y2="42" stroke="#00ff00" stroke-width="2"/>
<line x1="25" y1="50" x2="35" y2="50" stroke="#00ff00" stroke-width="2"/>
<text x="30" y="66" text-anchor="middle" font-family="'IBM Plex Mono',monospace" font-size="7" fill="#00aa00" inkscape:label="lbl:repere"></text>
</svg>

After

Width:  |  Height:  |  Size: 847 B

View File

@ -0,0 +1,201 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 140 160"
version="1.1"
id="svg32"
sodipodi:docname="symbol-string-pv.svg"
width="140"
height="160"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:etm="https://etm-powersync.fr/ns/schema">
<defs
id="defs36" />
<sodipodi:namedview
id="namedview34"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="2.1454545"
inkscape:cx="14.915254"
inkscape:cy="180.14831"
inkscape:window-width="1920"
inkscape:window-height="1172"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg32" />
<!-- GABARIT BLOC ETM : viewBox = corps + pattes(8px). Pastilles au bord, corps en retrait. -->
<!-- type du composant a renseigner : -->
<metadata
id="metadata2">
<etm:component
type=""
fabricant=""
ref=""
commande="" />
</metadata>
<!-- CORPS (insere de 8px sur les bords a ports) -->
<!-- PORTS PUISSANCE haut/bas, entraxe DC 34px (centre 70 -> 53 / 87) -->
<line
x1="36"
y1="160"
x2="36"
y2="152"
stroke="#0d2b3b"
stroke-width="1.2"
id="line8" />
<circle
cx="36"
cy="160"
r="2.5999999"
fill="#0d2b3b"
inkscape:label="term:DC1"
id="circle10" />
<!-- PORT COMMS exemple a gauche (couleur = type de signal) -->
<!-- PORT PE exemple a droite -->
<line
x1="43.069881"
y1="130.2838"
x2="138.77582"
y2="130.2838"
stroke="#00ff00"
stroke-width="3.86534"
id="line24-6"
style="stroke-width:1.61068;stroke-dasharray:none" />
<line
x1="43.471207"
y1="131.06985"
x2="43.689819"
y2="103.43755"
stroke="#00ff00"
stroke-width="3.86534"
id="line24-6-7"
style="stroke-width:0.875911;stroke-dasharray:none" />
<circle
cx="140"
cy="130"
r="2.5999999"
fill="#00ff00"
inkscape:label="term:PE"
id="circle26" />
<!-- ZONES TEXTE injectables -->
<text
x="130"
y="20"
text-anchor="end"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
font-weight="700"
fill="#0d2b3b"
inkscape:label="lbl:repere"
id="text28" />
<text
x="70"
y="76"
text-anchor="middle"
font-family="'IBM Plex Mono', monospace"
font-size="8px"
fill="#31a3dd"
inkscape:label="lbl:puissance"
id="text30" />
<rect
x="23.935661"
y="4.9577065"
width="24.025883"
height="39.523567"
rx="1.0920855"
fill="#eaf4fb"
stroke="#31a3dd"
stroke-width="1.27551"
id="rect935" />
<line
x1="35.992504"
y1="12.837696"
x2="47.950996"
y2="5.0361366"
stroke="#31a3dd"
stroke-width="0.285572"
id="line937" />
<line
x1="36.031864"
y1="12.825191"
x2="23.982849"
y2="5.2226372"
stroke="#31a3dd"
stroke-width="0.300023"
id="line937-3"
inkscape:transform-center-x="-10.028381"
inkscape:transform-center-y="-0.51996349" />
<line
x1="35.997913"
y1="46.419022"
x2="35.997913"
y2="60.419018"
stroke="#0d2b3b"
stroke-width="1.6"
id="line939"
style="fill:#808080;stroke:#808080" />
<rect
x="24.205307"
y="63.702145"
width="24.025883"
height="39.523567"
rx="1.0920855"
fill="#eaf4fb"
stroke="#31a3dd"
stroke-width="1.27551"
id="rect935-6" />
<line
x1="36.26215"
y1="71.582138"
x2="48.220634"
y2="63.780598"
stroke="#31a3dd"
stroke-width="0.285572"
id="line937-0" />
<line
x1="36.30151"
y1="71.569656"
x2="24.252495"
y2="63.967106"
stroke="#31a3dd"
stroke-width="0.300023"
id="line937-3-6"
inkscape:transform-center-x="-10.028381"
inkscape:transform-center-y="-0.51996349" />
<text
x="9.5170984"
y="13.244488"
text-anchor="middle"
font-family="'IBM Plex Sans', system-ui, sans-serif"
font-size="11px"
font-weight="600"
fill="#0d2b3b"
id="text953-2-6">P1.1</text>
<text
x="10.635415"
y="71.419952"
text-anchor="middle"
font-family="'IBM Plex Sans', system-ui, sans-serif"
font-size="11px"
font-weight="600"
fill="#0d2b3b"
id="text953-2-6-1">P1.X</text>
<line
x1="35.992336"
y1="102.81201"
x2="35.992336"
y2="155.66428"
stroke="#0d2b3b"
stroke-width="1.33643"
id="line12-3-7-3" />
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -0,0 +1,344 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 140 110"
version="1.1"
id="svg32"
sodipodi:docname="symbol-tgbt.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:etm="https://etm-powersync.fr/ns/schema">
<defs
id="defs36" />
<sodipodi:namedview
id="namedview34"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="1.5170654"
inkscape:cx="-16.808767"
inkscape:cy="-22.741274"
inkscape:window-width="1920"
inkscape:window-height="1172"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg32" />
<!-- GABARIT BLOC ETM : viewBox = corps + pattes(8px). Pastilles au bord, corps en retrait. -->
<!-- type du composant a renseigner : -->
<metadata
id="metadata2">
<etm:component
type=""
fabricant=""
ref=""
commande="" />
</metadata>
<!-- CORPS (insere de 8px sur les bords a ports) -->
<rect
x="8"
y="8"
width="124"
height="94"
rx="6"
fill="#fff"
stroke="#31a3dd"
stroke-width="1.6"
id="rect4" />
<!-- PORTS PUISSANCE haut/bas, entraxe DC 34px (centre 70 -> 53 / 87) -->
<line
x1="68"
y1="8"
x2="68"
y2="0"
stroke="#0d2b3b"
stroke-width="1.2"
id="line8" />
<circle
cx="68"
cy="0"
r="2.5999999"
fill="#0d2b3b"
inkscape:label="term:SECOURU"
id="circle10" />
<line
x1="104"
y1="45.637714"
x2="104"
y2="0"
stroke="#0d2b3b"
stroke-width="2.86615"
id="line12"
style="stroke-width:1.2;stroke-dasharray:none" />
<line
x1="68.050858"
y1="46.123947"
x2="68.050858"
y2="0.48622772"
stroke="#0d2b3b"
stroke-width="2.86615"
id="line12-1"
style="stroke-width:1.2;stroke-dasharray:none" />
<circle
cx="104"
cy="0"
r="2.6"
fill="#0d2b3b"
inkscape:label="term:CONSO"
id="circle14" />
<line
x1="69.505623"
y1="102"
x2="69.505623"
y2="110"
stroke="#0d2b3b"
stroke-width="1.2"
id="line16" />
<circle
cx="69.505623"
cy="110"
r="2.5999999"
fill="#0d2b3b"
inkscape:label="term:OUT2"
id="circle18" />
<line
x1="51.504238"
y1="101.68941"
x2="51.504238"
y2="109.68941"
stroke="#0d2b3b"
stroke-width="1.2"
id="line16-5" />
<circle
cx="51.504238"
cy="109.68941"
r="2.5999999"
fill="#0d2b3b"
inkscape:label="term:OUT1"
id="circle18-5" />
<line
x1="93.905365"
y1="101.82099"
x2="93.905365"
y2="109.82099"
stroke="#0d2b3b"
stroke-width="1.2"
id="line16-2" />
<circle
cx="93.905365"
cy="109.82099"
r="2.5999999"
fill="#0d2b3b"
inkscape:label="term:OND"
id="circle18-9" />
<line
x1="113.72882"
y1="101.90339"
x2="113.72882"
y2="109.90339"
stroke="#0d2b3b"
stroke-width="1.2"
id="line16-2-3" />
<circle
cx="113.72882"
cy="109.90339"
r="2.5999999"
fill="#0d2b3b"
inkscape:label="term:OUT3"
id="circle18-9-1" />
<!-- PORT COMMS exemple a gauche (couleur = type de signal) -->
<!-- PORT PE exemple a droite -->
<line
x1="132"
y1="80"
x2="140"
y2="80"
stroke="#00ff00"
stroke-width="1.2"
id="line24" />
<circle
cx="140"
cy="80"
r="2.6"
fill="#00ff00"
inkscape:label="term:PE"
id="circle26" />
<!-- ZONES TEXTE injectables -->
<text
x="130"
y="20"
text-anchor="end"
font-family="'IBM Plex Mono',monospace"
font-size="8"
font-weight="700"
fill="#0d2b3b"
inkscape:label="lbl:repere"
id="text28" />
<text
x="70"
y="76"
text-anchor="middle"
font-family="'IBM Plex Mono',monospace"
font-size="8"
fill="#31a3dd"
inkscape:label="lbl:puissance"
id="text30" />
<line
x1="91.627892"
y1="45.097458"
x2="116.59278"
y2="45.097458"
stroke="#0d2b3b"
stroke-width="1.29545"
id="line10" />
<line
x1="69.47921"
y1="73.703392"
x2="69.47921"
y2="102.36865"
stroke="#0d2b3b"
stroke-width="0.984219"
id="line12-9" />
<line
x1="69.712257"
y1="45.713982"
x2="69.712257"
y2="66.908897"
stroke="#0d2b3b"
stroke-width="0.84631"
id="line12-3" />
<line
x1="69.47921"
y1="74.368645"
x2="77.47921"
y2="66.368645"
stroke="#0d2b3b"
stroke-width="1.4"
id="line14" />
<line
x1="93.890228"
y1="74.013771"
x2="93.890228"
y2="102.67904"
stroke="#0d2b3b"
stroke-width="0.984219"
id="line12-6" />
<line
x1="94.123276"
y1="46.024368"
x2="94.123276"
y2="67.219276"
stroke="#0d2b3b"
stroke-width="0.84631"
id="line12-3-7" />
<line
x1="93.890228"
y1="74.679024"
x2="101.89023"
y2="66.679024"
stroke="#0d2b3b"
stroke-width="1.4"
id="line14-5" />
<line
x1="113.71226"
y1="73.831558"
x2="113.71226"
y2="102.49683"
stroke="#0d2b3b"
stroke-width="0.984219"
id="line12-6-3" />
<line
x1="113.94532"
y1="45.842163"
x2="113.94532"
y2="67.037064"
stroke="#0d2b3b"
stroke-width="0.84631"
id="line12-3-7-5" />
<line
x1="113.71226"
y1="74.496811"
x2="121.71226"
y2="66.496811"
stroke="#0d2b3b"
stroke-width="1.4"
id="line14-5-6" />
<line
x1="29.36805"
y1="45.263283"
x2="72.277855"
y2="45.263283"
stroke="#0d2b3b"
stroke-width="1.69838"
id="line10-6" />
<line
x1="31.630386"
y1="73.946548"
x2="31.630386"
y2="102.61182"
stroke="#0d2b3b"
stroke-width="0.984219"
id="line12-6-1" />
<line
x1="31.863434"
y1="45.957142"
x2="31.863434"
y2="67.152054"
stroke="#0d2b3b"
stroke-width="0.84631"
id="line12-3-7-0" />
<line
x1="31.630386"
y1="74.611801"
x2="39.630386"
y2="66.611801"
stroke="#0d2b3b"
stroke-width="1.4"
id="line14-5-63" />
<line
x1="51.452415"
y1="73.764336"
x2="51.452415"
y2="102.42961"
stroke="#0d2b3b"
stroke-width="0.984219"
id="line12-6-3-2" />
<line
x1="51.685478"
y1="45.774937"
x2="51.685478"
y2="66.969841"
stroke="#0d2b3b"
stroke-width="0.84631"
id="line12-3-7-5-0" />
<line
x1="51.452415"
y1="74.429588"
x2="59.452415"
y2="66.429588"
stroke="#0d2b3b"
stroke-width="1.4"
id="line14-5-6-6" />
<text
x="47.598999"
y="41.76429"
text-anchor="middle"
font-family="'IBM Plex Sans', system-ui, sans-serif"
font-size="11px"
font-weight="600"
fill="#0d2b3b"
id="text30-7-6"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8px;font-family:'IBM Plex Sans', system-ui, sans-serif;-inkscape-font-specification:'IBM Plex Sans, system-ui, sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-anchor:middle;fill:#0d2b3b"><tspan
sodipodi:role="line"
id="tspan320-1"
x="47.598999"
y="41.76429"
style="font-size:8px">SECOURS</tspan></text>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

68
scripts/extract.py Normal file
View File

@ -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}")

View File

@ -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")

94
scripts/stack2.py Normal file
View File

@ -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])