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::ChargePointStatus
into 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_EVSE
intoMO_NUM_EVSEID
(v2.0.1) (#371) - Change
MicroOcpp::ReadingContext
into 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
severity
mechanism (#331) - Build flag
MO_REPORT_NOERROR
to 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)
ocppPermitsCharge
ignores Faulted state (#279)setEnergyMeterInput
expectsint
input (#301)
Added
- File index (#270)
- Config
Cst_TxStartOnPowerPathClosed
to put back TxStartPoint (#271) - Build flag
MO_ENABLE_RESERVATION=0
disables Reservation module (#302) - Build flag
MO_ENABLE_LOCAL_AUTH=0
disables LocalAuthList module (#303) - Function
bool isConnected()
inConnection
interface (#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)
ProtocolVersion
selects v1.6 or v2.0.1 (#247)- Build flag
MO_ENABLE_V201=1
enables 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_initialize
takes OCPP URL without explicit host, port (#220)endTransaction
checks 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_out
tomocpp_set_console_out
- Revise README.md
- Revise misleading debug messages
- Update Arduino IDE manifest (#206)
Added
- Auto-recovery switch in
mocpp_initialize
params - WebAssembly port
- Configurable
MO_PARTITION_LABEL
for the esp-idf SPIFFS integration (#218) MO_TX_CLEAN_ABORTED=0
keeps aborted txs in journalMO_VERSION
specifierMO_PLATFORM_NONE
for compilation on custom platformsendTransaction_authorized
enforces the tx end- Add valgrind, ASan, UBSan CI/CD steps (#189)
Fixed
- Reservation (#196)
- Fix immediate FW-update Download phase abort (#216)
stat
usage 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