Releases: matth-x/MicroOcpp
MicroOCPP v1.2.0
New features (for OCPP 1.6 and 2.0.1), optimization of internal data structures and slight changes of the API.
PIO package: matth-x/[email protected]
Some of the internal changes also affect the API in MicroOcpp.h (e.g. ReadingContext has been refactored from a C++ enum class to a C-style enum). See the descriptions in the PRs for potentially breaking changes.
Changelog:
Changed
- Change
MicroOcpp::ChargePointStatusinto C-style enum (#309) - Connector lock disabled by default per
MO_ENABLE_CONNECTOR_LOCK(#312) - Relaxed temporal order of non-tx-related operations (#345)
- Use pseudo-GUIDs as messageId (#345)
- ISO 8601 milliseconds omitted by default (352)
- Rename
MO_NUM_EVSEintoMO_NUM_EVSEID(v2.0.1) (#371) - Change
MicroOcpp::ReadingContextinto C-style struct (#371) - Refactor RequestStartTransaction (v2.0.1) (#371)
Added
- Provide ChargePointStatus in API (#309)
- Built-in OTA over FTP (#313)
- Built-in Diagnostics over FTP (#313)
- Error
severitymechanism (#331) - Build flag
MO_REPORT_NOERRORto report error recovery (#331) - Support for
parentIdTag(#344) - Input validation for unsigned int Configs (#344)
- Support for TransactionMessageAttempts/-RetryInterval (#345, #380)
- Heap profiler and custom allocator support (#350)
- Migration of persistent storage (#355)
- Benchmarks pipeline (#369, #376)
- MeterValues port for OCPP 2.0.1 (#371)
- UnlockConnector port for OCPP 2.0.1 (#371)
- More APIs ported to OCPP 2.0.1 (#371)
- Support for AuthorizeRemoteTxRequests (#373)
- Persistent Variable and Tx store for OCPP 2.0.1 (#379)
Removed
- ESP32 built-in HTTP OTA (#313)
- Operation store (files op-*.jsn and opstore.jsn) (#345)
- Explicit tracking of txNr (file txstore.jsn) (#345)
- SimpleRequestFactory (#351)
Fixed
- Skip Unix files . and .. in ftw_root (#313)
- Skip clock-aligned measurements when time not set
- Hold back error StatusNotifs when time not set (#311)
- Don't send Available when tx occupies connector (#315)
- Make ChargingScheduleAllowedChargingRateUnit read-only (#328)
Don't send StatusNotifs while offline (#344)(see (#371))- Don't change into Unavailable upon Reset (#344)
- Reject DataTransfer by default (#344)
- UnlockConnector NotSupported if connectorId invalid (#344)
- Fix regression bug of #345 (#353, #356)
- Correct MeterValue PreBoot timestamp (#354)
- Send errorCode in triggered StatusNotif (#359)
- Remove int to bool conversion in ChangeConfig (#362)
- Multiple fixes of the OCPP 2.0.1 extension (#371)
MicroOcpp v1.1.0
New features release, bug fixes and experimental OCPP 2.0.1 support.
PIO package: matth-x/[email protected]
The API in MicroOcpp.h / MicroOcpp_c.h is compatible with the v1.0 API. See the migration notes for a few important things to consider nevertheless: Migrating to v1.1
The experimental OCPP 2.0.1 implementation is disabled by default and won't be compiled into the firmware. See the README for a description on how to try it out.
Changed
- Replace
PollResult<bool>with enumUnlockConnectorResult(#271) - Rename master branch into main
- Tx logic directly checks if WebSocket is offline (#282)
ocppPermitsChargeignores Faulted state (#279)setEnergyMeterInputexpectsintinput (#301)
Added
- File index (#270)
- Config
Cst_TxStartOnPowerPathClosedto put back TxStartPoint (#271) - Build flag
MO_ENABLE_RESERVATION=0disables Reservation module (#302) - Build flag
MO_ENABLE_LOCAL_AUTH=0disables LocalAuthList module (#303) - Function
bool isConnected()inConnectioninterface (#282) - Build flags for customizing memory limits of SmartCharging (#260)
- SConscript (#287)
- C-API for custom Configs store (297)
- Certificate Management, UCs M03 - M05 (#262, #274, #292)
- FTP Client (#291)
ProtocolVersionselects v1.6 or v2.0.1 (#247)- Build flag
MO_ENABLE_V201=1enables OCPP 2.0.1 features (#247)
Fixed
- Fix defect idTag check in
endTransaction(#275) - Make field localAuthorizationList in SendLocalList optional
- Update charging profiles when flash disabled (relates to #260)
- Ignore UnlockConnector when handler not set (#271)
- Reject ChargingProfile if unit not supported (#271)
- Fix building with debug level warn and error
- Reduce debug output FW size overhead (#304)
- Fix transaction freeze in offline mode (#279, #287)
- Fix compilation error caused by
PRId32(#279) - Don't load FW-mngt. module when no handlers set (#271)
- Change arduinoWebSockets URL param to path (#278)
- Avoid creating conf when operation fails (#290)
- Fix whitespaces in MeterValues (#301)
MicroOcpp v1.0.3
This release contains a fix for a critical bug when used with multiple connectors and a bug preventing setting debug verbosity levels.
Fixed
- Fix nullptr access in endTransaction (#275)
- Backport: Fix building with debug level warn and error
MicroOcpp v1.0.2
Fixes wrong MicroOcpp version numbers of the v1.0.1 release. There are no further code changes since v1.0.1
MicroOcpp v1.0.1
MicroOcpp v1.0.0
First release of MicroOcpp. Changelogs and semantic versioning are adopted starting with this release.
PIO package: matth-x/[email protected]
The following changelog is a comparison of v1.0.0 with the previous commit on master with breaking changes (1eff6e5)
Changed
mocpp_initializetakes OCPP URL without explicit host, port (#220)endTransactionchecks authorization ofidTag- Update configurations API (#195)
- Update Firmware- and DiagnosticsService API (#207)
- Update Connection interface
- Update Authorization module functions (#213)
- Reflect changes in C-API
- Change build flag prefix from
MOCPP_toMO_ - Change
mo_set_console_outtomocpp_set_console_out - Revise README.md
- Revise misleading debug messages
- Update Arduino IDE manifest (#206)
Added
- Auto-recovery switch in
mocpp_initializeparams - WebAssembly port
- Configurable
MO_PARTITION_LABELfor the esp-idf SPIFFS integration (#218) MO_TX_CLEAN_ABORTED=0keeps aborted txs in journalMO_VERSIONspecifierMO_PLATFORM_NONEfor compilation on custom platformsendTransaction_authorizedenforces the tx end- Add valgrind, ASan, UBSan CI/CD steps (#189)
Fixed
- Reservation (#196)
- Fix immediate FW-update Download phase abort (#216)
statusage on arduino-esp32 LittleFS- SetChargingProfile JSON capacity calculation
- Set correct idTag when Reset triggers StopTx
- Execute operations only once despite multiple .conf send attempts (#207)
- ConnectionTimeOut only applies when connector is still unplugged
- Fix valgrind warnings