Aller au contenu

Configuration

Introduction

La configuration de l'application tic4eebus est organisée en 7 parties :

Nom Description Format Valeur
OverloadProtection Paramètres de protection des surcharges Structure Valeurs des protection des surcharges
Vehicle Paramètres du véhicule électrique Structure Valeurs du véhicule électrique
Wallbox Paramètres du borne de recharge Structure Valeurs de la borne de recharge
Log Paramètres de journalisation Structure Valeurs des paramètres de journalisation
DataModel Paramètres du modèle de données Structure Valeurs du modèle de données
TeleInformationClient Paramètres de la télé information client (TIC) Structure Valeurs de la TIC
Eebus Paramètres de protocole EEBUS Structure Valeurs du protocole EEBUS

Chaque partie ci-dessus est stockée dans le fichier de configuration au format YAML.

Le fichier de configuration est chargé au démarrage de l'application avec le chemin par défaut "examples/config.yaml".

Ce chemin du fichier de configuration est modifiable par la ligne de commande de l'application avec l'argument "configFilePath".

Description

Protection des surcharges

La configuration de la protection des surcharges comporte les paramètres suivants :

Nom Description Format Valeur
Enable Activation de l'algorithme Booléen - true si l'algorithme est actif
- false sinon
RunningPeriodInSeconds Période d'exécution de l'algorithme en secondes Entier De 0 à 2^31 - 1
CurrentLimit Paramètres liés à la limitation de courant Structure Valeurs de la limitation de courant

Limitation de courant

La configuration des paramètres de limitation de courant de la protection des surcharges comporte les champ suivants :

Nom Description Format Valeur
ValueInAmps Limitation du courant de charge du VE en Ampère Décimal De 0.0 à 1.79 × 10^308
LockDelayInSeconds Durée de verrouillage de la limitation en secondes Décimal De 0 à 1.79 × 10^308

Remarques:

  • La limitation du courant de charge du VE (ValueInAmps) est utilisé uniquement si l'algorithme de protection des surcharges est inactif (Enable=false)
  • La durée de verrouiullage de la limitation (LockDelayInSeconds) n'est utilisé que si l'algorithme de protection des surcharges est actif (Enable=true)

Véhicule électrique

La configuration des paramètres liés au véhicule électrique comporte les champs suivants :

Nom Description Format Valeur
UpdateDataPeriodInSeconds Période de mise à jour des données de VE en secondes Entier De 0 à 2^31 - 1
0 signifie pas de mise à jour périodique
DataPersistent Indicateur de persistence des données du VE Booléen - true si les données sont persistantes
- false sinon

Borne de recharge

La configuration des paramètres liés à la borne de recharge comporte les champs suivants :

Nom Description Format Valeur
UpdateDataPeriodInSeconds Période de mise à jour des données de la borne en secondes Entier De 0 à 2^31 - 1
0 signifie pas de mise à jour périodique
DataPersistent Indicateur de persistence des données de la borne Booléen - true si les données sont persistantes
- false sinon

Journalisation

La configuration des paramètres de journalisation comporte les champs suivants :

Nom Description Format Valeur
Level Niveau de journalisation utilisé Énumération Valeurs de niveau de journalisation
FilePath Chemin d'accès du fichier de journalisation Chaine de caractères Exemple : "var/log/tic4eebus.log"
Rotation Paramètres de rotation des fichiers de journalisation Structure Valeurs de rotation de fichier

Modèle de données

La configuration des paramètres du modèle de données comporte les champs suivants :

Nom Description Format Valeur
Csv Paramètres du fichier CSV Structure Valeurs du fichier CSV
InfluxDb Paramètres de la base de données InfluxDB Structure Valeurs de la base de données InfluxDB

Remarques:

Les champs Csv et InfluxDb sont optionnels. Si le champs Csv n'existe pas, il n'y a pas de fichier CSV. Si le champs InfluxDb n'existe pas, la base de données InfluxDB n'est pas alimentée.

Fichier CSV

La configuration des paramètres du fichier CSV comporte les champs suivants :

Nom Description Format Valeur
FilePath Chemin d'accès du fichier CSV Chaine de caractères Exemple : "var/data/DataModel.csv"
Rotation Paramètres de rotation des fichiers CSV Structure Valeurs de rotation de fichier

