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

899 lines
33 KiB
YAML

---
asyncapi: 3.0.0
id: 'pionix:de:everest:powermeter_API'
info:
title: 'EVerest API definition for powermeters'
version: 1.0.0
description: >-
API for EVerest API clients implementing powermeter.
license:
name: Apache-2.0
url: https://opensource.org/licenses/Apache-2.0
tags:
- name: EVerest
- name: powermeter
servers:
default:
pathname: 'everest_api/1/powermeter/{module_id}'
host: 'localhost:1883'
description: default local MQTT
protocol: mqtt
variables:
module_id:
description: The ID of the module as defined in the EVerest config file.
defaultContentType: application/json
channels:
receive_request_start_transaction:
address: 'e2m/start_transaction'
messages:
receive_request_start_transaction:
$ref: '#/components/messages/receive_request_start_transaction'
send_reply_start_transaction:
address: null
description: Dynamically defined channel. Used to reply to a start_transaction message.
messages:
send_reply_start_transaction:
$ref: '#/components/messages/send_reply_start_transaction'
receive_request_stop_transaction:
address: 'e2m/stop_transaction'
messages:
receive_request_stop_transaction:
$ref: '#/components/messages/receive_request_stop_transaction'
send_reply_stop_transaction:
title: 'Reply stop transaction'
address: null
description: Dynamically defined channel. Used to reply to a stop_transaction message.
messages:
send_reply_stop_transaction:
$ref: '#/components/messages/send_reply_stop_transaction'
send_powermeter_values:
address: 'm2e/powermeter_values'
messages:
send_powermeter_values:
$ref: '#/components/messages/send_powermeter_values'
send_public_key_ocmf:
address: 'm2e/public_key_ocmf'
messages:
send_public_key_ocmf:
$ref: '#/components/messages/send_public_key_ocmf'
receive_heartbeat:
address: 'e2m/heartbeat'
messages:
receive_heartbeat:
$ref: '#/components/messages/receive_heartbeat'
send_communication_check:
address: 'm2e/communication_check'
messages:
send_communication_check:
$ref: '#/components/messages/send_communication_check'
operations:
receive_request_start_transaction:
title: 'Request start transaction'
summary: Request to reply.
action: receive
description: This operation is used to handle the request to start a new transaction on the powermeter (for signed metering according to German Eichrecht).
channel:
$ref: '#/channels/receive_request_start_transaction'
reply:
address:
location: "$message.header#/replyTo"
channel:
$ref: '#/channels/send_reply_start_transaction'
send_reply_start_transaction:
title: 'Send reply for start transaction'
summary: Request to reply.
description: This operation is used to handle the request to start a new transaction on the powermeter (for signed metering according to German Eichrecht).
action: send
channel:
$ref: '#/channels/send_reply_start_transaction'
receive_request_stop_transaction:
title: 'Request stop transaction'
summary: Request to reply.
description: 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.
action: receive
channel:
$ref: '#/channels/receive_request_stop_transaction'
reply:
address:
location: "$message.header#/replyTo"
channel:
$ref: '#/channels/send_reply_stop_transaction'
send_reply_stop_transaction:
title: 'Send reply for stop transaction'
summary: Request to reply.
description: 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.
action: send
channel:
$ref: '#/channels/send_reply_stop_transaction'
send_powermeter_values:
title: 'Send powermeter values'
summary: 'Direction: Module to EVerest'
description: 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.
action: send
channel:
$ref: '#/channels/send_powermeter_values'
send_public_key_ocmf:
title: 'Send the public key'
action: send
channel:
$ref: '#/channels/send_public_key_ocmf'
receive_heartbeat:
title: 'Receive heartbeat'
action: receive
channel:
$ref: '#/channels/receive_heartbeat'
send_communication_check:
title: 'Send communication check'
action: send
channel:
$ref: '#/channels/send_communication_check'
components:
messages:
receive_request_start_transaction:
name: start_transaction_req
title: 'Start transaction request message'
summary: 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.
contentType: application/json
payload:
type: object
additionalProperties: true
required:
- payload
properties:
headers:
type: object
properties:
replyTo:
type: string
description: 'The topic to which to send the reply. If this information is missing, the command will still be accepted, but no response will be sent.'
payload:
$ref: '#/components/schemas/StartTransactionRequest'
send_reply_start_transaction:
name: start_transaction_reply
title: 'Start transaction reply message'
summary: 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.
contentType: application/json
payload:
$ref: '#/components/schemas/StartTransactionReply'
examples:
- summary: ""
payload:
status: "OK"
error: "string"
transaction_min_stop_time: "2019-08-24T14:15:22Z"
transaction_max_stop_time: "2019-08-24T14:15:22Z"
receive_request_stop_transaction:
name: stop_transaction_req
title: 'Stop transaction request message'
summary: The stop transaction request message contains the transaction id to stop the corresponding transaction.
contentType: application/json
payload:
type: object
additionalProperties: true
required:
- payload
properties:
headers:
type: object
properties:
replyTo:
type: string
description: 'The topic to which to send the reply. If this information is missing, the command will still be accepted, but no response will be sent.'
payload:
type: object
additionalProperties: true
required:
- transaction_id
properties:
transaction_id:
type: string
description: 'Transaction id received in start transaction request.'
send_reply_stop_transaction:
name: stop_transaction_reply
title: 'Stop transaction reply message'
summary: The stop transaction reply message contains the request status. It indicates whether the transaction could be stopped successfully or not. If successful the signed meter value report must be provided in this message too.
contentType: application/json
payload:
$ref: '#/components/schemas/StopTransactionReply'
examples:
- summary: ""
payload:
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
send_powermeter_values:
name: send_powermeter_values
title: 'Send powermeter values'
summary: 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.
contentType: application/json
payload:
$ref: '#/components/schemas/Powermeter'
examples:
- summary: ""
payload:
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
send_public_key_ocmf:
name: send_public_key_ocmf
title: 'Send the public key'
summary: Provide the public key used to sign the OCMF data
contentType: application/json
payload:
$ref: '#/components/schemas/SendPublicKeyOCMF'
examples:
- summary: ""
payload:
"THE_KEY"
receive_heartbeat:
name: receive_heartbeat
title: 'Receive heartbeat'
summary: Heartbeat produced by EVerest as configured via cfg_heartbeat_interval_ms in the EVerest configuration
contentType: application/json
payload:
$ref: '#/components/schemas/HeartBeatId'
examples:
- summary: "Heartbeat"
payload: 42
send_communication_check:
name: send_communication_check
title: 'Send communication check'
summary: Signal to EVerest that communication is good or check shall be stopped
contentType: application/json
payload:
$ref: '#/components/schemas/CommunicationCheck'
examples:
- summary: ""
payload:
true
schemas:
OCMFIdentificationFlags:
description: |
- 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
enum:
- RFID_NONE
- RFID_PLAIN
- RFID_RELATED
- RFID_PSK
- OCPP_NONE
- OCPP_RS
- OCPP_AUTH
- OCPP_RS_TLS
- OCPP_AUTH_TLS
- OCPP_CACHE
- OCPP_WHITELIST
- OCPP_CERTIFIED
- ISO15118_NONE
- ISO15118_PNC
- PLMN_NONE
- PLMN_RING
- PLMN_SMS
OCMFIdentificationLevel:
description: |
- 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).
type: string
enum:
- NONE
- HEARSAY
- TRUSTED
- VERIFIED
- CERTIFIED
- SECURE
- MISMATCH
- INVALID
- OUTDATED
- UNKNOWN
OCMFIdentificationType:
description: |
- 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
enum:
- NONE
- DENIED
- UNDEFINED
- ISO14443
- ISO15693
- EMAID
- EVCCID
- EVCOID
- ISO7812
- CARD_TXN_NR
- CENTRAL
- CENTRAL_1
- CENTRAL_2
- LOCAL
- LOCAL_1
- LOCAL_2
- PHONE_NUMBER
- KEY_CODE
OCMFUserIdentificationStatus:
description: |
General status for user assignment
- ASSIGNED: user successfully assigned
- NOT_ASSIGNED: user not assigned
type: string
enum:
- ASSIGNED
- NOT_ASSIGNED
Powermeter:
description: Measured dataset (AC or DC)
type: object
additionalProperties: true
required:
- timestamp
- energy_Wh_import
properties:
timestamp:
description: Timestamp of measurement
type: string
format: date-time
meter_id:
description: A (user defined) meter id (e.g. id printed on the case)
type: string
phase_seq_error:
description: "AC only: true for 3 phase rotation error (ccw)"
type: boolean
energy_Wh_import:
description: Imported energy in Wh (from grid)
type: object
$ref: '#/components/schemas/units/types/Energy'
energy_Wh_export:
description: Exported energy in Wh (to grid)
type: object
$ref: '#/components/schemas/units/types/Energy'
power_W:
description:
Instantaneous power in Watt. Negative values are exported, positive
values imported Energy.
type: object
$ref: '#/components/schemas/units/types/Power'
voltage_V:
description: Voltage in Volts
type: object
$ref: '#/components/schemas/units/types/Voltage'
VAR:
description: Reactive power VAR
type: object
$ref: '#/components/schemas/units/types/ReactivePower'
current_A:
description: Current in ampere
type: object
$ref: '#/components/schemas/units/types/Current'
frequency_Hz:
description: Grid frequency in Hertz
type: object
$ref: '#/components/schemas/units/types/Frequency'
# Extension for individual signed meter values
energy_Wh_import_signed:
description: Imported energy in Wh (from grid)
type: object
$ref: '#/components/schemas/units_signed/types/Energy'
energy_Wh_export_signed:
description: Exported energy in Wh (to grid)
type: object
$ref: '#/components/schemas/units_signed/types/Energy'
power_W_signed:
description:
Instantaneous power in Watt. Negative values are exported, positive
values imported Energy.
type: object
$ref: '#/components/schemas/units_signed/types/Power'
voltage_V_signed:
description: Voltage in Volts
type: object
$ref: '#/components/schemas/units_signed/types/Voltage'
VAR_signed:
description: Reactive power VAR
type: object
$ref: '#/components/schemas/units_signed/types/ReactivePower'
current_A_signed:
description: Current in ampere
type: object
$ref: '#/components/schemas/units_signed/types/Current'
frequency_Hz_signed:
description: Grid frequency in Hertz
type: object
$ref: '#/components/schemas/units_signed/types/Frequency'
signed_meter_value:
description: >-
Signed collection of instantaneous meter values if supported by the meter.
This is intended for meters that only support signing a collection of meter values.
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
temperatures:
description: >-
An array of temperature sensors expressed in C, their definition and meaning is product specific
type: array
items:
type: object
$ref: '#/components/schemas/Temperature'
SendPublicKeyOCMF:
type: string
description: "The public key as string used to sign the OCMF data"
StartTransactionReply:
description: Return value when a transaction is started.
type: object
additionalProperties: true
required:
- status
properties:
status:
description: Response status that indicates whether the transaction start request could successfully be performed.
$ref: '#/components/schemas/TransactionStatus'
error:
description: If status is not OK, a verbose error message.
type: string
transaction_min_stop_time:
description: Earliest point in time the started transaction can be stopped again (if a minimum duration is required by the meter); yields a RFC3339 timestamp.
type: string
format: date-time
transaction_max_stop_time:
description: Deadline for the transaction to be stopped again (if a minimum duration is required by the meter); yields a RFC3339 timestamp.
type: string
format: date-time
StartTransactionRequest:
type: object
additionalProperties: true
required:
- evse_id
- transaction_id
- identification_status
- identification_type
- identification_flags
properties:
evse_id:
description: Id of this EVSE
type: string
transaction_id:
description: OCPP transaction UUID
type: string
identification_status:
description: >-
OCMF Identification Status (IS): General status for user assignment
type: string
$ref: '#/components/schemas/OCMFUserIdentificationStatus'
identification_level:
description: >-
OCMF Identification Level (IL): Encoded overall status of the user assignment
type: string
$ref: '#/components/schemas/OCMFIdentificationLevel'
identification_flags:
description: >-
OCMF Identification Flags (IF): Detailed statements about the user assignment, represented by one or more identifiers
type: array
items:
type: string
$ref: '#/components/schemas/OCMFIdentificationFlags'
minItems: 0
maxItems: 4
identification_type:
description: >-
OCMF Identification Type (IT): Type of identification data
type: string
$ref: '#/components/schemas/OCMFIdentificationType'
identification_data:
description: >-
OCMF Identification Data (ID): The actual identification data e.g. a hex-coded UID according to ISO 14443.
type: string
tariff_text:
description: >-
A textual description used to identify a unique tariff.
This field is intended for the tariff designation in "Direct Payment" use case.
type: string
minLength: 0
maxLength: 250
StopTransactionReply:
description: 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.
type: object
additionalProperties: true
required:
- status
properties:
status:
description: Response status that indicates whether the transaction stop request could successfully be performed.
$ref: '#/components/schemas/TransactionStatus'
start_signed_meter_value:
description: The signed meter value report for start of transaction. Needs to be filled if meter provides separate values for start and stop.
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
signed_meter_value:
description: The signed meter value report of the stopped transaction. Must be provided if status is OK.
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
error:
description: If status is not OK, a verbose error message.
type: string
Temperature:
description: Temperature sensor expressed in C and a description (vendor specific) allowing to identify its purpose or meaning
type: object
additionalProperties: true
required:
- temperature
properties:
temperature:
description: The temperature of the sensor measured in C
type: number
identification:
description: A (vendor specific) ID if required
type: string
location:
description: Location of the measurement
type: string
TransactionStatus:
description: Status of a start or stop transaction - used in start or stop transaction reply.
type: string
enum:
- OK
- NOT_SUPPORTED
- UNEXPECTED_ERROR
units:
description: Unit types
types:
Current:
description: Current in Ampere
type: object
additionalProperties: true
properties:
DC:
description: DC current
type: number
L1:
description: AC L1 value only
type: number
L2:
description: AC L2 value only
type: number
L3:
description: AC L3 value only
type: number
N:
description: AC Neutral value only
type: number
Voltage:
description: Voltage in Volt
type: object
additionalProperties: true
properties:
DC:
description: DC voltage
type: number
L1:
description: AC L1 value only
type: number
L2:
description: AC L2 value only
type: number
L3:
description: AC L3 value only
type: number
Frequency:
description: "AC only: Frequency in Hertz"
type: object
additionalProperties: true
required:
- L1
properties:
L1:
description: AC L1 value
type: number
L2:
description: AC L2 value
type: number
L3:
description: AC L3 value
type: number
Power:
description:
Instantaneous power in Watt. Negative values are exported, positive
values imported Energy.
type: object
additionalProperties: true
required:
- total
properties:
total:
description: DC / AC Sum value
type: number
L1:
description: AC L1 value only
type: number
L2:
description: AC L2 value only
type: number
L3:
description: AC L3 value only
type: number
Energy:
description: Energy in Wh.
type: object
additionalProperties: true
required:
- total
properties:
total:
description: DC / AC Sum value (which is relevant for billing)
type: number
L1:
description: AC L1 value only
type: number
L2:
description: AC L2 value only
type: number
L3:
description: AC L3 value only
type: number
ReactivePower:
description: Reactive power VAR
type: object
additionalProperties: true
required:
- total
properties:
total:
description: VAR total
type: number
L1:
description: VAR phase A
type: number
L2:
description: VAR phase B
type: number
L3:
description: VAR phase C
type: number
units_signed:
description: Unit types signed
types:
SignedMeterValue:
description: Representation of a signed meter value
type: object
additionalProperties: true
required:
- signed_meter_data
- signing_method
- encoding_method
properties:
signed_meter_data:
description: Signed meter data (encoded in a string representation with eg. Base64)
type: string
signing_method:
description: Method used to create the signature
type: string
encoding_method:
description: Method used to encode the meter values before signing them
type: string
public_key:
description: Public key (encoded in a string representation with eg. Base64)
type: string
timestamp:
description: Timestamp of measurement
type: string
format: date-time
Current:
description: Current in Ampere
type: object
additionalProperties: true
properties:
DC:
description: DC current
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
L1:
description: AC L1 value only
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
L2:
description: AC L2 value only
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
L3:
description: AC L3 value only
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
N:
description: AC Neutral value only
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
Voltage:
description: Voltage in Volt
type: object
additionalProperties: true
properties:
DC:
description: DC voltage
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
L1:
description: AC L1 value only
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
L2:
description: AC L2 value only
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
L3:
description: AC L3 value only
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
Frequency:
description: "AC only: Frequency in Hertz"
type: object
additionalProperties: true
properties:
L1:
description: AC L1 value
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
L2:
description: AC L2 value
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
L3:
description: AC L3 value
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
Power:
description:
Instantaneous power in Watt. Negative values are exported, positive
values imported Energy.
type: object
additionalProperties: true
properties:
total:
description: DC / AC Sum value
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
L1:
description: AC L1 value only
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
L2:
description: AC L2 value only
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
L3:
description: AC L3 value only
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
Energy:
description: Energy in Wh.
type: object
additionalProperties: true
properties:
total:
description: DC / AC Sum value (which is relevant for billing)
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
L1:
description: AC L1 value only
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
L2:
description: AC L2 value only
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
L3:
description: AC L3 value only
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
ReactivePower:
description: Reactive power VAR
type: object
additionalProperties: true
properties:
total:
description: VAR total
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
L1:
description: VAR phase A
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
L2:
description: VAR phase B
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
L3:
description: VAR phase C
type: object
$ref: '#/components/schemas/units_signed/types/SignedMeterValue'
CommunicationCheck:
type: boolean
description: "Send 'true' at least every 'cfg_communication_check_to_s' seconds to signal module is alive. Send 'false' to stop communication check'"
HeartBeatId:
type: integer
description: "64bit unsigned integer. The id of every heartbeat increases by 1 and overflows when the maximum representable value is reached"