EVerest API definition for the system module 1.0.0

API for EVerest API client implementing the system capabilities OTA update and log upload.

  • #EVerest
  • #SystemAPI

Servers

  • mqtt://localhost:1883/everest_api/1/system/{module_id}mqttdefault

    default local MQTT

    object
    module_id
    required
    string

    The ID of the module as defined in the EVerest config file.

Operations

  • REPLY e2m/update_firmware

    Direction: EVerest to Module

    Operation IDreceive_request_update_firmware

    Available only on servers:

    Accepts the following message:

    Request update firmwarereceive_request_update_firmware

    Request to update the firmware.

    Message IDreceive_request_update_firmware
    object

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be directed to the address specified at this location: $message.header#/replyTo

    REPLY address information

    REPLY will be sent to the address provided in:$message.header#/replyTo
  • SEND

    Direction: EVerest to Module

    Operation IDsend_reply_update_firmware

    Available only on servers:

    Accepts the following message:

    Reply update firmwaresend_reply_update_firmware

    Reply to update firmware request.

    Message IDsend_reply_update_firmware
    Payload
    string

    Enum for the response of an update_firmware command Accepted: Accepted this firmware update request. This does not mean the firmware update is successful, the system will now start the firmware update process Rejected: Firmware update request rejected AcceptedCanceled: Accepted this firmware update request, but in doing this has cancelled an ongoing firmware update InvalidCertificate: The certificate is invalid RevokedCertificate: Failure end state. The Firmware Signing certificate has been revoked

      Allowed values:
    • "Accepted"
    • "Rejected"
    • "AcceptedCanceled"
    • "InvalidCertificate"
    • "RevokedCertificate"

    Examples

  • RECEIVE e2m/allow_firmware_installation

    Operation IDreceive_allow_firmware_installation

    Available only on servers:

    Accepts the following message:

    Receive Allow firmware installationreceive_allow_firmware_installation

    Call to allow firmware installation to proceed

    Message IDreceive_allow_firmware_installation

    Call to allow a firmware installation to proceed. This is usually called after a firmware update has been downloaded. OCPP requires to move all EVSE to an unavailable state prior to installing new firmware. EVerest will take care of this and call this function when all EVSE are in unavailable state to signal that installation can proceed.

    Examples

  • REPLY e2m/upload_logs

    Direction: EVerest to Module

    Operation IDreceive_request_upload_logs

    Available only on servers:

    Accepts the following message:

    Request upload logsreceive_request_upload_logs

    Request to upload logs.

    Message IDreceive_request_upload_logs
    object

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be directed to the address specified at this location: $message.header#/replyTo

    REPLY address information

    REPLY will be sent to the address provided in:$message.header#/replyTo
  • SEND

    Direction: EVerest to Module

    Operation IDsend_reply_upload_logs

    Available only on servers:

    Accepts the following message:

    Reply upload logsreply_upload_logs

    Reply to upload logs request.

    Message IDreply_upload_logs
    object

    Response to a upload logs request

    Examples

  • REPLY e2m/is_reset_allowed

    Direction: EVerest to Module

    Operation IDreceive_request_is_reset_allowed

    Available only on servers:

    Accepts the following message:

    Request if reset is allowedreceive_request_is_reset_allowed

    Request if is reset allowed. This is usually called prior to a reset request.

    Message IDreceive_request_is_reset_allowed
    object

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be directed to the address specified at this location: $message.header#/replyTo

    REPLY address information

    REPLY will be sent to the address provided in:$message.header#/replyTo
  • SEND

    Direction: EVerest to Module

    Operation IDsend_reply_is_reset_allowed

    Available only on servers:

    Accepts the following message:

    Reply to is reset allowssend_reply_is_reset_allowed

    Reply to is reset allowed request.

    Message IDsend_reply_is_reset_allowed
    Payload
    boolean

    true if reset is allowed

    Examples

  • RECEIVE e2m/reset

    Direction: EVerest to Module

    Operation IDreceive_reset

    Available only on servers:

    Accepts the following message:

    Receive reset commandreceive_reset

    Call to reset the system immediately

    Message IDreceive_reset
    object

    request for reset

    Examples

  • REPLY e2m/set_system_time

    Direction: EVerest to Module

    Operation IDreceive_request_set_system_time

    Available only on servers:

    Accepts the following message:

    Receive set system time requestreceive_request_set_system_time

    Call to set the system time

    Message IDreceive_request_set_system_time
    object

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be directed to the address specified at this location: $message.header#/replyTo

    REPLY address information

    REPLY will be sent to the address provided in:$message.header#/replyTo
  • SEND

    Direction: EVerest to Module

    Operation IDsend_reply_set_system_time

    Available only on servers:

    Accepts the following message:

    Reply to is reset allowssend_reply_set_system_time

    Reply to is reset allowed request.

    Message IDsend_reply_set_system_time
    Payload
    boolean

    true if reset successful

    Examples

  • REPLY e2m/get_boot_reason

    Direction: EVerest to Module

    Operation IDreceive_request_get_boot_reason

    Available only on servers:

    Accepts the following message:

    Receive get boot reason requestreceive_request_get_boot_reason

    Call to get the boot reason

    Message IDreceive_request_get_boot_reason
    object

    Examples

    REPLY INFORMATION

    REPLY CHANNEL INFORMATION

    Reply will be directed to the address specified at this location: $message.header#/replyTo

    REPLY address information

    REPLY will be sent to the address provided in:$message.header#/replyTo
  • SEND

    Direction: EVerest to Module

    Operation IDsend_reply_get_boot_reason

    Available only on servers:

    Accepts the following message:

    Reply to get boot reasonsend_reply_get_boot_reason

    Reply to get boot reason.

    Message IDsend_reply_get_boot_reason
    Payload
    string

    Enum defining the boot reason

      Allowed values:
    • "ApplicationReset"
    • "FirmwareUpdate"
    • "LocalReset"
    • "PowerUp"
    • "RemoteReset"
    • "ScheduledReset"
    • "Triggered"
    • "Unknown"
    • "Watchdog"

    Examples

  • SEND m2e/firmware_update_status

    Direction: Module to EVerest

    Operation IDsend_firmware_update_status

    Available only on servers:

    Accepts the following message:

    Send firmware update statussend_firmware_update_status

    Describes the current status of a firmware update of the system

    Message IDsend_firmware_update_status
    object

    Type defining the status of a firmware update

    Examples

  • SEND m2e/log_status

    Operation IDsend_log_status

    Available only on servers:

    Accepts the following message:

    Send log upload statussend_log_status

    Describes the current status of log upload of the system

    Message IDsend_log_status
    object

    Type defining the status of a log upload

    Examples

  • RECEIVE e2m/heartbeat

    Operation IDreceive_heartbeat

    Available only on servers:

    Accepts the following message:

    Receive heartbeatreceive_heartbeat

    Heartbeat produced by EVerest as configured via cfg_heartbeat_interval_ms in the EVerest configuration

    Message IDreceive_heartbeat
    Payload
    integer

    64bit unsigned integer. The id of every heartbeat increases by 1 and overflows when the maximum representable value is reached

    Examples

  • SEND m2e/communication_check

    Operation IDsend_communication_check

    Available only on servers:

    Accepts the following message:

    Send communication checksend_communication_check

    Signal to EVerest that communication is good or check shall be stopped

    Message IDsend_communication_check
    Payload
    boolean

    Send 'true' at least every 'cfg_communication_check_to_s' seconds to signal module is alive. Send 'false' to stop communication check'

    Examples

