Modbus war bislang für mich ein Buch mit sieben Siegeln. Und ehrlicherweise hatte ich auch nicht groß das Interesse, mich damit auseinanderzusetzen. Seit ich jedoch mit meiner Wallbox einen sinnvollen Anwendungsfall gefunden habe, hat sich die Lage geändert. Seither ist Modbus in Home Assistant für mich fast so essenziell, wie die Lampe in der Küche.
Das hängt vor allem damit zusammen, da ich mir über diese Schnittstellen einen Aufbau schaffen konnte, der mir das Leben im Alltag leichter macht. In Kombination mit meiner hesotec electrify Wallbox, Home Assistant und n8n ist daraus etwas wirklich spektakuläres geworden.
Wie ich schon oft erzählt habe, wird beim Laden von meinem Auto alles an Home Assistant übermittelt. Hierfür zuständig ist Modbus. Ist der Ladevorgang dann beendet und ich stecke das Auto ab, wandern die Daten über einen n8n-Workflow in ein Google Sheet und werden dort protokolliert. Der Sinn dahinter ist, dass ich einen langfristigen Überblick über Kilometerstand, Ladungen und Verbrauch habe. Informationen, die dann wieder für meinen Blog interessant sein können.
Und genau auf diese Umsetzung, genauer gesagt den Teil Modbus in Home Assistant, blicken wir heute detaillierter.

Was genau ist Modbus?
Bei Modbus handelt es sich im Allgemeinen um ein Kommunikationsprotokoll. Verbreitet ist es vor allem im Bereich der Industrieautomation, um Geräte miteinander zu vernetzen. Ursprünglich entwickelt wurde es von Modicon. Es arbeitet lokal und kommt ohne eine Cloud als Vermittler aus. Also genau das Richtige für uns im Smart Home.
Die Besonderheit an diesem Protokoll ist, dass es ein offenes und vor allem einfaches sowie günstiges Protokoll ist. So lässt es sich leicht in verschiedene Geräte integrieren und an den Kunden ausliefern. Ein Beispiel dafür ist meine Wallbox. Klar ist aber, dass wir hier nur recht oberflächlich auf das Thema blicken, denn dort lässt sich sonst noch wesentlich weiter in die Tiefe gehen.
Von Modbus selbst gibt es verschiedene Varianten:
➡️ Modbus RTU (Remote Terminal Unit)
➡️ Modbus TCP (Transmission Control Protocol)
➡️ Modbus ASCII (American Standard Code for Information Interchange)
In meinem Artikel und meinem eigenen Beispiel konzentriere ich mich auf Modbus TCP. Hier wird TCP/IP zur Übertragung genutzt. Also vereinfacht gesagt einfach dein heimisches Netzwerk, mit dem sowohl Home Assistant als auch das Gerät verbunden sind.
Da Modbus grundsätzlich in vielen verschiedenen Geräten genutzt werden kann, musst du in meinem Artikel die Wallbox als sinnbildlich für ein Modbus-Gerät nehmen. Im Grunde könnte es auch ein Industriegerät oder eine Lüftungsanlage sein. Aus Gründen der Einfachheit arbeite ich aber in diesem Artikel eben mit diesem konkreten Beispiel aus meinem Leben.
Modbus in Home Assistant
Die Integration von Modbus unter Home Assistant wurde erstmals in Version pre 0.7 eingeführt und ist damit seit Beginn an dabei. Etwa 2,6 % der aktiven Installationen nutzen dieses Protokoll zur Einbindung verschiedener Geräte. Technisch gesehen wird es über die Python-Bibliothek pymodbus realisiert und hält sich strikt an die Protokollspezifikation (was sehr gut ist).
Um Geräte über diese Schnittstelle einzubinden, musst du in die configuration.yaml. Hierfür empfiehlt sich der Studio Code Server, welcher als Add-On in Home Assistant verfügbar ist. Die genaue Konfiguration lässt sich dabei aus der offiziellen Dokumentation ableiten. Grundsätzlich gilt dabei aber, dass Home Assistant sowohl serielle als auch TCP/UDP-Verbindungen abbilden kann und damit gut aufgestellt ist.
Eine Beispielkonfiguration kann so aussehen:
modbus:
- name: Modbus_Wallbox
type: tcp
host: 192.168.XXX.XXX
port: 502
sensors:
- name: Wallbox_Temperatur
unit_of_measurement: "°C"
slave: 1
address: 16384
input_type: holding
data_type: int16
- name: Wallbox_Spannung_1
unit_of_measurement: "V"
slave: 1
address: 16385
input_type: holding
data_type: uint16
Wie du sehen kannst, gibt es in diesem Beispiel einige grundlegenden sowie spezifische Informationen, die für die Verbindung benötigt werden.
Ganz klar ist die Angabe eines Namens und Hosts sowie des zugehörigen Ports die Basis für eine erfolgreiche Kommunikation. Ebenso musst du angeben, wie die Verbindung aufgebaut werden soll. In meinem Fall ist das ganz klar über TCP. Je nachdem, ob du TCP, UDP, rtuovertcp oder serial wählst, musst du andere Konfigurationsvariablen festlegen. Daher ist es wichtig, bei der Einrichtung in die Dokumentation zu schauen.
Beachte bitte außerdem: Eine Änderung an der configuration.yaml erfordert einen Neustart von Home Assistant. Mindestens jedoch das neue Einlesen der Konfigurationsdatei.

