Der SolaX X3-Ultra (X3-ULT-15K, 20K, 25K, 30K) ist ein dreiphasiger Hybrid-Wechselrichter für PV und Batterie. Diese Community-Vorlage von Martin Keller verbindet ihn mit TapHome über Modbus RTU am RS-485-Port COM 1 (19200 Baud, 8N1) und basiert auf den Leseregistern des SolaX Modbus-Protokolls V3.29 und auf dem SolaX Modbus-Protokoll V001.02. Sie bietet einen vollständigen Satz an Zählern für das Energy Dashboard, Batterie-, Netz- und Fehlerüberwachung, Wechselrichter-Einstellungen, die nur dann geschrieben werden, wenn sich ihr Wert tatsächlich ändert, sowie die Fernsteuerung der AC-Leistung (SolaX-Fernsteuerungsmodus 1) — das Laden der Batterie aus dem Netz oder das Entladen ins Netz auf Befehl, zum Beispiel nach Spotpreisen für Strom.
So erhalten Sie die Vorlage
Community-Vorlagen werden in der Vorlagenliste der TapHome-App nicht angeboten. Melden Sie sich bei portal.taphome.com an, laden Sie das XML dieser Vorlage herunter und importieren Sie es in den Core an der Modbus-RTU-Schnittstelle (oder an einer Modbus-TCP-Schnittstelle, wenn ein RS-485-zu-Ethernet-Gateway verwendet wird). Für die Überwachung ohne Fernsteuerung der Leistung steht die offizielle Vorlage SolaX X3 Hybrid Ultra zur Verfügung. Ein früher aus der offiziellen Vorlage importiertes Modul aktualisiert sich nicht selbst — importieren Sie diese Vorlage als neues Modul und entfernen Sie das alte.
Hardware-Anschluss
Der X3-Ultra hat einen einzigen multifunktionalen COM-1-Port (RJ45-Stecker mit beschrifteter Kabelhalterung). Dieselben physischen Pins erfüllen unterschiedliche Funktionen, je nachdem, welche beschriftete Position der Kabelhalterung verwendet wird. Für die Modbus-Integration eines Drittanbieters verwenden Sie die Position RS485 — die Leitungen REMOTE_485A und REMOTE_485B.
Pinbelegung des COM-1-Ports

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 | dasselbe Signal wie Pin 1 |
| 8 | REMOTE_485B | dasselbe Signal wie Pin 2 |
Die Pins 3–6 gehören zum SolaX-Kanal PARALLEL_485 und sind für SolaX-Produkte reserviert (Adapter Box G2, EV-Charger, DataHub). Die Pins 1, 2, 7 und 8 sind für Geräte bestimmt, die keine SolaX-Produkte sind. Schließen Sie keinen Modbus-Master eines Drittanbieters an die Pins 3–6 an.
RS-485-Verdrahtung

