Remotely charging

Hi, is remote starting of a charge session supported? I am getting a “rejected” status when trying to initiate a charge as follows:

2021-07-02 17:31:47 INFO (MainThread) [ocpp] ENX-AU21060165: receive message [3,"d205cdd3-3cc2-41a1-bd02-0e8f0a9203f1",{"configurationKey":[{"key":"AuthorizeRemoteTxRequests","readonly":false,"value":"false"}]}]
2021-07-02 17:31:47 INFO (MainThread) [ocpp] ENX-AU21060165: send [2,"1664c504-53e4-45e7-b1c7-842303953e06","RemoteStartTransaction",{"idTag":"cs_server","connectorId":1}]
2021-07-02 17:31:47 INFO (MainThread) [ocpp] ENX-AU21060165: receive message [3,"1664c504-53e4-45e7-b1c7-842303953e06",{"status":"Rejected"}]

Hi Derek,

Remote Start Transaction is supported. To be accepted, the charger must be in the available state or connected pending authorisation. It can not be charging or in the finished or fault states. Otherwise when AuthorizeRemoteTxRequests is false, it should be accepted…

Thanks for clarifying, on issuing a remote stop transaction the unit’s status is “Finishing” and does not become “Available” without removing the cable or soft resetting. I would have expected you could remotely stop and then some time later remotely start again?

2021-07-09 15:17:18 INFO (MainThread) [ocpp] ENX-AU21060165: send [2,"d1b221bd-3007-4c51-94b4-3fbc86ada133","RemoteStopTransaction",{"transactionId":1625797788}]
2021-07-09 15:17:20 INFO (MainThread) [ocpp] ENX-AU21060165: receive message [3,"d1b221bd-3007-4c51-94b4-3fbc86ada133",{"status":"Accepted"}]
2021-07-09 15:17:20 INFO (MainThread) [ocpp] ENX-AU21060165: receive message [2,"e3c43d10-e1ad-773e-6488-6358593b427e","StopTransaction",{"timestamp":"2021-07-09T03:17:28Z","meterStop":297379,"transactionId":1625797788,"reason":"Remote"}]
2021-07-09 15:17:20 INFO (MainThread) [ocpp] ENX-AU21060165: send [3,"e3c43d10-e1ad-773e-6488-6358593b427e",{"idTagInfo":{"status":"Accepted"}}]
2021-07-09 15:17:23 INFO (MainThread) [ocpp] ENX-AU21060165: receive message [2,"dcd0310d-1310-f7dd-b1f1-ec2a87c2a8c9","StatusNotification",{"connectorId":1,"errorCode":"NoError","status":"Finishing","timestamp":"2021-07-09T03:17:30Z"}]

Although I still cannot get it to accept a remote start in the “Available” state either:

2021-07-09 16:49:26 INFO (MainThread) [ocpp] ENX-AU21060165: receive message [2,"7a1ee8ca-695c-b9d8-dd79-bf24f40353a2","StatusNotification",{"connectorId":1,"errorCode":"NoError","status":"Available","timestamp":"2021-07-09T04:49:34Z"}]
2021-07-09 16:49:35 INFO (MainThread) [ocpp] ENX-AU21060165: send [2,"26e5dc73-0352-4785-876d-ed9c59f2090a","RemoteStartTransaction",{"idTag":"ENX-AU21060165","connectorId":1,"chargingProfile":{"chargingProfileId":1,"stackLevel":999,"chargingProfileKind":"Relative","chargingProfilePurpose":"TxProfile","chargingSchedule":{"chargingRateUnit":"A","chargingSchedulePeriod":[{"startPeriod":0,"limit":32}]}}}]
2021-07-09 16:49:35 INFO (MainThread) [ocpp] ENX-AU21060165: receive message [3,"26e5dc73-0352-4785-876d-ed9c59f2090a",{"status":"Rejected"}]

The unit cannot leave the finishing state until all user interaction with the charger is finished. This includes unplugging the car. That is how OCPP define it. Issuing a soft reset is the only way around this. Refer to section 4.9 of the latest OCPP 1.6 document. There is a table showing the state transitions. Check state transitions F1 and F2.

Can you do a start transaction without the charging profile? I can see that you have set the stack level to 999. That is too high and will cause the message to be rejected. Refer to the ChargingProfileMaxStackLevel configuration value. Note that a charging profile does not need to be set, it is optional.

Thanks Ashley, setting the stack level to 2 returns an accepted response and preparing status notification. Reading the documentation it suggests the charger should then send a start transaction request, but this does not happen and the unit timeouts to available?

