]> Piment Noir Git Repositories - e-mobility-charging-stations-simulator.git/commit
feat: add connector cable retention lock/unlock simulation (#1754)
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Wed, 25 Mar 2026 18:20:36 +0000 (19:20 +0100)
committerGitHub <noreply@github.com>
Wed, 25 Mar 2026 18:20:36 +0000 (19:20 +0100)
commit1f7412b3178fa3497d12de97539ef3eddc6c717d
tree1baeb7866edb48e85bf8ece46e10196649a8a7f9
parentc59d00b5498c02269805f76a9452e726bbf5c372
feat: add connector cable retention lock/unlock simulation (#1754)

* feat(types): add connector lock simulation types and UI protocol enums

* feat(core): add connector lock/unlock simulation methods

* feat(ocpp): set lock state on UnlockConnector command for both OCPP stacks

* feat(ui-server): add lock/unlock broadcast channel commands and MCP schemas

* feat(ui): add lock/unlock buttons to web UI

* test: add connector lock/unlock simulation tests

* docs: add connector lock/unlock simulation documentation

* feat(ocpp): auto-lock connector on transaction start, auto-unlock on normal termination

* fix(ui): reorder Locked column before Transaction in connector table

* fix: guard lock unlock on accepted stop, emit updated event, add null status warnings, fix resetConnectorStatus test

* [autofix.ci] apply automated fixes

* fix(ocpp): only auto-lock connector on accepted transaction start in OCPP 2.0.1

* fix(core): emit connectorStatusChanged instead of updated on lock state change

* test: add idempotency tests for lockConnector and unlockConnector

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
23 files changed:
README.md
src/charging-station/ChargingStation.ts
src/charging-station/broadcast-channel/ChargingStationWorkerBroadcastChannel.ts
src/charging-station/ocpp/1.6/OCPP16IncomingRequestService.ts
src/charging-station/ocpp/1.6/OCPP16ResponseService.ts
src/charging-station/ocpp/2.0/OCPP20IncomingRequestService.ts
src/charging-station/ocpp/2.0/OCPP20ResponseService.ts
src/charging-station/ocpp/2.0/OCPP20ServiceUtils.ts
src/charging-station/ui-server/mcp/MCPToolSchemas.ts
src/charging-station/ui-server/ui-services/AbstractUIService.ts
src/types/ConnectorStatus.ts
src/types/UIProtocol.ts
src/types/WorkerBroadcastChannel.ts
tests/charging-station/ChargingStation-Connectors.test.ts
tests/charging-station/helpers/StationHelpers.ts
ui/web/src/components/charging-stations/CSConnector.vue
ui/web/src/components/charging-stations/CSData.vue
ui/web/src/composables/UIClient.ts
ui/web/src/types/ChargingStationType.ts
ui/web/src/types/UIProtocol.ts
ui/web/tests/unit/CSConnector.test.ts
ui/web/tests/unit/UIClient.test.ts
ui/web/tests/unit/helpers.ts