Verdrahtungsregeln aus dem X3-Ultra-Benutzerhandbuch (Abschnitt 8.6.4):
- Kabeltyp: Netzwerkkabel CAT5E oder CAT6
- Maximale Länge: das RS-485-Kommunikationskabel darf 30 m nicht überschreiten
- RJ45-Stecker: der vorhandene Stecker des Kabels wird abgeschnitten und ein neuer RJ45-Stecker gemäß der Pin-Zuordnung gecrimpt; nicht alle Geräte akzeptieren ein voll belegtes 8-poliges Netzwerkkabel
- Position in der Kabelhalterung: der RJ45-Stecker kommt in den Steckplatz mit der Beschriftung RS485 (nicht in Parallel-1, Parallel-2, BMS-1, BMS-2 oder DRM); der Stecker rastet im COM-1-Port ein und wird mit der Überwurfmutter gesichert
- Ein einziger Modbus-Master: nur ein Modbus-Master darf den Port nutzen. Trennen Sie andere Modbus-Überwachungen am selben Port, sonst antwortet der Wechselrichter beiden und die Messwerte werden instabil
Das Benutzerhandbuch nennt keine Regel für den RS-485-Busabschluss an der Position RS485 von COM 1.
Zähler oder CT für die Netzwerte
Die Netzgeräte dieser Vorlage (Grid - power balance, Aus dem Netzwerk, Zum Netzwerk, Verbrauch) lesen die Einspeiseleistung, die der Wechselrichter mit seinem eigenen Zähler oder CT misst. Der Zähler oder CT wird am Port COM 2 angeschlossen (Meter/CT: METER_485A an Pin 4, METER_485B an Pin 5, oder die CT-Eingänge) und am Wechselrichter-Display unter Menu → Setting → Advance Setting → Meter/CT Setting eingerichtet. Das ist eine separate RS-485-Leitung — schließen Sie TapHome nicht daran an.
Anschlussoptionen
- Direkte Modbus-RTU-Verbindung: verdrahten Sie das RS485-Paar von COM 1 direkt mit dem RS-485-Bus des TapHome Core. Niedrigste Latenz, empfohlen für die Fernsteuerung der Leistung.
- RS-485-zu-Ethernet-Gateway: wenn der Wechselrichter weit vom TapHome Core entfernt ist, kann ein RS-485-zu-Ethernet-Gateway eines Drittanbieters am RS485-Paar von COM 1 verwendet werden; die Vorlage wird dann an einer Modbus-TCP-Schnittstelle importiert.
- SolaX-Überwachungsmodul: der Wechselrichter selbst unterstützt Modbus TCP nicht. Modbus TCP (Port 502) ist nur über ein SolaX-Überwachungsmodul verfügbar, mit einem Abfragezyklus von etwa 1 Sekunde (Protokoll V3.29).
Konfiguration
Modbus-Kommunikation am Wechselrichter aktivieren
Navigieren Sie am Wechselrichter-LCD zu:
| |
Das Menü Advance Setting erfordert das Installateur-Passwort (laut Benutzerhandbuch anfangs 2014; das Handbuch empfiehlt, es zu ändern). Stellen Sie im Menü Modbus die Baud Rate und die Address des externen Kommunikationsprotokolls ein:
| Parameter | Standard der Vorlage | Standard des Wechselrichters (Protokoll V3.29) |
|---|---|---|
| Modbus-Adresse (Slave-ID) | 1 | 1 |
| Baudrate | 19200 | 19200 |
| Parität | None | None |
| Datenbits | 8 | 8 |
| Stoppbits | 1 | 1 |
Die Baudrate muss am Wechselrichter und an der Modbus-RTU-Schnittstelle von TapHome gleich sein. Wenn die Kommunikation fehlschlägt, prüfen Sie zuerst die Baudrate.
Der Wechselrichter meldet die Modbus-Adresse außerdem im Holding-Register H:0x00AF und die Baudrate im Holding-Register H:0x00B0 (Protokoll V3.29).
Importparameter
Beim Import der Vorlage muss der Importparameter Modbus Slave ID (Standard 1) mit der am Wechselrichter-Display eingestellten Modbus-Adresse übereinstimmen.
Gerätefunktionen
Energy Dashboard
| Gerät | Messwert |
|---|---|
| PV-Produktion | Eingangsleistung PV1 + PV2 + PV3 (A:0x000A, A:0x000B, A:0x0124) in kW; gesamte PV-Energie (A:0x0094–0x0095) in kWh. Die Leistung von PV1–PV3 und die gesamte AC-Ausgangsenergie des Wechselrichters (A:0x0052) sind Service-Attribute. |
| Aus dem Netzwerk / Zum Netzwerk | Bezugs- und Einspeiseanteil der Netzleistung vom Zähler oder CT (A:0x0046–0x0047, niederwertiges Wort zuerst) mit ihren Gesamtenergiezählern (A:0x004A und A:0x0048, 0,01 kWh). |
| Zur Batterie / Von der Batterie | Lade- und Entladeanteil der Leistung von Batterie 1 (A:0x0016) mit der gesamten Lade- und Entladeenergie (A:0x0021, A:0x001D). |
| Verbrauch | Berechneter Hausverbrauch: AC-Leistung des Wechselrichters minus Netzeinspeisung. SolaX hat kein Verbrauchsregister; Verbraucher am EPS-Ausgang (Notstrom) sind nicht enthalten. |
| Batterie (SOC) | Ladezustand von Batterie 1 (A:0x001C). Die verbleibende und die ladbare Energie (A:0x0118, A:0x0116) sind Service-Attribute. |
Energiemanager
Wählen Sie für die smart rule Energiemanager das Gerät Grid - power balance. Es ist vorzeichenbehaftet: positiv beim Bezug aus dem Netz, negativ bei der Einspeisung von Überschuss. Die Zähler Aus dem Netzwerk und Zum Netzwerk werden nie negativ und zeigen keinen Überschuss.
Überwachung
- Battery 2 - state of charge — der zweite Batterieanschluss (BAT 2), mit seiner Leistung und Temperatur als Service-Attribute; liefert ohne zweite Batterie 0
- Battery - temperature — wird vorzeichenbehaftet gelesen, sodass Temperaturen unter 0 °C korrekt angezeigt werden
- Inverter - AC power — Summe der drei Phasenleistungen am AC-Port des Wechselrichters in kW
- Grid - voltage L1 — mit der Netzspannung L2, L3 und den drei Netzfrequenzen als Service-Attribute
Wechselrichter-Einstellungen
| Gerät | Lesen | Schreiben |
|---|---|---|
| Settings - work mode | H:0x008B: Self use, Feed-in priority, Backup, Manual, Peak shaving, Time of use (die letzten beiden hängen von der Firmware ab) | 0x001F |
| Settings - manual mode | H:0x008C: Stop charge and discharge, Force charge, Force discharge (nur im Arbeitsmodus Manual wirksam) | 0x0020 |
| Settings - self-use minimum SOC | höherwertiges Byte von H:0x0093 | 0x0061 |
| Settings - night charge from grid | niederwertiges Byte von H:0x0093 | 0x0062 |
| Settings - night charge target SOC | H:0x0094 | 0x0063 |
| Settings - export limit | H:0x00B6, in kW (10 W pro Zählschritt bei X3) | 0x0042 |
SolaX liest diese Einstellungen von anderen Adressen, als es sie schreibt, daher kann die in TapHome integrierte Funktion „nur schreiben, wenn abweichend“ nicht verwendet werden. Jedes Schreibskript liest deshalb zuerst die Einstellung und schreibt (Funktion 06) nur, wenn sich der neue Wert unterscheidet; meldet der Wechselrichter die Einstellungen als gesperrt, schreibt es zuerst das Einstellungspasswort 2014 in das Register 0x0000. Der minimale SOC und der Zielwert der Nachtladung gehen nie unter 10 % (der SolaX-Bereich). Keines dieser Geräte schreibt periodisch.
Diese Einstellungen sind EEPROM-Register (von SolaX mit ★ gekennzeichnet, etwa 1 Million Schreibzyklen). Ändern Sie sie selten und nie aus häufigen Automatisierungen — für das Laden und Entladen nach Spotpreisen verwenden Sie Remote control - AC power target.
Remote control - AC power target
Dieses Gerät nutzt den SolaX-Fernsteuerungsmodus (VPP) 1 — die Leistungssteuerung am AC-Port des Wechselrichters.
- Vorzeichen: ein positiver Zielwert bedeutet, dass der Wechselrichter an seinem AC-Port Leistung aufnimmt (er lädt die Batterie, aus dem Netz, wenn die PV-Leistung nicht reicht); ein negativer Zielwert bedeutet, dass er Leistung abgibt (er entlädt die Batterie, und was das Haus nicht verbraucht, geht ins Netz). Wert in kW.
- 0 beendet die Fernsteuerung: die Vorlage schreibt einmal Modus 0, und der Wechselrichter kehrt in seinen Arbeitsmodus zurück. Zielwerte unter 0,5 W gelten als 0.
- Jeder andere Wert: ist der Wechselrichter gesperrt, schreibt die Vorlage zuerst das Einstellungspasswort 2014 (die Entsperrung geht nach jedem Neustart des Wechselrichters verloren) und dann die 13 Register
0x007C–0x0088in einer einzigen Modbus-Anfrage (Funktion 0x10): Modus 1, Zielwert, Dauer 120 s und Timeout 60 s. Der Befehl wird alle 60 s wiederholt, solange der Zielwert nicht 0 ist. Sendet TapHome ihn nicht mehr, hält der Wechselrichter den Zielwert bis zu 2 Minuten, hält danach 1 weitere Minute 0 W an seinem AC-Port und kehrt dann selbstständig in seinen Arbeitsmodus zurück. - Der Arbeitsmodus Manual blockiert die Fernsteuerung. SolaX startet die Fernsteuerung nicht, solange sich der Wechselrichter im Arbeitsmodus Manual befindet — schalten Sie ihn zuerst auf Self use (oder einen anderen Modus).
- Der Wechselrichter begrenzt den Zielwert auf den Bereich, der in den Modulattributen angezeigt wird (minimaler und maximaler Zielwert der Fernsteuerung).
- Die Modulaktion End remote control schreibt sofort Modus 0. Solange der Zielwert nicht 0 ist, startet die nächste Wiederholung die Fernsteuerung erneut — setzen Sie den Zielwert auf 0, um sie dauerhaft zu beenden.
- Kombinieren Sie dieses Gerät nicht mit einer Fernsteuerung aus der SolaX Cloud oder durch einen Energieaggregator: solange der Zielwert 0 ist, beendet die Vorlage jeden Fernsteuerungsmodus innerhalb von 60 s.
- Die Fernsteuerung erfordert einen Core, der alle 13 Register in einer einzigen Anfrage schreibt. Das ist bei jedem Core seit 2022 der Fall, wenn das Modul den Wert
MaxPrefetchGroupSize32 aus dieser Vorlage beibehält. - Das Service-Attribut Actual AC power zeigt die Wirkleistung, die der Wechselrichter an seinem AC-Port meldet, in W (
A:0x0106).
SolaX kennzeichnet die Fernsteuerungsregister (
0x007C–0x0088) in seinem Protokoll nicht als EEPROM-Register, bestätigt das Gegenteil aber auch nicht schriftlich. Diese Vorlage stützt sich auf die Erfahrung der Home-Assistant- und openHAB-Communitys, die diese Register alle paar Sekunden bis Minuten schreiben.
Modulattribute und -aktionen
- Run mode (Service-Attribut) — Zustand des Wechselrichters als Text: Waiting, Checking, Normal, Fault, Permanent fault, Update, Off-grid waiting, Off-grid, Self testing, Idle, Standby, Remote control (Code 20); andere Codes werden als Other angezeigt
- Machine type (Service-Attribut) — X1 (single-phase) oder X3 (three-phase), Holding-Register
H:0x0105 - Settings lock (Service-Attribut) — Locked oder Unlocked (
A:0x0054) - Remote control mode (Service-Attribut) — aktiver Fernsteuerungsmodus (
A:0x0100): Off, Power control, Energy target, SOC target - Remote control - maximum target / minimum target (Service-Attribute) — vom Wechselrichter gemeldeter zulässiger Bereich des Leistungszielwerts in W (
A:0x010A,A:0x010C) - Unlock settings (password 2014) (Service-Aktion) — schreibt
2014in das Register0x0000 - End remote control (Service-Aktion) — schreibt Modus 0 in die Fernsteuerungsregister
0x007C–0x0088
Fehlererkennung
Das Leseskript des Moduls meldet einen TapHome-Fehler, wenn der Betriebszustand (A:0x0009) 3 (Fault) oder 4 (Permanent fault) ist. Außerdem wertet es zwei Fehlerregister Bit für Bit aus, jeden Fehler mit einem eigenen Fehlercode:
- Wechselrichter-Fehlercode (32 Bit,
A:0x0040–A:0x0041, niederwertiges Wort zuerst gelesen) — alle 32 Bits, von TZ Protect Fault über Netz-, PV-, Bus- und Batteriespannungsfehler, Isolations- und Übertemperaturfehler bis zu Parallel Fault, Hard Limit Fault und den Relaisfehlern - Manager-Fehlercode (16 Bit,
A:0x0043) — Power Type Fault, Mgr EEPROM Fault, NTC Sample Invalid, niedrige und hohe Batterietemperatur, Meter Fault, Bypass Relay Fault und Fan 2 Fault als Fehler, Port OC Warning als Warnung
Fehlerbehebung
Keine Kommunikation mit dem Wechselrichter
- Überprüfen Sie, dass die RS-485-Adern an den Pins REMOTE_485A / REMOTE_485B liegen (1 + 2 oder 7 + 8 in der Position RS485 der COM-1-Kabelhalterung), nicht an den PARALLEL_485-Pins 3–6 und nicht an der Zählerleitung von COM 2
- Prüfen Sie, dass die Baudrate am Wechselrichter (
Menu → Setting → Advance Setting → Modbus) und an der Modbus-RTU-Schnittstelle von TapHome übereinstimmt — standardmäßig 19200 - Bestätigen Sie, dass der Importparameter Modbus Slave ID mit der Modbus-Adresse des Wechselrichters übereinstimmt (Standard
1) - Stellen Sie sicher, dass nur ein Modbus-Master am Port angeschlossen ist
- Tauschen Sie die A- und B-Adern, falls die Kabelpolarität unsicher ist
- Bestätigen Sie, dass das RS-485-Kabel 30 m nicht überschreitet
Der Zielwert der Fernsteuerung fällt direkt nach dem Setzen auf 0 zurück
Der Wechselrichter befindet sich im Arbeitsmodus Manual, die Firmware unterstützt den Fernsteuerungsmodus 1 nicht, oder der Zielwert liegt außerhalb des minimalen und maximalen Zielwerts, die in den Modulattributen angezeigt werden. Prüfen Sie zuerst den Arbeitsmodus.
Das Schreiben der Einstellungen wird abgelehnt
Der Wechselrichter ist gesperrt. Führen Sie die Modulaktion Unlock settings (password 2014) aus; die Sperre kehrt nach jedem Neustart des Wechselrichters zurück (Modulattribut Settings lock).
Netzwerte sind 0 oder der Verbrauch wirkt falsch
Grid - power balance, Aus dem Netzwerk, Zum Netzwerk und Verbrauch hängen vom Zähler oder CT des Wechselrichters ab. Prüfen Sie dessen Verdrahtung an COM 2 und dessen Einrichtung unter Menu → Setting → Advance Setting → Meter/CT Setting.
PV3-Leistung oder Batterie 2 zeigt 0
PV3 gibt es nur bei den Modellen mit drei Trackern (zum Beispiel X3-ULT-25K und X3-ULT-30K, siehe die MPPT-Anzahl im Benutzerhandbuch); Batterie 2 nur, wenn an BAT 2 eine zweite Batterie angeschlossen ist. Blenden Sie die nicht verwendeten Geräte in TapHome aus.
SolaX