Auslesen der Wechselrichter Details
Modbus und SMA Wechselrichter
Allgemeine Funktion von Modbus
Modbus ist ein Kommunikationsprotokoll, das ursprünglich 1979 von Modicon (heute Schneider Electric) entwickelt wurde. Es wird häufig für die Kommunikation mit programmierbaren Logiksteuerungen (PLCs) und anderen industriellen Geräten verwendet. Modbus ermöglicht die Abfrage von Datenregistern in Geräten über ein Netzwerk.
- Modbus RTU: Serielle Kommunikation.
- Modbus TCP: Kommunikation über IP-Netzwerke.
Modbus Register
Ein Modbus-Gerät (z.B. ein SMA Wechselrichter) stellt Daten in sogenannten Registern zur Verfügung. Diese Register können verschiedene Arten von Informationen enthalten:
- Input Registers: Nur lesbare Register, z.B. Sensordaten.
- Holding Registers: Les- und schreibbare Register, z.B. Konfigurationsparameter.
- Coils: Einfache les- und schreibbare Bits, z.B. Schaltzustände.
- Discrete Inputs: Nur lesbare Bits, z.B. Schalterzustände.
Auslesen von Werten aus dem SMA Wechselrichter
SMA Wechselrichter stellen eine Vielzahl von Informationen über Modbus-Register zur Verfügung. Typische Werte, die ausgelesen werden können, umfassen:
- Spannung (Voltage)
- Strom (Current)
- Leistung (Power)
- Energie (Energy)
- Temperatur (Temperature)
- Statusinformationen
Modbus Instanz im ioBroker
ioBroker verwendet einen Modbus-Adapter, um Daten von Modbus-fähigen Geräten abzurufen. Der Adapter muss konfiguriert werden, um mit dem SMA Wechselrichter über das Modbus-Protokoll zu kommunizieren.
Schrittweise Einrichtung des Modbus Adapters im ioBroker
Installation des Modbus Adapters:
- Gehe zum Adapter-Tab in ioBroker.
- Suche nach "modbus" und installiere den Adapter.
Konfiguration des Modbus Adapters:
- Öffne die Konfiguration des Modbus Adapters.
- Wähle den Modbus-Typ:
Modbus TCP
(für die Verbindung über IP-Netzwerke).
Modbus Verbindungsparameter:
- IP-Adresse: Die IP-Adresse des SMA Wechselrichters.
- Port: Standardmäßig 502 für Modbus TCP.
- Slave ID: Die ID des Modbus-Slave-Geräts (oft 1).
Polling-Intervall:
- Das Intervall, in dem die Register abgefragt werden (z.B. alle 60 Sekunden).
Register konfigurieren:
- Füge die Modbus-Register hinzu, die ausgelesen werden sollen.
- Gebe die Registeradresse, Typ (z.B. Holding, Eingangs oder Ausgangs Register), und gegebenenfalls eine Skalierung an.
Beispiel: Konfiguration eines Registers
- Registeradresse: 30001 (Beispiel)
- Registertyp: Holding Register
- Datentyp: Float32 (je nach Gerätedokumentation)
- Einheit: z.B. Volt, Ampere, Watt
Beispielhafte Python-Skripte und JSON-Konfigurationen
Beispielhafte Modbus-Register-Konfiguration im ioBroker
https://www.xplore-dna.net/pluginfile.php/24545/mod_page/content/2/Modbus-Register-Konfiguration.pdfBeispiel: Abfrage eines Modbus-Registers mit Python
Hier ist ein Beispielskript, das zeigt, wie man ein Modbus-Register mit Python und dem pymodbus
-Paket abfragt:
Zusammenfassung
- Modbus: Ein weit verbreitetes Protokoll zur Kommunikation mit industriellen Geräten.
- SMA Wechselrichter: Stellen verschiedene Daten über Modbus-Register zur Verfügung.
- Modbus Adapter im ioBroker: Ermöglicht das Abfragen dieser Register und das Integrieren der Daten in ioBroker.
- Konfiguration: Wichtige Parameter wie IP-Adresse, Port, Registeradressen und Typen müssen korrekt konfiguriert werden.