Detecting Chargestation Connectivity

Chargestation Connectivity Under the Hood

Chargestations connect to eDRV by opening a Websocket connection over internet transport links such as Wi-Fi, Mobile internet (3G,4G) or fixed line DSL, Fiber etc. The transport layer (e.g. 3G/4G) is susceptible to connectivity problems that can occur randomly.

Most reputable charging stations implement a (chargestation side) Websocket Ping/Pong check to confirm that the transport layer to eDRV is available at any given instant.

eDRV also implements a (network side) Websocket Ping/Pong check to confirm that the transport layer to the chargestation is available at any given instant.

🚧

Chargestations display intermittent connect / re-connect behavior

Chargestations that are experiencing poor wireless signal quality, intermittent cellular connection, or other such transport layer issues will disconnect and attempt to reconnect.

This will trigger multiple chargestation.online/offline webhook events from eDRV.

Chargestation Online / Offline Events

892

Chargestation connectivity is the trigger for eDRV events

Online / Offline webhooks are triggered by the chargestation opening or closing a WebSocket connection or by eDRV not receiving ping/pongs from a chargestation. These events report the instantaneous state of the Websocket connection and should be used to build application logic that relies on the chargestation connection state.

eDRV works as a relay system and pushes the update received from the physical chargestation to the services that have subscribed to our webhooks.

📘

Chargestation State Durability

A chargestation remains in the last reported state until a new event is received.
E.g. once a chargestation.online event is received a chargestation is considered to be online until a chargestation.offline event is received and vice versa.

chargestation.online event example:

  • A chargestation makes a connection attempt to eDRV
  • Chargestation credentials (URL, endpoint etc) are verified
  • Chargestation opens a WebSocket connection with eDRV
  • eDRV
    • Sets Chargestation object online = true
    • Sends a chargestation.online webhook event

chargestation.offline event example:

  • A chargestation closes the WebSocket connection with eDRV
  • eDRV
    • Sets Chargestation object online = false
    • Sends a chargestation.offline webhook event

chargestation.offline event example:

  • eDRV closes a chargestation WebSocket connection due to Ping/Pong failure
  • eDRV
    • Sets Chargestation object online = false
    • Sends a chargestation.offline webhook event

📘

Using Chargestation Connectivity Events

eDRV systems never send these events on their own. It will always be triggered by detecting activity/inactivity on a chargestation WebSocket Connection.

We recommend developers to use the Webhook events to take specific actions/alerts.

If you want to double verify the status of the chargestation, please use webhooks in conjunction with the GET /chargestations/{id} API at regular intervals. The eDRV admin dashboard also relies on the same logic. On page load, it shows the current state of the Chargestation object online flag.