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
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.
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
Aucune demande de support ne sera prise en charge par Distech Controls
Distech Controls ne fournit aucune garantie ni assistance technique pour ce projet
> **IMPORTANT : Ce projet est un développement personnel indépendant.**
>
> 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.
> Aucune demande de support ne sera prise en charge par Distech Controls.
> 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
- **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
## Prérequis
## Utilisation avec cadMasterCLI
- PowerShell 5.1+ (inclus dans Windows 10/11)
- Accès réseau aux automates Eclypse
Ce script peut être piloté depuis **[cadMasterCLI](https://git.cadjou.net/DistechControls/cadMasterCLI)**, qui évite d'avoir à utiliser PowerShell manuellement.
## 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
@@ -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
```
## Format CSV d'entrée (automates)
### Format CSV d'entrée (automates)
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).
## Format CSV de sortie (Read)
### Format CSV de sortie (Read)
Une ligne par sortie DALI :
@@ -86,17 +100,17 @@ Une ligne par sortie DALI :
| DimmingTime | Temps de variation (secondes) |
| 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.
## API
### API
- **Endpoint** : `/api/rest/v2/services/subnet/devices/light-sunblind/modules`
- **Auth** : Basic Auth
- **TLS 1.2** avec support des certificats auto-signés
## Structure du projet
### Structure du projet
```
daliA/
@@ -110,3 +124,130 @@ daliA/
│ └── daliacli.md # Plan de développement
└── 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
```