(English below)

NOBIL sanntidsløsning, NOBIL Real-time, er en løsning som gir ut statusoppdateringer på ladestasjoner. Den er sterk koblet mot data som ligger i NOBIL

Teknologi

Sanntidsløsningen er bygget på Enovas plattformløsning. Den underliggende teknologien er WebSockets, og det er flere potensielle måter å integrere på via preferert språk.

Her er eksempler på hvordan man enkelt kan koble seg til en strøm med flere forskjellige språk:

Microsoft Learn

Eksemplene inkluderer uthenting av URL fra en Azure Web PubSub Service Client, men dette vil ikke være relevant for NOBIL Real-time, da URL for WebSocket-klienten hentes via APIet på "NOBIL Real-time"-produktet på data.enova.no

Datastrøm

Format

Kontrakten for datastrømmen er definert slik:

{
    "nobilId": "string",
    "evseUId": "string",
    "status": "string"
}

hvor

nobilId er den internasjonale versjonen av Id'en i NOBIL, eksempelvis NOR_23314

evseUid er den unike identifikatoren på EVSE oppdateringen gjelder, eksempelvis 7381cc78-a032-4f23-a46f-3e0ebe4590ff

status er en av statusene i listen under:

"AVAILABLE" - Evse is able to start a new charging session
"BLOCKED" - Evse is not accessible because of a physical barrier, i.e. a car
"CHARGING" - EVSE is in use
"INOPERATIVE" - EVSE is not yet active or it is no longer available (deleted)
"OUTOFORDER" - EVSE is currently out of order
"PLANNED" - EVSE is planned, will be operating soon
"REMOVED" - EVSE is discontinued/removed.
"RESERVED" - EVSE is reserved for a particular EV driver and is unavailable for other drivers
"UNKNOWN" - No status information available. (Also used when offline)

Kom i gang

For å komme i gang med NOBIL Real-time kan du følge stegene nedenfor:

1. Ny bruker

Registrere ny bruker på https://test.data.enova.no/signup. Her godkjenner du også generelle vilkår for data delt via Enova.

2. Abonner på produkt

Gå til https://test.data.enova.no/products og finn "NOBIL - Real-time". Opprett en "subscription" på produktet. Denne gir deg en API-nøkkel som må brukes hver gang du skal hente en tilkoblings-URL til datastrømmen. .

3. Hent tilkoblings-URL

Når du har fått en subscription kan du bruke API-nøkkelen til å hente ut en adgangstoken for å koble deg på strømmen med sanntidsoppdateringer. 

4. Koble til strøm

Bruk adgangstoken fra responsen fra APIet til å koble deg på strømmen av sanntidsoppdateringer via standard WebSockets. 

5. Gå i produksjon

For øyeblikket er det ingen testdata på datastrømmen i testmiljøet, men det er fint å bruke til å sørge for at kobling mot API og strøm fungerer.

Å bruke reelle produksjonssdata følger akkurat samme steg som i test, men man forholder seg da til https://data.enova.no

Postman

Etter at du har registrert bruker og abonnerer på produktet er det enkelt å teste ved å bruke f.eks Postman fra din PC. 

1. Lag et nytt GET request mot https://test.data.enova.no/real-time/v1/Realtime
2. Legg inn Authorization header "x-api-key" og din API-nøkkel
3. Trykk "Send" og du får en URL tilbake som starter med "wss".
4. Trykk New -> WebSocket i Postman, lim inn lenken og trykk "Connect"
5. Du er nå tilkoblet strømmen, men som nevnt tidligere, det er ingen data i TEST-miljøet for øyeblikket, så dette er bare for å teste tilkoblingsflyten. Gjennomfør samme prosedyre mot produksjonsmiljøet for å få ut reelle data.


English

NOBIL Real-time data stream service is a solution that provides status updates on charging stations. It is closely connected to data stored in NOBIL.

Technology

The real-time data stream service solution is built on Enova's platform solution. The underlying technology is WebSockets, and there are several potential ways to integrate using preferred languages.

Here are examples of how to easily connect to a stream with various languages:

Microsoft Learn

The examples include retrieving a URL from an Azure Web PubSub Service Client, but this will not be relevant for NOBIL Real-time data stream service, as the WebSocket client's URL is retrieved via the API on the "NOBIL Real-time" product at data.enova.no.

Data Stream

Format

The contract for the data stream is defined as follows:

{
    "nobilId": "string",
    "evseUId": "string",
    "status": "string"
}

where

nobilId is the international version of the ID in NOBIL, for example, NOR_23314
evseUid is the unique identifier of the EVSE the update pertains to, for example, 7381cc78-a032-4f23-a46f-3e0ebe4590ff
status is one of the statuses listed below:

"AVAILABLE" - Evse is able to start a new charging session
"BLOCKED" - Evse is not accessible because of a physical barrier, i.e. a car
"CHARGING" - EVSE is in use
"INOPERATIVE" - EVSE is not yet active or it is no longer available (deleted)
"OUTOFORDER" - EVSE is currently out of order
"PLANNED" - EVSE is planned, will be operating soon
"REMOVED" - EVSE is discontinued/removed.
"RESERVED" - EVSE is reserved for a particular EV driver and is unavailable for other drivers
"UNKNOWN" - No status information available. (Also used when offline)


Getting Started with NOBIL Real-time data stream service

To get started with NOBIL Real-time data stream service you follow the steps below. Bear in mind that test environment and production environment are not connected in regards to account details and api-keys. You need to sign up for both. Aslo, there are currently no data flowing in Enova’s test environment. Use this test environment to ensure understanding of the procedure to connect to the data stream.

1. New User

Register a new user at https://test.data.enova.no/signup. Here you also approve the general terms for data shared via Enova.

2. Subscribe to Product

Go to https://test.data.enova.no/products and find "NOBIL Real-time". Create a subscription for the product. This will give you an API key that must be used every time you want to retrieve a connection URL for the data stream.

3. Get Connection URL

Once you have a subscription, you can use the API key to retrieve an access token to connect to the stream of real-time updates.

4. Connect to Stream

Use the access token from the API response to connect to the stream of real-time updates via standard WebSockets.

5. Go into Production

Currently, there is no test data on the data stream in the test environment, but it is good to use to ensure that the connection to the API and stream works.

Using real production data follows exactly the same steps as for testing, but then you refer to https://data.enova.no. For production data - signup to a production account at https://data.enova.no/signup

Postman

After registering a user and subscribing to the product, it's easy to test using, for example, Postman from your PC.

1. Create a new GET request to https://test.data.enova.no/real-time/v1/Realtime
2. Add an Authorization header "x-api-key" and your API key
3. Press "Send," and you'll receive a URL back starting with "wss".
4. Click New -> WebSocket in Postman, paste the link, and press "Connect"
5. You are connected to the stream, but as stated earlier, there are no data in the TEST environment at this point, so this is just for testing the flow. Doing the same procedure against the production environment will show actual data.