Skip to content

Support TransactionMessageAttempts and -RetryInterval#345

Merged
matth-x merged 9 commits intomainfrom
feature/tx-msg-attempts
Jul 31, 2024
Merged

Support TransactionMessageAttempts and -RetryInterval#345
matth-x merged 9 commits intomainfrom
feature/tx-msg-attempts

Conversation

@matth-x
Copy link
Owner

@matth-x matth-x commented Jul 29, 2024

This PR adds the implementation of the configurations TransactionMessageAttempts and -RetryInterval.

For these configs, the RequestQueue implementation needed to be refactored. This changes the following:

  • the Request store (including the files opstore.jsn and op-X.jsn on flash) is no longer used. Furthermore, the auxiliary file txstore.jsn of the transaction store was removed
  • the temporal order of outgoing OCPP operations is not enforced anymore, except for tx-related messages. This means that the StatusNotification "Finishing" could arrive before the StopTransaction for example
  • the compact messageIds (starting with "1000000") are not longer beneficial storage-wise. MicroOCPP uses pseudo-GUIDs from now on as it is the market standard

@matth-x matth-x marked this pull request as ready for review July 31, 2024 17:14
@luca-eidos
Copy link

Hi @matth-x, first of all, thank you so much for your effort.
I've just updated MicroOcpp in my project to the latest version. With this edit, if a reset occurs mid-transaction for whatever reason, I find it no longer possible to recover, while in the past it was. Am I missing something? Thank you!

@matth-x
Copy link
Owner Author

matth-x commented Aug 28, 2024

Hi @luca-eidos, thanks for reporting this. The general scenario of resetting the charger during the transaction should be covered by the unit tests, so I assume that this is a more special case which is not yet considered. Can you give more details about the error scenario, e.g. if the charger is offline, you see a boot loop, messages are not going through at all, etc.?

@luca-eidos
Copy link

Hi @matth-x, thank you for your response. Actually, I was wrong about this issue, it works perfectly fine. As tx-store.json was used in the previous version, I thought this feature was no longer available.
I've just found it was an issue with my custom implementation of ftw_root, passing the absolute path instead of the relative to fn(). Thank you again for your kind reply and your precious work, wish you a wonderful day!

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants