BMW and Mini wallboxes require valid SSL certificates and actively validate them. Self-signed certificates or using IP addresses instead of hostnames will not work.
This guide explains how to set up valid SSL certificates using Cloudflare DNS + Let's Encrypt, allowing the wallbox to connect locally while using a trusted certificate.
BMW/Mini wallboxes have a strict SSL requirement:
- SSL certificates are issued for domain names (hostnames), not IP addresses
- The wallbox validates that the certificate matches the URL hostname
- Self-signed certificates are rejected
- Using an IP address in the OCPP URL causes certificate validation to fail
Use Cloudflare for DNS management and Let's Encrypt for valid certificates. The wallbox connects locally - no traffic goes through Cloudflare's cloud.
- Wallbox looks up
local.yourdomain.com→ Gets your local IP (e.g.,192.168.1.100) - Wallbox connects locally to Home Assistant
- Valid certificate matches the domain name
- Certificate validation passes ✅
- No external traffic - purely local connection
- Add your domain to Cloudflare (or register a new one)
- Create an A record:
| Setting | Value |
|---|---|
| Type | A |
| Name | local (or homeassistant, ha, etc.) |
| IPv4 address | Your Home Assistant local IP (e.g., 192.168.1.100) |
| Proxy status | DNS only (gray cloud) |
| TTL | Auto |
This creates: local.yourdomain.com → 192.168.1.100
⚠️ Important: The proxy status MUST be "DNS only" (gray cloud icon), not "Proxied" (orange cloud). The orange cloud would route traffic through Cloudflare, which breaks the local connection.
- In Cloudflare dashboard → My Profile → API Tokens
- Click Create Token
- Use template: Edit zone DNS
- Zone Resources: Include → Specific zone → Your domain
- Click Continue to summary → Create Token
- Copy the token (you'll need it for the next step)
- Go to Settings → Add-ons → Add-on Store
- Search for Let's Encrypt and click Install
- Go to the Configuration tab
- Configure with your details:
email: your-email@example.com
domains:
- local.yourdomain.com
certfile: fullchain.pem
keyfile: privkey.pem
challenge: dns
dns:
provider: dns-cloudflare
cloudflare_api_token: your-cloudflare-api-token-here- Click Save
- Go to the Info tab and click Start
- Check the Log tab for:
Congratulations! Your certificate has been saved
Certificates are created at:
/ssl/fullchain.pem/ssl/privkey.pem
- Go to Settings → Devices & Services → Add Integration
- Search for BMW Wallbox
- Configure:
| Setting | Value |
|---|---|
| WebSocket Port | 9000 |
| SSL Certificate Path | /ssl/fullchain.pem |
| SSL Key Path | /ssl/privkey.pem |
| Charge Point ID | Your wallbox ID (e.g., DE*BMW*XXXXXXXXXXXXXXXXX) |
| Maximum Current | 32 |
Open the WBInstallation app and configure:
| Setting | Value |
|---|---|
| OCPP URL | wss://local.yourdomain.com:9000 |
| Charge Station ID | DE*BMW*XXXXXXXXXXXXXXXXX |
| OCPP Version | 2.0.1 |
Important: The Charge Station ID format includes asterisks:
DE*BMW*XXXXXXXXXXXXXXXXX. Copy it exactly as shown in the app.
After configuration:
- The wallbox should connect within a few minutes
- Check Home Assistant logs for connection messages
- The "Connected" binary sensor should turn ON
- All sensors should start populating with data
Add to configuration.yaml:
logger:
default: info
logs:
custom_components.bmw_wallbox: debug
ocpp: debug
websockets: debug- Verify DNS resolution: On a device in your network, ping
local.yourdomain.com- it should resolve to your Home Assistant IP - Check certificate validity: Ensure Let's Encrypt add-on ran successfully
- Verify port is open: Home Assistant must be reachable on port 9000
- Check Charge Point ID: Must match exactly between HA config and wallbox config (including asterisks)
Let's Encrypt certificates expire every 90 days. The add-on handles renewal automatically, but ensure:
- The add-on is set to auto-start
- Home Assistant can reach the internet for renewals
If you accidentally enabled the proxy (orange cloud):
- Go to Cloudflare DNS settings
- Click the orange cloud icon to toggle it to gray (DNS only)
- Wait a few minutes for DNS to propagate
- Restart the wallbox or wait for it to reconnect
This SSL setup works with:
- BMW Wallbox (EIAW-E22KTSE6B04)
- Mini Wallbox Plus (EIAW-E22KTSE6B15)
- Other Delta Electronics OCPP 2.0.1 wallboxes
These are essentially the same hardware with different branding.