A comprehensive Home Assistant custom integration for BMW-branded wallboxes (Delta Electronics EIAW-E22KTSE6B04) using the OCPP 2.0.1 protocol.
- ๐ Real-time Monitoring: Track power, energy, current, voltage, and charging state
- ๐ฎ Smart Control: Start/stop charging, set current limits dynamically
- ๐ 37 Sensors: Comprehensive data including per-phase measurements
- โก Energy Dashboard: Full integration with Home Assistant's Energy Dashboard
- ๐ Secure: Uses OCPP 2.0.1 with WebSocket Secure (WSS) connection
- ๐ Local Control: No cloud required - runs entirely on your local network
- Open HACS in your Home Assistant instance
- Click on "Integrations"
- Click the three dots in the top right corner and select "Custom repositories"
- Add this repository URL:
https://github.com/JoaoPedroBelo/bmw-wallbox-ha - Select category "Integration"
- Click "Add"
- Find "BMW Wallbox (OCPP)" in HACS and click "Install"
- Restart Home Assistant
- Go to Settings โ Devices & Services
- Click + Add Integration
- Search for "BMW Wallbox"
- Enter your configuration:
- WebSocket Port: Default is 9000
- SSL Certificate Path: Path to your SSL certificate (e.g.,
/ssl/fullchain.pem) - SSL Key Path: Path to your SSL private key (e.g.,
/ssl/privkey.pem) - Charge Point ID: Your wallbox's unique ID
- RFID Token (optional): Authorization token
- Maximum Current: Maximum allowed current (6-32A)
Update your BMW wallbox OCPP settings to point to your Home Assistant:
- OCPP URL:
wss://your-home-assistant.local:9000 - Protocol: OCPP 2.0.1
Comprehensive documentation is available in the docs folder:
- Architecture: Technical architecture overview
- Energy Sensors: Energy tracking and Utility Meter setup
- OCPP Handlers: OCPP message handling details
- Testing Guide: Development and testing information
- Troubleshooting: Common issues and solutions
- Power (W), Energy Total (kWh), Energy Session (Wh)
- Current (A), Voltage (V)
- Charging State, Connector Status
- Transaction ID, Event Type, Trigger Reason
- Per-phase current and voltage (L1, L2, L3)
- Power factor, frequency, temperature
- Active/reactive power and energy measurements
- Charging (ON when actively charging)
- Connected (ON when wallbox is connected via OCPP)
- Start/Stop Charging buttons
- Charging switch
- Current Limit slider (0-32A)
automation:
- alias: "Start charging with excess solar"
trigger:
- platform: numeric_state
entity_id: sensor.solar_power
above: 5000
condition:
- condition: state
entity_id: binary_sensor.wallbox_charging
state: "off"
action:
- service: button.press
target:
entity_id: button.wallbox_start_chargingautomation:
- alias: "Adjust current based on house load"
trigger:
- platform: state
entity_id: sensor.house_power
condition:
- condition: state
entity_id: binary_sensor.wallbox_charging
state: "on"
action:
- service: number.set_value
target:
entity_id: number.wallbox_current_limit
data:
value: >
{% set available = 32 - (states('sensor.house_power')|float / 230) %}
{{ [6, [available|round, 32]|min]|max }}- Primary: BMW-branded Delta Electronics wallboxes (Model: EIAW-E22KTSE6B04)
- Potential: Any OCPP 2.0.1 compatible wallbox (untested)
- Protocol: OCPP 2.0.1 with Security profile
- Architecture: Acts as OCPP Central System (server)
- Connection: WebSocket Secure (WSS)
- Integration Type: Local Push (no polling required)
- Home Assistant: Compatible with 2023.1.0+
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Joรฃo Belo (@JoaoPedroBelo)
This is an independent, open-source integration created for BMW-branded Delta Electronics wallboxes. This project is not affiliated with, endorsed by, or sponsored by BMW AG, BMW Group, Delta Electronics, or any related companies.
For issues or questions:
- GitHub Issues
- Review Home Assistant logs for error messages
- Check the Troubleshooting Guide
If you find this integration useful, please consider giving it a star on GitHub!