Şarj ağında para kazandıran şey enerji değil, doğru kaydedilmiş şarj oturumlarıdır. OCPP 1.6J'de bir oturumun ne zaman başladığı, kimin başlattığı, ne kadar enerji aktarıldığı ve neden bittiği iki temel mesajla kaydedilir: StartTransaction ve StopTransaction. Bu mesajlardaki tek bir alanın yanlış yorumlanması bile faturada ciddi farklara yol açabilir.
StartTransaction: oturumun başlangıcı
Kullanıcı yetkilendirildikten ve kablo takıldıktan sonra cihaz, enerji aktarmaya başlamadan hemen önce StartTransaction gönderir. Mesajda şu alanlar bulunur:
- connectorId: Oturumun hangi konnektörde başladığı.
- idTag: Oturumu başlatan kart veya kimlik.
- meterStart: Başlangıç anındaki sayaç değeri (Wh).
- timestamp: Başlangıç zamanı.
- reservationId: Varsa, rezervasyon kimliği.
CSMS cevabında iki şey döner: kimliğin durumu (idTagInfo) ve bir transactionId. Bu kimlik, oturum boyunca gönderilecek tüm MeterValues mesajlarında ve StopTransaction'da kullanılır.
Örnek:
[2, "4001", "StartTransaction", {"connectorId": 1, "idTag": "04A2B3C4", "meterStart": 125430, "timestamp": "2026-10-02T08:10:00Z"}] [3, "4001", {"transactionId": 58211, "idTagInfo": {"status": "Accepted"}}]
StopTransaction: oturumun bitişi
Oturum sona erdiğinde cihaz StopTransaction gönderir:
- transactionId: Başlangıçta alınan kimlik.
- meterStop: Bitiş anındaki sayaç değeri (Wh).
- timestamp: Bitiş zamanı.
- idTag: Oturumu durduran kimlik (isteğe bağlı).
- reason: Durdurma nedeni.
- transactionData: Oturum boyunca toplanan ölçüm değerleri (isteğe bağlı).
Aktarılan enerji basitçe meterStop - meterStart farkıdır. Yukarıdaki örnekte meterStop 147930 ise oturumda 22.500 Wh, yani 22,5 kWh enerji aktarılmıştır.
Durdurma nedenleri (reason)
OCPP 1.6J'de standart nedenler şunlardır:
- Local: Kullanıcı cihaz üzerinden durdurdu (kart okutma, buton).
- Remote: CSMS uzaktan durdurma komutu gönderdi.
- EVDisconnected: Araç tarafında kablo çekildi.
- EmergencyStop: Acil durdurma butonuna basıldı.
- HardReset / SoftReset: Cihaz yeniden başlatıldı.
- PowerLoss: Elektrik kesildi.
- DeAuthorized: Kimlik oturum sırasında geçersiz hale geldi.
- UnlockCommand: Uzaktan kilit açma komutu oturumu sonlandırdı.
- Reboot, Other: Diğer durumlar.
Neden alanı belirtilmezse varsayılan "Local" kabul edilir. Durdurma nedenlerini raporlamak, kullanıcıların şarjı neden yarıda bıraktığını veya cihazların ne sıklıkla yeniden başladığını görmek için çok değerlidir.
Sık yapılan hatalar
Sayaç değerini sıfırdan başlıyormuş gibi okumak
meterStart, oturuma özel bir sayaç değil, cihazın toplam enerji sayacıdır. Tüketimi her zaman fark olarak hesaplayın.
Watt-saat ile kilowatt-saati karıştırmak
OCPP 1.6J'de meterStart ve meterStop Wh cinsindendir. 1000'e bölmeden kWh gibi kullanmak faturayı bin kat şişirir.
Çevrimdışı oturumları kaybetmek
Cihaz internet kesikken oturum başlattıysa StartTransaction'ı bağlantı geri geldiğinde gönderir. CSMS bu gecikmiş mesajları doğru zaman damgasıyla işlemelidir. Ayrıntılar için çevrimdışı işlemler yazımıza bakın.
Kapanmamış oturumlar
StopTransaction hiç gelmezse oturum panelde açık kalır. Cihaz yeniden başlatıldığında genellikle eksik StopTransaction'ı gönderir; gelmezse oturumun kontrollü şekilde kapatılması gerekir.
OCPP 2.0.1 ve 2.1'de ne değişti?
Yeni sürümlerde bu iki mesajın yerini TransactionEvent aldı. Başlangıç, ara güncellemeler ve bitiş aynı mesaj türüyle (Started, Updated, Ended) iletilir ve işlem kimliğini cihaz üretir. Ayrıntılar için OCPP 2.0.1 TransactionEvent yazımıza göz atabilirsiniz.
Faturalandırma ve raporlama
Doğru kaydedilmiş bir oturum; kim, nerede, ne zaman ve ne kadar enerji kullandı sorularının tek kaynağıdır. Üreticy'nin OCPP yazılımı her oturumu sürücü, araç, istasyon ve tarih bilgisiyle saklar; enerji raporlarını Excel ve PDF olarak dışa aktarmanızı ve kWh limitleriyle tüketimi kontrol etmenizi sağlar.
Örnek bir oturumun okunuşu
Diyelim ki loglarda şu bilgiler var: StartTransaction 08:10'da meterStart 125430 Wh ile gelmiş, StopTransaction 09:05'te meterStop 147930 Wh ve reason "EVDisconnected" ile gelmiş. Bu oturum 55 dakika sürmüş, 22,5 kWh enerji aktarılmış ve sürücü kabloyu araçtan çekerek oturumu bitirmiş demektir. Ortalama güç yaklaşık 24,5 kW'tır. Bu basit hesap; sürücüye gönderilen özetin, faturanın ve lokasyon raporunun aynı kaynaktan üretilmesini sağlar.
Sonuç
StartTransaction oturumu açar ve transactionId'yi verir, StopTransaction ise toplam enerjiyi ve durdurma nedenini kaydeder. Sayaç değerlerinin Wh cinsinden olduğunu, tüketimin fark olarak hesaplandığını ve çevrimdışı oturumların gecikmeli gelebileceğini unutmamak, faturalandırma hatalarının çoğunu önler.
