Gestion Surplus solaire et borne de recharge ABB Terra AC

Bonjour,
Je suis équipe d’une borne de recharge pourvoiture electrique ABB Terra AC, et de panneaux solaire avec onduleurs enphase.
Je suis a la recherche d’une solution pour gérer automatiquement la puissance de ma borne en fonction de la production de mes panneaux et de ce que j’exporte sur le réseau enedis.

Avec le plugin enphase secure, je peux récupérer ce que j’exporte.

La borne de recharge, elle est comptible avec serveur OCPP 1.6 et peut aussi être pilotée via modbus rs485.
Pour ce dernier cas j’ai 2 possibilités annoncées dans la doc et reste a confirmer : soit via un connecteur type bornier, soit via le port réseau de la borne.

Je ne connais pas trop le modbus rtu, mais on trouve des documentations sur le net : ici
avec les commandes a envoyer pour lire ou écrire sur le port rs485.

La question que je me pose est : quelle solution utiliser pour aller communiquer sur ce port rs485 et la borne ?
est-ce que raspberry PI ferait l’affaire ?
un esp32, ou esp8266 ?
ou est-ce qu’il existe moins cher ou mieux pour faire ce que je souhaites.
J’ai vu par exemple sur le forum un lien vers cet article :
elfin ew11

Merci d’avance pour votre aide.

Bonjour,

On peut lire sur le site de ABB que la borne de recharge a ces connexions :

  • Ethernet RJ45
  • Bluetooth
  • Wifi
  • 4G (en option)
  • RS485 pour connexion au compteur d’énergie
  • OCPP1.6
  • Authentification via APP ou RFID
  • Configuration via le portail Web APP ou ABB

Et que le Modbus est disponible sur le port RJ45. Si vous n’avez que du wifi, il faut trouver un point d’accès wifi → RJ45 :
wifi - point d’accès / RJ45 - câble - RJ45 de la borne de charge
De manière générale, une connexion RJ45 est préférable à une connexion RS485 quand on n’a pas l’habitude, cela dit avec l’appareil Elfin que vous proposez, c’est tout à fait possible.

Dans cette config il faut passer la borne en secondary et lui attribuer une adresse à utiliser dans la config Modbus. Je suppose que par défaut, elle est à 1 et je la laisserais à 1 à votre place.

Comme vous avez taggé le plugin-mymodbus, je vous confirme que ça devrait être possible de lire et d’écrire via ce plugin.

A+
Michel

Bonjour,
Merci @Michel_F pour votre réponse, mais malheureusement, je n’arrive pas à paramétrer le modbus sur TCP/IP sur la borne. pourtant je lui donne une IP, un masque de sous réseau, etc, mais lorsque j’applique le paramétrage, l’aplication plante.
J’ai passé plusieurs minutes au téléphone avec le support ABB, sans avoir vraiment plus d’informations sur comment paramétrer ce modbus sur la carte réseau.
Je vais tenter d’appeler mon installateur, afin qu’il essayent de me le configurer sait-on jamais.

Sinon je me demande si un rapsberryPi ne pourrait pas faire l’affaire avec le splots du GPIO directement branchés sur le modbus…

affaire à suivre

A titre perso, j’ai une passerelle Wifi / RS485 pour communiquer en Modbus avec une PAC: USR W610.
C’est peut-être la solution la plus simple pour vous ? Pour moi ça fonctionne nickel, en tout cas.

J’ai effectivement vu cette passerelle parmi toutes celles proposées sur internet.
Quel type de PAC avez-vous ?
J’avais il y a quelques années tenté de communiquer avec un raspberry PI en modbus avec ma PAC, mais au bout d’un moment ça ne fonctionnait plus pour une raison que j’ignore. Cette PAC est équipée directement d’un port mini USB. pour ma part c’est une PAC RIBO T-ONE Air/air.

c’est une PAC chinoise full inverter revendue par GECO mais dont je ne me souviens pas de la puissance.
Elle est pilotable via une appli (ça doit être avec tuya) Fairland Smart Pool mais a aussi une interface RS485 pour communiquer en Modbus. Sur le bornier, j’ai aussi trouver une alimentation pour la passerelle.
edit: j’ai d’ailleurs installé la passerelle dans la PAC, pas loin de l’électronique.

Pour ma part, j’ai commandé sur le net un elfin EW11. j’ai vu que des personnes l’utilisent pour communiquer en RS485 avec d’autres applications que Jeedom pour faire exactement ce que je souhaites. Cette solution s’appelle evcc ouevcc-io. Il faudra que je la teste, mais il y a une partie qui est payante et principalement en Allemand.
Je vais d’abord rester sur un objectif d’utilisation avec jeedom, et si je n’y arrive pas je testerai avec evcc.

En cas de problème avant d’abandonner, revenez ici, on regardera ensemble pour faire fonctionner tout ça.

Bonjour,
Petit update de mes avancées sur le sujet.
J’ai acheté un « convertisseur » Modbus Wifi RS485 elfin EW-11 que j’ai connecté à ma Borne de recharge.
J’ai galéré pour trouver comment configurer la borne, et j’ai enfon réussi a activer le modbus via l’application terra config.
En fait il faut choisir le modbus RS485 de type secondaire.
Maintenant je vois sur le module elfin qu’il y a des échanges entre la borne et le module Wifi.
Il ne me reste qu’a paramétrer comme il faut le module Mymodbus.

