API for EVerest API clients implementing powermeter.
default local MQTT
The ID of the module as defined in the EVerest config file.
Request to reply.
This operation is used to handle the request to start a new transaction on the powermeter (for signed metering according to German Eichrecht).
Available only on servers:
Accepts the following message:
The start transaction request message contains the required input parameter for starting an OCMF transaction. These values will be included in the signed OCMF packet of the stop transaction reply.
{
"headers": {
"replyTo": "string"
},
"payload": {
"evse_id": "string",
"transaction_id": "string",
"identification_status": "ASSIGNED",
"identification_level": "NONE",
"identification_flags": [
"RFID_NONE"
],
"identification_type": "NONE",
"identification_data": "string",
"tariff_text": "string"
}
}
Dynamically defined channel. Used to reply to a start_transaction message.
Request to reply.
This operation is used to handle the request to start a new transaction on the powermeter (for signed metering according to German Eichrecht).
Available only on servers:
Accepts the following message:
The start transaction reply message contains the request status. It indicates whether the transaction could be started successfully or not. Further values may be added to the message depending on the value of the status.
Return value when a transaction is started.
{
"status": "OK",
"error": "string",
"transaction_min_stop_time": "2019-08-24T14:15:22Z",
"transaction_max_stop_time": "2019-08-24T14:15:22Z"
}
Request to reply.
This operation is used to handle the request to stop the transaction on the powermeter and ask for the signed metering information in a reply.
Available only on servers:
Accepts the following message:
The stop transaction request message contains the transaction id to stop the corresponding transaction.
{
"headers": {
"replyTo": "string"
},
"payload": {
"transaction_id": "string"
}
}
Dynamically defined channel. Used to reply to a stop_transaction message.
Request to reply.
This operation is used to handle the request to stop the transaction on the powermeter and ask for the signed metering information in a reply.
Available only on servers:
Accepts the following message:
The stop transaction reply message contains the request status. It indicates whether the transaction could be stoped successfully or not. If successful the signed meter value report must be provided in this message too.
Report returned when a signed transaction is requested to stop. If successful, includes the signed meter value object. In case of an error, an additional error message can be provided.
{
"status": "OK",
"signed_meter_value": {
"signed_meter_data": "string",
"signing_method": "string",
"encoding_method": "string",
"public_key": "string",
"timestamp": "2019-08-24T14:15:22Z"
},
"error": "string"
}
Direction: Module to EVerest
This operation is used to send a dataset of measured values. The timestamp and the imported energy (in Wh) are required. Other values are optional.
Available only on servers:
Accepts the following message:
The send powermeter values message contains the measured dataset. It requires a timestamp and the imported energy in Wh at least. Other values are optional.
Measured dataset (AC or DC)
{
"current_A": {
"L1": 0,
"L2": 0,
"L3": 0,
"N": 0
},
"energy_Wh_import": {
"L1": 0,
"L2": 0,
"L3": 0,
"total": 0
},
"frequency_Hz": {
"L1": 50.099517822265625,
"L2": 50.099517822265625,
"L3": 50.099517822265625
},
"meter_id": "THE_POWERMETER",
"phase_seq_error": false,
"power_W": {
"L1": 0,
"L2": 0,
"L3": 0,
"total": 0
},
"timestamp": "2024-09-27T07:21:14.127Z",
"voltage_V": {
"L1": 228.47914123535156,
"L2": 228.47914123535156,
"L3": 228.47914123535156
}
}
Accepts the following message:
Provide the public key used to sign the OCMF data
The public key as string used to sign the OCMF data
THE_KEY
Accepts the following message:
Heartbeat produced by EVerest as configured via cfg_heartbeat_interval_ms in the EVerest configuration
64bit unsigned integer. The id of every heartbeat increases by 1 and overflows when the maximum representable value is reached
Heartbeat
Accepts the following message:
Signal to EVerest that communication is good or check shall be stopped
Send 'true' at least every 'cfg_communication_check_to_s' seconds to signal module is alive. Send 'false' to stop communication check'
The start transaction request message contains the required input parameter for starting an OCMF transaction. These values will be included in the signed OCMF packet of the stop transaction reply.
The start transaction reply message contains the request status. It indicates whether the transaction could be started successfully or not. Further values may be added to the message depending on the value of the status.
Return value when a transaction is started.
The stop transaction request message contains the transaction id to stop the corresponding transaction.
The stop transaction reply message contains the request status. It indicates whether the transaction could be stoped successfully or not. If successful the signed meter value report must be provided in this message too.
Report returned when a signed transaction is requested to stop. If successful, includes the signed meter value object. In case of an error, an additional error message can be provided.
The send powermeter values message contains the measured dataset. It requires a timestamp and the imported energy in Wh at least. Other values are optional.
Measured dataset (AC or DC)
Provide the public key used to sign the OCMF data
The public key as string used to sign the OCMF data
Heartbeat produced by EVerest as configured via cfg_heartbeat_interval_ms in the EVerest configuration
64bit unsigned integer. The id of every heartbeat increases by 1 and overflows when the maximum representable value is reached
Signal to EVerest that communication is good or check shall be stopped
Send 'true' at least every 'cfg_communication_check_to_s' seconds to signal module is alive. Send 'false' to stop communication check'
RFID_NONE: No assignment via RFID RFID_PLAIN: Assignment via external RFID card reader RFID_RELATED: Assignment via protected RFID card reader RFID_PSK: A previously known shared key (pre-shared key) was used, e.g. with a secured RFID card. OCPP_NONE: No user assignment by OCPP OCPP_RS: Assignment by OCPP RemoteStart method OCPP_AUTH: Assignment by OCPP Authorize method OCPP_RS_TLS: Assignment by OCPP RemoteStart method, obtained via a secured TLS connection. OCPP_AUTH_TLS: Assignment by OCPP Authorize method, obtained via a secured TLS connection. OCPP_CACHE: Assignment by authorization cache of OCPP OCPP_WHITELIST: Assignment by whitelist from OCPP OCPP_CERTIFIED: A certificate of the backend was used which certifies the user mapping. ISO15118_NONE: no user assignment by ISO 15118 ISO15118_PNC: Plug & Charge was used PLMN_NONE: no user assignment PLMN_RING: call PLMN_SMS: short message type: string
NONE: There is no user assignment. The other data for user assignment have no significance. HEARSAY: The assignment is unsecured; e.g. by reading an RFID UID. TRUSTED: The mapping can be trusted to some extent, but there is no absolute reliability. Example: Authorization by backend. VERIFIED: The assignment has been verified by the signature component and special measures. CERTIFIED: The assignment was verified by the signature component using a cryptographic signature that certifies the assignment. SECURE: The mapping was established by a secure feature (e.g. secure RFID card, ISO 15118 with plug and charge, etc.). MISMATCH: Error; UIDs do not match. INVALID: Error; certificate not correct (check negative). OUTDATED: Error; referenced trust certificate expired. UNKNOWN: Certificate could not be successfully verified (no matching trust certificate found).
NONE: No assignment available DENIED: Assignment currently not available (due to two-factor authorization) UNDEFINED: Type not specified ISO14443: UID of an RFID card according to ISO 14443. Represented as 4 or 7 bytes in hexadecimal notation. ISO15693: UID of an RFID card according to ISO 15693. Represented as 8 bytes in hexadecimal notation. EMAID: Electro-Mobility-Account-ID according to ISO/IEC 15118 (string with length 14 or 15) EVCCID: ID of an electric vehicle according to ISO/IEC 15118 (maximum length 6 characters) EVCOID: EV Contract ID according to DIN 91286. ISO7812: Identification card format according to ISO/IEC 7812 (credit and bank cards, etc.) CARD_TXN_NR: Card transaction number (CardTxNbr) for a payment with credit or bank card used in a terminal at the charging point. CENTRAL: Centrally generated ID. No exact format defined, can be e.g. a UUID. (OCPP 2.0) CENTRAL_1: Centrally generated ID, e.g. by start via SMS. No exact format defined. (until OCPP 1.6) CENTRAL_2: Centrally generated ID, e.g. by operator start. No exact format defined. (until OCPP 1.6) LOCAL: Locally generated ID. No exact format defined, might be e.g. a UUID. (OCPP 2.0) LOCAL_1: Locally generated ID, e.g. ID generated internally by the charge point. No exact format defined. (until OCPP 1.6) LOCAL_2: Locally generated ID, for other cases. No exact format defined. (until OCPP 1.6) PHONE_NUMBER: International phone number with leading "+". KEY_CODE: User-related private key code. No exact format defined. type: string
General status for user assignment ASSIGNED: user successfully assigned NOT_ASSIGNED: user not assigned
Measured dataset (AC or DC)
The public key as string used to sign the OCMF data
Return value when a transaction is started.
Report returned when a signed transaction is requested to stop. If successful, includes the signed meter value object. In case of an error, an additional error message can be provided.
Temperature sensor expressed in C and a description (vendor specific) allowing to identify its purpose or meaning
Status of a start or stop transaction - used in start or stop transaction reply.
Unit types
Unit types signed
Send 'true' at least every 'cfg_communication_check_to_s' seconds to signal module is alive. Send 'false' to stop communication check'
64bit unsigned integer. The id of every heartbeat increases by 1 and overflows when the maximum representable value is reached