Kostal Wallbox und Home Assistant: So integrierst du deine Ladeleistung ins Smart Home đźš—

Kostal Wallbox und Home Assistant: So integrierst du deine Ladeleistung ins Smart Home :high_voltage::automobile:

Du hast eine Kostal Wallbox und möchtest die Ladeleistung deines Elektroautos in Home Assistant überwachen? Gute Nachrichten: Mit der Modbus-Schnittstelle kannst du Daten wie Ladeleistung, Stromverbrauch und mehr auslesen und für dein Dashboard nutzen. Klingt kompliziert? Keine Sorge – hier bekommst du eine Schritt-für-Schritt-Anleitung, die einfach umzusetzen ist. Los geht’s! :rocket:


Warum Modbus fĂĽr die Kostal Wallbox?

Die Kostal Wallbox unterstützt Modbus, ein bewährtes Protokoll zur Datenübertragung. Über Modbus kannst du wichtige Informationen wie:

  • Ladeleistung (kW)
  • Stromstärke pro Phase
  • Gesamte geladene Energie

direkt auslesen und in Home Assistant integrieren. Kein mühsames Raten mehr, was die Wallbox gerade macht – du hast alles im Blick! :eyes:


Was brauchst du? :hammer_and_wrench:

  1. Kostal Modbus-Dokumentation: Diese enthält die Adressen der Sensoren.
  2. Home Assistant mit File Editor Add-on: Um Konfigurationsdateien zu bearbeiten.
  3. Zugang zu deiner Kostal Wallbox und deren IP-Adresse.

:light_bulb: Tipp: Alle Adressen und Register findest du in der Modbus-Dokumentation von Kostal. Lade sie dir aus dem Kostal-Downloadbereich herunter.


Schritt 1: Modbus in Home Assistant aktivieren

  1. Ă–ffne den File Editor in Home Assistant.

Schritt 2: Sensoren fĂĽr weitere Daten hinzufĂĽgen

Neben der Ladeleistung kannst du auch:

  • Stromstärke pro Phase
  • Gesamte geladene Energie
  • Ladezustand des Autos

auslesen.

Schritt 3: Sensoren auf dem Dashboard anzeigen

  1. Gehe zu deinem Home Assistant Dashboard.
  2. Klicke oben rechts auf Bearbeiten und fĂĽge eine neue Karte hinzu.
  3. Wähle Messgerät und verknüpfe die Sensoren mit der Anzeige.

:light_bulb: Tipp: Richte den Ladeleistungssensor als Fortschrittsanzeige ein, die den maximalen Wert von 11 kW (bei dreiphasigem Laden) berĂĽcksichtigt.


Schritt 4: Energie-Dashboard erweitern

Wenn du die geladene Energie langfristig verfolgen möchtest:

  1. Gehe zu Einstellungen > Dashboards > Energie.
  2. Füge den Sensor für die geladene Energie als neues Gerät hinzu.
  3. Nach einer Stunde zeigt das Energie-Dashboard den ersten Balken an.

Schritt 5: Automatisierungen erstellen

Automatisiere dein Laden, indem du Szenarien erstellst wie:

  • Lade das Auto nur, wenn die Solaranlage Ăśberschuss produziert. :sun_with_face:
  • Sende eine Push-Benachrichtigung, wenn der Akku voll ist. :mobile_phone:

Fazit: Volle Kontrolle mit Modbus

Mit der Modbus-Integration wird deine Kostal Wallbox nicht nur smarter, sondern auch übersichtlicher. Ladeleistung, Energieverbrauch und vieles mehr – alles direkt in Home Assistant. Perfekt für alle, die das Beste aus ihrer Wallbox herausholen wollen.

Was denkst du? Teile deine Erfahrungen in den Kommentaren! Und wenn du jemanden kennst, der seine Kostal Wallbox integrieren möchte, teile diesen Beitrag. Gemeinsam bauen wir das Smart Home der Zukunft! :high_voltage::sparkles:

Hier der Link zum Video: https://youtu.be/4uLAP8Cbk0w

1 „Gefällt mir“

Hallo zusammen,
bei der Integration der Kostal Wallbox und PV werden mir immer mehrere Entitäten vom gleichen Typ erzeugt.

