Documentation

lire et commander cFos Charging Manager au moyen de Modbus

Outre HTTP et MQTT, cFos Charging Manager met également à disposition une API Modbus. Celle-ci est modélisée selon SunSpec. Sous la configuration du Charging Manager, vous pouvez indiquer sous "Paramètres d'adresse SunSpec" un port TCP ou un paramètre de port COM, ainsi qu'un ID Modbus. Ainsi, le cFos Charging Manager écoute le port TCP ou le port COM sous les paramètres indiqués et l'ID Modbus et l'ID Modbus + 1. Sous l'ID Modbus, les valeurs générales du Charging Manager, les paramètres, les indicateurs et les variables sont disponibles. Sous ID + 1, les appareils configurés dans le Charging Manager (Wallbox et compteurs) peuvent être interrogés. Comme fonction Modbus, on peut utiliser 3 et 4 pour la lecture et 6 et 16 pour l'écriture. Attention : sous Raspberry, les ports TCP inférieurs à 1024 sont réservés aux programmes ayant des droits d'administration. Choisissez donc plutôt un numéro de port plus élevé, par exemple 1502.

La spécification Modbus SunSpec stipule que la plage d'adresses Modbus commence par un identifiant "SunS" et contient ensuite des modèles dits SunSpec. Chaque modèle a un numéro d'identification de modèle à l'offset 0 et une indication de longueur des registres restants appartenant au modèle à l'offset 1. Les valeurs du modèle suivent à partir de l'offset 2. Important: Vous devez balayer la plage d'adresses SunSpec et toujours avancer de la longueur indiquée à l'offset 1. Ne partez pas de longueurs fixes ou d'adresses de registres fixes, car il est très probable qu'au fil du temps, nous ajoutions d'autres valeurs aux modèles. Le premier modèle est toujours le modèle 1 (commun) avec indication du fabricant, des numéros de version, etc. Veuillez télécharger les spécifications SunSpec Modbus auprès de la SunSpec Alliance pour des informations détaillées. La plage d'adresses SunSpec pour le cFos Charging Manager commence à l'adresse 40000.

Le cFos Charging Manager affiche d'abord les valeurs suivantes sous le Modbus ID après le modèle commun, respectivement comme modèle 213 (three phase meter, float) :
Consommation du réseau
Somme des consommateurs
Somme des producteurs
Excédent PV
Puissance de la Wallbox utilisée
Puissance de la Wallbox disponible
Puissance de l'erreur

Suit le modèle 60000 "custom" avec les paramètres de réglage du cFos Charging Manager : après le modèle et la longueur, suivent actuellement 8 valeurs float : courant total maximal, réserve, dépassement, courant total maximal de la Wallbox respectivement en mA par phase, déphasage maximal (en mA), gestion de la charge active (1 = active, 0 = inactive), déphasage incl. Consommateur (1 = actif, 0 = inactif), courant total maximal en pourcentage. Ce sont les paramètres globaux du Charging Manager, également réglables dans l'UI. Les modifications de ces valeurs sont enregistrées (avec un délai maximal de 150sec.). Le courant total en pourcentage permet par exemple d'adapter dynamiquement la puissance de charge à la demande de l'exploitant du réseau.

Vient ensuite le modèle "custom" 60001. 32 registres (16bit) suivent le modèle et la longueur. Ceux-ci peuvent contenir les valeurs 0 et 1 et lire ou écrire jusqu'à 32 Charging Manager flags. L'état de ces drapeaux peut ensuite être interrogé dans des formules par CM._flag1 à CM._flag32 et utilisé pour des calculs.

Vient ensuite le modèle "custom" 60002. Après le modèle et la longueur viennent les variables possibles du Charging Manager. Pour chaque variable, 22 registres sont disponibles. Les 20 premiers registres sont une chaîne Modbus pour le nom de la variable (les noms trop longs sont coupés). Les 2 registres suivants contiennent la valeur float actuelle de la variable. Si vous écrivez la valeur float d'une variable Charging Manager, vous effacez ainsi une formule éventuellement existante et mettez la variable à une valeur fixe.

Sous Modbus ID + 1, les compteurs et les wallboxes installés dans le Charging Manager sont affichés comme suit. Les Wallbox s'affichent en tant que modèle SunSpec 113 étendu de 2 registres 16 bits. L'offset 62 indique l'état de la Wallbox (1=attendre, 2=brancher, 3=charger, 4=charger avec ventilation, 5=erreur) et l'offset 63 indique l'ID de l'appareil. 1 = E1, 2 = E2, etc. Les compteurs sont représentés avec le modèle 213 étendu de 2 registres 16 bits. L'offset 126 indique le rôle du compteur (0=affichage, 1=consommation, 2=production, 3=consommation réseau, 4=consommation E-Auto, 5=accumulation Home, 6=accumulation Tout), l'offset 127 indique l'ID de l'appareil (-1 pour M1, -2 pour M2, etc.). Si le compteur est une mémoire (rôle 5 ou 6), le modèle 213 est suivi par le modèle 124 étendu à un registre de 16 bits. L'offset 26 contient à nouveau l'ID de l'appareil. Pour que les appareils soient affichés sous Modbus ID + 1, vous devez activer "Publier les infos appareils via Modbus" dans les réglages des appareils.

