
Der SolaX X3 Hybrid Ultra (Gen5) ist ein dreiphasiger Hybrid-PV-/Batterie-Wechselrichter mit einer Nennleistung von 10 kW bis 30 kW. Die TapHome-Vorlage kommuniziert mit dem Wechselrichter über Modbus RTU am RS-485-COM-1-Port (Pins REMOTE_485A / REMOTE_485B) und implementiert die Register-Map des SolaX Modbus-Protokolls V3.29. Sie liest PV-Strang-Leistung, Batterie-Ladezustand und -Temperatur, dreiphasige Netzspannung und -frequenz, lebenslange und tägliche Energiesummen, Einspeiseleistung vom externen Zähler und stellt schreibbare Lademodus, Nachtladungs-SOC (Eigenverbrauch) und maximale Einspeiseleistungsgrenze bereit.
Der X3-Ultra unterstützt Modbus TCP nicht nativ — TCP ist nur über ein SolaX-Überwachungsmodul (Pocket WiFi 3.0, Pocket LAN oder DataHub) verfügbar, das RTU am Port 502 zu TCP überbrückt. Für entfernte Installationen kann TapHome auch über ein RS-485-zu-Ethernet-Gateway eines Drittanbieters (z. B. Waveshare, USR-DR302) angeschlossen werden, das als Modbus RTU-over-TCP konfiguriert ist.
Modelle
Die TapHome-Vorlage deckt die gesamte X3-Ultra-Serie ab. Die PV3- und Batterie-2-SOC-Sensoren funktionieren nur bei der 3-MPPT-/Doppelbatterie-30-kW-Variante.
| Modell | Nennleistung AC | MPPT-Tracker | Hinweise |
|---|---|---|---|
| X3-ULT-15K | 15 kW | 2 | Standard 2-MPPT |
| X3-ULT-15KP | 15 kW | 3 | 3-MPPT (Modellcode H3BC) |
| X3-ULT-19.9K | 19,9 kW | 2 | Standard 2-MPPT |
| X3-ULT-20K | 20 kW | 2 | Standard 2-MPPT (Modellcode H3BD) |
| X3-ULT-20KP | 20 kW | 3 | 3-MPPT |
| X3-ULT-25K | 25 kW | 3 | Modellcode H3BF |
| X3-ULT-25KW | 25 kW | 3 | — |
| X3-ULT-30K | 30 kW | 3 | Doppelbatterie, PV3 aktiv (Modellcode H3BG) |
| X3-ULT-10K-GLV | 10 kW | — | Niederspannungsvariante (GLV) |
| X3-ULT-15K-GLV | 15 kW | — | Niederspannungsvariante (GLV) |
Der Modellcode kann zur Laufzeit über das Modul-Attribut Model ausgelesen werden (Register H:0x000E, 4-Zeichen-ASCII-String).
Kompatibilitätsumfang
Die Vorlage implementiert die Teilmenge des SolaX Modbus-Protokolls V3.29, die am häufigsten für das Heim-Energiemanagement verwendet wird — 19 Geräte, 2 modulebene Service-Attribute und eine Service-Aktion. Das vollständige Protokoll stellt deutlich mehr Register bereit; die nützlichsten nicht implementierten Funktionen (phasenweise Netzleistung und -strom, Batteriespannung/-strom/-leistung, BMS-Status, Inselbetriebsstunden, Fernsteuerung der Leistung usw.) sind im Abschnitt Mögliche Verbesserungen unten aufgeführt.
Hardware-Anschluss
Der X3-Ultra hat einen einzigen multifunktionalen COM-1-Port (RJ45-Stil-Stecker mit beschrifteter Kabelhalterung). Dieselben physikalischen Pins erfüllen unterschiedliche Funktionen, je nachdem, in welche beschriftete Position der Kabelhalterung Sie verdrahten. Für die Modbus-Integration eines Drittanbieters verwenden Sie die Position RS485 — die Leitungen REMOTE_485A und REMOTE_485B.
COM-1-Port-Pinout

