Skip to content

Fetch details for a single charging session#47

Merged
martijnversluis merged 1 commit into
mainfrom
api-session-endpoint
Jul 17, 2026
Merged

Fetch details for a single charging session#47
martijnversluis merged 1 commit into
mainfrom
api-session-endpoint

Conversation

@martijnversluis

Copy link
Copy Markdown
Contributor

De gem kan nu de details van een enkele laadsessie ophalen via GET /api/session/{id}. Onderdeel van stekker/backlog#1996: daar willen we session.start_at / end_at in StekkerWeb vullen met de canonieke Zaptec-timestamps in plaats van Time.current op het moment dat wij het bericht verwerken.

Wat er verandert

Nieuwe publieke method op de client:

client.session(id)
# => Zaptec::Session
#      #id             => String (UUID)
#      #session_start  => ActiveSupport::TimeWithZone
#      #session_end    => ActiveSupport::TimeWithZone of nil (nil = sessie loopt nog)
#      #energy_kwh     => Float
#      #signed_session => String of nil (OCMF-signature)

session_end is nullable in de Zaptec-API — het endpoint werkt dus zowel voor lopende als afgesloten sessies. Voor lopende sessies is signed_session ook nog nil.

Waarom een aparte Session-klasse

Naast de bestaande Zaptec::ArchivedSession (uit /api/sessions/archived, alleen historische lijst-items) is dit een compactere representatie voor het single-session endpoint. De schema's overlappen deels maar de responses zijn niet identiek (SessionEndData heeft minder velden dan het archived-session-model), dus geen shared parser.

Naaste kanten

De caller in StekkerWeb gaat dit endpoint alleen bij session-transitions aanroepen (start / end), niet elke poll-tick — zie stekker/backlog#1996 voor het integratie-ontwerp.

@martijnversluis

Copy link
Copy Markdown
Contributor Author

@claude review please

@martijnversluis
martijnversluis merged commit 8b93e65 into main Jul 17, 2026
1 check passed
@martijnversluis
martijnversluis deleted the api-session-endpoint branch July 17, 2026 07:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant