easy-ocpp

OCPP 1.6J · 2.0.1 · 1.5 SOAP

Votre propre serveur OCPP pour dix bornes au plus

easy-ocpp est un système de gestion de points de charge (CSMS) auto-hébergé pour les petites et moyennes entreprises. Il parle OCPP 1.6J, 2.0.1 et 1.5 SOAP. Un seul binaire, un seul fichier SQLite, sans abonnement cloud ni connexion internet permanente.

Télécharger une version Code source sur GitHub

Pas de cloud, pas d'abonnement

Tout tourne sur une machine qui vous appartient. Un petit serveur suffit, un NUC, au besoin un PC de bureau inutilisé. Les données de recharge ne quittent pas votre réseau.

Un binaire, un fichier

Pas de serveur de base de données, pas de courtier de messages, pas de pile de conteneurs. Décompressez, lancez, c'est fait. Toutes vos données tiennent dans un fichier SQLite qu'il suffit de copier pour la sauvegarde.

Conçu pour 1 à 10 bornes

Volontairement pas une plateforme d'entreprise. Ce dont une société avec quelques points de charge a réellement besoin, sans la charge d'exploitation qui va avec.

Ce qu'il fait

Inventaire des bornes

État en ligne, connecteurs, micrologiciel et numéro de série par point de charge, directement depuis la liaison OCPP.

Gestion des badges

Les nouveaux badges sont enregistrés via une fenêtre d'apprentissage de deux minutes : présentez le badge, le serveur intercepte le tag.

Badges et personnes

Un badge appartient à une personne, sinon c'est un badge invité. La catégorie découle de l'attribution et ne peut pas la contredire.

Mesures en direct

kWh chargés, puissance actuelle et état de charge pendant la recharge, actualisés toutes les dix secondes.

Limites de recharge

Arrêt automatique à l'énergie cible ou au bout d'une durée définie, selon ce qui arrive en premier.

Recharges invités

Déverrouillez à distance pour un visiteur et imputez la recharge à un label invité.

Rapports

Liste des recharges avec export CSV, statistiques par mois, trimestre et année, et un PDF mensuel par personne.

Quatre langues

Toute l'interface en allemand, anglais, français et espagnol, au choix de chaque utilisateur.

Deux rôles, nettement séparés

Il n'existe qu'une seule sorte de personne dans le système : l'utilisateur. Un employé est un utilisateur, et ses badges, ses recharges et ses limites sont rattachés directement à ce compte. Ce qu'un employé peut faire est volontairement restreint.

AdminEmployé
Bornes, badges, gestion des utilisateurs
Recharges de toutes les personnes
Ses propres recharges, CSV, statistiques, PDF mensuel
Voir sa recharge en cours et l'arrêter
Objectif kWh et minuteur sur sa recharge
Valeurs par défaut de n'importe quel employé

Le serveur applique ces restrictions. Les masquer dans l'interface ne suffirait pas. Après connexion, un employé arrive sur sa propre page et la navigation ne lui montre que ce qu'il peut réellement ouvrir.

Des limites qui arrêtent vraiment la recharge

Une recharge se termine d'elle-même dès qu'elle atteint une énergie cible ou un minuteur, selon ce qui survient en premier. Les deux sont facultatifs. Chaque personne dispose de valeurs par défaut appliquées à chaque nouvelle recharge, définies par l'employé lui-même ou par un administrateur ; sur une recharge en cours, les valeurs restent modifiables.

Un chien de garde vérifie toutes les 15 secondes et envoie RemoteStopTransaction. La limite d'énergie est en outre contrôlée dès l'arrivée de nouvelles mesures, afin de ne pas dépasser l'objectif en attendant le cycle suivant. Si une borne refuse l'arrêt, une nouvelle tentative est faite.

Démarrer

Récupérez une version pour Windows ou Linux, décompressez, lancez. L'interface se trouve alors sur le port 8080 ; la première connexion est admin / admin.

Ou compilez depuis les sources :

git clone https://github.com/hilman2/easy-ocpp.git
cd easy-ocpp
cargo run --release

Connecter une borne

Faites pointer le point de charge vers votre serveur. Les sous-protocoles sont négociés automatiquement, et un point de charge inconnu s'enregistre de lui-même à la première connexion.

ws://<host>:8080/ocpp/<ChargePointId>

Pour les anciens appareils OCPP 1.5 en SOAP :

POST http://<host>:8080/ocpp15

Protocoles pris en charge

VersionTransportÉtat
OCPP 1.6JWebSocketComplet (boot, heartbeat, statut, autorisation, transactions, mesures, démarrage/arrêt à distance, configuration)
OCPP 2.0.1WebSocketÉbauche (BootNotification et TransactionEvent)
OCPP 1.5SOAPÉbauche (boot et heartbeat)

Questions fréquentes

Qu'est-ce qu'un CSMS ?

Un Charging Station Management System est le backend avec lequel une borne de recharge dialogue. Il autorise les cartes RFID, enregistre les recharges et les index de compteur, et peut démarrer ou arrêter une recharge à distance. OCPP est le protocole qu'ils utilisent pour se parler.

Est-ce compatible avec ma borne ?

Tout point de charge parlant OCPP 1.6J en WebSocket devrait fonctionner, ce qui couvre la grande majorité des appareils vendus ces dernières années. Le matériel plus ancien limité à OCPP 1.5 SOAP peut se connecter pour le boot et le heartbeat.

Ai-je besoin d'une connexion internet ?

Non. Les bornes se connectent à votre serveur par le réseau local. Internet n'est nécessaire que si vous souhaitez atteindre l'interface depuis l'extérieur.

Comment voir qui a rechargé combien ?

Chaque recharge est rattachée au badge RFID qui l'a démarrée, et chaque badge appartient à une personne. La liste, les statistiques et le PDF mensuel sont regroupés en conséquence. Les recharges sur badge non attribué comptent comme recharges invités.

Les employés voient-ils les recharges des autres ?

Non. Un employé ne voit que les recharges démarrées avec ses propres badges. Seul un administrateur voit tout.

Combien ça coûte ?

Rien. easy-ocpp est open source sous licence MIT. Il n'y a ni version payante ni redevance par point de charge.