Files
Eric F d398a6ced2 Add extracted tools: CitrineOS, OpenOCPP, ShapeShifter
- CitrineOS core extracted (CSMS OCPP 2.0.1)
- OpenOCPP extracted (firmware OCPP 1.6J/2.0.1)
- ShapeShifter library installed (pip install -e)
- ShapeShifter specification extracted
- EVerest extracted

TODO updated with progress
2026-06-08 00:38:27 -04:00

100 lines
5.2 KiB
YAML

description: >-
This module implements the authentication handling for the EVerest. It is responsible for providing authorization to
the connected evse managers. In addition to that, it handles the reservation management.
config:
selection_algorithm:
description: >-
The selection algorithm contains the logic to select one connector for an incoming token. In case the charging station
has only one connector, the selection of a connector is pretty straight-forward because there is only one that is
available. The selection algorithm becomes relevant in case the Auth module manages authorization requests
for multiple connectors. The following values can be set:
PlugEvents: Selection of connector is based on EV Plug In events
FindFirst: Simply selects the first available connector that has no active transaction
UserInput: Placeholder, not yet implemented
type: string
default: FindFirst
connection_timeout:
description: >-
Defines how many seconds an authorization is valid before it is discarded.
Defines how many seconds a user can provide authorization after the plug in
of a car
type: integer
master_pass_group_id:
description: >-
IdTokens that have this id as groupId belong to the Master Pass Group. Meaning they can stop any ongoing
transaction, but cannot start transactions. This can, for example, be used by law enforcement personal to stop any
ongoing transaction when an EV has to be towed away. If left empty, master_pass_group_id is not used.
type: string
default: ""
prioritize_authorization_over_stopping_transaction:
description: >-
Boolean value to describe the handling of parent id tokens.
If true, a new token will be preferably used for authorization of a new connector if a connector is available. It
will not be used to finish a transaction using its parent_id_token. parent_id_token will only be used to finish
transaction if no connector is available for authorization anymore.
If false, a new token will be used to finish a transaction if the parent_id_token of a present transaction matches
the parent_id_token of the provided_token. Authorization to available connectors will only be provided if no
transaction can be stopped using the given parent_id_token
type: boolean
default: true
ignore_connector_faults:
description: >-
Boolean value to describe the handling of faults on connectors.
If true, faults reported on connectors are ignored, i.e. they can still be authorized. This should be disabled in
most use cases, but e.g. in free charging applications it may be useful to allow a charging session in the following case:
A connector e.g. has an overtemperature fault that at some point will clear once it is cooled down. A car is plugged in before
the error is cleared. The user would expect that the charging starts once it is cooled down. When this option is set to false,
it will not be authorized on plug in as the connector is in fault state and it will never recover until the car is replugged.
If it is set to true, the authorization happens on the faulty connector and charging will start once the fault is cleared.
If false, faulty connectors are treated as not available and will not be authorized. This is a good setting for e.g. public chargers.
type: boolean
default: false
plug_in_timeout_enabled:
description: >-
This parameter is only used if the charging station has multiple EVSEs managed by this Auth module.
Controls the authorization-timeout behavior after a plug-in event. When enabled, an internal timer is started immediately after an EV
is detected as plugged in. During the time defined by connection_timeout, the user must present a valid authorization token.
If no valid token is received within the specified connection_timeout, the authorization attempt is considered as timed out and a
re-plug by the user is required to start a new authorization process.
This setting is particularly useful for charging stations with multiple EVSEs and a shared, non-EVSE-specific authorization interface
(e.g., a single RFID reader). It prevents authorization tokens from being incorrectly associated with an EVSE where an EV is
plugged in but has not been authorized, by ensuring that expired or ambiguous plug-ins are not considered for EVSE assignments
for future authorization attempts.
type: boolean
default: false
provides:
main:
description: This implements the auth interface for EVerest
interface: auth
reservation:
description: This implements the reservation interface for EVerest.
interface: reservation
requires:
token_provider:
interface: auth_token_provider
min_connections: 1
max_connections: 128
token_validator:
interface: auth_token_validator
min_connections: 1
max_connections: 128
evse_manager:
interface: evse_manager
min_connections: 1
max_connections: 128
kvs:
interface: kvs
min_connections: 0
max_connections: 1
metadata:
license: https://opensource.org/licenses/Apache-2.0
authors:
- 'Piet Gömpel'