Implementation Details
Current Repo Behaviour
VDV463CMSSocketHandler.run() accepts a WebSocket connection, receives JSON messages, validates them as MessageStructure, and returns either confirmation or error envelopes.
message_handler() currently has successful runtime paths for:
BootNotification requests, returning BootNotificationResponse(status=Accepted).
ProvideChargingRequests requests, returning ProvideChargingRequestsResponse().
Invalid or malformed messages are mapped to ErrorResponse payloads and returned with messageType = Error.
docs_router generates the AsyncAPI document exposed at /vdv463/docs/asyncapi.
Documented But Not Fully Implemented Here
TLS, HTTP Basic Authentication, and subprotocol enforcement during the WebSocket handshake.
Persistent session handling, request correlation, or orchestration with external depot systems.
An externally callable CMS workflow for originating ProvideChargingInformation updates.
The full acknowledgement loop for ProvideChargingInformation confirmations described in the protocol docs.
Documentation Workflow
make asyncapi regenerates ./schema/asyncapi.yaml and the static viewer in docs/VDV463/asyncapi/.
The viewer generation step uses a pinned AsyncAPI toolchain in CI: Node 24+, @asyncapi/cli@6.0.0, and @asyncapi/html-template@3.5.5.
VDV_463_7_AsyncAPI_Specification.md embeds the generated viewer.
VDV_463_8_Schema.md links the raw JSON schema snapshots.
make docs builds the MkDocs site for local review.
Supporting Material