Skip to content

feat(OCPP2.x): Dynamic device model initialization #1194

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 13, 2025

Conversation

Pietfried
Copy link
Contributor

@Pietfried Pietfried commented May 27, 2025

Describe your changes

This PR extends to OCPP201 module to dynamically initialize the EVSE and Connector device model components based on the EVerest configuration.

Before this change, the correct number of EVSE and Connector components had to be defined and installed manually. This PR in libocpp ensures that the custom EVSE and Connector components are not installed anymore by default.


Note: To migrate using the EVSE and Connector components managed by OCPP201 module instead of the libocpp device model, the Connector and EVSE components should be removed from the installation directory. When EVerest starts up, it will then remove these components from libocpp's device model storage.

Issue ticket number and link

Checklist before requesting a review

  • I have performed a self-review of my code
  • I have made corresponding changes to the documentation
  • I read the contribution documentation and made sure that my changes meet its requirements

@Pietfried Pietfried force-pushed the feature/ocpp-dynamic-device-model-initialization branch 3 times, most recently from e6ede4a to 64bc2d6 Compare June 3, 2025 19:33
@Pietfried Pietfried added the OCPP label Jun 4, 2025
@Pietfried Pietfried force-pushed the feature/ocpp-dynamic-device-model-initialization branch from 0c83128 to 97300d1 Compare June 4, 2025 09:26
@Pietfried Pietfried changed the title Feature/ocpp dynamic device model initialization feat(OCPP2.x): Dynamic device model initialization Jun 4, 2025
@Pietfried Pietfried marked this pull request as ready for review June 4, 2025 09:32
@Pietfried Pietfried force-pushed the feature/ocpp-dynamic-device-model-initialization branch 2 times, most recently from 360b357 to f6a6a23 Compare June 11, 2025 13:42
mlitre
mlitre previously approved these changes Jun 12, 2025
@Pietfried Pietfried force-pushed the feature/ocpp-dynamic-device-model-initialization branch from 9b8baf9 to 800aca1 Compare June 12, 2025 13:33
@Pietfried Pietfried enabled auto-merge June 12, 2025 13:34
@Pietfried Pietfried disabled auto-merge June 13, 2025 06:39
@Pietfried Pietfried enabled auto-merge June 13, 2025 06:39
… startup

- Updated ComposedDeviceModelStorage to accept EVSE manager references
- Refactored EverestDeviceModelStorage to build device model from EvseManager data
- Added static definitions for EVSE and Connector variable characteristics
- Introduced variable handling, component creation, and attribute updates
- Subscribing to hw capabilities to use them in the EverestDeviceModel
- Added log warning in case device model component variable combination is present multiple times

Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>
@Pietfried Pietfried force-pushed the feature/ocpp-dynamic-device-model-initialization branch from 800aca1 to c1fc6ab Compare June 13, 2025 06:40
@Pietfried Pietfried added this pull request to the merge queue Jun 13, 2025
Merged via the queue into main with commit 9ca13e4 Jun 13, 2025
10 of 12 checks passed
@Pietfried Pietfried deleted the feature/ocpp-dynamic-device-model-initialization branch June 13, 2025 07:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants