Lorsqu'un conducteur veut arrêter sa recharge depuis l'application, lorsque le quota kWh d'un utilisateur est épuisé ou lorsque le service client doit clôturer une session problématique, la commande utilisée est la même : RemoteStopTransaction. Cet article explique son fonctionnement et pourquoi elle ne donne parfois pas le résultat attendu.
Structure de la commande
En OCPP 1.6J, RemoteStopTransaction comporte un seul champ obligatoire : transactionId.
[2, "6001", "RemoteStopTransaction", {"transactionId": 58211}]
La borne répond Accepted ou Rejected. Comme pour RemoteStartTransaction, Accepted ne signifie pas que la session s'est immédiatement terminée ; cela indique que la borne a lancé le processus d'arrêt. C'est le message StopTransaction qui suit, avec la valeur reason: "Remote", qui confirme la clôture effective.
En OCPP 2.0.1 et 2.1, l'équivalent est RequestStopTransaction, qui utilise le champ transactionId ; la fin de la session est signalée par TransactionEvent (Ended).
Pourquoi un transactionId est-il nécessaire ?
Utiliser un identifiant de transaction plutôt qu'un numéro de connecteur est un choix de conception délibéré. Cela évite d'arrêter une autre session par erreur. Cela suppose aussi que le CSMS conserve correctement le transactionId de chaque session ouverte. Aucune commande ne peut être envoyée pour une session démarrée hors ligne et pas encore signalée au CSMS.
Quand l'utiliser ?
- Demande du conducteur : le bouton « Arrêter la recharge » de l'application.
- Dépassement de limite : arrêt automatique lorsque le quota kWh quotidien ou mensuel du conducteur est épuisé. Voir recharge intelligente et limites kWh.
- Problème de paiement : lorsque le montant pré-autorisé est dépassé.
- Intervention d'exploitation : clôturer une session bloquée ou qui semble défaillante.
- Limite de durée : mettre fin aux sessions qui dépassent une durée donnée.
Pourquoi la réponse est-elle Rejected ?
- La borne ne connaît pas ce transactionId (la session est déjà terminée ou l'identifiant est erroné).
- La borne est dans un état qui ne lui permet pas d'arrêter à ce moment.
- La borne a redémarré et a perdu la session.
En cas de Rejected, vérifiez d'abord si la session est réellement encore ouverte côté borne. Si la borne a redémarré, elle a peut-être envoyé le StopTransaction manquant.
Si le câble reste verrouillé après l'arrêt
Sur certaines bornes, le câble reste verrouillé après l'arrêt de la session jusqu'à ce que l'utilisateur présente son badge. Pour les sessions arrêtées à distance, cela peut bloquer le conducteur. La solution est généralement l'une des deux suivantes :
- Configurer la borne pour qu'elle se déverrouille automatiquement après un arrêt à distance,
- Envoyer si nécessaire une commande UnlockConnector.
Voir notre article sur UnlockConnector.
La différence avec la recharge intelligente
Si vous souhaitez seulement réduire la puissance plutôt que d'arrêter la session, utilisez des profils de charge plutôt que RemoteStopTransaction. Par exemple, lorsque la puissance totale d'un bâtiment est dépassée, réduire la puissance des sessions offre une bien meilleure expérience que de les clôturer. Voir limiter la puissance avec SetChargingProfile.
Vigilance en automatisation
Dans les systèmes qui arrêtent automatiquement les sessions lorsqu'une limite est atteinte, suivez toujours le résultat de la commande. Si la borne refuse la commande ou ne répond pas, cela doit apparaître comme une alerte distincte. Üreticy arrête à distance la session d'un conducteur dont la limite est épuisée ; si la borne n'accepte pas la commande, il l'enregistre comme une alerte distincte dans le tableau de bord.
Liste de contrôle rapide
- Avant d'envoyer la commande, vérifiez que la session est ouverte dans le tableau de bord et que le transactionId est renseigné.
- Après une réponse Accepted, attendez un StopTransaction dans les minutes qui suivent.
- Vérifiez que le champ reason du StopTransaction vaut « Remote ».
- Si le câble reste verrouillé, envoyez la commande de déverrouillage sans faire attendre le conducteur.
- Suivez les refus répétés par modèle de borne.
Informer l'utilisateur
Pour une session arrêtée à distance, il est important d'en indiquer la raison au conducteur. Une courte notification comme « Votre quota kWh quotidien est épuisé, la recharge a été arrêtée » ou « La session a été clôturée par le service client » réduit fortement les réclamations. Cette notification doit être envoyée avec le récapitulatif de session après réception du StopTransaction.
Conclusion
RemoteStopTransaction met fin à une session de recharge en toute sécurité en la ciblant par son identifiant. Distinguer Accepted de la fin réelle, tenir le transactionId à jour et configurer à l'avance des détails comme le verrouillage du câble sont les clés d'une exploitation sans accroc. Le logiciel OCPP d'Üreticy enregistre le résultat de chaque commande, y compris les arrêts à distance.
