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
aarch64undamd64
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.