lorenzodonini / ocpp-go

Open Charge Point Protocol implementation in Go
MIT License
275 stars 126 forks source link

Configuration management #142

Open xBlaz3kx opened 2 years ago

xBlaz3kx commented 2 years ago

Hi @lorenzodonini,

this is not an issue, but rather a discussion. I've seen that you plan to add support for configuration management. I assume that is for OCPP Configuration Variables.

I've already created a very simplified version of a configuration library for managing the OCPP variables. Feel free to check it out and give feedback or use it as inspiration.

It still need some work (value validation), and it could definetly use some improvements in the API segment.

lorenzodonini commented 2 years ago

Hey @xBlaz3kx , your solution looks very good and it would make sense to somehow integrate it into the lib as configuration management package (we maybe have to adjust a few things, to avoid circular dependencies and so on).

The real challenge imho is implementing a config manager for v2.0.1. The model is completely redesigned and the amount of supported keys is huge. It requires some work to seamlessly integrate it with the protocol. I started working on a potential solution specifically for v2.0.1 some time ago. I'll clean it up a bit and push it to a branch, so you can have a look and see if we can somehow combine/streamline the interfaces.

xBlaz3kx commented 2 years ago

I'm up for integrating my solution to this library. Of course, the library will need some adjusting and I will probably need to redesign some segments of the manager.

Yeah, I took a look at the v2.0.1 specification, it really has a lot of profiles and variables, and would really require a good amount of effort. That's great! You can tag me when you've pushed it to a branch and I'll take a look.