Die verschiedenen Register
Nun kommen wir jedoch zum spannendsten Teil von Modbus, den Modbus-Registern. Grundsätzlich ist ein Modbus-Register ein Speicherbereich in einem Modbus-Gerät, welcher für den Datenaustausch verwendet wird. Dabei gibt es verschiedene Arten von Registern. In meinem obigen Beispiel siehst du genau eines davon:
name: Wallbox_Temperatur
unit_of_measurement: "°C"
slave: 1
address: 16384
input_type: holding
data_type: int16
Angegeben wird das nämlich in Home Assistant unter input_type. In diesem Fall steht darin der Wert holding. Das bezeichnet ein sogenanntes Holding Register, wodurch ein Schreib- und Lesezugriff möglich wird. Es gibt darüber hinaus noch Input Register (nur lesbar) und weitere. Hauptsächlich ist aber Input und Holding interessant.
In meinem Fall kommen die richtigen Einstellungen wiederum aus einer Dokumentation des Herstellers. So konnte ich durch die Dokumentation meiner Wallbox die richtigen Werte setzen, so dass eine Verbindung zu den einzelnen Speicherplätzen problemlos möglich ist.
Üblicherweise geben Hersteller bei einer Modbus-Unterstützung sowas auch an. Andernfalls hilft ein freundliches Nachfragen beim Hersteller. Denn eine Fehlkonfiguration kann dazu führen, dass die Verbindung zu den einzelnen Registern nicht korrekt hergestellt wird und am Ende nur Mist dabei herauskommt. Oder du bekommst völlig falsche Werte, was noch ungeschickter ist. Daher rate ich dir, die Einrichtung mit größter Präzision und Konzentration zu machen.
Verschiedene Datentypen
Um es gleich vorweg zu nehmen: Ich werde an dieser Stelle keine vollständige Aufzählung von Datentypen machen. Das ist zu umfassend und erfordert auch ehrlicherweise an manchen Stelle zu viel Erklärungsbedarf. Gerade für Einsteiger kann das mitunter echt komplex werden. Aber ich will auf jeden Fall ein paar davon aufzählen. Die vollständige Liste findest du jedoch zum Beispiel bei Schneider Electric.
In meinem obigen Beispiel nutzen wir den Datentyp int16. Hierbei geht es um Ganzzahlen (also ohne Kommas). Das lässt auch gleich den Rückschluss zu, dass meine Wallbox Temperaturen nur in Ganzzahlen ausgibt und damit leicht unpräzise sein können. Gleichzeitig reicht die Angabe aber auf jeden Fall aus, um ein gutes Bild über den Zustand zu bekommen.
Weitere Datentypen, die ich in meiner Konfiguration nutze sind:
➡️ string: Ein ASCII-String
➡️ uint16: 16-Bit Ganzzahlen von 0 bis einschließlich 65535
➡️ uint32: 32-Bit Ganzzahlen von 0 bis 18446744073709600000
➡️ int16: 16-Bit Ganzzahlen mit Vorzeichen von -32768 bis +32767
Der Unterschied zwischen einem int und einem uint liegt darin, dass du bei einem int mit einem Vorzeichen arbeitest und bei einem uint ohne Vorzeichen. Eine Temperatur, die negativ werden kann, wäre demnach ein int und kein uint. Gleichzeitig bedeutet das, dass ein int niemals negativ werden kann. Ein uint hingegen schon.
Schlägt man die genaue Bedeutung nach, dann stellst du fest, dass „u“ für unsigned (dt.: vorzeichenlos) steht. Daher kommt dieser zusätzliche Buchstabe bei den Datentypen.
Nutzung in Home Assistant
Nachdem du nun deine Einrichtung abgeschlossen hast, kannst du die verschiedenen Werte in Home Assistant nutzen. Ich habe zum Beispiel von meiner Wallbox so ziemlich alles hinzugefügt, was auch nur irgendwie möglich ist. Mit manchen Entitäten habe ich zum aktuellen Zeitpunkt noch etwas Schwierigkeiten, aber das wird sich auch noch legen.
Nehmen wir uns als Beispiel den Wert heraus, der mir kumuliert alle Ladungen anzeigt. In meinem Fall nennt er sich Wallbox_Energie_Ladung. Hier kann ich auslesen, wie viel Strom ich schon insgesamt über die Wallbox in mein Auto geladen habe.
Da mir der Wert nun als ganz normale Entität vorliegt, kann ich dazu eine Automation erstellen oder den Wert in mein Dashboard einbinden. Und so funktioniert das nun auch für die anderen Werte.
Das Coolste an der Sache ist, dass ich insbesondere auf dem aktuellen Status der Wallbox Automationen auslösen kann. Wird also gerade geladen, könnte ich eine Lampe entsprechend aufleuchten lassen oder mir eine Push Benachrichtigung senden. Genauso wie beim Stoppen des Ladevorgangs. Das ist insbesondere dann sehr interessant, wenn du auch mal Freunde laden lässt und den Überblick behältst. Oder wenn dein Auto vielleicht keine so tolle App hat und du das lieber über dein Smart Home abbilden willst.

