3.5 Firmware Status Notification

The FirmwareStatusNotification message in OCPP 1.6J reports the status of a firmware update on the charge point, including statuses like "Downloading”, "Installing", "Installed" or "Failed." It helps the central system track the progress and outcome of firmware updates.

API Syntax

Description

Input Params

Return Value

OCPPFirmwareStatusNotificationResetGlobals

Function to reset global variables for Firmware Status Notification

void

void

Example:

void OCPPResetAllGlobals(void) 
{
    UtilitiesGlobalVariablesReset();
    UtilitiesLocalStorageResetGlobals();
    OCPPSetChargingProfileResetGlobals();
    OCPPGetCompositeScheduleResetGlobals();
……………….
    CPPClearChargingProfileResetGlobals();
    OCPPUpdateFirmwareResetGlobals();
    OCPPGetDiagnosticsResetGlobals();
    OCPPFirmwareStatusNotificationResetGlobals();
    OCPPDiagnosticStatusNotificationResetGlobals();
    OCPPUnlockConnectorResetGlobals();
    OCPPStopTransactionResetGlobals();
    OCPPStatusNotificationResetGlobals();
    OCPPStartTransactionResetGlobals();
    OCPPResetGlobals();

API Syntax

Description

Input Params

Return Value

SendFirmwareStatusNotificationRequest

Sends a Firmware Status Notification request.

Creates an OCPP frame for the request and sends it using sendframe.

(void)

FIRMWARE_STATUS_NOTIFICATION_STATE_T

Example:

        case TRIGGER_MESSAGE_TYPE_FIRMWARE_STATUS_NOTIFICATION:
            SetFirmwareStatusNotificationStatus(FW_IDLE);
            SendFirmwareStatusNotificationRequest();
            break;

API Syntax

Description

Input Params

Return Value

ProcessFirmwareStatusNotificationResponse

Processes the response of the Firmware Status Notification.

ocpp_frame *rx

OCPP_PROCESS_RECEIVED_RESPONSE_NOT_OK

OCPP_PROCESS_RECEIVED_RESPONSE_OK

Example:

        else if (ProcessFirmwareStatusNotificationResponse(received) == OCPP_PROCESS_RECEIVED_RESPONSE_OK)
        {
            OCPPLogMessage(LOG_INFO, LOG_SENDING, "This response is for Firmware Status Notification\n\r");
        }

API Syntax

Description

Input Params

Return Value

SetFirmwareStatusNotificationStatus

Sets the firmware status information of the charger.

FIRMWARESTATUSNOTIFICATION_T

void

Example:

        case TRIGGER_MESSAGE_TYPE_FIRMWARE_STATUS_NOTIFICATION:
            SetFirmwareStatusNotificationStatus(FW_IDLE);
            SendFirmwareStatusNotificationRequest();
            break;

Syntax

Description

Constants/Members

FIRMWARE_STATUS_NOTIFICATION_STATE_T

Enum representing possible error codes for firmware status notification.

FIRMWARESTATUSNOTIFICATION_SUCCESS

FIRMWARESTATUSNOTIFICATION_FAILED

FIRMWARESTATUSNOTIFICATION_RESPONSE_FAILED

FIRMWARESTATUSNOTIFICATION_RESPONSE_ACCEPT_FAILED

FIRMWARESTATUSNOTIFICATION_RESPONSE_SUCCESS

FIRMWARESTATUSNOTIFICATION_T

Enum representing firmware status notification states.

FW_DOWNLOADED

FW_DOWNLOADFAILED

FW_DOWNLOADING

FW_IDLE

FW_INSTALLATIONFAILED

FW_INSTALLING

FW_INSTALLED

RX_FIRMWARE_STATUS_NOTIFICATION

Structure representing the status of the Receiver Firmware Notification

FIRMWARESTATUSNOTIFICATION_T status