Aufstellung Start-Addressen der Modelle:
Modbus ID:
Model: 1, Addr: 40002
Model: 213, Addr: 40070, Netzbezugszähler
Model: 213, Addr: 40196, Summe Verbraucher
Model: 213, Addr: 40322, Sume Erzeuger
Model: 213, Addr: 40448, PV Überschuss
Model: 213, Addr: 40574, Genutzte Wallboxleistung
Model: 213, Addr: 40700, Verfügbare Wallboxleistung
Model: 213, Addr: 40826, Fehler-Leistung
Model: 60000, Addr: 40952
Model: 60001, Addr: 40970
Model: 60002, Addr: 41004
Die konkreten Start-Addressen können bei späteren Versionen des cFos Charging Managers variieren, daher sollte der Register-Bereich, wie oben beschrieben, gescannt werden.
Modbus ID + 1:
Modelle und Startadressen hängen von den eingeblendeten Geräten ab.

Liste des valeurs pour le modèle 213 :
Offset 0 : 213
Offset 1 : longueur
Offset 2 : somme des courants L1-L3 (A)
Offset 4 : courant L1 (A)
Offset 6 : courant L2 (A)
Offset 8 : courant L3 (A)
Offset 10 : tension (V)
Offset 12 : Tension L1 (V)
Offset 14 : tension L2 (V)
Offset 16 : tension L3 (V)
Offset 26 : 50 Hz
Offset 28 : puissance (W)
Offset 30 : puissance L1 (W)
Offset 32 : puissance L2 (W)
Offset 34 : puissance L3 (W)
Offset 36 : Puissance apparente (VA)
Offset 38 : Puissance apparente L1 (VA)
Offset 40 : Puissance apparente L2 (VA)
Offset 42 : Puissance apparente L3 (VA)
Offset 44 : Puissance réactive (VAr)
Offset 60 : Exportation, puissance active (Wh)
Offset 68 : Importation, puissance active (Wh)
Offset 126 : rôle (pour Modbus ID + 1)
Offset 127 : ID appareil (pour Modbus ID + 1)

Liste des valeurs pour le modèle 113 :
Offset 0 : 113
Offset 1 : longueur
Offset 2 : somme des courants L1-L3 (A)
Offset 4 : Courant L1 (A)
Offset 6 : courant L2 (A)
Offset 8 : courant L3 (A)
Offset 16 : tension L1 (V)
Offset 18 : tension L2 (V)
Offset 20 : tension L3 (V)
Offset 22 : puissance (W)
Offset 24 : 50 Hz
Offset 26 : Puissance apparente (VA)
Offset 32 : Import, puissance active (Wh)
Offset 62 : État (pour Modbus ID + 1)
Offset 63 : ID appareil (pour Modbus ID + 1)

Liste des valeurs pour le modèle 124 :
Offset 0 : 124
Offset 1 : Longueur
Offset 2 : Max de la puissance de charge/décharge (W)
Offset 3 : Pourcentage de la limite de puissance de charge actuelle
Offset 4 : Pourcentage de la limite de puissance de décharge actuelle
Offset 8 : State of Charging en pourcentage
Offset 18 : Facteur d'échelle pour Offset 2
Offset 19 : Facteur d'échelle pour offset 3 et 4
Offset 26 : ID de l'appareil (pour Modbus ID + 1)

Liste des valeurs pour le modèle 60000 :
Toutes les valeurs en float, accès en lecture/écriture, provoque la mise à jour de la flash, c'est-à-dire que la flash ne peut pas être modifiée.c'est-à-dire ne pas la modifier souvent, afin d'éviter tout dommage.
Offset 0 : 60000 (unt16, lecture seule)
Offset 1 : longueur (uint16, lecture seule)
Offset 2 : courant max. Courant total (mA)
Offset 4 : Réserve de puissance (mA)
Offset 6 : Dépassement (mA)
Offset 8 : Courant total max. wallbox (mA)
Offset 10 : Courant total max. Déphasage (mA)
Offset 12 : 1 = gestion de la charge active, 0 = inactif
Offset 14 : 1 = ajouter la consommation domestique au déphasage, 0 = inactif
Offset 16 : pourcentage du courant total maxi, n'est pas enregistré, peut être modifié souvent.

Liste des valeurs pour le modèle 60001 :
Toutes les valeurs 0 ou 1, int16, read/write access, ne sont pas enregistrées, peuvent être modifiées souvent.
Offset 0 : 60001 (uint16, lecture seule)
Offset 1 : longueur (uint16, lecture seule)
Offset 2 : CM._flag1
...
Offset 33 : CM._flag32

Liste des valeurs pour le modèle 60002 :
Toutes les valeurs float, accès en lecture/écriture, ne sont pas enregistrées, peuvent être modifiées souvent. Offset 0 : 60002 (uint16, en lecture seule)
Offset 1 : Longueur (uint16, en lecture seule)
Offset 2..22 : Nom Charging Manager Variable 1
Offset 23..24 : Valeur Charging Manager Variable 1
Offset 25..45 : Nom Charging Manager Variable 2
Offset 46..47 : Valeur Charging Manager Variable 2
...