Grizzl-E charger and HA's OCPP integration

I certainly hope this isn’t redundant. And maybe someone will find it useful.

First, I’m pleased to report that. after at least a dozen hours of effort, I finally have HA’s OCPP integration working with a Grizzl-E EV charger. (That’s three acronyms in one sentence. Not bad.)

Kudos to the integration’s developer. You do nice work. Not so the United Chargers’ coder. First, look at this image.

This is all you need to make the OCPP integration work with a Grizzl-E charger. Not a character less–especially that slash at the end of the URL. Don’t omit it. You’ll be sorry if you do. My charger, at least, goes offline. A clever coder would have tested for the trailing slash and, if it was missing, would have added one. By the way, the IP address is that of your HA server.

Once things are working, there are still major difficulties. My charger now reboots every 38 seconds. The charger’s LED changes from blue to magenta for a fraction of a second, accompanied by an HA notification–

plus ~100 lines added to the log. I shut down the server to see if the OCPP integration was triggering the reboots, and discovered that the magenta LED no longer means only that the charger is offline. It also indicates that there’s no OCPP connection. And since the LED is already magenta, there’s no way to tell if charger is rebooting. (Note to UC coder: you still have yellow and orange to work with.) Observe that, when it’s in this state, the charger’s home page–

indicates that it’s offline, even though it isn’t. See the IP address at the top? It’s definitely online.

2 Likes

How were you able to set the OCPP backend configuration through the app or web UI? I don’t see that anywhere.

I was too efficient when cropping screenshots in the initial note. Here’s the rest of the charger’s home page.

The button at the bottom is what you;re looking for.

Interesting! I must have a different version of the charger as I don’t see this. The UI is completely different. I reached out the the manufacture and they said that changing the OCPP server would possibly be coming in a future update.

Your charger rebooting constantly is consistent with this comment ocpp/docs/user-guide.md at f4ed62ef53909a6c4b11f90a9a9c8ec8c126bdaf · lbbrhzn/ocpp · GitHub. Hopefully that helps.

Doesn’t your charger’s firmware revision show up on its home page.?

My charger’s ESP32 board has a USB socket, presumably to allow firmware to be flashed at the factory. If (a) your charger is the same, and (b) you’re both bold and persuasive, perhaps you can convince a United Chargers employee to e-mail you upgraded firmware and instructions about how to flash it.

As for your second paragraph: I thank you for the tip. It looks like the charger is sending invalid JSON to the OCPP integration. My current theory is that the charger reboots when the integration says something is wrong. But maybe I’ll have another theory tomorrow.

I figured it out! I have the Ultimate Version so it was slightly different but documented here.

1 Like

Good.

I just sent a note to UC including a sample of their garbled JSON, as well as three screenshots which should convince someone that the latest version of their Android application (which was released in the last few days) is badly broken. It claims that my charger is offline, when I’m quite certain it isn’t. Although I know better than to volunteer, I even offered to be a beta tester.

What’s the verdict on this charger? I am looking to replace my Tesla gen2 with something I can feed excess solar–locally. Surprisingly there isn’t much discussion on this topic, but it looks to be between this charger and OpenEVSE if you want local control.

I just got one of these chargers, but I haven’t tried adding it to HA yet. Seems like a pretty solid charger, and their own app seems okay, if a little bare bones at the moment. It hasn’t even hit V1.0 yet, so they’ve made room for improvement.

Have you gotten it working smoothly?

check : GitHub - djiesr/ocpp: Home Assistant integration for Grizzl-E Smart chargers patch to support the Open Charge Point Protocol (OCPP).
he put some work and effort specially toward Grixxl-e and his fork working fine with my device.

1 Like

Please excuse the tardy response. My charger died in late December. I suspect the constant reboots were what killed it. I didn’t receive a replacement until mid-January. “djiesr” has my compliments; his implementation works very well. Thanks for pointing it out.

I just installed a Grizzl-e charger and installed this integration. All of my entities are coming up “Unavailable”. There are no python errors in my logs but I do see messages coming from the Grizzl-e:

2025-03-16 07:02:15.607 INFO (MainThread) [ocpp] GRU-L0000348767: receive message [2,"1652","MeterValues",{
	"connectorId":	1,
	"transactionId":	1029043,
	"meterValue":	[{
			"timestamp":	"2025-03-16T13:02:22Z",
			"sampledValue":	[{
					"value":	"0.00",
					"unit":	"A",
					"measurand":	"Current.Import"
				}, {
					"value":	"239.00",
					"unit":	"V",
					"measurand":	"Voltage"
				}, {
					"value":	"0.00",
					"unit":	"kW",
					"measurand":	"Power.Active.Import"
				}, {
					"value":	"272",
					"unit":	"Wh",
					"measurand":	"Energy.Active.Import.Register"
				}]
		}]
}]
2025-03-16 07:02:15.608 INFO (MainThread) [ocpp] GRU-L0000348767: send [3,"1652",{}]
2025-03-16 07:02:19.078 DEBUG (MainThread) [homeassistant.components.mqtt.client] core-mosquitto: register write 74
2025-03-16 07:02:19.079 DEBUG (MainThread) [homeassistant.components.mqtt.client] core-mosquitto: unregister write 74
2025-03-16 07:02:20.184 DEBUG (MainThread) [custom_components.ocpp] Connection latency from 'central' to 'GRU-L0000348767': ping=0.0 ms, pong=109.0 ms

so I would expect at least sensor.grizzle_voltage, sensor_grizzle_power_active_import, sensor.grizzle_current_import and sensor_grizzle_energy_reactive_import_register to be active, at least.

Do I need to use the fork mentioned above? It looks like that fork is to resolve some schema issues.

Well I decided to bash my head against this wall again. It turns out after many hours of wasted time I made a stupid mistake. I’m running HA in a Docker Portainer and I forgot to map port 9000 to HA in Docker/Portainer. I am publicly posting my stupidity so I may just save one person from making the same mistake.

2 Likes

Well, further to my previous question. My Grizzl-E charger will not charge a car when it is configured with OCPP pointed at my HomeAssistant OCPP server. But the OCPP integration still claims all of the Grizzl-E endpoints are ‘unavailable’ so HA isn’t even sending any requests/notifications/etc to the Grizzl-E.

Grizzl-E tech support has confirmed that the charger needs to be connected to the Grizzl-E ‘cloud’ in order to charge. This is somewhat disappointing. It means I can’t automatically disable charging when the grid goes down and the inverter has to supply power from my batteries.

1 Like

Do you have the first “smart” charger or the “connect”? I had the same problem with my “ChargeLab” and I missed the firmware upgrade path. They ended up sending me a new one it is defiantly version 2.
https://grizzl-e.com/chargelab-unit-upgrade/

Mine is the Ultimate 48A. https://grizzl-e.com/products/grizzl-e-ultimate-48/

I just bought it a couple weeks ago direct from their site.

I honestly have trouble believing that this charger can only work when connected to their cloud. That seems somewhat disingenuous but their ‘support’ team have basically confirmed it without outright saying so and it seems hard to talk to someone who actually isn’t following the script.

1 Like

Note: so I tripped over this while I was trying to make my grizzl-e mini work, like you it was getting the data and getting all of nowhere fast, with a lot of unavailable.

Poking around further I found GitHub - djiesr/ocpp: Home Assistant integration for Grizzl-E Smart chargers patch to support the Open Charge Point Protocol (OCPP). and for kicks and giggles swapped it in, low and behold it not only started behaving about how I’d expect / want, I was able to trigger charging. So support is not 100% right, but the OCPP integration needs some work / help.

I might sit down and try and get the newer repo more updated and the patches cleaned up and see if I can get them pushed upstream. Not sure what the original author may have going on there.

Figured I’d let you know!

1 Like

Huh, interesting. I’ve tried that patch in the past and only gotten a constant stream of disconnection notifications. Maybe I’ll try it again.

Looks like Grizzle are pay walling access to OCPP now!

Scroll to the bottom of their site!

“Unlock OCPP Access”

Now a premium feature! Instantly connect your charger to any compatible OCPP platform with a simple, one-time license per unit and take control of your charging experience. Future-proof your setup and enjoy seamless integration for enhanced management and flexibility!

I was very frustrated with this OCPP lockdown. I contacted customer support and complained and they unlocked my device for me. I am still frustrated that they would do this (and told them) and I would encourage anyone broken by this change to open a support ticket.

1 Like