You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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","",{}]
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.
Activity
kanishk-roadgrid commentedon May 26, 2025
Hi @engahmedaadel
Do you have an update or lead on this. Im on same boat.
engahmedaadel commentedon May 26, 2025
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.