Conversation
ocpp/v21/enums.py was missing 91 classes that are present in ocpp/v201/enums.py, including ControllerComponentName.aligned_data_ctrlr and its corresponding AlignedDataCtrlrVariableName enum cited in mobilityhouse#774. Per the issue, these values are identical between the OCPP 2.0.1 and 2.1 CSV appendices, so this PR ports the missing classes directly from the already-reviewed ocpp/v201/enums.py rather than re-transcribing them from the spec, to avoid introducing transcription errors. Each class is inserted alphabetically among v21's existing classes; no existing class was moved, reformatted, or otherwise touched (verified: zero non-blank lines removed from the file). Not in scope for this PR: any OCPP 2.1-exclusive members that may exist *within* classes already shared between v201 and v21 (e.g. a new enum value added to an existing VariableName type in the 2.1 spec) -- sourcing those correctly needs the official 2.1 CSV appendices rather than a diff against v201, and is left as potential follow-up work. Added tests/v21/test_v21_enums.py as a regression test anchored to the exact gap reported in the issue. make tests (black, isort, flake8, pytest) passes clean: 186 passed.
ugurcihan
added a commit
to ugurcihan/portfolio
that referenced
this pull request
Sep 28, 2026
- Rewrite About (EN/TR): drop "all of my conviction goes to KuExpo", state real launches (KuExpo on App Store + Google Play, LifeCheck on App Store) and openness to joining a team; fix LifeCheck description - Preview modal renders multiple outbound links; add App Store / Google Play links to KuExpo and LifeCheck, repo link to Gridspark - Group projects (Products / Engineering & Open Source / Web & Design / Ventures & Concepts), card titles to h4 under group h3s - New Open Source card linking mobilityhouse/ocpp#776 and steve-community/steve#2143 - LinkedIn in contact, footer and JSON-LD sameAs; footer profile links - Remove stale public drafts (variant-a..d, style-a..d, script-a) and the old resume PDF - Shorten hero scroll (325vh -> 200vh desktop, 250vh -> 170vh mobile) - Security headers, branded 404, sitemap lastmod - Versioned hero/background assets with immutable caching; other assets 1 day + stale-while-revalidate instead of 5 minutes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #774.
Problem
ocpp/v21/enums.py(111 classes) is missing 91 classes that already exist inocpp/v201/enums.py(176 classes) — includingControllerComponentName.aligned_data_ctrlrand its correspondingAlignedDataCtrlrVariableNameenum, the exact example cited in #774.Approach
Per the issue, these values are identical between the OCPP 2.0.1 and 2.1 CSV appendices (e.g.
AlignedDataCtrlrappears with the same description in bothcomponents.csvfiles). Rather than re-transcribing 91 classes from the spec by hand — and risking introducing errors — this PR ports the missing classes directly from the already-reviewedocpp/v201/enums.py, since it's an in-repo source of truth for the shared subset of the device model.Each missing class is inserted alphabetically among
v21's existing classes. No existing class was moved, reformatted, or otherwise touched — verified by diffing non-blank lines between the old and new file; the change is purely additive (0 lines removed).Out of scope
Any OCPP 2.1-exclusive members that may exist within classes already shared between
v201andv21(e.g. a new value added to an existingVariableNameenum in the 2.1 spec) are not addressed here — sourcing those correctly needs the official 2.1 CSV appendices rather than a diff againstv201. Happy to follow up on that separately if useful.Testing
tests/v21/test_v21_enums.pyas a regression test anchored to the exact gap reported in OCPP 2.1 enums are incomplete #774.make tests(black, isort, flake8, pytest) passes clean: 186 passed.