8000 Grizzl-E Charger not connecting on AWS · Issue #1109 · steve-community/steve · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Grizzl-E Charger not connecting on AWS #1109

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
swatilabba opened this issue Mar 31, 2023 · 12 comments
Open

Grizzl-E Charger not connecting on AWS #1109

swatilabba opened this issue Mar 31, 2023 · 12 comments

Comments

@swatilabba
Copy link

Hi Team,

I am working for an electric vehicle corporation and trying to connect Steve with Grizzl-E Smart charger but its not connecting with Steve.

Charger details:-
Vendor:- United Chargers
Grizzl-E OCPP1.6J

SetUp:-
I followed Steve 3.5.0 setup on AWS line by line.
Steve application is up and running on AWS server.

Troubleshooting steps:-

  1. I turned off the firewall of my working laptop to verify if that's the issue
  2. I sent a BootNotification request from Postman(on my machine) to the Steve (http://:/steve/services/CentralSystemService) on AWS server and I receive a heartbeat on Steve application with the request and response in the steve logs
  3. But when I turn on the charger, there is nothing and I don't even see the request in the logs
  4. I checked with the charger company and as per their instructions I am supposed to put
    Enter the OCPP URL into the text box. Format the URL as follows:
    • Server_DNS/Charger_ID
    *
  5. In our case, I put either http://:/steve/services/CentralSystemService or http://:/steve/services/CentralSystemService/
  6. I first hit the URL using Postman for whatever endpoint address I put in the charger to transmit data.

But the charger is still not connected! Please I need help.

Thanks!

@swatilabba swatilabba changed the title Charger not connecting Grizzl-E Charger not connecting on AWS Mar 31, 2023
@goekay
Copy link
Member
goekay commented Apr 9, 2023

Server_DNS/Charger_ID*

the fact that the instructions hint at charger id being at the end of the url makes me think that this is a WS/JSON charger. but you are using the endpoint for SOAP. pls use the url starting with ws

@swatilabba
Copy link
Author

I tried using WS/JSON and it didn't work too. So, I tried using virtual charger-simulator (https://github.com/vasyas/charger-simulator) to try and connect Steve. And this is what I get:-
Charger-Simulator.
Please help!

@goekay
Copy link
Member
goekay commented Apr 11, 2023

it seems like you encountered an edge case with the simulator. the action Heartbeat contains no payload. an implementa 8000 tion can send null or {} (empty object). steve expects {} whereas the simulator sends null.

{} is the suggestion by the spec:
Screenshot 2023-04-11 at 23 50 29

i am not sure whether this is related to your ongoing troubles with the station though:

I tried using WS/JSON and it didn't work too.

@goekay
Copy link
Member
goekay commented Apr 11, 2023

it seems like you encountered an edge case with the simulator.

and, of course, this can be seen as an edge case that steve misses as well. i guess we should support it, since it is technically acceptable even though not a suggestion.

working on a fix.

goekay added a commit that referenced this issue Apr 11, 2023
accept '"null" alongside of "{}" as empty payload (#1109)
@chicagz
Copy link
chicagz commented May 3, 2023

Has this been resolved? I am also trying to connect a Grizzl-E charger on AWS server. I tried both methods above. WS and http. I think the charger ID needs to be in the URL somewhere. I used the last 5 digits of the serial as the charger ID. I added charger ID in Steve/chargepoints

From Grizzl-E
Server_DNS/Charger_ID. Server DNS

Tried the following
(SOAP:) http://(server-ip):8080/steve/services/CentralSystemService
(WebSocket/JSON:) ws://(your-server-ip):8080/steve/websocket/CentralSystemService
also tried
http://(server-ip):8080/steve/services/CentralSystemService/charger_ID
ws://(server-ip):8080/steve/websocket/CentralSystemService/charger_ID

Any thoughts on the syntax for the URL?

@barsnick
Copy link
  1. I sent a BootNotification request from Postman(on my machine) to the Steve (http://:/steve/services/CentralSystemService) on AWS server and I receive a heartbeat on Steve application with the request and response in the steve logs
  2. But when I turn on the charger, there is nothing and I don't even see the request in the logs

Shouldn't the BootNotification be a function the charger performs?

This makes it hard to debug, if Postman (what is that?) works and the charger not, and the latter doesn't even appear in the SteVe logs.

Hints:

  • Check whether SteVe's log reports a TCP connection from the charger.
  • Check your charger's logs, and whether it claims to connect. (One of the Grizzl-E manuals says: "Verify that you are connected. If connection is successful the indicator light will alternate between Blue and Cyan." Is that al the information that is accessable?)
  • Trace the network traffic with Wireshark. This may be tricky, as Grizzl-E is on WiFi. You might want to use tcpdump instead of Wireshark on your SteVe AWS, to see whether any packets are arriving from the charger at all.

@chicagz
Copy link
chicagz commented May 16, 2023

I Spoke to Grizzl-E tech support. They said to remove the ws:// and start with the IP address.
(server-ip):8080/steve/services/CentralSystemService/charger_ID

I can now see a log event within steVe so I know the charger is communicating to the AWS server. But I am now getting the following error:

[ERROR] 2023-05-16 19:49:50,140 de.rwth.idsg.steve.ocpp.ws.OcppWebSocketHandshakeHandler - No protocol (OCPP version) is specified.

@swatilabba
Copy link
Author
swatilabba commented May 16, 2023

Yes, I faced the same error. And if you look in the code the error is because of the empty WebSocket Headers. How to fix this? I used Postman, it's a software tool that helps you to create mock requests to test your server. And in there, I get the same error. So, I don't think it's the charger, it's Steve that needs some more configuration with the request.

@juherr
Copy link
Contributor
juherr commented May 17, 2023

The issue is clear:

The code:

        List<String> requestedProtocols = new WebSocketHttpHeaders(request.getHeaders()).getSecWebSocketProtocol(); 
  
         if (CollectionUtils.isEmpty(requestedProtocols)) { 
             log.error("No protocol (OCPP version) is specified."); 
             response.setStatusCode(HttpStatus.BAD_REQUEST); 
             return false; 
         }

The framework documentation:

Returns the value of the Sec-WebSocket-Key header.

So the charger or postman must send the expected header.

@juherr
Copy link
Contributor
juherr commented May 17, 2023

See page 7 of the specification:
Screenshot_2023-05-17-06-14-17-873-edit_com.github.android.jpg

Check if the charger is sending the expected header and if not, you should ask for a fix on the charger support service.

@swatilabbaJPlug
Copy link

Hi guys,
Thanks for the help! Much appreciated! I learned from Grizzl-E Tech support that they are not OCPP-compliant and developing their software instead of contracting to a third party. Also, I was able to connect with the European Teltonika EV charger without any issues. But I still need to fully test it.
Hope this helps!

@juherr
Copy link
Contributor
juherr commented May 26, 2023

@swatilabbaJPlug @swatilabba

I wanted to add the charger model as not working in the documentation but an entry is already there:

Charging Station Manufacturer Model Firmware SteVe OCPP Status
United Chargers GRIZZL-E GRS-14-24-P 05.41 3.4.5 ocpp1.6J working (partially tested)

Do you have the exact model and firmware of the not working charger?

No entry currently exists for the Teltonika charger.
Could you add an entry for the model you are testing too?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
469D
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants
0