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.
7.7 KiB
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.
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
Utilisation avec cadMasterCLI
Ce script peut être piloté depuis cadMasterCLI, qui évite d'avoir à utiliser PowerShell manuellement.
- Lancez
cadMasterCLI.ps1 - Sélectionnez DaliACLI dans la liste des scripts à gauche.
- Choisissez l'action
ReadouWrite(RadioButtons). - Renseignez
CsvInputavec le bouton Parcourir... (voir le format CSV d'entrée ci-dessous). - Renseignez
Username/Passwordsi besoin (sinonadmin/ vide par défaut). - 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
.\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
.\DaliACLI.ps1 -Action Write -CsvInput ".\dali_2026-04-02_14h30.csv"
Avec mot de passe
.\DaliACLI.ps1 -Action Read -CsvInput ".\automates.csv" -Password "MonMotDePasse"
Aide
Get-Help .\DaliACLI.ps1 -Detailed
Format CSV d'entrée (automates)
Séparateur : point-virgule (;)
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
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, which avoids having to use PowerShell manually.
- Launch
cadMasterCLI.ps1 - Select DaliACLI in the script list on the left.
- Choose the
ReadorWriteaction (RadioButtons). - Set
CsvInputusing the Browse... button (see the input CSV format below). - Set
Username/Passwordif needed (otherwise defaults toadmin/ empty). - Click Run script and follow the progress in the built-in execution log.
Command-line usage (standalone script)
Reading configurations
.\DaliACLI.ps1 -Action Read -CsvInput ".\automates.csv"
Generates a dali_YYYY-MM-DD_HHhmm.csv file with the properties of each output.
Writing configurations
.\DaliACLI.ps1 -Action Write -CsvInput ".\dali_2026-04-02_14h30.csv"
With password
.\DaliACLI.ps1 -Action Read -CsvInput ".\automates.csv" -Password "MyPassword"
Help
Get-Help .\DaliACLI.ps1 -Detailed
Input CSV format (controllers)
Separator: semicolon (;)
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