- 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
113 lines
3.1 KiB
Markdown
113 lines
3.1 KiB
Markdown
# 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
|
|
```
|