Beispiel: netzbezug_leistung_ksem bekommt

  • netzbezug_leistung_ksem

  • netzbezug_leistung_ksem 1

  • netzbezug_leistung_ksem 2

  • netzbezug_energie_ksem
    bekommt sogar insgesamt 5 Entitäten.

Ich habe jetzt schon rausgefunden, dass das etwas mit dem Eintrag bei slave_count zu tun hat. Alle Dokumentationen sagen aber, dass die Zahl, die ich dort eingetragen habe, korrekt ist.
Ist es auch korrekt, dass ich dann so viele Entitäten bekomme? Warum?
Bzw. muss ich was korrigieren?

Unten habe ich den Auszug aus der configuration.yaml eingefĂĽgt.

Wäre super, wenn mir jemand helfen könnte. Danke im voraus! :folded_hands:

modbus:

  • name: KSEM
    type: tcp
    host: xxx
    port: 502
    sensors:
    • name: netzbezug_leistung_ksem
      slave: 1
      device_class: power
      state_class: measurement
      unit_of_measurement: W
      scale: 0.1
      address: 0
      scan_interval: 10 # Defines the update interval of the sensor in seconds.
      slave_count: 2 # Anzahl zu lesenden Register
      input_type: holding
      data_type: uint32

    • name: netzeinspeisung_leistung_ksem
      slave: 1
      device_class: power
      state_class: measurement
      unit_of_measurement: W
      scale: 0.1
      address: 2
      scan_interval: 10 # Defines the update interval of the sensor in seconds.
      slave_count: 2 # Anzahl zu lesenden Register
      input_type: holding
      data_type: uint32

    • name: netzbezug_energie_ksem
      slave: 1
      scale: 0.0001 # wegen kWh (0.1/1000)
      precision: 3
      address: 512
      scan_interval: 60 # Defines the update interval of the sensor in seconds.
      slave_count: 4 # Anzahl zu lesenden Register
      input_type: holding
      data_type: uint64
      device_class: energy
      state_class: total_increasing
      unit_of_measurement: kWh

    • name: netzeinspeisung_energie_ksem
      slave: 1
      scale: 0.0001 # wegen kWh (0.1/1000)
      precision: 3
      address: 516
      scan_interval: 60 # Defines the update interval of the sensor in seconds.
      slave_count: 4 # Anzahl zu lesenden Register
      input_type: holding
      data_type: uint64
      device_class: energy
      state_class: total_increasing
      unit_of_measurement: kWh

    • name: Enector Ladeleistung
      slave: 1
      address: 49246
      scan_interval: 5 # Defines the update interval of the sensor in seconds.
      slave_count: 4 # Anzahl zu lesenden Register
      input_type: holding
      scale: 0.001
      precision: 2
      data_type: uint64
      device_class: power
      state_class: measurement
      unit_of_measurement: W

Hallo und vielen Dank fĂĽr das Video!

Alles eingestellt aber bekomme nun unter den Entitäten “nicht verfügbar”. Schon eine Weile gewartet, auch neu gestartet. Leider ohne Erfolg. Lief da etwas verkehrt?

ich habe die sensoren unter die bereits eingepflegten Kostal Sensoren gesetzt. Die KSEM Netzbezug und Netzeinspeisung Sensoren funktionieren.

