https://github.com/Llocer/llocer_ocpi
openEV OCPI 2.2.1 implementation
https://github.com/Llocer/llocer_ocpi
ocpi openev
Last synced: about 1 month ago
JSON representation
openEV OCPI 2.2.1 implementation
- Host: GitHub
- URL: https://github.com/Llocer/llocer_ocpi
- Owner: Llocer
- License: lgpl-2.1
- Created: 2022-04-17T17:35:43.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-09-29T10:00:34.000Z (about 1 year ago)
- Last Synced: 2024-11-13T18:50:22.261Z (11 months ago)
- Topics: ocpi, openev
- Language: Java
- Homepage:
- Size: 43 KB
- Stars: 9
- Watchers: 1
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ev-charging - Llocer/llocer_ocpi
README
# llocer_ocpi
llocer_ocpi is a Free and Open Source librarian that allows implementation of OCPI 2.2.1 nodes.
The librarian elements can be split in two levels:
- the HTTP servlet to handle OCPI request and the HTTP request builder to send OCPI request.
- the implementation of the OCPI sender/receiver interfaces described in the specification.See repository [llocer_ev_examples](https://github.com/Llocer/llocer_ev_examples) for usage examples.
## configuration
Optional configuration file is /etc/ocpi.conf. It must be in json format. The default is:
{
"public_url": "http://127.0.0.1:8080",
"private_uri_length": 0,
"pagination_limit": 100,
"testing_no_change_credentials": false
}where:
- public_url: The server public address (not including the trailing path of the OCPI servlets and query arguments)
- private_url_length : The length of the path of the server private address. Usually, if the server is not behind a loadbalancer or similar, the public and private addresses will be the same.
- pagination_limit: maximum number of items to be sent in a pagination request.
- testing_no_change_credentials: for testing only, a new token will be not generated when new credentials are received from a peer node.Example:
Assume you public server address is "https://my.com/cso". The loadbalancer redirects the request to a private server with address "https://192.168.21.21:8080/foo/bar" and you have an OCPI servlet serving request on it at "http://192.168.21.21:8080/foo/bar/cso/ocpi/...". Configuration must be:
- "public_url": "https://my.com/cso"
- "private_url_length": 2 (number of elements in "/foo/bar")## URL of module interfaces
Following with the same example, if the OCPI servlet is defined in web.xml as:
CpoOcpiServlet
/ocpi/*
the initial versions query must be sent to:
`https://my.com/cso/ocpi`
and the endpoints query for OCPI 2.2.1 must be sent to:
`https://my.com/cso/ocpi/221`
The URL's for the OCPI modules follows the syntax:
`////`
by example, a location PUT to the receiver interface with countryCode=ES, partyId=PID and locationId=myLocation must use the following address:
`https://my.com/cso/ocpi/221/locations/ES/PID/myLocation`