Création du projet DaliACLI
- CLI PowerShell pour la gestion des sorties DALI adressable (ECxLightDaliA) - Action Read : rapport CSV des configurations (une ligne par output) - Action Write : modification des propriétés via POST JSON - Fallback curl.exe -k pour les automates avec problèmes SSL
This commit is contained in:
112
README.md
Normal file
112
README.md
Normal file
@@ -0,0 +1,112 @@
|
||||
# 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
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
|
||||
- PowerShell 5.1+ (inclus dans Windows 10/11)
|
||||
- Accès réseau aux automates Eclypse
|
||||
|
||||
## Utilisation
|
||||
|
||||
### Lecture des configurations
|
||||
|
||||
```powershell
|
||||
.\DaliACLI.ps1 -Action Read -CsvInput ".\automates.csv"
|
||||
```
|
||||
|
||||
Génère un fichier `dali_YYYY-MM-DD_HHhmm.csv` avec les propriétés de chaque sortie.
|
||||
|
||||
### Écriture des configurations
|
||||
|
||||
```powershell
|
||||
.\DaliACLI.ps1 -Action Write -CsvInput ".\dali_2026-04-02_14h30.csv"
|
||||
```
|
||||
|
||||
### Avec mot de passe
|
||||
|
||||
```powershell
|
||||
.\DaliACLI.ps1 -Action Read -CsvInput ".\automates.csv" -Password "MonMotDePasse"
|
||||
```
|
||||
|
||||
### Aide
|
||||
|
||||
```powershell
|
||||
Get-Help .\DaliACLI.ps1 -Detailed
|
||||
```
|
||||
|
||||
## Format CSV d'entrée (automates)
|
||||
|
||||
Séparateur : point-virgule (`;`)
|
||||
|
||||
```csv
|
||||
Hostname;Current Ip;HttpPort;HttpsPort
|
||||
Eclypse-RDC;192.168.1.11;0;443
|
||||
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)
|
||||
|
||||
Une ligne par sortie DALI :
|
||||
|
||||
| Colonne | Description |
|
||||
|---------|-------------|
|
||||
| Hostname | Nom de l'automate |
|
||||
| Current Ip | Adresse IP |
|
||||
| HttpPort | Port HTTP |
|
||||
| HttpsPort | Port HTTPS |
|
||||
| ModuleKey | Identifiant du module |
|
||||
| ModuleName | Nom du module |
|
||||
| OutputKey | Identifiant de la sortie |
|
||||
| OutputName | Nom de la sortie |
|
||||
| ControlGearKey | Clé du control gear DALI |
|
||||
| Groups | Groupes DALI actifs (ex: `1,3,5`) |
|
||||
| SystemFailLevel | Niveau en cas de défaillance système |
|
||||
| PowerOnLevel | Niveau à la mise sous tension |
|
||||
| MinDimmingLevel | Niveau minimum de variation |
|
||||
| DefaultValue | Valeur par défaut |
|
||||
| DimmingTime | Temps de variation (secondes) |
|
||||
| MaxDimmingLevel | Niveau maximum de variation |
|
||||
|
||||
## Filtrage
|
||||
|
||||
Seuls les modules de type **ECxLightDaliA** sont traités. Les autres types (ECxLight4Dali, etc.) sont ignorés automatiquement.
|
||||
|
||||
## 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
|
||||
|
||||
```
|
||||
daliA/
|
||||
├── DaliACLI.ps1 # Script principal
|
||||
├── modules/
|
||||
│ ├── Logger.psm1 # Logging console + fichier
|
||||
│ ├── CsvHandler.psm1 # Lecture/écriture CSV
|
||||
│ ├── ApiClient.psm1 # Communication REST API
|
||||
│ └── DaliParser.psm1 # Parsing JSON DALI
|
||||
├── plan/
|
||||
│ └── daliacli.md # Plan de développement
|
||||
└── README.md
|
||||
```
|
||||
Reference in New Issue
Block a user