2021-07-13 19:04:20 INFO (MainThread) [ocpp] ENX-AU21060165: send [2,"df604920-653f-4482-aef1-bb562dea44ec","RemoteStartTransaction",{"idTag":"ENX-AU21060165","connectorId":1,"chargingProfile":{"chargingProfileId":1,"stackLevel":2,"chargingProfileKind":"Relative","chargingProfilePurpose":"TxProfile","chargingSchedule":{"chargingRateUnit":"A","chargingSchedulePeriod":[{"startPeriod":0,"limit":32}]}}}]
2021-07-13 19:04:20 INFO (MainThread) [ocpp] ENX-AU21060165: receive message [3,"df604920-653f-4482-aef1-bb562dea44ec",{"status":"Accepted"}]
2021-07-13 19:04:21 INFO (MainThread) [ocpp] ENX-AU21060165: receive message [2,"b9fc0434-9bf9-7e30-fe3e-6b2d0c47a597","StatusNotification",{"connectorId":1,"errorCode":"NoError","status":"Preparing","timestamp":"2021-07-13T07:04:20Z"}]
2021-07-13 19:04:21 INFO (MainThread) [ocpp] ENX-AU21060165: send [3,"b9fc0434-9bf9-7e30-fe3e-6b2d0c47a597",{}]
2021-07-13 19:06:21 INFO (MainThread) [ocpp] ENX-AU21060165: receive message [2,"0a0d24a8-d63e-ce40-6b38-844f7e0a2b32","StatusNotification",{"connectorId":1,"errorCode":"NoError","status":"Available","timestamp":"2021-07-13T07:06:20Z"}]

Hi Ashley, from the definition of a F2 transition (finishing to preparing) it implies provided the user initiates the restart it should be possible - which I would expect could be done by issuing a remote start in addition to the examples given?

F2 User restart charging session (e.g. reconnects cable, presents idTag again), thereby creating a new Transaction

Hi Derek, sorry I missed your message. When they refer to user interaction they mean driver interaction with the charger, not central system interaction. Finishing state is defined as below:

Finishing When a Transaction has stopped at a Connector, but the Connector is not yet available for a new user, e.g. the cable has not
been removed or the vehicle has not left the parking bay

So, can not leave the finishing state until the connector has become available.

Thanks Ashley for clarifying the Finishing state, intuitively it seems odd to me that you cannot remotely stop and then remotely start without a physical interaction.

Did you have a look at the Preparing state timeout? I expected the charger unit would provide the pilot signal to the car in this state?

Sorry, missed the preparing question. In order to move out of preparing, three conditions need to be true: Vehicle connected, RCM test passed and charging authorised. So if you have a vehicle plugged in, the RCM test will be OK so that leaves only authorisation. There are many OCPP settings that determine if and how authorisation is performed. You can set AuthorisationEnabled to false to disable authorisation. Do you see an authorisation request coming back to your server?

The pilot signal is not driven into an x2 (PWM) state until the OCPP Energy offer state is entered. Note that the Control Pilot signal is enabled and monitored all the time the vehicle is connected.

Hi Ashley, yes I was referring to the 1kHz PWM signal not being provided. AuthorisationEnabled is set to false and there is nothing sent from the Evnex unit between the Preparing and 2min later the Available status notifications.

Remote start/stop functionality (without having to interact with the car/cable) can be fudged by setting the unit’s charging profile current limit to 0 which goes into a SuspendedEVSE state and then increasing it to say 32 when wanting to charge.

The answer to why your charging is not starting will come from the diagnostic logs. Are you able to send a GetDiagnostics OCPP message from your server?

You can use to upload log files to. Note that webhook.test URLs are https, remove the s so you are just sending to http.

Do a cycle of trying to start charging, wait for it to timeout, then request the log file.

We also use charging profiles to start/stop charging at will. It is the only OCPP supported method as far as I am aware.

Hi Ashley, here is the log. Because the unit does not allow a F2 transition when you reset it appears the unit does not recognise the vehicle being connected, hence the timeout.

Hi Ashley, did you get a chance to review the log? I see it is now no longer available on the webhook site.

Hi Derek,

Sorry, I did not see your messages. Usually I get an email saying there has been a new post but I did not get one. Unfortunately the link you sent for the log has expired.

Are you able to send a new link or email the log file and I will have a look straight away.!/7a0f1562-c21c-4110-81ba-78fcbb9e9e1d/73f1546c-320e-4d59-8e4b-7fed10494b56/1