// projekte / home assistant

Home Assistant als Modbus-TCP-Slave

Macht Home Assistant zum Modbus-TCP-Gerät. Wähle eine Entität und eine Registeradresse, und jede SPS, SCADA oder jeder Energiemanager kann den Wert lesen. Komplett über die UI einrichtbar, ohne YAML. Open Source.

Stern auf GitHub geben Kein Budget? Ein Stern hilft auch. Ein Klick auf ★ Star auf GitHub hilft anderen Home-Assistant-Nutzern, die Integration zu finden.

Latest release Last commit License Buy Me a Coffee

Aktuelle Version: v1.1.0 · · Changelog

// funktionen

Was es macht

Alles, was Home Assistant weiß, wird als Modbus-Register verfügbar. Deine SPS liest die Außentemperatur eines Zigbee-Sensors, dein Energiemanager die Leistung der Wallbox, und wenn du es erlaubst, schaltet die SPS eine Lampe oder stellt ein Thermostat.

  • Einfache Einrichtung

    Slave-ID und Port (Standard 502), und Home Assistant beantwortet Modbus-TCP-Anfragen.

  • Jede Entität abbilden

    Wähle eine Entität und eine Startadresse. Das Register folgt dem Zustand sofort, ohne Polling.

  • Automatische Datentypen

    Ein/aus wird ein Bit, ganze Zahlen uint16 oder int16, alles andere float32. Änderbar auf uint32, int32 oder scaled16 (Wert × 10/100/1000 in einem Register).

  • Funktioniert mit jedem Master

    Coils und Discrete Inputs liefern dieselben Bits, Holding und Input Register dieselben Register. Master, die nur FC3 können, sehen also alles.

  • Optionales Zurückschreiben

    Mit Writable kann der Master Entitäten schalten oder Zahlen setzen, mit passenden Modbus-Fehlercodes bei ungültigen Writes.

  • Erlaubte Master

    Nur Verbindungen von angegebenen IP-Adressen oder Bereichen annehmen, und auf Wunsch nur auf einer Schnittstelle lauschen, etwa im SPS-VLAN.

  • Verhält sich wie ein echtes Gerät

    Antwortet nur auf die eigene Slave-ID, wie ein Gerät hinter einem Gateway. Anfragen für andere Unit-IDs bleiben unbeantwortet.

  • Sicher in laufenden Anlagen

    Standardmäßig nur lesend. Geschrieben wird nur auf schalt- und einstellbare Entitäten, innerhalb von Min/Max, und nie ein halber 32-Bit-Wert.

Modbus TCP hat keine Authentifizierung. Fülle Allowed masters aus, halte den Port in einem vertrauenswürdigen Netz oder VLAN und gib ihn nie ins Internet frei.

// screenshots

So sieht es aus

Demo mit Werten eines P1-Smart-Meters (Leistung, Energie, Strom), auf Register abgebildet.

  • Einrichtung: Slave-ID, Port, Listen-Adresse und erlaubte Master
    Einrichtung: Slave-ID, Port, Listen-Adresse und erlaubte Master
  • Zuordnung hinzufügen: Entität wählen
    Zuordnung hinzufügen: Entität wählen
  • Erkannter Datentyp, bereit zum Bestätigen oder Ändern
    Erkannter Datentyp, bereit zum Bestätigen oder Ändern
  • Alle Zuordnungen mit ihren Registern
    Alle Zuordnungen mit ihren Registern

// installation

Über HACS installieren

Open HACS repository on My Home Assistant

  • 01Repository hinzufügen

    Öffne HACS, wähle ⋮ → Custom repositories, füge https://github.com/CervezaStallone/HA-Modbus-Slave ein und wähle die Kategorie Integration.

  • 02Herunterladen

    Lade Modbus Slave herunter und starte Home Assistant neu.

  • 03Integration hinzufügen

    Gehe zu Einstellungen → Geräte & Dienste → Integration hinzufügen, suche nach Modbus Slave und lege Slave-ID und Port fest.

  • 04Erste Zuordnung

    Klicke auf Konfigurieren → Add mapping, wähle eine Entität und eine Startadresse. Der Master kann den Wert sofort lesen.

Port 502 funktioniert unter Home Assistant OS und Supervised. Bei Container oder Core ohne Root wähle einen Port ab 1024, zum Beispiel 5020.