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
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 achargestation.online
event is received a chargestation is considered to be online until achargestation.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
- Sets Chargestation object
chargestation.offline
event example:
- A chargestation closes the WebSocket connection with eDRV
- eDRV
- Sets Chargestation object
online
=false
- Sends a
chargestation.offline
webhook event
- Sets Chargestation object
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
- Sets Chargestation object
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 objectonline
flag.
Updated about 2 years ago