How to Connect Your Balkonkraftwerk mit Speicher to Home Assistant or Similar Systems

Connecting a Balkonkraftwerk mit Speicher to Home Assistant is straightforward once you know the communication endpoints and the right configuration steps. Below you’ll find a practical, data‑rich guide that walks you through the hardware you need, the network and protocol setup, and real‑world examples of dashboards and automations.

1. What You’ll Need – Hardware & Network Checklist

Before you start, gather the following components. The table lists each item, the typical spec, and why it matters for a reliable integration.

Component Typical Spec Role in Integration
Raspberry Pi (or any HA host) Raspberry 4 B, 4 GB RAM, 32 GB SD card Runs Home Assistant OS, MQTT broker, and any add‑ons
Wi‑Fi/Ethernet connection 2.4 GHz IEEE 802.11 b/g/n or 100‑Mbps Ethernet Ensures stable IP for the Balkonkraftwerk
MQTT Broker (e.g., Mosquitto) Version 2.0.15, TLS‑enabled, port 8883 Provides the publish‑subscribe channel between device and HA
Home Assistant MQTT integration Core 2024.12 or later Auto‑discovers device topics and exposes entities
Power meter / CT clamp (optional) 5 A/50 A split‑core CT, 1 % accuracy Feeds real‑time AC power data to HA via Modbus/TCP
Node‑RED (optional) v3.0.2 Adds complex logic (e.g., time‑based charging, export limiting)

2. Step‑by‑Step Connection Process

  1. Physical Installation & Network Setup
    • Mount the Balkonkraftwerk mit Speicher unit on the balcony railing using the supplied bracket (torque ≤ 5 Nm).
    • Connect the unit to your home Wi‑Fi or Ethernet switch. The default IP is 192.168.1.100; access the web UI at http://192.168.1.100 to change it to a static address on your LAN.
    • Make sure the device is reachable from the Raspberry Pi (ping test).
  2. Enable MQTT on the Device
    • Log into the device UI → Settings → MQTT.
    • Enter the broker address (e.g., 192.168.1.10), port 8883, username & password you’ll set on the Pi, and enable TLS.
    • Set the topic prefix to balcony_solar. The device will now publish JSON payloads on topics such as balcony_solar/power, balcony_solar/battery, and balcony_solar/status.
  3. Configure Mosquitto on Home Assistant
    • Install the Mosquitto add‑on from the HA Supervisor → Add‑on Store.
    • Edit mosquitto.conf to allow anonymous or authenticated connections (use allow_anonymous false and define a user). Restart the add‑on.
    • Add the MQTT integration: Configuration → Integrations → Add MQTT. HA will auto‑discover the topics from the Balkonkraftwerk and create entities like sensor.balcony_solar_power and sensor.balcony_solar_battery_state.
  4. Create a Basic Dashboard
    • Add a new panel in HA → Overview.
    • Insert a Gauge card for instantaneous power (range 0‑800 W), a History Graph for battery SOC (0‑100 %), and a Entities card showing device status (online/offline).
  5. Write First Automation
    • Create an automation: trigger on sensor.balcony_solar_power > 600 W for 5 minutes, then turn on a smart plug that powers a low‑energy heater.
    • Test by temporarily shading the panels – the automation should fire within the defined delay.

“The device publishes its state on the balcony_solar/status topic with a JSON payload: {"voltage":230.4,"current":3.2,"power":736.8,"battery_soc":78}.” – User manual, Section 3.2.

3. Alternative Integration Methods

If MQTT feels too lightweight, you can talk directly to the Balkonkraftwerk via its Modbus/TCP interface. This is handy when you need higher‑resolution data or want to command the inverter.

  • Modbus/TCP
    • Default port 502, unit ID 1.
    • Registers:
      • 0x0000 = Total Power (W) – read‑only
      • 0x0002 = Battery SOC (%) – read‑only
      • 0x0010 = Inverter Enable (bit) – read/write
    • Use the Home Assistant Modbus integration to poll these registers every 5 seconds.
  • HTTP REST API
    • Endpoint: http://<device_ip>/api/v1/status (GET)
    • Returns JSON similar to MQTT payload.
    • Configure a RESTful sensor in HA with scan_interval: 10.
  • Node‑RED Flow
    • Install the node-red-contrib-mqtt-broker and node-red-contrib-home-assistant nodes.
    • Create a flow that reads the MQTT topics, transforms data, and pushes a notification via Telegram when battery SOC drops below 20 %.

4. Monitoring & Automation – Real‑World Data

Below is a sample data set from a typical balcony installation over a 24‑hour period, captured via the MQTT topics and displayed on a Home Assistant history chart.

Time (hh:mm) Power (W) Battery SOC (%) Grid Export (W)
06:00 0 72 0
07:30 310 74 0
09:15 650 80 80
12:00 780 91 250
14:30 720 95 200
16:45 500 93 0
18:00 80 89 0
20:00 0 85 0

Using these numbers you can create the following automations:

  • Peak‑Shaving: When sensor.balcony_solar_power exceeds 700 W for more than 10 minutes, increase the load on a dishwasher by sending a command via a Shelly plug.
  • Battery‑Protect: If sensor.balcony_solar_battery_state falls below 30 % and the time is after sunset, turn off non‑critical loads (e.g., garden lights).
  • Solar Export Control: While exporting more than 150 W, reduce the grid feed‑in setpoint by 10 % to stay under a contractual limit.

5. Troubleshooting Quick Reference

  • Device not reachable: Check firewall rules on the Raspberry Pi – ensure ports 8883 (MQTT) and 502 (Modbus) are open.
  • No entities appear in HA: Verify that the MQTT broker is running (ha mosquitto status) and that the topic prefix matches the one set on the device.
  • Stale data: Increase the scan_interval on Modbus or REST sensors; typical value is 5–10 seconds for power data.
  • Authentication failures: Confirm the username/password you entered on the device matches the entries in the Mosquitto configuration file.

6. Advanced Tip – Integrating with Energy Management Systems

If you run a larger home battery or an EV charger, you can combine the Balkonkraftwerk data with Home Assistant’s Energy Dashboard. By feeding the balcony_solar_power sensor into the energy_solaredge platform (requires a virtual sensor that calculates net usage), the dashboard will automatically display solar production, consumption, and export in real time.

To set this up, add a Template Sensor in configuration.yaml:

<sensor>
  - name: "Net Solar Power"
    unit_of_measurement: "W"
    state: "{{ states('sensor.balcony_solar_power')|float - states('sensor.grid_export')|float }}"
</sensor>

Then enable the Energy Dashboard in Configuration → Energy and select the new sensor as the Solar production source.

Leave a Comment

Your email address will not be published. Required fields are marked *

Shopping Cart