So nutze ich Modbus in Home Assistant
Eifrige Smart Home Nutzer fangen spätestens jetzt an zu grübeln. Und das finde ich ja immer sehr spannend. Solltest du also tolle Ideen haben, was sich nun alles mit den Werten anstellen lässt, hinterlasse mir unbedingt unten einen Kommentar zu meinem Artikel!
Ich für meinen Teil nutze viele Informationen hauptsächlich zur Visualisierung. Natürlich neben meinem Workflow. So habe ich immer alles im Blick und kann die wichtigsten Informationen zu jeder Zeit in einer einzigen App abrufen. Mir gefällt zwar auch die Hersteller-App von meiner Wallbox, aber das eigene Smart Home ist eben doch nochmal etwas ganz anderes.
Wie du im nachfolgenden Screenshot siehst, zeige ich mir verschiedene Werte zum Auto an und kombiniere sie mit der letzten Ladung. Auf Basis eines Preises pro Kilowattstunde kann mir Home Assistant nun sogar ausrechnen, was mich der Ladevorgang gekostet hat. Das habe ich bislang immer über evcc gemacht, kann es nun aber auch nativ in Home Assistant. Zwar wird hier die Produktion meines Balkonkraftwerks ausgelassen, aber das ist sowieso nur ein Tropfen auf den heißen Stein.
Zu sehen ist aber auch, dass ich evcc noch immer am Laufen habe und mir auch daraus ein paar Daten ziehe. Aktuell dient das für mich vor allem einfach nur zur Kontrolle. Langfristig werde ich aber ohne eine herkömmliche PV-Anlage vermutlich nicht mehr so stark auf evcc setzen, da für mich persönlich der Nutzen überschaubar ist.
Meine Modbus-Automation
Um das ganze Thema nochmal etwas griffiger zu machen, habe ich dir hier mal meine Automation reingehauen. Sie wird immer dann ausgelöst, wenn der Stecker der Wallbox aus dem Auto gezogen wird. Denn dann springt eine der Entitäten um und ich weiß, dass die Ladung final beendet ist. Einziger Schwachpunkt an der Sache ist, dass die Ladedauer so nicht ganz richtig ist. Aber die ist für meine Zwecke sowieso völlig irrelevant.
alias: Wallbox-Email-Zusammenfassung
description: ""
triggers:
- trigger: state
entity_id:
- sensor.b_pause
to: "1"
from: "0"
conditions: []
actions:
- action: notify.email_notification
metadata: {}
data:
message: Wallbox-Ladung
title: Wallbox-Ladung fertiggestellt
target: lukas***@meinemail.de
data:
html: |
<!DOCTYPE html>
<html>
<body style="font-family: Arial, sans-serif; line-height: 1.6;">
<h2 style="color: #4CAF50;">Wallbox-Ladung abgeschlossen</h2>
<p>Die Ladung Ihrer Wallbox ist erfolgreich beendet. Hier sind die Details:</p>
<table style="border-collapse: collapse; width: 100%;">
<tr>
<th style="text-align: left; border-bottom: 2px solid #ddd; padding: 8px;">Detail</th>
<th style="text-align: left; border-bottom: 2px solid #ddd; padding: 8px;">Wert</th>
</tr>
<tr>
<td style="padding: 8px; border-bottom: 1px solid #ddd;">Kilometerstand</td>
<td style="padding: 8px; border-bottom: 1px solid #ddd;">{{ states('sensor.smart_kilometerstand_2') }} km</td>
</tr>
<tr>
<td style="padding: 8px; border-bottom: 1px solid #ddd;">Geladene Menge</td>
<td style="padding: 8px; border-bottom: 1px solid #ddd;">{{ states('sensor.wallbox_geladene_menge') | replace('.', ',') }} kWh</td>
</tr>
<tr>
<td style="padding: 8px; border-bottom: 1px solid #ddd;">Preis</td>
<td style="padding: 8px; border-bottom: 1px solid #ddd;">{{ states('sensor.wallbox_letzte_ladung_eur') | float | round(2) | string | replace('.', ',') }} €</td>
</tr>
<tr>
<td style="padding: 8px; border-bottom: 1px solid #ddd;">Ladedauer</td>
<td style="padding: 8px; border-bottom: 1px solid #ddd;">
{% set seconds = states('sensor.wallbox_dauer_sitzung') | int(0) %}
{% set hours = (seconds // 3600) %}
{% set minutes = (seconds % 3600) // 60 %}
{% set secs = (seconds % 60) %}
{{ '%02d:%02d:%02d' | format(hours, minutes, secs) }}
</td>
</tr>
</table>
<p style="margin-top: 20px;">Weitere Daten sind in Home Assistant verfügbar.</p>
</body>
</html>
- action: mqtt.publish
metadata: {}
data:
evaluate_payload: false
qos: 0
retain: false
topic: wallbox/
payload: >-
{"km": "{{ states('sensor.smart_kilometerstand_2') }}","kwh": "{{
states('sensor.wallbox_geladene_menge') }}","eur": "{{
states('sensor.wallbox_letzte_ladung_eur') | float | round(2) }}"}
mode: single
Über das passende MQTT-Topic wandern die Informationen – neben der Email – an n8n und von dort aus wird der passende Workflow ausgelöst. Dieser Workflow trägt mir dann die Daten in ein Google Sheet für spätere Auswertungen ein.
So habe ich auch über längere Zeit einen guten Überblick und kann eine Auswertung machen. Insbesondere natürlich über mein Fahrverhalten und den Stromverbrauch. Die Email kommt in diesem Fall nur als Bestätigung. Damit bin ich gleich auf dem Laufenden und weiß, dass die Eintragung durchgelaufen ist. Eine Push-Benachrichtigung würde es aber ehrlicherweise auch tun.
Alternative: HA AddOn Modbus Proxy
Neben meinem Weg mit Modbus in Home Assistant umzugehen, gibt es auch noch das Home Assistant AddOn Modbus Proxy. Hierbei handelt es sich um ein Addon für Home Assistant, das ebenfalls auf dem gleichen Host läuft. Das Repository findest du unter Akulatraxas/ha-modbusproxy auf GitHub.
Sinn und Zweck ist es, dass du mehrere Geräte zu einem einzigen Modbus-Server verbinden lassen kannst. Denn üblicherweise ist das so nicht möglich. Mit dem Modbus Proxy hingegen schaltet sich zwischen Home Assistant und dein Modbus-Gerät noch ein weiterer Teilnehmer. Über diesen Teilnehmer können dann verschiedene Systeme die Werte auslesen und für ihre Zwecke nutzen. Hilfreich kann das unter anderem dann sein, wenn du zum Beispiel zwei Installationen von Home Assistant parallel betreibst oder vielleicht im Hintergrund noch ein ioBroker aktiv ist.
Ein hilf- und lehrreiches Video zum Thema hat Udo auf seinem YouTube-Kanal dazu veröffentlicht:
Sie sehen gerade einen Platzhalterinhalt von YouTube. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr InformationenModbus bewertet
Wenn man sich also nun etwas mehr mit dem Thema Modbus in Home Assistant beschäftigt, kommt man zwangsläufig an einen Punkt, an dem man die ganze Sache bewertet. Und hier wird es echt spannend.
✅ Stärken: Eine ganz klare Stärke von Modbus ist es, dass du mit diesem Kommunikationsprotokoll unabhängig vom Internet arbeiten kannst. Es eignet sich hervorragend für die Vernetzung lokaler Geräte auf eine ziemlich einfache Weise. Hersteller profitieren davon, dass keine Lizenzgebühren fällig sind und sie ihren Kunden Möglichkeiten an die Hand geben können. Hinzu kommen noch die Flexibilität und Zuverlässigkeit. Das Protokoll leistet wirklich gute Arbeit!
❌ Schwächen: Eine ganz klare Schwäche ist zu erkennen, wenn es um die Anbindung mehrerer Geräte geht. Wie wir weiter oben durch den Proxy gesehen haben, funktioniert das von Haus aus nicht. Es ist ein bisschen wie beim Surfen in den frühen 2000ern. Wenn Mutti mit ihrer Freundin telefoniert, kommt Papa nicht online. Außerdem kommt hinzu, dass Modbus keine eingebauten Sicherheitsmechanismen besitzt und daher potenziell angreifbar ist. Innerhalb des eigenen Netzwerks sollte das nicht unbedingt so dramatisch sein, kann aber schnell außer Kontrolle geraten.
Dennoch glaube ich, dass Modbus in vielerlei Hinsicht noch echt spannend werden kann für viele Nutzer. Vorstellbar ist Modbus sehr gut für folgende Bereiche:
➡️ Wallbox
➡️ Wärmepumpe
➡️ Heizung
Und mit vorstellbar meine ich in diesem Kontext, dass Nutzer vor allem in diesen Bereichen damit in Berührung kommen.

Sicherheitsmechanismen für Modbus
Ich habe gerade schon aufgezählt, dass die Sicherheitsmechanismen bei Modbus doch eher … nicht vorhanden sind. Zumindest wenn wir es in Relation zu heutigen modernen Anwendungen sehen. Aber trotzdem brauchst du nicht zwangsläufig darauf verzichten.
Mit moderner Technik und einem ausgefeilten Heimnetzwerk kannst du nämlich die Sicherheit deutlich erhöhen. Dazu zählt es, dass du Sicherheitsupdates immer mit großer Priorität behandelst und dich auf dein Netzwerk fokussierst.
Denn gerade im Netzwerk selbst lauern meist einige Gefahren. Indem du dein Heimnetzwerk klug in verschiedene VLANs unterteilst (also virtuelle LANs), kannst du deine Sicherheit erhöhen. Smarte Geräte in ein eigenes VLAN separieren, während Computer und Co. nur einen begrenzten Zugriff darauf haben. So vermeidest du, dass es schon auf Netzwerkebene zu Lücken kommt und Angreifer auf einfachste Art und Weise deine Geräte ins Visier nehmen. Und natürlich solltest du Geräte wie Wallbox, Wärmepumpe und Co. (das gilt auch für Home Assistant) niemals direkt ins Internet stellen. Portfreigaben sind grundsätzlich (immer!) mit Vorsicht zu behandeln. Insbesondere dann, wenn du dir nicht wirklich sicher bist, was du da tust.
Netzwerkgeräte wie Ubiquiti können dir dabei helfen. Achte nur darauf, dass diese teilweise auch eine Verbindung zu einer Cloud aufbauen.
- Läuft UniFi-Netzwerk für Full-Stack-Netzwerkverwaltung
- Verwaltet über 30 UniFi-Netzwerkgeräte und über 300 Clients
- 1 Gbit/s Routing mit IDS/IPS
Zuletzt aktualisiert 17.08.2025 / (*, **) Affiliate Links / Preis kann abweichen / Bild: Amazon Product Advertising API
Mein persönliches Fazit
Für mich persönlich haben sich durch Modbus in Home Assistant neue Wege ergeben. Ich kann endlich meine Wallbox wirklich direkt ansprechen und mir meine notwendigen Daten ziehen. Das passt ganz gut in meinen Local-First-Ansatz, den ich wieder stärker in den Fokus rücken will. Denn jede Cloud kann eines Tages einfach abgeschaltet werden.
Vor allem bin ich froh, dass ich so meine Daten an einem zentralen Ort habe und basierend darauf wiederum meiner Kreativität in Sachen Automation freien Lauf lassen kann. Obwohl ich die App vom Hersteller für meine Wallbox sehr schätze, ist das einfach nochmal etwas ganz anderes.
Gleichzeitig weiß ich aber auch, dass ich wohl nicht all zu oft mit Modbus in Berührung kommen werde. Höchstens dann noch, wenn wir im Haus eine Wärmepumpe haben. Aber das dauert definitiv noch etwas.
Ich finde das Thema insgesamt sehr spannend und kann dir daher nur ans Herz legen: Wenn du nach guten Möglichkeiten für eine optimale Integration in Sachen Wallbox suchst, dann musst du den Artikel um meine eigene Wallbox lesen! Und beim nächsten Großverbraucher vielleicht die eine oder andere Rückfrage an den Hersteller stellen, um noch mehr aus deinem Smart Home zu machen.
Jetzt interessieren mich deine Erfahrungen. Nutzt du Modbus? Oder ist es für dich auch eher ein Buch mit sieben Siegeln? Schreib deine Meinung und deine Erfahrungen gerne unten in die Kommentare und lass uns diskutieren.
0 Kommentare