Skip to content

FirmwareUpdate not implemented issue #412

Open

Description

@engahmedaadel

Hi @matth-x

When trying to update the firmware it says it is not implemented.
I use the latest MicroOcpp lib with ESP32 wroom 32.
Do I need to reconfigure any thing to activate the FirmwareUpdate feature? also the GetDiagnostics and ClearCache is not working too.

Here is the log:
[MO] Recv: [2,"4b4e9537-3618-4247-a2ef-6d537e685cae","UpdateFirmware",{"location":"https://raw.githubusercontent.com/ahmedhamed/ version/main/code.bin","retrieveDate":"2025-05-14T11:35:05.187Z"}]
[MO] ERROR (Operation.cpp:16): Unsupported operation: getOperationType() is not implemented
[MO] ERROR (Operation.cpp:30): Unsupported operation: processReq() is not implemented
[MO] Send: [4,"4b4e9537-3618-4247-a2ef-6d537e685cae","NotImplemented","",{}]

Activity

  1. kanishk-roadgrid commented on May 26, 2025

    @kanishk-roadgrid

    Hi @engahmedaadel

    Do you have an update or lead on this. Im on same boat.

  2. engahmedaadel commented on May 26, 2025

    @engahmedaadel
    Author

    Hi @kanishk-roadgrid,

    I check the software and found that the implementation exist but you should configure somethings to work:

    in MicroOcpp/Model/FirmwareMaganement/FirmwareService.h line: 118

    #if !defined(MO_CUSTOM_UPDATER)
    #if MO_PLATFORM == MO_PLATFORM_ARDUINO && defined(ESP32) && MO_ENABLE_MBEDTLS
    namespace MicroOcpp {
    std::unique_ptr makeDefaultFirmwareService(Context& context);
    }
    #elif MO_PLATFORM == MO_PLATFORM_ARDUINO && defined(ESP8266)
    namespace MicroOcpp {
    std::unique_ptr makeDefaultFirmwareService(Context& context);
    }
    #endif //MO_PLATFORM
    #endif //!defined(MO_CUSTOM_UPDATER)

    Because I'm using esp32, I removed the #if conditions and just used:
    namespace MicroOcpp {
    std::unique_ptr makeDefaultFirmwareService(Context& context);
    }

    I did this in some other files, and it worked but unfortunately it only support ftp servers to download the firmware file, I'm struggling now to convert it to https instead of ftp.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions