Replies: 4 comments 1 reply
|
As an update to the above:
|
|
For the network dropout, the following may fix it: This has fixed it for at least 1 other person, however I'm still having issues. The difference so far is they have a 3-phase LTE, I only have the single phase. |
|
I was still getting the charger disconnecting/dropping out. Turns out I missed a step, needed to set HeartbeatInterval and WebsocketPingInterval to 60. So far that's stopped any issues. However restarting HA resets the Heartbeat. |
|
After reverse engineering the web version of Charge HQ I found the profile for ocular chargers tested this on my Ocular LTE Plus V3 reporting:
The charger was repeatedly dropping its OCPP connection and reconnecting about 25 seconds later. Heartbeats and WebSocket pongs worked normally between drops. What I tried I first checked the separate timing layers:
Using
I also found that an OCPP Soft Reset changes The charger also sends a malformed/non-standard WebSocket opening in some cases, so I placed a small constrained proxy in front of Home Assistant. The charger connects to port 9000, the proxy normalises the handshake, and valid traffic is forwarded to the Home Assistant OCPP listener on port 9001. Result The proxy fixed the malformed-handshake problem, and the charger remains usable after each automatic reconnect. Setting both charger intervals to 60 seconds did not eliminate the reconnects on this unit. Observed over the most recent period:
The connection currently recovers automatically and resumes fresh heartbeats and pongs, but the reconnect cycle is still present. So, for firmware Separately, command and transaction reliability required the 16-character remote-start ID-tag workaround and an Ocular-specific charging-profile path. Those changes fixed start/stop and current-control compatibility, but they did not affect the reconnect frequency. If you want to replicate what I've done minus the proxy. Open scripts and paste this into the yaml For a normal Home Assistant user, the easiest option is a Home Assistant script, not a shell script or API token.
alias: Ocular OCPP - set stable connection timing variables: sequence:
mode: single Then run it while the charger is online. If either result does not show 60, the charger rejected the setting or the wrong OCPP device ID was used. One important note On our BS-EV07 firmware, an OCPP Soft Reset changed HeartbeatInterval back to 3600. Run this script again after a Soft Reset. This is the simplest paste-and-run version. It sets the timing values, but it should not be presented as a complete reconnect fix: our charger continued experiencing short automatic reconnects even with both values at 60. |
Uh oh!
There was an error while loading. Please reload this page.
Hi All,
I am having issues stopping charging on an Ocular LTE PLus v3..
I can start charging by turning on the "Charge Control" entity, but when attempting to stop the charging session by turning it off, I receive the below exception: idTag is too long (contains non-printable characters)
ocpp.exceptions.TypeConstraintViolationError: TypeConstraintViolationError: Payload for Action is syntactically correct but at least one of the fields violates data type constraints (e.g. “somestring”: 12), {'cause': "'DFQETM4PBP3E3JTNO8DA\\x10\\x0e' is too long", 'ocpp_message': <Call - unique_id=100000179, action=StopTransaction, payload={'meterStop': 2509, 'idTag': 'DFQETM4PBP3E3JTNO8DA\x10\x0e', 'transactionId': 1781579436, 'timestamp': '2026-06-16T03:40:36Z', 'reason': 'Remote'}>}�[0mI am not sure if I am reading this correctly - is it the charger generating the invalid message or the ocpp integration?
Either way charging does not stop....
I am currently using the auto-population of measurands if that makes a difference...
Also having issues dynamially controlling max current - the process in https://github.com/lbbrhzn/ocpp/blob/main/docs/Charge_automation.md does not work for me (the charger returns "Rejected" for the command) - do we need to use custom profiles with this charger?
Any ideas would be appreciated!
All reactions