Nouvel update :
du coté du " convertisseur", il a fallu paramétrer la partie série de la meme manière que la borne (9600 bauds, 8 bits de données, 1 bit d’arret, et pas de parité, etbien indiquer le protocol modbus.
toujours coté convertisseur, il a aussi été nécessaire de paramétrer dans la page « communciation settings », le potocol (Tcp server), leport d’écoute (502), et laisser le reste des parametres par défaut.

Coté plugin et Jeedom, c’est la que ça se complique, j’ai choisi le mode de communication tcp ip et indiqué ladresse ip de mon module et le port 502.

ensuite création des différentes commandes de lecture.
Je les ai toutes passée à « Holding register » et 32 bits.

ce que j’ai eu du mal a comprendre c’est que les adresses a attaquer sont les adresses en decimal et non en hexa. (merci la calculette windows).
Ensuite il faut pour la plupart des adresses ajouter +1 pour lire les valeurs comme il se doit.
Pour le moment, j’arrive bien à lire le voltage, l’amperage l’ampérage maxi. Des informations « classiques » et exprimées en décimal.

La ou je suis bloqué pour le moment c’est l’interpretation des info tel que le numéro de série, la verison du firmware, l’état de la prise, l’état de l’appareil.
Par exemple, l’état de la prise, j’ai ceci dasn la doc ABB:
Socket Lock State
This register provides the below possible state. ‘Connector Type’ in the Serial number pro-vides the information about whether the charging cable is socket version or not. Lock is pos-sible only with socket version. Value Description Socket Non-socket
0x0000
No cable is plugged.
Applicable
Not applicable
0x0001
Cable is connected to the charging station unlocked.
Applicable
Applicable
0x0011
Cable is connected to the charging station locked.
Applicable
Not applicable
0x0101
Cable is connected to the charging station and the electric vehicle, unlocked in charg-ing station.
Applicable
Applicable
0x0111
Cable is connected to the charging station and the electric vehicle, locked in charging station.
Applicable
Not applicable

Lors de la lecture, je lis 273 ce ui correspond au dernier parametre, mais j’aimerai afficher dans mon jeedom un texte correspondant à l’état en fonction de ce que retourne la lecture de l’adresse.

Avez-vous une idée de comment faire, tout comme comment traduire le firmware et le numéro de série ?

Bonjour,

Pour que je puisse jeter un coup d’œil à votre config, il me faudrait un export de votre config ou des captures afin que je puisse vous aider à optimiser les requêtes.

Il est possible dans le champ option de faire une opération binaire avec l’opérateur &.
A priori, si j’ai bien compris, chaque bit correspond à une information :

0x0001 (1) : Prise branchée à la station
0x0010 (16) : Prise verrouillée à la station de charge
0x0100 (265) : Prise branchée au véhicule

Ensuite c’est juste des combinaisons.

Pour chaque information, il est possible de faire #value# & 1 ou 16 ou 256 pour isoler l’information correspondante.

A+
Michel

Bonjour, comment faire cet export proposé ?
Après réflexion, je pensais faire un « binaire » qui va tester si la valeur retournée est égale a telle ou telle valeur dans cas du « Socket Lock State »
Est-ce envisageable ?

En haut à droite, c’est une des icônes de la config de l’équipement ou des commandes. Ca génère un fichier json qu’il est possible de télécharger avec le gestionnaire de template accessible sur la page de gestion des équipements.

Dernière page du manuel ABB que vous avez mis en lien, il est dit que seules les fonctions 3 (read holding registers), 6 (write single holding register) et 16 (write multiple holding registers) sont possible, donc non, pas de lecture directe d’un seul bit. Il faut passer par une opération comme décrit ce matin.

désolé je ne vois pas cette option.

je n’avais pas vu ce detail. Du coup si j’ai bien vu vis a vis du plugin je ne peux faire que read et write single?

du coup j’aiimplementé ceci pour lire le courant maxi paramétré par les applications de controle de la borne :


si je comprends bien la doc, le 16 bits pour chaque fonction de lecture suffit ? pas la peine de laisser en 32 bits ?

image


Je viens de réaliser que vous utilisez la version stable, j’ai réécrit le plugin qui est en version bêta et dans cette version, plus de possibilités s’offrent à vous.
Vous pouvez passer à la version bêta qui, un jour, sera la version stable.

Je ne connais pas la version stable, je l’ai réécrite parce que je n’arrivais pas à faire ce que je voulais correctement.

ça marche j’installe la version beta, et encore merci pour le travail fourni

Edit voici le Json généré :

Terra_aC.txt (18,1 Ko)
Toutes les commandes ne répondent pas, ou n’ont pas encore été validées.

Les commandes qui suvantes sont validées :
User Settable Max Current
Socket Lock State => il me reste a travailler sa traduction en fonction de la doc
Charging State => idem au dessus
Charging Current Limit => exprimés en mA
Charging Current L1
Charging Current L2
Charging Current L3
Voltage L1 => s’afiche directement en volts, mais il doit y avoir un calcul d’affichage hérité de plusgin stable qui se cache derrière que je n’ai aps trouvé.
Voltage L2
Voltage L3

Pour les autres commandes, je ne trouves pas encore la solution.
J’aimerai rapidement réussir a faire fonctionner la « set Charging Limit »

Depuis que j’ai mis a jour en beta, la communication ne se fait plus avec mon module. J’ai la log suivante :

après le reboot journalier de mon jeedom, je n’ai plus l’erreur

C’est du paramétrage jeedom. Je sais pas si tu peux le faire directement dans mymodbus ou si il faut passer par un virtuel obligatoirement. Je trouve pas depuis mon poetable mais c’est bien décrit dans lq doc jeedom sur le type de commande, valeur reçu |valeur affichée ;

Antoine

oui en effet,sur le module stable, tu peux juste affecter des les unités, et appliquer un multiplicateurs pour par exemple passer de mA à A.
Sur le plugin beta, ça semble plus compliqué.
Pour traduire du decimel en hexa, il faut effectivement passer par un virtuel et utiliser les commandes php. Je suis en train de travailler dessus justement. Je donnerai les résultats quand cela sera finalisé :wink:

Quels sont les points qui restent ouverts maintenant que la communication fonctionne ?