4.8 KiB
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.