This working group focusses on the communication between the charging station (EVerest) and the management system(s) (CPMS)
Meeting Notes:
02 May 2024
Discussed:
- Composite Schedule calculation: https://lfenergy.zulipchat.com/#narrow/stream/417676-EVerest.3A-Cloud-communication/topic/Problem.20with.20ChargePointMaxProfile.20Usage
- AFS/JOET starts to implement composite schedule calculation for OCPP2.0.1
- Line voltage of 230V is currently hard-coded in the smart charging handler; will be made configurable
- Decision: libocpp shall reject ChargingProfiles in Amps in case it manages at least one DC EVSE.
- TxProfile must not necessarily be stored in non-volatile memory, see: https://github.com/EVerest/libocpp/issues/543
17 April 2024
Discussed:
- Database Migrations now merged. Documentation added to explain how it works. When migrating to this version the first version needs manuel work. After this it will be automatic.
- Size of PRs. Larger or small, pros and cons
- Discussed meeting format: stick to weekly. Try to discuss ongoing on next planned use cases.
10 April 2024
Discussed:
- OCPP 2.0.1 status document merged. When adding new OCPP 2.0.1 features, please update the document.
- Pull request for database migrations is open. Developer documentation will be added.
- Discussed how to handle custom data fields.
3 April 2024
Discussed:
- Function requirement status doc:
- OCPP 2.0.1 status: Piet checked all not yet completed
- OCTT 2.0.1 test cases status: Robert will convert sheet do markdown and put in EVerest documentation or core.
- Configurable TxStart/TxStop points:
- Proposal to put functionality for this in EVerest core, not libOCPP for now. Quicker to implement, this functionality can later be moved to libOCPP.
- Nobody requires this functionality in libOCPP already.
27 March 2024
Discussed:
- Drop websocketpp and move to libwebsockets
- moving websocketpp to new websocket interface appears to require a lot of effort
- discussion about dropping support for websocketpp → decision postponed
- Review pull request process
- Draft PRs can be used for internal reviews
- Once PR is converted for review the maintainers will start the review process
- How to get list of functional requirements up to date
- https://github.com/EVerest/libocpp/pull/540
- Maintainers will update the list
- JOET will update the list for smart charging
- List of past OCTT test cases
- We will not add this to libocpp since it cannot be guaranteed that tests pass only with using libocpp → Correct integration of libocpp is required
- Such a list could be added to everest-core
20 March 2024
Discussed:
- Optional requirements:
- Long term EVerest should support as much functionality as possible.
- For now it is ok to skip optional requirements.
- If an optional requirement just allows (slightly) incorrect behaviou
- K01.FR.44 specific: we will not implement, this allows bad behavior from a CSMS, not ideal.
- Document implemented use case/functional requirements status:
- Add the list of use cases in one file in Github, make it a table
- Requirement number, status, remark
- Table per functional block
- Add status of Google Sheet in this file
- Add checkmark to the pull request template
Action Items:
- Robert: Make table of OCPP 2.0.1 function requirements in Github
- Robert: Move status from Google sheet into the github list
- Robert: Update pull request template: Add "list of functional requirements updated."
13 March 2024
Discussed
- WebSocket compression. Is required for an CSMS, optional for a Charging Station. But a really nice to have.
- How to setup security profile 2 and 3. Proposal to make an MRE to demonstrate this.
- PKI and governance and policies for validation of certificates
- Device Model
- Currently supports all standardized variables (specified in the OCPP2.0.1 spec)
- Defined mechanism to access EVSE and Connector components upcoming (Piet will create issue)
- Functional requirements are sometimes ambigous because its not clear to wich component a referenced variable belongs to
6 March 2024
Discussed:
- Pull requests: 440 & 452
- Possible multi-threading problem during reconnects and (re)sending message during reconnects: triggering another reconnect 3 seconds later.
- IdToken case insensitive, required by OCPP, where to handle this in EVerest? libOCPP? Some use cases might need case sensitive tokens.
Action Items:
- Put Signed MeterValues on Agenda General Call next week.
- Write documentation on how to change OCPP 2.0.1 CSMS URL.
21 February 2024
CSR flexibility
- Open Zulip topic with the goal to create issue from discussion
- https://lfenergy.zulipchat.com/#narrow/stream/417676-EVerest.3A-Cloud-communication/topic/Certificate.20Signing.20Requests.20.28CSR.29.20additional.20configuration
Update on websocket refactor
- https://github.com/EVerest/libocpp/pull/410
- Agreed on interface design
- ongoing work on libwebsockets implementation
- Documentation and sequence diagrams available within the PR
OCPP1.6 handling while in Pending
- https://github.com/EVerest/libocpp/issues/478
- issue will stay open, need to open up discussion within OCA causeway forum
Other:
- https://github.com/EVerest/libocpp/pull/452 ready for review by maintainers
- https://github.com/EVerest/libocpp/issues/480 - issue will be used for further discussions about the implementation of resuming transactions
14 February 2024
General updates
- PR and issue templates merged (https://github.com/EVerest/libocpp/pull/436)
- Ongoing work and improved stability of libwebsockets implementation
Smart Charging implementation: https://github.com/EVerest/libocpp/issues/468
- Slight incompatabilities between 1.6 and 2.0.1 for Smart Charging make it hard to find a common implementation for both
- Decision made to have separate implementations of OCPP1.6 and OCPP2.0.1 Smart Charging
OCPP Test naming convention: https://github.com/EVerest/libocpp/issues/467
Status: Websocket refactor update @Soumya Subramanya @Maaike Zijderveld @Marc Emmers
- Maaike will continue to work on the refactor and use this PR: https://github.com/EVerest/libocpp/pull/410
Auth Cache Cleanup PR: https://github.com/EVerest/libocpp/pull/243
- Will be used as an example for the database migrations discussed here: https://github.com/EVerest/libocpp/issues/450
7 February 2024
When to send signed meter values
- End of the transaction is most logical.
- Looks like code currently does not store values in the DB.
- An libOCPP API change is needed to merge the signed meter values pull request.
- The is an existing old pull request that also provides such a change.
DB Migration tools: See issue: https://github.com/EVerest/libocpp/issues/450
- List of tools to investigate:
- Action Item: Robert will ask LFE for tools used in other projects.
Status OCPP 2.0.1 development:
- Shared sheet is not updated. Current coverage is getting to 100%, but that is not reflected in the sheet as agreed.
- OCTT takes about 2 days to run all tests manually, API for CI/CD integration not yet available
- Action Item: Robert will ask OCA about potential license issues with OCTT running in LFE build pipelines.
31 January 2024:
Faking MeterValue
- Make faking MeterValue and TransactionEvent timestamps a configurable feature
- Keep talking to OCA and OCTT team to find out more detailed requirements
Websocket refactoring:
- Alfen to work on charge_point and websocket interface
- Pionix to support on websocketpp and libwebsocket implementations of the interfaces
- Discussion how we split up PRs (between interfaces and implementations) still ongoing @Soumya to provide feedback
Smart Charging:
- Bug found within clear charging profiles: https://github.com/EVerest/libocpp/issues/432
- Agreed on common base classes for OCPP1.6 and OCPP2.0.1 Smart Charging handling
- Goal is to reuse as much of OCPP1.6 implementation for common smart charging implementation