Messages

  • #1Request update firmwarereceive_request_update_firmware

    Request to update the firmware.

    Message IDreceive_request_update_firmware
    object
  • #2Reply update firmwaresend_reply_update_firmware

    Reply to update firmware request.

    Message IDsend_reply_update_firmware
    Payload
    string

    Enum for the response of an update_firmware command Accepted: Accepted this firmware update request. This does not mean the firmware update is successful, the system will now start the firmware update process Rejected: Firmware update request rejected AcceptedCanceled: Accepted this firmware update request, but in doing this has cancelled an ongoing firmware update InvalidCertificate: The certificate is invalid RevokedCertificate: Failure end state. The Firmware Signing certificate has been revoked

      Allowed values:
    • "Accepted"
    • "Rejected"
    • "AcceptedCanceled"
    • "InvalidCertificate"
    • "RevokedCertificate"
  • #3Request upload logsreceive_request_upload_logs

    Request to upload logs.

    Message IDreceive_request_upload_logs
    object
  • #4Reply upload logssend_reply_upload_logs

    Reply to upload logs request.

    Message IDsend_reply_upload_logs
    object

    Response to a upload logs request

  • #5Request if reset is allowedreceive_request_is_reset_allowed

    Request if is reset allowed. This is usually called prior to a reset request.

    Message IDreceive_request_is_reset_allowed
    object
  • #6Reply to is reset allowssend_reply_is_reset_allowed

    Reply to is reset allowed request.

    Message IDsend_reply_is_reset_allowed
    Payload
    boolean

    true if reset is allowed

  • #7Receive set system time requestreceive_request_set_system_time

    Call to set the system time

    Message IDreceive_request_set_system_time
    object
  • #8Reply to is reset allowssend_reply_set_system_time

    Reply to is reset allowed request.

    Message IDsend_reply_set_system_time
    Payload
    boolean

    true if reset successful

  • #9Receive get boot reason requestreceive_request_get_boot_reason

    Call to get the boot reason

    Message IDreceive_request_get_boot_reason
    object
  • #10Reply to get boot reasonsend_reply_get_boot_reason

    Reply to get boot reason.

    Message IDsend_reply_get_boot_reason
    Payload
    string

    Enum defining the boot reason

      Allowed values:
    • "ApplicationReset"
    • "FirmwareUpdate"
    • "LocalReset"
    • "PowerUp"
    • "RemoteReset"
    • "ScheduledReset"
    • "Triggered"
    • "Unknown"
    • "Watchdog"
  • #11Receive Allow firmware installationreceive_allow_firmware_installation

    Call to allow firmware installation to proceed

    Message IDreceive_allow_firmware_installation

    Call to allow a firmware installation to proceed. This is usually called after a firmware update has been downloaded. OCPP requires to move all EVSE to an unavailable state prior to installing new firmware. EVerest will take care of this and call this function when all EVSE are in unavailable state to signal that installation can proceed.

  • #12Receive reset commandreceive_reset

    Call to reset the system immediately

    Message IDreceive_reset
    object

    request for reset

  • #13Send firmware update statussend_firmware_update_status

    Describes the current status of a firmware update of the system

    Message IDsend_firmware_update_status
    object

    Type defining the status of a firmware update

  • #14Send log upload statussend_log_status

    Describes the current status of log upload of the system

    Message IDsend_log_status
    object

    Type defining the status of a log upload

  • #15Receive heartbeatreceive_heartbeat

    Heartbeat produced by EVerest as configured via cfg_heartbeat_interval_ms in the EVerest configuration

    Message IDreceive_heartbeat
    Payload
    integer

    64bit unsigned integer. The id of every heartbeat increases by 1 and overflows when the maximum representable value is reached

  • #16Send communication checksend_communication_check

    Signal to EVerest that communication is good or check shall be stopped

    Message IDsend_communication_check
    Payload
    boolean

    Send 'true' at least every 'cfg_communication_check_to_s' seconds to signal module is alive. Send 'false' to stop communication check'

