Rend le README bilingue FR/EN et compatible cadMasterCLI

Ajoute une section d'utilisation via cadMasterCLI (formulaire auto-généré, lien vers le depot) avant la procedure PowerShell manuelle existante, pour chaque langue.
This commit is contained in:
2026-07-06 02:14:47 +02:00
parent 89bf57b665
commit c913218162
+156 -15
View File
@@ -1,29 +1,43 @@
<!-- FR -->
# DaliACLI # DaliACLI
CLI PowerShell pour la gestion des configurations de sorties DALI adressable (**ECxLightDaliA**) sur des automates Distech Controls Eclypse. CLI PowerShell pour la gestion des configurations de sorties DALI adressable (**ECxLightDaliA**) sur des automates Distech Controls Eclypse.
--- ---
IMPORTANT : Ce projet est un développement personnel indépendant. > **IMPORTANT : Ce projet est un développement personnel indépendant.**
>
Ce projet a été développé par Charles-Arthur DAVID à titre personnel > Ce projet a été développé par Charles-Arthur DAVID à titre personnel.
Distech Controls n'est pas responsable de ce projet et ne le supporte pas > Distech Controls n'est pas responsable de ce projet et ne le supporte pas.
Aucune demande de support ne sera prise en charge par Distech Controls > Aucune demande de support ne sera prise en charge par Distech Controls.
Distech Controls ne fournit aucune garantie ni assistance technique pour ce projet > Distech Controls ne fournit aucune garantie ni assistance technique pour ce projet.
--- ---
## Prérequis
- Windows 10 ou Windows 11
- Automates **Distech Controls ECY Facilities (V2)**
- Être connecté au même réseau que les automates (réseau local ou VPN)
- Avoir les identifiants de connexion aux automates (nom d'utilisateur et mot de passe)
## Fonctionnalités ## Fonctionnalités
- **Read** : Lit la configuration des modules ECxLightDaliA et génère un rapport CSV (une ligne par sortie) - **Read** : Lit la configuration des modules ECxLightDaliA et génère un rapport CSV (une ligne par sortie)
- **Write** : Modifie les propriétés des sorties DALI à partir du CSV enrichi - **Write** : Modifie les propriétés des sorties DALI à partir du CSV enrichi
## Prérequis ## Utilisation avec cadMasterCLI
- PowerShell 5.1+ (inclus dans Windows 10/11) Ce script peut être piloté depuis **[cadMasterCLI](https://git.cadjou.net/DistechControls/cadMasterCLI)**, qui évite d'avoir à utiliser PowerShell manuellement.
- Accès réseau aux automates Eclypse
## Utilisation 1. Lancez `cadMasterCLI.ps1`
2. Sélectionnez **DaliACLI** dans la liste des scripts à gauche.
3. Choisissez l'action `Read` ou `Write` (RadioButtons).
4. Renseignez `CsvInput` avec le bouton **Parcourir...** (voir le [format CSV d'entrée](#format-csv-dentrée-automates) ci-dessous).
5. Renseignez `Username` / `Password` si besoin (sinon `admin` / vide par défaut).
6. Cliquez sur **Lancer le script** et suivez la progression dans le journal d'exécution intégré.
## Utilisation en ligne de commande (script autonome)
### Lecture des configurations ### Lecture des configurations
@@ -51,7 +65,7 @@ Génère un fichier `dali_YYYY-MM-DD_HHhmm.csv` avec les propriétés de chaque
Get-Help .\DaliACLI.ps1 -Detailed Get-Help .\DaliACLI.ps1 -Detailed
``` ```
## Format CSV d'entrée (automates) ### Format CSV d'entrée (automates)
Séparateur : point-virgule (`;`) Séparateur : point-virgule (`;`)
@@ -63,7 +77,7 @@ Eclypse-Etage1;192.168.1.12;0;443
Colonnes optionnelles : `Username`, `Password` (surcharge les credentials par défaut `admin` / vide). Colonnes optionnelles : `Username`, `Password` (surcharge les credentials par défaut `admin` / vide).
## Format CSV de sortie (Read) ### Format CSV de sortie (Read)
Une ligne par sortie DALI : Une ligne par sortie DALI :
@@ -86,17 +100,17 @@ Une ligne par sortie DALI :
| DimmingTime | Temps de variation (secondes) | | DimmingTime | Temps de variation (secondes) |
| MaxDimmingLevel | Niveau maximum de variation | | MaxDimmingLevel | Niveau maximum de variation |
## Filtrage ### Filtrage
Seuls les modules de type **ECxLightDaliA** sont traités. Les autres types (ECxLight4Dali, etc.) sont ignorés automatiquement. Seuls les modules de type **ECxLightDaliA** sont traités. Les autres types (ECxLight4Dali, etc.) sont ignorés automatiquement.
## API ### API
- **Endpoint** : `/api/rest/v2/services/subnet/devices/light-sunblind/modules` - **Endpoint** : `/api/rest/v2/services/subnet/devices/light-sunblind/modules`
- **Auth** : Basic Auth - **Auth** : Basic Auth
- **TLS 1.2** avec support des certificats auto-signés - **TLS 1.2** avec support des certificats auto-signés
## Structure du projet ### Structure du projet
``` ```
daliA/ daliA/
@@ -110,3 +124,130 @@ daliA/
│ └── daliacli.md # Plan de développement │ └── daliacli.md # Plan de développement
└── README.md └── README.md
``` ```
<!-- EN -->
# DaliACLI
PowerShell CLI for managing addressable DALI output configurations (**ECxLightDaliA**) on Distech Controls Eclypse controllers.
---
> **IMPORTANT: This project is an independent personal project.**
>
> This project was developed by Charles-Arthur DAVID on a personal basis.
> Distech Controls is not responsible for this project and does not support it.
> No support request will be handled by Distech Controls.
> Distech Controls provides no warranty or technical assistance for this project.
---
## Requirements
- Windows 10 or Windows 11
- **Distech Controls ECY Facilities (V2)** controllers
- Connected to the same network as the controllers (local network or VPN)
- Controller login credentials (username and password)
## Features
- **Read**: Reads the ECxLightDaliA modules configuration and generates a CSV report (one line per output)
- **Write**: Updates DALI output properties from the enriched CSV
## Usage with cadMasterCLI
This script can be run from **[cadMasterCLI](https://git.cadjou.net/DistechControls/cadMasterCLI)**, which avoids having to use PowerShell manually.
1. Launch `cadMasterCLI.ps1`
2. Select **DaliACLI** in the script list on the left.
3. Choose the `Read` or `Write` action (RadioButtons).
4. Set `CsvInput` using the **Browse...** button (see the [input CSV format](#input-csv-format-controllers) below).
5. Set `Username` / `Password` if needed (otherwise defaults to `admin` / empty).
6. Click **Run script** and follow the progress in the built-in execution log.
## Command-line usage (standalone script)
### Reading configurations
```powershell
.\DaliACLI.ps1 -Action Read -CsvInput ".\automates.csv"
```
Generates a `dali_YYYY-MM-DD_HHhmm.csv` file with the properties of each output.
### Writing configurations
```powershell
.\DaliACLI.ps1 -Action Write -CsvInput ".\dali_2026-04-02_14h30.csv"
```
### With password
```powershell
.\DaliACLI.ps1 -Action Read -CsvInput ".\automates.csv" -Password "MyPassword"
```
### Help
```powershell
Get-Help .\DaliACLI.ps1 -Detailed
```
### Input CSV format (controllers)
Separator: semicolon (`;`)
```csv
Hostname;Current Ip;HttpPort;HttpsPort
Eclypse-RDC;192.168.1.11;0;443
Eclypse-Etage1;192.168.1.12;0;443
```
Optional columns: `Username`, `Password` (overrides the default `admin` / empty credentials).
### Output CSV format (Read)
One line per DALI output:
| Column | Description |
|---------|-------------|
| Hostname | Controller name |
| Current Ip | IP address |
| HttpPort | HTTP port |
| HttpsPort | HTTPS port |
| ModuleKey | Module identifier |
| ModuleName | Module name |
| OutputKey | Output identifier |
| OutputName | Output name |
| ControlGearKey | DALI control gear key |
| Groups | Active DALI groups (e.g. `1,3,5`) |
| SystemFailLevel | Level on system failure |
| PowerOnLevel | Level at power-on |
| MinDimmingLevel | Minimum dimming level |
| DefaultValue | Default value |
| DimmingTime | Dimming time (seconds) |
| MaxDimmingLevel | Maximum dimming level |
### Filtering
Only **ECxLightDaliA** module types are processed. Other types (ECxLight4Dali, etc.) are automatically ignored.
### API
- **Endpoint**: `/api/rest/v2/services/subnet/devices/light-sunblind/modules`
- **Auth**: Basic Auth
- **TLS 1.2** with self-signed certificate support
### Project structure
```
daliA/
├── DaliACLI.ps1 # Main script
├── modules/
│ ├── Logger.psm1 # Console + file logging
│ ├── CsvHandler.psm1 # CSV read/write
│ ├── ApiClient.psm1 # REST API communication
│ └── DaliParser.psm1 # DALI JSON parsing
├── plan/
│ └── daliacli.md # Development plan
└── README.md
```