Base de données InfluxDB

La configuration des paramètres de la base de données InfluxDB comporte les champs suivants :

Nom Description Format Valeur
Bucket Nom de la base (appelée bucket) InfluxDB Chaine de caractères Exemple : "demo-bucket"
Org Nom de l'organisation associée à la base et aux tables (appelées measurment) Chaine de caractères Exemple : "demo-org"
Token Clef d'authentification utilisée pour la dconnexion à la base Chaine de caractères Exemple: "He_nwgoqXu4XggIzaiUWFHALKnS5JskdTLzGlSYeJMNkjCD-pyR6Yc5Hvl8NWj5Qo5C80mLvuJAS1IuqOcq4GQZZ"
IpAddress Adresse IP du serveur hébergeant la base de données InfluxDB Chaine de caractères Exemple : "127.0.0.1"
TcpPort Port TCP du serveur hébergeant la base de données InfluxDB Entier De 1 à 65535

Télé information client (TIC)

La configuration des paramètres de la télé information client comporte les champs suivants :

Nom Description Format Valeur
Tic2Websocket Paramètres du client TIC2WebSocket Structure Valeurs de Tic2WebSocket
TicIdentifier Paramètres d'identification du compteur Linky Structure Valeurs de TicIdentifier

Tic2Websocket

La configuration des paramètres du client Tic2Websocket comporte les champs suivants :

Nom Description Format Valeur
IpAddress Adresse IP du serveur hébergeant l'application Tic2Websocket Chaine de caractères Exemple : "127.0.0.1"
TcpPort Port TCP du serveur hébergeant l'application Tic2Websocket Entier De 1 à 65535

TicIdentifier

La configuration des paramètres d'identification du compteur Linky comporte les champs suivants :

Nom Description Format Valeur
SerialNumber Numéro de série du compteur Linky Chaine de 12 caractères Exemple: "041976216986"

Remarque:

Si le champs SerialNumber est vide alors l'application utilisera le premier numéro de série fournit pas l'application Tic2Websocket.

Protocole EEBUS

La configuration des paramètres du protocole EEBUS comporte les champs suivants :

Nom Description Format Valeur
ServerPort Port TCP du serveur EEBUS de la borne de recharge Entier De 1 à 65535
RemoteSki Clef d'identification du serveur EEBUS de la borne de recharge Chaine de 40 caractères hexadécimaux Exemple : "50abfe7714d034b8b15e488b91831047657b9ff2"
CertificateFilePath Chemin du certificat de sécurité du gestionnaire d'énergie Chaine de caractères Exemple : "examples/energy-guard.cert"
PrivateKeyFilePath Clef privée de chiffrement du gestionnaire d'énergie Chaine de caractères Exemple : "examples/energy-guard.key"
VendorCode Code d'identification de l'entrepise du gestionnaire d'énergie conforme IANA PEN Chaine de caractères Exemple : "i:54076"
DeviceBrand Nom de la marque du gestionnaire d'énergie Chaine de caractères Exemple : "Enedis"
DeviceModel Nom du modèle du gestionnaire d'énergie Chaine de caractères Exemple : "PAC"
SerialNumber Numéro de série du gestionnaire d'énergie Chaine de caractères Exemple : "12345678"
HeartbeatTimeoutInSeconds Délai max imparti pour l'envoi de heartbeat EEBUS à la borne de recharge Entier De 0 à 2^32 -1

Remarque:

Si le paramètre HeartbeatTimeoutInSeconds est configuré avec une valeur supérieur à 4 secondes, la borne de recharge, conformément au scénario 2 du cas d'utilisation OPEV, considère que le gestionnaire d'énergie n'est pas disponible et configure la limitation de charge à sa valeur minimale.

Types

Niveau de journalisation

Le niveau de journalisation permet de définir le seuil minimum des informations à conserver dans les journaux de bord.

Il peut prendre les valeurs suivantes classées ordre décroissant de gravité :

