Ein einfacher Adapter um Modbus-Daten ins Home Assistant zu bekommen
Find a file
2024-03-20 17:34:46 +01:00
Images Bilder hinzugefügt 2024-03-20 07:41:56 +00:00
PCB Gerber File und EasyEDA Export eingefügt 2024-03-20 07:20:43 +00:00
LICENSE Initial commit 2024-03-19 22:11:06 +01:00
modbus2ha.yaml added esphome config file 2024-03-20 07:33:34 +00:00
README.md Kleine Fehler korrigiert 2024-03-20 17:34:46 +01:00

Modbus2HA

Ein einfacher Adapter um Modbus-Daten ins Home Assistant zu bekommen.

Übersicht

Der Adapter besteht aus einer kleinen Platine mit einigen wenigen Bauteilen sowie der Firmware die über ESPHome generiert wird. Wie man ESPHome einrichtet (zB. Lokal oder auf einem Docker-Host) wird hier nicht weiter beschrieben. Dazu sollen sich aber leicht Anleitungen im Internet finden lassen.

Hardware

Bauteile

Benötigt werden folgende Bauteile (Preise pro Stück und ohne Porto; bei einigen Shops muss man aber direkt mehrere Teile bestellen). In der Summe sollte der Adapter für ca. 20 EUR zu bekommen sein (weniger wenn man mehr in China bestellt oder ggfs. Teile schon vorrätig hat).

Bauteil Bezugsquelle ca. Preis
ESP-32 30PIN AliExpress 4,00 EUR
RS232->RS485 Adapter Amazon 1,40 EUR
RJ45 Buchse Amazon 1,00 EUR
2x Jumper Reichelt 0,04 EUR
Stiftleisten 2-Reihig Reichelt 0,10-0,20 EUR
Buchsenleiste, trennbar Reichelt 1,45 EUR
Abstandsbolzen Reichelt 0,20 cent
Abzweigose lokaler Baumarkt 1,00 EUR
Platine siehe unten 2,00 EUR

Die Stift-und Buchsenleiste kann man gut in größerer Menge kaufen da sie immer mal wieder nützlich sind. Da sie trennbar sind kürzt man sie dann einfach auf die benötigte Länge.

Platine

Die Gerber-Files zu bestellen können hier in dem Git-Repo runtergeladen werden. Mit den Files kann bei einem entsprechenden Dienstleister (z.B. JLCPCB) die Platine bestellt werden.

Aufbau

Schritt Bild
Benötigte Teile besorgen und zusammenlegen
Zuerst die Stift- bzw. Buchsenleisten sowie die RJ45 Buchse anlöten. Für den RS485-Adapter haben ich einfach bei einer Buchsenleitste mit 5 Pins den zweiten und vierten Anschluss mit einem Seitenschneider abgekniffen.
 
Wichtig: Am besten zuerst die Stift- und Buchsenleisten zusammenstecken und dann den ESP32 und und die Platine zusammenstecken. Im Anschluss alles anlöten. So kann man relativ leicht sicherstellen, dass die Leisten wirklich die passenden Abstände haben damit am Ende alles zu zusammenpasst.
Mit der Platine als Schablone die Löcher markieren und anschließend mit einem 2mm Bohrer Löcher reinbohren.
Die Abstandsbolzen reinschraubn und außen mit Muttern fixieren
Die Platine auf die Bolzen legen, die Aussparungen für die RJ5- und USB-Buchse markieren und entsprechend ausschneiden.
Die Platine mit Schrauben an die Bolzen befestigen.
Die Jumger entsprechend der Modbus-Kabelbelegung setzen.
Fertig!

Wichtig: Es gibt keinen Kurzschluss-Schutz! Wenn beide Jumper auf die gleichen Pins gesetzt werden (z.B. beide ganze oben) werden A+ und B- kurzgeschlossen. Das sollte den Modbus nicht zerstören aber natürlich kann so keine Kommunikation stattfinden.

Der Jumper für GND kann und sollte offen gelassen werden.

Software

Als Software verwende ich eine .yaml Konfiguration für ESPHome. Die Datei sollte etwas angepasst werden. Insbesondere:

  • WLAN Zugangsdaten
  • Home Assistant API Key
  • OTA Kennwort

Außerdem müssen natürlich die "Sensoren" entsprechend der Modbus-Adressen die ins Home Assistant gehen sollen angelegt werden.