Closed Avi241 closed 6 months ago
I am facing a similar issue after solving #244 (likely unrelated). Seems like a cache problem. Here are my logs:
[MO] info (StatusNotification.cpp:50): New status: Available (connectorId 0)
[MO] info (StatusNotification.cpp:50): New status: Available (connectorId 1)
[MO] info (Connector.cpp:355): begin FreeVend Tx using idTag MEDIDOR-T03
[MO] info (StatusNotification.cpp:50): New status: Preparing (connectorId 1)
[MO] info (Connector.cpp:240): Session mngt: trigger StartTransaction
[MO] info (StartTransaction.cpp:48): StartTransaction initiated
[MO] info (StatusNotification.cpp:50): New status: Charging (connectorId 1)
[MO] info (StartTransaction.cpp:142): Request has been accepted
[MO] info (Connector.cpp:293): Session mngt: trigger StopTransaction
[MO] info (StopTransaction.cpp:50): StopTransaction initiated
[MO] info (StatusNotification.cpp:50): New status: Available (connectorId 1)
[MO] info (Connector.cpp:355): begin FreeVend Tx using idTag MEDIDOR-T03
[MO] info (StatusNotification.cpp:50): New status: Preparing (connectorId 1)
[MO] info (Connector.cpp:240): Session mngt: trigger StartTransaction
[MO] info (StartTransaction.cpp:48): StartTransaction initiated
[MO] info (StatusNotification.cpp:50): New status: Charging (connectorId 1)
[MO] info (Connector.cpp:293): Session mngt: trigger StopTransaction
[MO] info (StopTransaction.cpp:50): StopTransaction initiated
[MO] info (StatusNotification.cpp:50): New status: Available (connectorId 1)
[MO] info (Connector.cpp:355): begin FreeVend Tx using idTag MEDIDOR-T03
[MO] info (StatusNotification.cpp:50): New status: Preparing (connectorId 1)
[MO] info (Connector.cpp:240): Session mngt: trigger StartTransaction
[MO] info (StartTransaction.cpp:48): StartTransaction initiated
[MO] info (StatusNotification.cpp:50): New status: Charging (connectorId 1)
[MO] info (Connector.cpp:293): Session mngt: trigger StopTransaction
[MO] info (StopTransaction.cpp:50): StopTransaction initiated
[MO] info (RequestQueueStorageStrategy.cpp:162): Replace cached operation (cache full): StatusNotification
[MO] info (StatusNotification.cpp:50): New status: Available (connectorId 1)
[MO] info (RequestQueueStorageStrategy.cpp:162): Replace cached operation (cache full): StatusNotification
[MO] info (StatusNotification.cpp:50): New status: Preparing (connectorId 1)
[MO] info (RequestQueueStorageStrategy.cpp:162): Replace cached operation (cache full): StartTransaction
[MO] info (Connector.cpp:355): begin FreeVend Tx using idTag MEDIDOR-T03
[MO] info (Connector.cpp:240): Session mngt: trigger StartTransaction
[MO] info (StartTransaction.cpp:48): StartTransaction initiated
[MO] info (RequestQueueStorageStrategy.cpp:162): Replace cached operation (cache full): StatusNotification
[MO] info (StatusNotification.cpp:50): New status: Charging (connectorId 1)
[MO] info (RequestQueueStorageStrategy.cpp:162): Replace cached operation (cache full): StopTransaction
[MO] info (RequestQueue.cpp:45): operation timeout: Heartbeat
[MO] info (Connector.cpp:293): Session mngt: trigger StopTransaction
[MO] info (StopTransaction.cpp:50): StopTransaction initiated
[MO] info (StatusNotification.cpp:50): New status: Available (connectorId 1)
[MO] info (RequestQueueStorageStrategy.cpp:162): Replace cached operation (cache full): StatusNotification
[MO] info (Connector.cpp:355): begin FreeVend Tx using idTag MEDIDOR-T03
[MO] ERROR (Connector.cpp:742): could not allocate Tx
[MO] ERROR (Connector.cpp:359): could not begin FreeVend Tx
Waiting a bit between transactions solved it in my case, as the cache empties itself. Are you seeing a similar behavior ? @Avi241
Yes, this is related. To give a little explanation: MicroOcpp has a transaction journal, i.e. it keeps track of the most recent transactions, until they are sent to the server and then acknowledged by the server. That part can take a few hundred milliseconds, and is spread over many mocpp_loop() calls. But the sketch above keeps initiating a new transaction per main-loop iteration and consequently creating transactions much faster than they can be processed by MicroOcpp. The transaction journal caches at most 4 pending transactions (per default configuration) and rejects any further transactions.
To fix this sketch, I would add some logic that starts only one transaction (e.g. by adding a flag and setting it false after the beginTransaction call).
Thank you so much @matth-x and @pedro-fuoco . I got my mistake as you said I was perfoming begin trasaction too quickly which created and issue
I am trying to use the sample ESP code with my ESp32 board. Using Arduino IDE. I am using Steve as my CMS.
I am facing this error can any one please help me with this ?
This is my complete Arduino Code