Re: OCPP custom messages
EVerest libocpp supports the registration of callbacks for custom DataTransfer.req messages by the CSMS. https://github.com/EVerest/libocpp/blob/main/include/ocpp/v16/charge_point.hpp#L348
These callbacks could be registered within the init function of the EVerest OCPP module. https://github.com/EVerest/everest-core/tree/main/modules/OCPP
When the CSMS sends a DataTransfer.req to the charge point, this handler will be executed: https://github.com/EVerest/libocpp/blob/main/lib/ocpp/v16/charge_point.cpp#L1085
When a callback was registered for the vendorId and messageId it will be triggered here.
Note that we're currently implementing the ISO15118 PnC Whitepaper for OCPP1.6, so there will be some small changes to this mechanism in the coming weeks (https://github.com/EVerest/libocpp/tree/pg-pnc16-whitepaper)