There has been a few topics on this with some specific questions, but I am afraid I need some support from the very beginning.
I want to communicate with OCPP capable EVSEs. There are 3 of them at (my friends) place. I downloaded the OCPP nodes looked at the examples, but I am not sure if I fully understand the basics.
I assumed I can simply use a CP Request node to query the EVSEs directly. In the configuration I provided the Charge Box ID for the EVSEs and was planning to issue a GetConfiguration request initially. But I am not able to connect. I have not set up anything on the EVSEs, I just initially assumed that with the Charge Box ID I can talk to it directly.
Was my assumption incorrect? Do I necessarily need to set up a CS server in Node-Red and the EVSEs would be connected to that? The communication is always through a CS server?
Can somebody please walk through the basic process how it needs to be set up? This is not a public charge place, just a residential home with 3 chargers and I was hoping to integrate the EVSEs into a smart home system using OCPP.
Yeah, I have not forgotten. I looked at this the other day and can not make head nor tail of the messy flows i have - but they DO work.
What I have is:
A dashboard 2 page that displays the 30 min prices from Octopus Agile API
This allows me to chose which charging slots I want to use
The Dashboard programs a CRON-PLUS node to trigger RemoteStartTransaction and RemoteStopTransaction on the selected 30 min blocks
The OCPP flows to command charge start/end
Additionally, using the Matter nodes from Sam, I have added an "EV Charger" device so I can see in its state in Google Home (or Alexa if you like ads with your voice assistant) (or apple if you like walled gardens) and can actually start/stop it via voice.
Note, this is super basic On/Off state only (i.e. no battery state info until proper ev / power state / attributes capabilities are added to the matter nodes)
But, it is reallyReallyREALLY messy
will try to make a sensible export at some point.
If you are in a hurry though, ping me on DM and i will "share my mess" as-is and let you make sense of it?
Thanks Steve, however I think we are needing something a bit more basic initially.
We both are not sure how to create dialogue between the nodes & the charger, how to prepare the config, and get the charger's port number, url's, etc.
I haven't even had chance to install the charger yet (despite only having 62 miles left on the EV ), but should get some time this weekend, so no rush.
I did not make any progress so far, mostly because I am far away from the chargers and cannot administer everything remotely.
But my understanding is that ocpp node creates an ocpp server in node-red. If you load the example flow you see the top node with a huge switch node. That is the server part. If you go to the details you see server settings: port, ocpp path, etc.
With this, you should be able to connect the chargepoint to this central server. There should be some central server configuration in the admin page of the chargepoint (same place where you configured the wifi settings). This is the bit I am not able to do remotely.
If I understand correctly this component creates the server without authorization so leave those fields empty during setup. The Benny charger I plan to set up needs hostname which is the IP of node-red. Default port appears to be 8834. For Charge Point Identity I put the same value I see as the charge point ID in the mobile app. There is usually a field for the Charge Point Path or something similar as well. I am guessing but that would be something like ws://<ip>:8834/ocpp.
Authentication, SSL should be disabled, and other fields empty.
I assume that once this is configured correctly, you should see the heartbeat messages arriving in the server. Hopefully at that point it should make more sense.
After this I assume the JSON request node can be used to query the chargepoint, e.g. getConfiguration, etc.
I am hoping that I would be able to get consumption data from the chargepoint as well. At least the values I see in the companion app.
Correct the node can be used for both a server and a client. So you have terrific flexibility. I have pretty extensive experience with using the node (I built the prototype for a EV Charging CPO Energy management platform using NR for test cbids, although the node seems to have changed a bit so I will be going by feel) . If you chargers are happy to talk over ws rather than wss (not something you can assume) than it should be pretty easy
Set up a server in NR on 8834 using the CS Server node. (or any port you choose). If you are running in docker make sure you expose this port so the charger can see it.
Make sure you get the path correct in the NR config and on the charger (I tend to use the default /ocpp
Configure the url as you have said to be ws://:8834/ocpp and then you should see the bootNotification and Heartbeat messages.
From there it is pretty simple to get it going, depending on the charger you can do almost anything.
Not having a lot of success with this, and only thing I've achieved so far is crashing node-RED several times!
How do you determine what port & path to use? my charger is OCPP 1.6j compliant, but no information is shared by it's manufacturer about ports or paths...
This is what I have in the server node, which just shows Waiting... and doesn't output the heartbeat.
Can you share what charger you are using. Chargers I have tested with (admittedly mostly DC chargers but a few AC ones) will have a web interface where you can set the ocpp parameters the key ones
PORT : The Websocket port that it will use to connect on
PATH : the root path that the server is running on
CBID (or similar). The Charged Box ID unique name of the charger
The log
07/03/2025, 19:12:45 node: OCPP Server Port 8834 type: info data: Ready to recieve websocket requests on /ocpp/:ibid
is sensible indicating the server is listening for a connection on 8834 at the path /ocpp the CBID is referenced by the :cbid
Next steps and a few questions.
The first thing is to understand the charger config
What is the charger type / model
Is it on the same local network as the machine running the NR instance
Configure the charger to connect to your NR instance (you will need ip address of the NR instance, port, path and CBID). The charger will create a URL (you prob don't need to do this like ws://${IP_ADDRESS}:${PORT}/${PATH}/:CBID)
Secondly I would
Test NR client connecting to the server , I have not always had great experience with running the OCPP NR client in the same NR instance as the OCPP server (I put it don't to JS WS but that may be unfair), so if you can install NR on a different machine and install the client node and attempt to connect
Let me know how this goes.
Tedius I know but you will Gert there
Apologies I should have read a bit further up - given that I googled and used Claude to get
Based on the installation guide you shared, I can provide you with information about the OCPP (Open Charge Point Protocol) configuration for the BG SyncEV Wall Charger 2.
The BG SyncEV Wall Charger 2 uses OCPP 1.6J as its connection protocol, as mentioned in the technical specifications section of the guide (page 37). OCPP is an open standard that allows EV charging stations to communicate with a central management system.
For the BG SyncEV charger, the OCPP configuration is primarily handled through the commissioning process, which includes:
The charger management software can be set to "Monta" (which is the default included app), "EV.Energy", "SyncEV", or "Manual" for alternative back offices.
During the installer app setup (Stage 1 of commissioning), you need to:
Select the charge management software (Monta is recommended if unsure)
Set the charge mode (APP for smart charging or Plug and Charge for non-smart charging)
Configure network settings (WiFi, LAN, or 4G depending on your model)
The charger connects to the OCPP backend when you complete the network setup, at which point the status indicator should change from yellow to blue.
If you need to make specific OCPP configuration changes beyond what's covered in the standard setup, you may need to contact BG SyncEV technical support at support@syncev.co.uk or via their website at www.syncev.co.uk.
Is there a specific aspect of the OCPP configuration you're interested in?
So given that I would think in the app you would need to do the configuration - I am not sure this helps
Yes I'm currently using Monta to control the charger.
Your explanation makes it clearer how local integration works, and I'm assuming that to enable node-RED access to the charger, I would have to remove the Monta config, and use 'Manual' to setup the port, path etc.
I was hoping to get node-RED access to the charger, so that I could obtain data to monitor the CT clamp, charging rate etc. However I don't think I can do that without losing Monta, but thanks for your explanation.
Got it - if you want to have some fun then you can turn node red into a OCPP proxy that would give you the best of both worlds. The charger would connect to the ocpp server in node red and then you would connect to the Monta server - you need to be a aware of passing all the messages but honestly for a single charger it should be pretty robust in NR.
It would allow you to monitor and control charging if you wanted to.