sphings-dev.de

Home Assistant

Modbus Proxy (Add-on, gepatcht)

Add-on

Fork des Home-Assistant-Add-ons „ha-modbusproxy“ von Akulatraxas: Der Proxy ermöglicht mehrere Modbus-Clients an einem Server und rahmt Fehlerantworten korrekt, wie sie die Marstek Venus D sendet.

Repository (öffnet in neuem Tab)

Steckbrief

Sprache
Python
Lizenz
Apache-2.0
Projektstart

Viele Modbus-Server erlauben nur eine Verbindung und weisen weitere Clients ab. Ein Modbus-Proxy hält die eine Verbindung zum Gerät und bedient beliebig viele Clients. Dieses Add-on verpackt den modbus-proxy von tiagocoutinho für Home Assistant. Es ist ein Fork von Akulatraxas/ha-modbusproxy, von dem das Add-on und alles ab der README-Überschrift „Home Assistant AddOn Modbus Proxy“ stammt.

Was der Fork ändert

Er baut den Proxy aus sphings79/modbus-proxy@fix/exception-frame-mbap-length statt aus dem PyPI-Release. Dieser Zweig rahmt Fehlerantworten nach dem Protokoll und nicht nach dem MBAP-Längenfeld. Geräte, die dieses Feld falsch angeben, lassen den Proxy sonst bei jedem abgelehnten Register zwei Timeouts lang hängen. Die Marstek Venus D (EMS v150) sendet eine Fehlerantwort von neun Byte mit Länge 4, wo das Protokoll 3 verlangt. Die Korrekturen liegen als Pull Request im Original und beim Add-on.

Name, Version und Repository-Metadaten unterscheiden sich vom Original („modbus-proxy (exception-frame patch)“, Version 1.1.1-exception-frame.1), damit beide Add-ons nebeneinander installierbar sind.

Wann man ihn braucht

Die Marstek Modbus Suite braucht keinen Proxy, sie spricht direkt mit dem Speicher. Läuft ein weiterer Client am selben Speicher, etwa ein zweites System, muss ein Proxy dazwischen, und dafür empfiehlt die Suite dieses gepatchte Add-on, solange der Fix im Original nicht angekommen ist. Ein unveränderter Proxy stolpert über dieselben fehlerhaften Antworten.

Funktionen und Einrichtung

  • mehrere Clients gleichzeitig an einem Modbus-Server
  • optional mehrere Upstream-Geräte über die Liste devices, jedes mit eigenem Listen-Port (502 bis 510)
  • Optionen für Timeout, Verbindungszeit und Log-Level
  • Architekturen aarch64 und amd64

Installation: Das Add-on-Repository https://github.com/sphings79/ha-modbusproxy in Home Assistant hinzufügen, „ModBusProxy“ installieren, die IP des Modbus-Servers eintragen und starten. Vorher müssen alle bisherigen Clients gestoppt werden, weil der Server eventuell etwas Zeit braucht, bevor sich der Proxy verbinden darf. Der erste Start dauert, weil der Container lokal gebaut wird. Das Add-on ist nur mit dem Hassio-Supervisor getestet.

Lizenz: Apache-2.0, wie das Original. Dieses Repository hat keine Releases.