Mise en route et pilotage d’une batterie EATON via Jeedom avec le protocole ModBus
5 juin 2023Bonjour à tous,
Aujourd’hui, en même temps que je me fais un pense bête pour maintenir mon expérimentation , j’aimerais vous présenter comment utiliser Jeedom et le plugin ModBus afin de piloter une batterie Eaton de 50kWh. (Mon moi du futur remerciera surement mon moi du présent plus tard).
Partie 0: Mise en contexte
Cette batterie a été achetée via un appel d’offre afin de supporter de futures expériences sur du pilotage, de l’équilibrage réseau ou de l’interopérabilité.
Pour cela, nous allons utiliser cette batterie afin de simuler divers cas de figures (Absorption de surplus, assistance lors de forts appels de puissance, lissage de la charge, offuscation, …).
La batterie a été livrée clé en main par Eaton et maintenant c’est à nous de jouer et je profite d’une remise en route afin de montrer toutes les étapes de A à Z.
Partie 1: Mise en route (première fois ou après une coupure longue)
Lorsque la batterie est livrée ou remise en route après une longue période, les voyants d’états visibles sont en Rouge donc il va falloir ouvrir celle-ci pour effectuer une procédure de réinitialisation.
Pour cela, nous devons ouvrir la face avant afin d’accéder aux divers switchs et sectionneurs que nous devrons basculer.
Pour la mise ou remise en route, il faut suivre les étapes suivantes:
- On met les coupe-circuits F1, F2 Input Switch S1 ainsi que Battery Breaker 1 sur OFF
- Maintenant on passe les coupe-circuits F1 et F2 sur ON
- On bascule maintenant Input Switch S1 sur ON
- On attends quelques secondes puis on passe Battery Breaker sur ON
- Pour finir, on appuie sur les 2 boutons verts marqué Battery Start
- Normalement l’écran de supervision se met en route
- On attends que le programme se lance et les voyant principaux deviennent verts.
- Il se peut que dans certains cas, il faille rebasculer le Input Switch S1 sur OFF, attendre que les voyants des différents packs de batteries passent au vert pour le basculer à nouveau sur ON (J’ai eu le cas lorsque le programme reste en mode by pass et ne veut pas passer en Online comme il s’agit d’un firmware expérimentale, on verra par la suite si la procédure est améliorée)
Voilà, normalement, vous avez une batterie prête pour le service
Partie 2: Reprogrammation du compteur de la Grid
Lorsque la batterie est mise en route ou remise en route avec le firmware actuel, elle perd la configuration de ses capteurs de mesure externe (PV, Grid,…) . (ici en haut à gauche)
Pour remédier à cela, il faut cliquer sur Login (en bas à gauche) puis sélectionner Service dans User selection.
Rentrez aussi le mot de passe et cliquez sur la flèche de validation.
Maintenant, cliquez sur la roue crantée (au milieu à gauche) pour rentrer dans les paramètres
Comme vous pouvez le voir, le power meter est déclaré en None
Pour corriger cela, cliquez sur le triangle correspondant (ici à gauche de mon doigt)
Puis choisissiez votre capteur (ici, je n’ai que le GridMeter en version EMI3P).
Cliquez ensuite sur Apply et maintenant la batterie voit l’état du réseau
Partie 3: Mise sur le réseau informatique de la batterie
Pour notre expérimentation, nous avions demandé dans l’appel d’offre d’avoir du modbus TCP/IP. Cependant, pour des raisons de maintenance à distance, Eaton a proposé de rajouter en plus un autre module afin de pouvoir effectuer la supervision de leur côté. C’est pour cela que notre batterie est équipée avec 2 cartes réseaux devant être intégrées dans notre infrastructure informatique. Pour cet article, je me concentre uniquement que sur la carte qui permet une communication en Modbus.
Pour faire l’intégration, avec l’aide du responsable de la mise en service, nous avons récupéré l’adresse MAC de la carte qui nous intéresse ainsi que de son adresse IP fourni par notre réseau et vérifier qu’elle est bien connectée sur notre routeur.
Une fois ces informations récupérées, nous devons aller configurer le Modbus afin de pouvoir piloter la batterie à distance. Tout comme la reconfiguration du capteur, nous devons passer en mode Service. Pour cela sur la page d’accueil, nous devons cliquer sur Login (en bas à gauche) puis sélectionner Service dans User selection. Nous rentrons le mot de passe et nous cliquons sur la flèche de validation.
Une fois cela fait, nous cliquons sur la roue crantée (au milieu à gauche) pour rentrer dans les paramètres.
Maintenant, nous pouvons cliquer sur Customer Modbus TCP (en bas à droite) afin d’accéder au menu.
Une fois dans ce menu, il faut choisir le mode Remote dans le menu Control mode (en bas de l’écran)
Voilà maintenant, vous êtes prêt pour connecter et piloter votre batterie sur Jeedom via le protocole Modbus.
Partie 4: Connexion à Jeedom via le plugin Modbus
Pour cette partie, vous aurez besoin de la table Modbus fournie par Eaton et qui correspond à votre batterie et ses fonctionnalités.
Lorsque vous avez ces informations, je vous propose de récupérer le plugin gratuit MyModbus sur le market de Jeedom et de l’installer
Quand cela est fait, vous pouvez aller sur la page de configuration et dans la case Dépendances il faut cliquer sur lancer Installation
Maintenant allez dans Plugins –> Protocole domotique –> MyModbus
Cliquez sur Ajouter et donnez un nom à votre premier modbus (Ici, je dois répéter 3 fois l’action afin de créer 3 objets Modbus car les différentes fonctionnalités sont accessible sur des ports différents):
- 1 pour les variables internes de la batterie –> Batterie Eaton States
- 1 pour le contrôle de la batterie –> Batterie Eaton Control
- 1 pour les informations de la Grid –> Batterie Eaton Grid Meter
Dans Mode de connection et choisissez tcpip, renseignez l’adresse IP et le port qui concerne les tables modbus de fonctionnalités visées.
Il faut mettre 0 pour le Unit ID et laissez un Polling de 10 secondes.
Vous pouvez sauvegarder et cliquez sur l’onglet Commandes
Nous allons d’abord, nous concentrer sur les informations à récupérer (états de la batterie et mesures de la Grid)
Pour cela, cliquez sur Ajouter une info (sur la droite)
Puis renseignez les divers éléments. Pour cette partie, nous allons utiliser des Input Registers (Pensez à bien checker s’ils sont en 16 ou 32 bits)
Une fois toutes les informations qui vous sont nécessaires remplies, vous pouvez sauvegardez et observer le résultat dans votre dashboard
Maintenant pour la partie Controle de la batterie, nous devons refaire la même opération mais avec quelques modifications.
- D’abord il faut utilisez le bouton Ajouter une action
- Nous utiliserons des Holding Registers
Le plus important est de rajouter en premier lieu l’entrée “System control method” car c’est lui qui autorise à envoyer des ordres.
Pour bien le complèter, il faut mettre dans Parametre(s) le mot de passe ModBus qui se trouve dans le document de table modbus fourni par Eaton.
Je vous conseille aussi d’utiliser l’appel des variables pour les fonctions que vous voudrez rendre plus flexible en les remplissant de la façon suivante:
Une fois que toutes vos commandes sont remplies, vous pouvez sauvegarder.
Si vous avez fait appel à des variables, il faut ensuite les créer de la façon suivante:
Allez dans Outils puis Variables
Cliquez sur Ajouter
Puis renseignez les Noms et Valeurs (Pensez à cliquer sur le bouton à chaque fois)
Maintenant que tout est ok, il faut créer un scénario qui permette d’envoyer le mot de passe toutes les 60 secondes car sinon la batterie stoppe l’écoute des modifications des Holding Registers pour des raisons de sécurité.
Pour faire cela, il faut aller dans Outils –> Scénarios
Puis cliquer sur Ajouter et lui donner un nom
Maintenant il faut mettre le Mode du scénario sur programmé et cliquez sur Programmation
Puis sur le point d’interrogation sur la commande qui vient d’apparaitre
Puis choisir récurrent et toutes les minutes et valider
Normalement vous aurez cela comme configuration
Allez sur l’onglet Scénarios
Cliquez sur Ajouter bloc
Choisissez un bloc action et cliquez sur Ajouter
Dans le nouveau bloc, cliquez sur Ajouter
Et choisissez de nouveau Action
Maintenant cliquez sur le petit bouton Selectionner la commande
Allez chercher votre commande créer pour activer le mot de passe et cliquez sur Valider
Voila vous devriez vous retrouver avec cela
Vous pouvez sauvegarder et maintenant votre Jeedom est capable de piloter votre batterie.
A partir de maintenant, c’est à vous de jouer afin de créer les divers scénarios pour piloter en fonction de vos envies votre batterie.
De mon côté, nous avons aussi couplé notre expérimentation avec Grafana afin de faire de la supervision dessus
Dans un prochain article, je me pencherai sur comment piloter cette batterie via un script Python
Je vous souhaite une bonne journée,
Jérôme