Pin-Zuordnung der RS485-Position (die einzige für TapHome relevante Position):
| Pin | Signal | TapHome-Verdrahtung |
|---|---|---|
| 1 | REMOTE_485A | A+ / D+ |
| 2 | REMOTE_485B | B− / D− |
| 3 | PARALLEL_485AA | nicht verwenden (nur SolaX-Zubehör) |
| 4 | PARALLEL_485AA | nicht verwenden (nur SolaX-Zubehör) |
| 5 | PARALLEL_485BB | nicht verwenden (nur SolaX-Zubehör) |
| 6 | PARALLEL_485BB | nicht verwenden (nur SolaX-Zubehör) |
| 7 | REMOTE_485A | Duplikat von Pin 1 (für Daisy-Chain) |
| 8 | REMOTE_485B | Duplikat von Pin 2 (für Daisy-Chain) |
Die Pins 3–6 gehören zum SolaX-proprietären PARALLEL_485-Kanal und sind für SolaX-Zubehör reserviert (Adapter Box G2, EV-Charger, DataHub, parallele Wechselrichter). Schließen Sie keinen Modbus-Master eines Drittanbieters an diese Pins an.
Ältere SolaX-Wechselrichter (Gen4 X3-Hybrid) verwendeten Pin 4 = 485A und Pin 5 = 485B. Das X3-Ultra-COM-1-Pinout ist anders — überprüfen Sie vor dem Crimpen immer die Kabelhalterungs-Beschriftung an Ihrer Einheit. Manche Community-Dokumentation verweist noch auf das ältere Gen4-Pinout.
RS-485-Verdrahtung

Verdrahtungsregeln aus dem X3-Ultra-Benutzerhandbuch (Abschnitt 8.6.4):
- Kabeltyp: Standard-Cat5- oder Cat6-UTP-Twisted-Pair
- Maximale Länge: 30 m RS-485-Kabel zwischen Wechselrichter und TapHome CCU
- Polarität ist wichtig: wenn keine Kommunikation, tauschen Sie A und B
- Ein einziger Modbus-Master: auf dem Bus ist nur ein Master erlaubt. Wenn ein SolaX-Überwachungsmodul die Leitung teilt, ist mit Konflikten zu rechnen
Die COM-1-Kabelhalterung hat dedizierte beschriftete Positionen für jeden Kanal — verdrahten Sie Ihr Cat5/Cat6-Kabel in den Schlitz mit der Beschriftung RS485 (nicht in Parallel-1, Parallel-2, BMS-1, BMS-2 oder DRM).
Anschlussoptionen
- Direktes Modbus-RTU-CCU: verdrahten Sie das COM-1-RS485-Paar direkt mit dem TapHome Modbus-RTU-CCU. Niedrigste Latenz, empfohlen für Echtzeit-Steuerung.
- RS-485-zu-Ethernet-Gateway (Modbus RTU-over-TCP): für Installationen, bei denen der Wechselrichter weit vom TapHome Core entfernt ist, verwenden Sie ein Waveshare RS485-zu-Ethernet-, USR-DR302- oder ähnliches Gateway, das als Modbus RTU-over-TCP am Port 502 konfiguriert ist. Der Vorlagen-Importparameter
IpAddressermöglicht dieses Muster. - SolaX Pocket WiFi 3.0 / Pocket LAN / DataHub (Modbus TCP): wenn das SolaX-Überwachungsmodul bereits installiert ist, überbrückt es RTU am Port 502 zu TCP mit einem Abfragezyklus von etwa 1 Sekunde — langsamer als direktes RTU und nicht für Echtzeit-Steuerschleifen empfohlen.
Konfiguration
Modbus-Kommunikation am Wechselrichter aktivieren
Navigieren Sie am Wechselrichter-LCD zu:
| |
Das Menü Advanced Settings erfordert möglicherweise ein Installateur-Passwort. Überprüfen oder setzen Sie Folgendes:
| Parameter | TapHome-Vorlagen-Standard | Wechselrichter-Standard | Bereich |
|---|---|---|---|
| Modbus-Adresse (Slave-ID) | 1 | 1 | 1–255 |
| Baudrate | 19200 | 19200 | 9600 / 19200 / 38400 / 57600 / 115200 |
| Parität | None | None | None / Odd / Even |
| Datenbits | 8 | 8 | — |
| Stoppbits | 1 | 1 | 1 oder 2 |
Die Baudrate muss zwischen Wechselrichter und TapHome übereinstimmen. Das Protokoll V3.29 spezifiziert 19200 als X3-Ultra-Standard; einige ältere SolaX-Vorlagen und Dokumentationen erwähnen noch 9600. Falls die Kommunikation fehlschlägt, prüfen Sie zuerst die Baudrate.
Der Wechselrichter kann die Modbus-Slave-Adresse auch über das Holding-Register H:0x00AC und die Baudrate über das Holding-Register H:0x00AD bereitstellen.
Importparameter in TapHome
Beim Import der Vorlage in TapHome müssen zwei Parameter gesetzt werden:
| Parameter | Zweck |
|---|---|
| IpAddress | IP-Adresse des RS-485-zu-TCP-Gateways (oder des SolaX Pocket WiFi/LAN-Überwachungsmoduls). Beim Standardwert belassen, wenn der Wechselrichter direkt mit dem TapHome Modbus-RTU-CCU verbunden ist. |
| SlaveId | Modbus-Slave-Adresse des Wechselrichters (Standard 1). Muss mit der Modbus-Adresseinstellung des Wechselrichters übereinstimmen. |
Kommunikations-Timing
Das SolaX Modbus-Protokoll erfordert ein Mindestintervall zwischen aufeinanderfolgenden Anfragen und verwendet individuelle Abfrageintervalle pro Gerät in der Vorlage (von einigen Sekunden für Netzspannung/-frequenz bis zu 80 s für Batterietemperatur). Pollen Sie kein Gerät aggressiv — der Wechselrichter drosselt Anfragen intern.
Gerätefunktionen
Batterieüberwachung
- Batterie 1 SOC — Ladezustand der primären Batterie als 0–1-Analogeingang (Rohregister in 1-%-Einheiten, geteilt durch 100 für den TapHome-Bereich 0–1)
- Batterie 2 SOC — Ladezustand der zweiten Batterie, nur bei der X3-ULT-30K Doppelbatterie-Variante funktionsfähig; andere Modelle liefern 0
- Batterietemperatur — Temperatur des Batterie-Packs in °C, alle 80 Sekunden abgefragt
Solar-PV-Leistung
- PV1-Leistung (Ost) — DC-Leistung von PV-Strang 1 in kW
- PV2-Leistung (Ost) — DC-Leistung von PV-Strang 2 in kW
- PV3-Leistung (West) — DC-Leistung von PV-Strang 3 in kW, nur bei 3-MPPT-Modellen (X3-ULT-30K) funktionsfähig; andere Modelle liefern 0
Die Suffixe „Ost" / „West" sind eine Richtungsbenennung, die aus der ursprünglichen slowakischen Vorlage übernommen wurde — die PV-Strang-Nummer entspricht dem physischen MPPT-Eingang am Wechselrichter, nicht der tatsächlichen Ausrichtung der Anlage.
Netz- und Energiemessung
- Netzspannung L1 / L2 / L3 — phasenweise Netzspannung in Volt (Register
A:0x006A,A:0x006E,A:0x0072) - Netzfrequenz L1 / L2 / L3 — phasenweise Netzfrequenz in Hertz (Register
A:0x006D,A:0x0071,A:0x0075) - Netzeinspeisung (Zähler) — momentane Einspeiseleistung vom externen SolaX-Zähler / CT in kW; positiv = Einspeisen, negativ = Bezug
- Netz-Bezug / -Einspeisung — Alias der Netzeinspeisung (gleiches zugrundeliegendes Register
A:0x0046); aus Kompatibilität mit der alten Benennung beibehalten - Tages-/Aktuelle Wechselrichter-Erzeugung — kombiniert die heutige ins Netz eingespeiste Energie (kWh, Register
A:0x0050) mit der Echtzeit-Wechselrichter-Netzleistung (kW, RegisterA:0x0002) - Gesamt erzeugte Energie — kumulative Gesamtenergie, die vom AC-Port des Wechselrichters ins Netz eingespeist wurde, in kWh
Lade- und Einspeisesteuerung (schreibbar)
- Lademodus — Betriebsmodus des Batterieladers: Self Use, Feed-in Priority, Backup oder Manual
- Nachtladungs-SOC (Eigenverbrauch) — oberer SOC-Zielwert (10–100 %) für das Laden der Batterie aus dem Netz während der Nacht im Eigenverbrauchsmodus
- Max. Einspeiseleistungs-Grenze — maximal zulässige Einspeiseleistung als Prozentsatz der Nennleistung (10–100 %)
Für alle drei oben genannten schreibbaren Geräte gilt das EEprom-Schreiblimit (Lademodus →
SH:0x001F, Nachtladungs-SOC →SH:0x0063, Max. Einspeiseleistung →SH:0x0042). Die zugrundeliegenden Register sind EEprom-gestützt mit begrenzten Schreibzyklen — häufige Schreibvorgänge (alle paar Sekunden in einer Automatisierungsschleife) beschädigen das EEprom des Wechselrichters dauerhaft. Verwenden Sie nur manuelle Änderungen oder geplante Schreibvorgänge mit niedriger Frequenz.
Modulebene-Attribute und -Aktionen
- Betriebsmodus (Service-Attribut) — Betriebszustand des Wechselrichters als Text: Waiting, Checking, Normal, Fault, Permanent Fault, Update, Off-grid waiting, Off-grid, Self Testing, Idle, Standby
- Model (Service-Attribut) — Modellcode des Wechselrichters als 4-Zeichen-ASCII-String (H3BC = 15K/15KP, H3BD = 19,9K/20K/20KP, H3BF = 25K, H3BG = 30K)
- Admin entsperren (Service-Aktion) — schreibt die Konstante
2014inSH:0x0000, um die erweiterten Wechselrichter-Einstellungen zu entsperren (selten erforderlich, nur zur Diagnose)
Fehlererkennung
Das Modul-ReadScript überwacht das Betriebsmodus-Register (A:0x0009) und meldet einen TapHome-Systemfehler, wenn der Wechselrichter in den Zustand 3 (Fault) oder 4 (Permanent Fault) eintritt. Zwei Fehlerregister werden Bit für Bit analysiert:
- Wechselrichter-Fehlercodes (32-Bit,
A:0x0040–A:0x0041) — 31 individuelle Fehler, darunter Netzspannungs-/Frequenzfehler, PV-Spannungsfehler, Batteriefehler, Isolationsfehler, Übertemperatur, Überstromschutz, Relaisfehler und Kommunikationsfehler - Manager-Fehlercodes (16-Bit,
A:0x0043) — 11 Fehlerbits, darunter Leistungstyp-Fehler, EEPROM-Fehler, NTC-Sensor-Probleme, Batterietemperatur-Warnungen, Zählerfehler und Lüfterfehler
Einzelne Fehler erscheinen als diskrete Fehler im TapHome-Systemprotokoll, sodass Installateure das fehlerhafte Subsystem identifizieren können, ohne das Wechselrichter-LCD ablesen zu müssen.
Fehlerbehebung
Keine Kommunikation mit dem Wechselrichter
- Überprüfen Sie, dass die RS-485-Verdrahtung an den REMOTE_485A / REMOTE_485B-Pins liegt (1+2 oder 7+8 an der COM-1-RS485-Position), nicht an den PARALLEL_485-Pins 3–6
- Prüfen Sie, dass die Baudrate zwischen Wechselrichter (
Menu → Setting → Advance Setting → Modbus) und TapHome-Modul übereinstimmt — beide müssen standardmäßig 19200 sein - Bestätigen Sie, dass die Slave-ID übereinstimmt (Standard
1) - Überprüfen Sie, dass nur ein Modbus-Master am RS-485-Bus angeschlossen ist — Modbus unterstützt keinen Multi-Master
- Tauschen Sie die A- und B-Adern, falls die Kabelpolarität unsicher ist
- Bestätigen Sie, dass das Kabel 30 m Gesamt-RS-485-Länge nicht überschreitet
PV3 oder Batterie-2-SOC liest null
Diese Geräte funktionieren nur am X3-ULT-30K (3-MPPT-/Doppelbatterie-Variante). Bei kleineren Modellen liefern die Register A:0x0124 (PV3-Leistung) und A:0x012D (Batterie-2-SOC) null. Verbergen Sie die nicht verwendeten Geräte in der TapHome-UI für Nicht-30K-Installationen.
Batterietemperatur liest einen unerwartet hohen Wert
Das Batterietemperatur-Register (A:0x0018) wird von der Vorlage als UInt16 gelesen, der zugrundeliegende Wert ist jedoch vorzeichenbehaftet. Untern-Null-Temperaturen (z. B. −1 °C) wickeln zu großen positiven Werten (z. B. 65535). In Klimazonen, in denen die Batterie unter 0 °C fallen kann, behandeln Sie jeden Wert über ~1000 °C als negative Ablesung.
Schreibvorgänge in Lademodus / Nachtladungs-SOC / Max. Einspeiseleistung wirken sich nicht aus
Diese Register sind EEprom-gestützt und der Wechselrichter begrenzt Schreibvorgänge, um das EEprom zu schützen. Stellen Sie sicher, dass die Schreibvorgänge selten sind (manuell oder geplant, nicht in einer engen Automatisierungsschleife). Einige Firmware-Versionen erfordern auch, dass der Lademodus auf Manual (3) eingestellt ist, bevor bestimmte erzwungene Lade-/Entladungs-Submodi reagieren.
Modbus TCP über das SolaX-Überwachungsmodul ist langsam
Pocket WiFi 3.0 / Pocket LAN / DataHub überbrücken RTU zu TCP mit einem Abfragezyklus von etwa 1 Sekunde und handhaben nur einen Modbus-TCP-Client gleichzeitig. Wenn SolaX-Cloud-Monitoring ebenfalls Daten zieht, ist mit Konflikten zu rechnen. Für Echtzeit-Steuerung (Frequenzantwort, Peak Shaving) verwenden Sie direktes Modbus RTU oder ein dediziertes RS-485-zu-Ethernet-Gateway eines Drittanbieters.
