Keba Charging Station


The keba integrates your Keba charging station/BMW Wallbox into your Home Assistant instance using the UDP Smart Home Interface (manual). The fetching interval to the charging station is set to 5 seconds, same as in the official mobile app. In order to use the integration, enable the UDP Smart Home Interface by adjusting the DIP switches within the charging station according to the installation manual.

This integration provides the following platforms:

  • Binary sensors: Online state, plug state, charging state and failsafe mode state.
  • Lock: Authorization (like with the RFID card).
  • Sensors: current set by the user, target energy set by the user, charging power, charged energy of the current session and total energy charged.
  • Services: authorize, deauthorize, set energy target, set the maximum allowed current and manually update the states. More details can be found here.
  • Notify: Show a text on chargers with a built-in LED display.

Configuration

To enable this integration in your installation, add at least the following to your configuration.yaml file:

# Example configuration.yaml entry
keba:
  host: KEBA_HOST

Configuration Variables

keba map Required

configuration

host string Required

Keba host.

rfid string (Optional, default: 00845500)

RFID tag used for authorization.

failsafe boolean (Optional, default: false)

Enable failsafe mode at Home Assistant startup.

failsafe_timeout integer (Optional, default: 30)

Timeout of the failsafe mode in seconds. Allowed values are between 10 seconds and 600 seconds (this parameter is only used if failsafe mode is enabled). Make sure to call the keba.set_curr service regularly within this timeout period!

failsafe_fallback integer (Optional, default: 6)

Fallback current of the failsafe mode in A. Allowed values are between 6 Ampere and 63 Ampere. 0 Ampere disables the running charging process completely (this parameter is only used if failsafe mode is enabled).

failsafe_persist integer (Optional, default: 0)

Saving the failsafe configuration to internal EEPROM of the Keba charging station. 1 means save it, 0 means do only keep this configuration until the next restart of the charging station (this parameter is only used if failsafe mode is enabled).

refresh_interval integer (Optional, default: 5)

Refresh interval to fetch new data from the charging station. 5 seconds (same as in the official app) is recommended.

Services

The keba integration offers several services. Using these services will change the state of your charging station. So use these services with care!

Authorizing and Deauthorizing keba.authorize and keba.deauthorize

The charging station can be authorized and deauthorized via service calls (keba.authorize and keba.deauthorize) or via the lock integration that is created automatically for the charging station. In both cases the RFID tag from the configuration is used.

Start and Stop keba.start and keba.stop

The service keba.start and keba.stop controls the charging process if the car is already authorized. Technically it sends ena 1 or ena 0 commands to the charging station.

Set Target Energy keba.set_energy

The service keba.set_energy sets the target energy for the current session to the given energy attribute in kWh. Payload example:

{
  "energy": 10.0
}

Maximum Current keba.set_curr

The service keba.set_curr sets the maximum current to the given current attribute in Ampere. Payload example:

{
  "current": 16.0
}

Request New Data keba.request_data

The service keba.request_data sends data update requests to the charging station.

Request New Data keba.set_failsafe

The service keba.set_failsafe sets the failsafe mode of the charging station. Payload example:

{
  "failsafe_timeout": 30,
  "failsafe_fallback": 6,
  "failsafe_persist": 0
}

Notifications

Some Keba chargers are equipped with a LED text display. The notification platform may be used to display text on this display. To enable this, add the following to your configuration.yaml file:

Configuration

# Example configuration.yaml entry
notify:
  - name: NOTIFIER_NAME
    platform: keba

Configuration Variables

name string (Optional, default: notify)

Setting the optional parameter name allows multiple notifiers to be created. The notifier will bind to the service notify.NOTIFIER_NAME.

Usage

The use of the notify service is described here.

The message part of the event payload is shown on the display. Scrolling is performed if needed. A maximum of 23 characters can be shown.

The optional data part may contain specifications of the message duration. min_time is the minimum time in seconds the text will be shown if another message is requested. max_time is the maximum time to display the message when nothing else is requested. By default, the message is shown a minimum of 2 seconds and a maximum of 10 seconds.

message: "Welcome home"
data:
  min_time: 4
  max_time: 10

Disclaimer

This software is not affiliated with or endorsed by Keba.