Schemas

  • BootReason
    string

    Enum defining the boot reason

      Allowed values:
    • "ApplicationReset"
    • "FirmwareUpdate"
    • "LocalReset"
    • "PowerUp"
    • "RemoteReset"
    • "ScheduledReset"
    • "Triggered"
    • "Unknown"
    • "Watchdog"
  • object

    Type defining a Firmware update request

  • object

    Type defining the status of a firmware update

  • FirmwareUpdateStatusEnum
    string

    State describing the current download/upload status of a firmware update of the system Downloaded: Intermediate state. New firmware has been downloaded by System DownloadFailed: Failure end state. System failed to download firmware Downloading: Intermediate state. Firmware is being downloaded DownloadScheduled: Intermediate state. Downloading of new firmware has been scheduled DownloadPaused: Intermediate state. Downloading has been paused Idle: System is not performing firmware update related tasks InstallationFailed: Failure end state. Installation of new firmware has failed Installing: Intermediate state. Firmware is being installed Installed: Successful end state. New firmware has successfully been installed in System InstallRebooting: Intermediate state. System is about to reboot to activate new firmware InstallScheduled: Intermediate state. Installation of the downloaded firmware is scheduled to take place on installDateTime InstallVerificationFailed: Failure end state. Verification of the new firmware (e.g. using a checksum or some other means) has failed and installation will not proceed. (Final failure state) InvalidSignature: Failure end state. The firmware signature is not valid SignatureVerified: Intermediate state. Provide signature successfully verified

      Allowed values:
    • "Downloaded"
    • "DownloadFailed"
    • "Downloading"
    • "DownloadScheduled"
    • "DownloadPaused"
    • "Idle"
    • "InstallationFailed"
    • "Installing"
    • "Installed"
    • "InstallRebooting"
    • "InstallScheduled"
    • "InstallVerificationFailed"
    • "InvalidSignature"
    • "SignatureVerified"
  • LogStatusEnum
    string

    State describing the current status of log upload of the system BadMessage: A badly formatted packet or other protocol incompatibility was detected Idle: The system is not uploading a log file NotSupportedOperation: The server does not support the operation PermissionDenied: Insufficient permissions to perform the operation Uploaded: File has been uploaded successfully UploadFailure: Failed to upload the requested file Uploading: File is being uploaded

      Allowed values:
    • "AcceptedCanceled"
    • "BadMessage"
    • "Idle"
    • "NotSupportedOperation"
    • "PermissionDenied"
    • "Uploaded"
    • "UploadFailure"
    • "Uploading"
  • object

    Type defining the status of a log upload

  • ResetAllowed
    boolean

    true if reset is allowed

  • object

    request for reset

  • ResetType
    string

    Enum defining the type of a reset

      Allowed values:
    • "Soft"
    • "Hard"
    • "NotSpecified"
  • SystemTime
    string
    format: date-time

    system time in RFC3339 format

  • SystemTimeSet
    boolean

    true if reset successful

  • UpdateFirmwareResponse
    string

    Enum for the response of an update_firmware command Accepted: Accepted this firmware update request. This does not mean the firmware update is successful, the system will now start the firmware update process Rejected: Firmware update request rejected AcceptedCanceled: Accepted this firmware update request, but in doing this has cancelled an ongoing firmware update InvalidCertificate: The certificate is invalid RevokedCertificate: Failure end state. The Firmware Signing certificate has been revoked

      Allowed values:
    • "Accepted"
    • "Rejected"
    • "AcceptedCanceled"
    • "InvalidCertificate"
    • "RevokedCertificate"
  • object

    Type defining an upload logs request.

  • object

    Response to a upload logs request

  • UploadLogsStatus
    string

    Enum for the upload logs status response Accepted: Request to upload logs has been accepted Rejected: Request to upload logs has been rejected AcceptedCanceled: Accepted this log upload, but in doing this has cancelled an ongoing log file upload

      Allowed values:
    • "Accepted"
    • "Rejected"
    • "AcceptedCanceled"
  • CommunicationCheck
    boolean

    Send 'true' at least every 'cfg_communication_check_to_s' seconds to signal module is alive. Send 'false' to stop communication check'

  • HeartBeatId
    integer

    64bit unsigned integer. The id of every heartbeat increases by 1 and overflows when the maximum representable value is reached