Hubject’s intercharge network uses OICP (currently 2.3). OCPPLab does not speak OICP and does not stand in for Hubject QA. This page is a Hubject-facing briefing: what Hubject expects, and which OCPI 2.1.1 / 2.2.1 modules OCPPLab can exercise so your CSMS is ready before you start Hubject’s own onboarding.
A practical Hubject readiness test verifies that your backend can exchange the right operational data with a hub-facing integration boundary before any live partner traffic arrives.
CPO -> Hub (QA): eRoamingPushEvseData (publish EVSE static data, EvseID DE*ABC*E1234567)
CPO -> Hub (QA): eRoamingPushEvseStatus (status: Available)
Hub -> CPO: Acknowledgement (Result: true)
# Driver taps a partner RFID at the charger
CPO -> Hub: eRoamingAuthorizeStart (EvseID, Identification: RFID UID)
Hub -> eMSP: forward AuthorizeStart
eMSP -> Hub: Authorized + SessionID
Hub -> CPO: AuthorizationStatus = Authorized
# App-initiated remote start from the eMSP
eMSP -> Hub: eRoamingAuthorizeRemoteStart (EvseID, EvcoID, SessionID)
Hub -> CPO: AuthorizeRemoteStart
CPO -> Hub: Acknowledgement (Result: true)
# Session ends
eMSP -> Hub: eRoamingAuthorizeRemoteStop (SessionID)
CPO -> Hub: eRoamingChargeDetailRecord (SessionID, kWh, start/stop time)
Hub -> eMSP: forward CDR for billingHubject-facing validation is usually about proving that the backend can survive hub-mediated partner workflows before live onboarding and operational rollout.
| Area | Coverage | Typical validation |
|---|---|---|
| EVSE data publication | eRoamingPushEvseData and eRoamingPushEvseStatus | Confirm your charge points and live status reach the hub so partner apps can show them. |
| Authorization | eRoamingAuthorizeStart, eRoamingAuthorizeStop, and remote start/stop | Exercise both RFID and app-initiated sessions, including SessionID handling. |
| Charge Detail Records | eRoamingChargeDetailRecord exchange | Validate CDR fields and timing so settlement with the eMSP reconciles. |
OICP messages (eRoamingPushEvseData, AuthorizeStart, ChargeDetailRecord) are Hubject’s protocol. Exercise them in Hubject QA — OCPPLab does not replay those calls.
Re-run the full eRoamingAuthorizeStart-to-eRoamingChargeDetailRecord flow whenever you change authorization, session, or CDR logic in your CPMS.
Check that your backend keeps OICP roaming with Hubject consistent when it also speaks OCPI to other partners.
Simulate the CPO-to-hub-to-eMSP exchange — EVSE pushes, authorization, and Charge Detail Records — so you reach the Hubject QA environment already passing.