KEBA Binding - does it allow control?

Hi Guys,

I’m about to get a BMW i3, and are looking for a charger to install in my garage. Seeing that there’s a KEBA binding made my heart jump, but I’d also like to control the start/stop of charging, and it seams unclear if the binding allows for this. There are switches channels, but it might be only for indication?
Maybe even the KEBA does not allow this from remote?

Yes you can control the currency . I got my BMW yesterday and now I search for a walbox too. I hope the binding supports the p30 wallboxes. Maybe I have to order the old once. But I read that some others use the p30 with the binding.

OK, so one of the switches control the charge/no charge?

I have now read up on the KEBA models, and BMW Wallbox, which seams to be the same product underneath. (watch out, not getting a model without the UDP option!), the difference between P20 and P30 does not seam too big, so if P30 does not work out of the box, I should not be too complicated to change the binding.
All of them seams to have the command “ENA”, which I suppose does enable/disable charge.

Since you will probably install your wall box before me, I’d appreciate to hear about your findings. :slight_smile:

@Nils81 @vespaman The P30 should also work with the Keba binding, even as it currently states that is supports the P20. In fact, the firmwares between the two devices is very similar, with the P30 having some additional features over the P20. Indeed, the BMW branded wallbox is a Keba internally, but I do not know (now) if it has any different features. What I do know is that it carries a different Firmware identifier string.

Under normal circumstances the vehicle and the keba will negotiate at which rate the car will be charged. This is something you typically configure on the dashboard of the car (at least, I can on my Tesla). But, you can control the Keba in 3 ways

  1. enable or disable it, completely. That is done with the “enable” Channel
  2. set the maximum current at which the car can charge. That is done with the “maxpresetcurrent” channel. Note that the minimal value is 6000mA, so you can not set it to 0
  3. Use an external relay that is connected to the X1 switch of the Keba. You could image this relay to be connected to another actor or system, which in turn is configured in openHAB.

The “Input” channel is an indicator of that X1 relay. The “output” Channel is the X2 relay, which you can set to control another device that is connected to the Keba, for example a indicator lamp or whatever.


@kgoderis Thanks for clearing this up, it is comforting to know before purchase!

I will go for the P30C, once I find a local supplier having the exact variant I want (so many options on these things…), since the BMW Wallbox seams much bigger, and my '30th garage can benefit from small devices.


@vespaman No stress, I also have a P30C on order for my wife’s car, so I will definitely implement any additional features once I it arrives at my doorstep

Finally I have installed my P30C, but I am unable to get it going with the binding. (I’m on OH 2.10).
I can ping the P30C, but once I add the binding I get some kind of communication error, followed by an exception according to log.
I have the keba to the thing file, just as the example, and once I add the binding, I get this;

17:10:37.175 [INFO ] [smarthome.event.ExtensionEvent      ] - Extension 'binding-keba' has been installed.
17:10:37.202 [INFO ] [a.handler.KeContactBroadcastListener] - Listening for incoming data on /0:0:0:0:0:0:0:0:7090
17:10:37.202 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'keba:kecontactp20:1' changed from UNINITIALIZED (HANDLER_MISSING_ERROR) to INITIALIZING
17:10:37.206 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'keba:kecontactp20:1' changed from INITIALIZING to ONLINE
17:10:37.209 [INFO ] [a.handler.KeContactBroadcastListener] - Listening for incoming data on /0:0:0:0:0:0:0:0:7090
17:10:37.211 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'keba:kecontactp20:1' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): An exception occurred while receiving event data from the charging station
17:10:37.218 [INFO ] [me.event.ThingStatusInfoChangedEvent] - 'keba:kecontactp20:1' changed from OFFLINE (COMMUNICATION_ERROR): An exception occurred while receiving event data from the charging station to OFFLINE (COMMUNICATION_ERROR): An exception occurred while while polling the charging station
17:10:37.218 [INFO ] [smarthome.event.ThingUpdatedEvent   ] - Thing 'keba:kecontactp20:1' has been updated.

I could actually be that there’s something wrong with the ethernet wires going to the garage, but at least the ping arrives fine (and the P30C get’s its address from the DHCP server), so at least it looks fine on the surface.

Edit: Firmware version of the P30C is 3.08.4

After some food, I did a tcpdump on the server hosting oh, in ASCII, and it seams that the binding is talking to Keba regardless of the error (but it does not work nevertheless).

18:27:40.199163 IP keba > igmp v2 report
F.. .B....ox
.............   ...................
18:27:41.341121 IP xenon.53481 > keba.echo: Flags [S], seq 706614791, win 29200, options [mss 1460,sackOK,TS val 168275417 ecr 0,nop,wscale 7], length 0

18:27:41.341303 IP keba.echo > xenon.53481: Flags [R.], seq 0, ack 706614792, win 4096, length 0
18:27:41.341460 IP xenon.47750 > keba.7090: UDP, length 8
..........Areport 1
18:27:41.343295 IP keba.7090 > xenon.7090: UDP, length 143
"ID": "1",
"Product": "KC-P30-EC240122-E00",
"Serial": "17598975",
"Firmware":"P30 v 3.08.4 (170307-132509)",
"COM-module": 0,
"Sec": 3458

18:27:43.341594 IP xenon.47750 > keba.7090: UDP, length 8
..........Areport 2
18:27:43.342762 IP keba.7090 > xenon.7090: UDP, length 331
"ID": "2",
"State": 0,
"Error1": 0,
"Error2": 0,
"Plug": 3,
"AuthON": 0,
"Authreq": 0,
"Enable sys": 1,
"Enable user": 1,
"Max curr": 0,
"Max curr %": 1000,
"Curr HW": 16000,
"Curr user": 63000,
"Curr FS": 0,
"Tmo FS": 0,
"Curr timer": 0,
"Tmo CT": 0,
"Setenergy": 0,
"Output": 0,
"Input": 0,
"Serial": "17598975",
"Sec": 3460

18:27:45.341743 IP xenon.47750 > keba.7090: UDP, length 8
..........Areport 3
18:27:45.342511 IP keba.7090 > xenon.7090: UDP, length 147
"ID": "3",
"U1": 0,
"U2": 0,
"U3": 0,
"I1": 0,
"I2": 0,
"I3": 0,
"P": 0,
"PF": 0,
"E pres": 0,
"E total": 0,
"Serial": "17598975",
"Sec": 3462

Karaf Log repeats;

18:42:25.361 [DEBUG] [inding.keba.handler.KeContactHandler] - Sending 'report 1' on the channel '/'->'/'
18:42:27.363 [DEBUG] [inding.keba.handler.KeContactHandler] - Sending 'report 2' on the channel '/'->'/'
18:42:29.363 [DEBUG] [inding.keba.handler.KeContactHandler] - Sending 'report 3' on the channel '/'->'/'

Have you been able to resolve this problem? I have the same problem. I can see that openhab is sending “report 1”, “report 2” - but does not receive something back.

Yes, there’s a unreleased (updated) binding in the repository that works just fine, not sure why it is not in the main distribution.

Sorry to revive the old thread but does anyone know if the BMW wallbox plus also has the UDP connections the same as the KEBA? I just bought a i3 and I was trying to figure out which charger to buy. I think I can get the BMW a bit cheaper then the Keba.