Files
DaliACLI/README.md
Charles 89bf57b665 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
2026-04-03 08:42:23 +02:00

3.1 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


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

.\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