Valeur de l'énumération Description de l'énumération
panic Niveau de gravité le plus élevé. Effectue la journalisation puis appelle panic().
fatal Niveau de gravité critique. Effectue la journalisation puis quitte le programme.
error Niveau utilisé pour les erreurs qui doivent absolument être signalées.
warn Niveau pour les informations non critiques mais qui méritent une attention particulière
info Niveau pour les informations générales décrivant le fonctionnement courant de l’application.
debug Niveau généralement activé uniquement pour le débogage. Journalisation très détaillée.
trace Niveau qui désigne des événements informationnels encore plus détaillés que debug

Rotation des fichiers

La rotation des fichiers comporte les champs suivants :

Nom Description Format Valeur
PeriodInHours Durée d'une période de rotation en nombre d'heures Entier De 0 à 2^31 - 1
PeriodCount Nombre de rotation max Entier De 0 à 2^31 - 1
PeriodPattern Motif utilisé pour le nom du fichier à chaque nouvelle rotation Chaine de caractères

Exemple

Voici un exemple complet du fichier de configuration par défaut au format YAML :

# Configuration de la protection des surcharges
OverloadProtection:
  Enable : true
  RunningPeriodInSeconds : 1
  CurrentLimit :
    ValueInAmps : 16.0 # Utilisé uniquement si Enable = false
    LockDelayInSeconds : 10.0 # Utilisé uniquement si Enable = true

# Configuration du véhicle électrique
Vehicle:
  UpdateDataPeriodInSeconds : 5 # Inutilisé si la valeur vaut 0
  DataPersistent: false

# Configuration de la borne de recharge
Wallbox:
  UpdateDataPeriodInSeconds : 5 # Inutilisé si la valeur vaut 0
  DataPersistent: false

# Configuration de la journalisation
Log:
  Level : "trace" # Niveaux disponibles : panic,fatal,error,warn,info,debug,trace
  FilePath : "var/log/tic4eebus.log"
  Rotation:
    PeriodInHours : 24 # Chaque jour un nouveau journal de bord est créé
    PeriodCount : 15 # 15 journaux de bord créés au maximum (15 jours d'historique)
    PeriodPattern: "-%Y-%m-%d" # Chaque journal de bord contient dans son nom sa date de création avec le motif année-mois-jour

# Configuration du modèle de données
DataModel:
  # Configuration du fichier CSV (optionnel)
  Csv: # Si ce paramètre est fournit tous ces champs doivent être renseignés
    FilePath : "var/data/EnergyGuardDataModel.csv"
    Rotation:
      PeriodInHours : 24 # Chaque jour un nouveau fichier CSV est créé
      PeriodCount : 7 # 7 fichiers CSV créés au maximum (7 jours d'historique)
      PeriodPattern: "-%Y-%m-%d" # Chaque fichier CSV contient dans son nom sa date de création avec le motif année-mois-jour

  # Configuration de la base de données InfluxDB (optionnel)
  InfluxDb: # Si ce paramètre est fournit tous ces champs doivent être renseignés
    Bucket : "demo-bucket"
    Org : "demo-org"
    Token : "${TIC4EEBUS_INFLUXDB_TOKEN}" # Exemple: "He_nwgoqXu4XggIzaiUWFHALKnS5JskdTLzGlSYeJMNkjCD-pyR6Yc5Hvl8NWj5Qo5C80mLvuJAS1IuqOcq4GQZZ"
    IpAddress : "127.0.0.1"
    TcpPort : 8086

# Configuration de la téle information client (TIC)
TeleInformationClient:
  Tic2Websocket:
    IpAddress : "127.0.0.1"
    TcpPort : 19584
  TicIdentifier:
    SerialNumber : "" # Le numéro de série doit être spécifié si TIC2WebSocket gère plusieurs modems

# Configuration du protocole EEBUS
Eebus:
  ServerPort : 4817
  RemoteSki : "${TIC4EEBUS_REMOTE_SKI}" # Exemple: "50abfe7714d034b8b15e488b91831047657b9ff2"
  CertificateFilePath : "examples/energy-guard.cert"
  PrivateKeyFilePath : "examples/energy-guard.key"
  VendorCode : "i:54076"
  DeviceBrand : "Enedis"
  DeviceModel : "PAC"
  SerialNumber : "12345678"
  HeartbeatTimeoutInSeconds : 2