modbus:

  \# ------- KOSTAL Einstellungen -------

  - name: KSEM 
    
    type: tcp
    
    host: 192.168.188.38

    port: 502

    sensors:

    - name: netzbezug_leistung_ksem

      slave: 1

      device_class: power

      state_class: measurement

      unit_of_measurement: W

      scale: 0.1

      address: 0

      scan_interval: 10 # Defines the update interval of the sensor in seconds.

      slave_count: 2 # Anzahl zu lesenden Register

      input_type: holding

      data_type: uint32



    - name: netzeinspeisung_leistung_ksem

      slave: 1

      device_class: power

      state_class: measurement

      unit_of_measurement: W

      scale: 0.1

      address: 2

      scan_interval: 10 # Defines the update interval of the sensor in seconds.

      slave_count: 2 # Anzahl zu lesenden Register

      input_type: holding

      data_type: uint32



    - name: netzbezug_energie_ksem

      slave: 1

      scale: 0.0001 # wegen kWh (0.1/1000)

      precision: 3

      address: 512

      scan_interval: 60 # Defines the update interval of the sensor in seconds.

      slave_count: 4 # Anzahl zu lesenden Register

      input_type: holding

      data_type: uint64

      device_class: energy

      state_class: total_increasing

      unit_of_measurement: kWh



    - name: netzeinspeisung_energie_ksem

      slave: 1

      scale: 0.0001 # wegen kWh (0.1/1000)

      precision: 3

      address: 516

      scan_interval: 60 # Defines the update interval of the sensor in seconds.

      slave_count: 4 # Anzahl zu lesenden Register

      input_type: holding

      data_type: uint64

      device_class: energy

      state_class: total_increasing

      unit_of_measurement: kWh



    - name: Enector_Ladeleistung

      slave: 1

      address: 49246

      scan_interval: 5 # Defines the update interval of the sensor in seconds.

      slave_count: 4 # Anzahl zu lesenden Register

      input_type: holding

      scale: 0.001

      precision: 0

      data_type: uint64

      device_class: power

      state_class: measurement

      unit_of_measurement: W 

      

    - name: Enector_L1

      slave: 1

      address: 49218

      scan_interval: 5 # Defines the update interval of the sensor in seconds.

      slave_count: 2 # Anzahl zu lesenden Register

      input_type: holding

      scale: 0.001

      precision: 0

      data_type: uint32

      device_class: power

      state_class: measurement

      unit_of_measurement: A       



    - name: Enector_geladene_Energie

      slave: 1

      scale: 0.001 

      precision: 2

      address: 49254

      scan_interval: 5 # Defines the update interval of the sensor in seconds.

      slave_count: 4 # Anzahl zu lesenden Register

      input_type: holding

      data_type: uint64

      device_class: energy

      state_class: total_increasing

      unit_of_measurement: Wh

EDIT by Jay: Code bitte immer über die Codefunktion „</>“ im Editor einfügen.

So sieht das bei mir aus:
habe nie daran etwas verändert außer die counts zu entfernen nach einem Release von Home Assistant .

modbus

  name: KSEM
  type: tcp
  host: eure ip
  port: 502
  sensors:
    name: netzbezug_leistung_ksem
    slave: 1
    device_class: power
    state_class: measurement
    unit_of_measurement: W
    scale: 0.1
    address: 0
    scan_interval: 10 # Defines the update interval of the sensor in seconds.
    input_type: holding
    data_type: uint32

    name: netzeinspeisung_leistung_ksem
    slave: 1
    device_class: power
    state_class: measurement
    unit_of_measurement: W
    scale: 0.1
    address: 2
    scan_interval: 10 # Defines the update interval of the sensor in seconds.
    input_type: holding
    data_type: uint32

  * name: netzbezug_energie_ksem
    slave: 1
    scale: 0.0001 # wegen kWh (0.1/1000)
    precision: 3
    address: 512
    scan_interval: 60 # Defines the update interval of the sensor in seconds.
    input_type: holding
    data_type: uint64
    device_class: energy
    state_class: total_increasing
    unit_of_measurement: kWh

    name: netzeinspeisung_energie_ksem
    slave: 1
    scale: 0.0001 # wegen kWh (0.1/1000)
    precision: 3
    address: 516
    scan_interval: 60 # Defines the update interval of the sensor in seconds.
    input_type: holding
    data_type: uint64
    device_class: energy
    state_class: total_increasing
    unit_of_measurement: kWh

    name: Enector_geladene_Energie
    slave: 1
    scale: 0.001
    precision: 2
    address: 49254
    scan_interval: 5 # Defines the update interval of the sensor in seconds.
    input_type: holding
    data_type: uint64
    device_class: energy
    state_class: total_increasing
    unit_of_measurement: Wh

vielen Dank… leider sind immer noch alle nicht verfügbar ABER …

im File editor habe ich alle Enector Sensoren gelöscht und nur jetzt den einen “Enector_geladene_Energie” drin aber bei meinen Entitäten erscheinen immer noch alle Enector Sensoren. Woran kann das liegen? Habe auch schon neu gestartet.