TapHome

SolaX X3 Hybrid Ultra

Modbus RTU
Eingereicht von
Zuletzt aktualisiert: 06. 2026
SolaX X3 Hybrid Ultra

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.

ModellNennleistung ACMPPT-TrackerHinweise
X3-ULT-15K15 kW2Standard 2-MPPT
X3-ULT-15KP15 kW33-MPPT (Modellcode H3BC)
X3-ULT-19.9K19,9 kW2Standard 2-MPPT
X3-ULT-20K20 kW2Standard 2-MPPT (Modellcode H3BD)
X3-ULT-20KP20 kW33-MPPT
X3-ULT-25K25 kW3Modellcode H3BF
X3-ULT-25KW25 kW3
X3-ULT-30K30 kW3Doppelbatterie, PV3 aktiv (Modellcode H3BG)
X3-ULT-10K-GLV10 kWNiederspannungsvariante (GLV)
X3-ULT-15K-GLV15 kWNiederspannungsvariante (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 des COM-1-Ports des SolaX X3-Ultra für alle sechs beschrifteten Positionen (Parallel-1, Parallel-2, BMS-1, BMS-2, RS485, DRM)

Pin-Zuordnung der RS485-Position (die einzige für TapHome relevante Position):

PinSignalTapHome-Verdrahtung
1REMOTE_485AA+ / D+
2REMOTE_485BB− / D−
3PARALLEL_485AAnicht verwenden (nur SolaX-Zubehör)
4PARALLEL_485AAnicht verwenden (nur SolaX-Zubehör)
5PARALLEL_485BBnicht verwenden (nur SolaX-Zubehör)
6PARALLEL_485BBnicht verwenden (nur SolaX-Zubehör)
7REMOTE_485ADuplikat von Pin 1 (für Daisy-Chain)
8REMOTE_485BDuplikat 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
Installation des RJ45-Terminals in die RS485-Position der COM-1-Kabelhalterung

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 IpAddress ermö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:

1
Menu → Setting → Advance Setting → Modbus

Das Menü Advanced Settings erfordert möglicherweise ein Installateur-Passwort. Überprüfen oder setzen Sie Folgendes:

ParameterTapHome-Vorlagen-StandardWechselrichter-StandardBereich
Modbus-Adresse (Slave-ID)111–255
Baudrate19200192009600 / 19200 / 38400 / 57600 / 115200
ParitätNoneNoneNone / Odd / Even
Datenbits88
Stoppbits111 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:

ParameterZweck
IpAddressIP-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.
SlaveIdModbus-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, Register A: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 2014 in SH: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:0x0040A: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
  1. Ü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
  2. Prüfen Sie, dass die Baudrate zwischen Wechselrichter (Menu → Setting → Advance Setting → Modbus) und TapHome-Modul übereinstimmt — beide müssen standardmäßig 19200 sein
  3. Bestätigen Sie, dass die Slave-ID übereinstimmt (Standard 1)
  4. Überprüfen Sie, dass nur ein Modbus-Master am RS-485-Bus angeschlossen ist — Modbus unterstützt keinen Multi-Master
  5. Tauschen Sie die A- und B-Adern, falls die Kabelpolarität unsicher ist
  6. 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.

Verfügbare Geräte

SolaX X3 Hybrid Ultra Modul
Serviceattribute
BetriebsmodusBetriebszustand des Wechselrichters — Waiting, Checking, Normal, Fault, Permanent Fault, Update, Off-grid waiting, Off-grid, Self Testing, Idle, Standby
ModellModellcode des Wechselrichters als 4-Zeichen-ASCII-String (H3BC = 15K/15KP, H3BD = 19,9K/20K/20KP, H3BF = 25K, H3BG = 30K)
Serviceaktionen
Admin entsperrenSchreibt die Konstante 2014 in das Register SH:0x0000, um die erweiterten Wechselrichter-Einstellungen zu entsperren — selten erforderlich, nur zur Diagnose

FVE SOLAX Hybrid Ultra

Lesen (Modul)
var reg := MODBUSR(A, 0x09, UInt16);
IF(reg = 3, ADDERROR("Run Mode Fault"));
IF(reg = 4, ADDERROR("Run Mode Permanent Fault"));
#error table  2-3 for x3
var x3 := MODBUSR(A, 0x0040, Uint32);
IF(GETBIT(x3, 0) = 1, ADDERROR("TZ Protect Fault"));
IF(GETBIT(x3, 1) = 1, ADDERROR("Grid Lost Fault"));
IF(GETBIT(x3, 2) = 1, ADDERROR("Grid Volt Fault"));
IF(GETBIT(x3, 3) = 1, ADDERROR("Grid Freq Fault"));
IF(GETBIT(x3, 4) = 1, ADDERROR("PV Volt Fault"));
IF(GETBIT(x3, 5) = 1, ADDERROR("Bus Volt Fault"));
IF(GETBIT(x3, 6) = 1, ADDERROR("Bat Volt Fault"));
IF(GETBIT(x3, 7) = 1, ADDERROR("AC10mins Volt Fault"));
IF(GETBIT(x3, 8) = 1, ADDERROR("DCI OCP Fault"));
IF(GETBIT(x3, 9) = 1, ADDERROR("DCV OCP Fault"));
IF(GETBIT(x3, 10) = 1, ADDERROR("SW OCP Fault"));
IF(GETBIT(x3, 11) = 1, ADDERROR("RC OCP Fault"));
IF(GETBIT(x3, 12) = 1, ADDERROR("Isolation Fault"));
IF(GETBIT(x3, 13) = 1, ADDERROR("Temp Over Fault"));
IF(GETBIT(x3, 14) = 1, ADDERROR("BatConnDir Fault"));
IF(GETBIT(x3, 15) = 1, ADDERROR("Off-grid Overload"));
IF(GETBIT(x3, 16) = 1, ADDERROR("Overload"));
IF(GETBIT(x3, 17) = 1, ADDERROR("Bat Power Low"));
IF(GETBIT(x3, 18) = 1, ADDERROR("BMS Lost"));
IF(GETBIT(x3, 19) = 1, ADDERROR("Fan Fault"));
IF(GETBIT(x3, 20) = 1, ADDERROR("Low Temp Fault"));
IF(GETBIT(x3, 23) = 1, ADDERROR("INV Volt Sample Fault"));
IF(GETBIT(x3, 24) = 1, ADDERROR("Inner Comm Fault"));
IF(GETBIT(x3, 25) = 1, ADDERROR("INV EEPROM Fault"));
IF(GETBIT(x3, 26) = 1, ADDERROR("RCD Fault"));
IF(GETBIT(x3, 27) = 1, ADDERROR("Grid Relay Fault"));
IF(GETBIT(x3, 28) = 1, ADDERROR("Off-grid Relay Fault"));
IF(GETBIT(x3, 29) = 1, ADDERROR("PV ConnDir Fault"));
IF(GETBIT(x3, 30) = 1, ADDERROR("Charger Relay Fault"));
IF(GETBIT(x3, 31) = 1, ADDERROR("Earth Relay Fault"));

#error 2-5 Manager error code
var err := MODBUSR(A, 0x0043, Uint16);
IF(GETBIT(err, 0) = 1, ADDERROR("Power Type Fault"));
IF(GETBIT(err, 1) = 1, ADDERROR("Port OC Warning"));
IF(GETBIT(err, 2) = 1, ADDERROR("Mgr EEPROM Fault"));
IF(GETBIT(err, 4) = 1, ADDERROR("NTC Sample Invalid"));
IF(GETBIT(err, 5) = 1, ADDERROR("Battery Temperature Low"));
IF(GETBIT(err, 6) = 1, ADDERROR("Battery Temperature High"));
IF(GETBIT(err, 9) = 1, ADDERROR("Meter Fault"));
IF(GETBIT(err, 10) = 1, ADDERROR("Bypass Relay Fault"));
IF(GETBIT(err, 11) = 1, ADDERROR("Fan 2 Fault"));
Serviceattribute
Run Mode
SWITCH(MODBUSR(A, 0x09, UInt16), 
0, "Waiting",
1, "Checking",
2, "Normal",
3, "Fault",
4, "Permanent Fault",
5, "Update",
6, "Off-grid waiting",
7, "Off-grid",
8, "Self Testing ",
9, "Idle",
10, "Standby",
"Other"
);
Model
MODBUSR(H, 14, String, 4)
Serviceaktionen
Unlock admin
MODBUSW(SH, 0x0000, Uint16, 2014);
Batterie 1 SOC Analogeingang Nur lesen

Ladezustand der primären Batterie in Prozent (0–100 %), in TapHome als Analogeingang 0–1 angezeigt

Register: A:0x001C UInt16 Einheit: % numeric

Batterie 1 SOC

Eingangslevel lesen
MODBUSR(A, 0x1C, UInt16)/100
Batterie 2 SOC Analogeingang Nur lesen

Ladezustand der zweiten Batterie in Prozent — nur bei der Doppelbatterie-Variante X3-ULT-30K funktionsfähig; andere Modelle liefern 0

Register: A:0x012D UInt16 Einheit: % numeric

Batterie 2 SOC

Eingangslevel lesen
MODBUSR(A, 0x012D, Uint16) / 100
Gesamt erzeugte Energie Variable Nur lesen

Kumulative Gesamtenergie, die vom AC-Port des Wechselrichters ins Netz eingespeist wurde, in kWh

Register: A:0x0052 LittleEndianInt32 Einheit: kWh numeric

Gesamt erzeugte Energie

Lesen
MODBUSR(A, 0x52,LittleEndianInt32) / 10
Tages-/Aktuelle Wechselrichter-Erzeugung Stromzähler Nur lesen

Stromzähler, der die heutige ins Netz eingespeiste Energie (kWh) und die aktuelle Netzleistung (kW) kombiniert; positive Netzleistung bedeutet Einspeisung durch den Wechselrichter

Register: A:0x0050, A:0x0002 UInt16, Int16 Einheit: kWh / kW numeric

Tages-/Aktuelle Wechselrichter-Erzeugung

Gesamtverbrauch lesen
MODBUSR(A, 0x50, UInt16) /10
Bedarf lesen
MODBUSR(A,0x02, Int16)/1000
Netzeinspeisung (Zähler) Variable Nur lesen

Echtzeit-Netzleistung gemessen vom externen SolaX-Zähler oder CT-Wandler; positive Werte sind Einspeisung, negative Werte sind Bezug

Register: A:0x0046 LittleEndianInt32 Einheit: kW numeric

Netzeinspeisung (Zähler)

Lesen
MODBUSR(A,0x0046, Int32)/1000
Netzfrequenz L1 Variable Nur lesen
Register: A:0x006D Int16 Einheit: Hz numeric

Netzfrequenz L1

Lesen
MODBUSR(A, 0x006D, Int16)/100
Netzfrequenz L2 Variable Nur lesen
Register: A:0x0071 Int16 Einheit: Hz numeric

Netzfrequenz L2

Lesen
MODBUSR(A,0x0071, Int16)/100
Netzfrequenz L3 Variable Nur lesen
Register: A:0x0075 Int16 Einheit: Hz numeric

Netzfrequenz L3

Lesen
MODBUSR(A,0x0075, Int16)/100
Lademodus Mehrwertschalter

Betriebsmodus des Batterieladers — Self Use, Feed-in Priority, Backup oder Manual. Schreibvorgang ist EEprom-basiert: nicht häufig aus Automatisierungen ändern

Register: H:0x008BSH:0x001F UInt16 numeric
Werte / Zustände: ON · OFF

Lademodus

Schaltzustand lesen
MODBUSR(H, 0x008B, Uint16)
Schaltzustand schreiben
MODBUSW(SH, 0x001F, uint16, Mu)
Netzspannung L1 Variable Nur lesen
Register: A:0x006A Int16 Einheit: V numeric

Netzspannung L1

Lesen
MODBUSR(A,0x006A, Int16)/10
Netzspannung L2 Variable Nur lesen
Register: A:0x006E Int16 Einheit: V numeric

Netzspannung L2

Lesen
MODBUSR(A, 0x006E, Int16)/10
Netzspannung L3 Variable Nur lesen
Register: A:0x0072 Int16 Einheit: V numeric

Netzspannung L3

Lesen
MODBUSR(A,0x0072, Int16)/10
Netz-Bezug / -Einspeisung Variable Nur lesen

Echtzeit-Netzeinspeisung / -bezug vom externen Zähler; positive Werte sind Einspeisung, negative Werte sind Bezug. Liest dasselbe Register wie die Netzeinspeisung

Register: A:0x0046 LittleEndianInt32 Einheit: kW numeric

Netz-Bezug / -Einspeisung

Lesen
MODBUSR(A, 0x46,LittleEndianInt32)/1000
PV1-Leistung (Ost) Variable Nur lesen

DC-Leistung des PV-Strangs 1, typischerweise das ostorientierte Feld in der ursprünglichen slowakischen Vorlagenbenennung

Register: A:0x000A UInt16 Einheit: kW numeric

PV1-Leistung (Ost)

Lesen
MODBUSR(A,0x0a, UInt16)/1000
PV2-Leistung (Ost) Variable Nur lesen

DC-Leistung des PV-Strangs 2, typischerweise das ostorientierte Feld in der ursprünglichen slowakischen Vorlagenbenennung

Register: A:0x000B UInt16 Einheit: kW numeric

PV2-Leistung (Ost)

Lesen
MODBUSR(A,0x0b, UInt16)/1000
PV3-Leistung (West) Variable Nur lesen

DC-Leistung des PV-Strangs 3 — nur bei der 3-MPPT-Variante X3-ULT-30K funktionsfähig; andere Modelle liefern 0

Register: A:0x0124 UInt16 Einheit: kW numeric

PV3-Leistung (West)

Lesen
MODBUSR(A, 0x0124, Uint16)/1000
Nachtladungs-SOC (Eigenverbrauch) Dimmer

Oberer SOC-Zielwert (10–100 %) für die Nachtladung der Batterie aus dem Netz im Eigenverbrauchsmodus. Schreibvorgang ist EEprom-basiert: nicht häufig aus Automatisierungen ändern

Register: H:0x0094SH:0x0063 UInt16 Einheit: % numeric

Nachtladungs-SOC (Eigenverbrauch)

Level lesen
MODBUSR(H, 0x0094, Uint16) / 100
Level schreiben
MODBUSW(SH, 0x0063,  Uint16, Le * 100)
Batterietemperatur Temperatursensor Nur lesen
Register: A:0x0018 UInt16 Einheit: °C numeric

Batterietemperatur

Temperatur lesen
MODBUSR(A,0x0018, UInt16)
Max. Einspeiseleistungs-Grenze Variable

Maximal zulässige Einspeiseleistung ins Netz in Prozent der Nennleistung (10–100 %). Schreibvorgang ist EEprom-basiert: nicht häufig aus Automatisierungen ändern

Register: H:0x00B6SH:0x0042 UInt16 Einheit: % numeric

Max. Einspeiseleistungs-Grenze

Lesen
MODBUSR(H, 0x00B6, Uint16)/100
Schreiben
MODBUSW(SH, 0x0042, Uint16, Va*100)
Verbindung: Modbus RTU • 19200 baud• 8N1 • Slave ID: $[SlaveId]
Mögliche Verbesserungen (40)
  • A:0x0017 BMS Connect State — 0=Disconnected, 1=Connected. Critical for battery health monitoring
  • A:0x001A Grid Status — 0=On-grid, 1=Off-grid. Important for backup/off-grid scenarios
  • A:0x0014, A:0x0015, A:0x0016 Battery Voltage / Current / Power — Battery 1 pack telemetry: 0.1V int16, 0.1A int16, 1W int16. Positive current/power = charge, negative = discharge
  • A:0x0127, A:0x0128, A:0x0129 Battery 2 Voltage / Current / Power — Battery 2 pack telemetry. X3-ULT-30K only
  • A:0x0131 Battery 2 Temperature — 1°C, int16. Battery 2 temperature. X3-ULT-30K only
  • A:0x0008 Radiator Temperature — 1°C, int16. Inverter internal radiator/heatsink temperature
  • A:0x0003, A:0x0004 PV1 / PV2 Voltage — 0.1V, uint16. Useful for string-level diagnostics
  • A:0x0005, A:0x0006 PV1 / PV2 Current — 0.1A, uint16. Useful for string-level diagnostics
  • A:0x0122, A:0x0123 PV3 Voltage / Current — 0.1V uint16 / 0.1A uint16. X3-ULT-30K only
  • A:0x006B, A:0x006F, A:0x0073 Per-Phase Grid Current L1/L2/L3 — 0.1A, int16 each. Per-phase current for 3-phase monitoring
  • A:0x006C, A:0x0070, A:0x0074 Per-Phase Grid Power L1/L2/L3 — 1W, int16 each. Per-phase grid power — essential for 3-phase load balancing
  • A:0x0082–0x0087 Per-Phase Feed-in Power L1/L2/L3 (Meter) — 1W, int32 LE × 3 phases. Per-phase feed-in from meter/CT
  • A:0x0048–0x0049 Feed-in Energy Total (Meter) — 0.01kWh, uint32 LE. Lifetime energy exported via meter
  • A:0x004A–0x004B Consumed Energy Total (Meter) — 0.01kWh, uint32 LE. Lifetime energy consumed from grid via meter
  • A:0x0094–0x0095 Solar Energy Total — 0.1kWh, uint32 LE. Cumulative PV production (all strings combined)
  • A:0x0096 Solar Energy Today — 0.1kWh, uint16. Today's PV production
  • A:0x0091, A:0x0092–0x0093 Charged Energy Today / Total — 0.1kWh, uint16 / uint32 LE. Energy charged to battery via inverter AC port
  • A:0x001D–0x001E, A:0x0020 Battery Discharge Energy Today / Total — 0.1kWh, uint32 LE / uint16. Battery discharge energy
  • A:0x0021–0x0022, A:0x0023 Battery Charge Energy Today / Total — 0.1kWh, uint32 LE / uint16. Battery charge energy
  • A:0x00BA, A:0x00BB Battery Temp High / Low — 0.1°C, int16. Min/max battery cell temperatures
  • A:0x00BC, A:0x00BD Cell Voltage High / Low — 0.001V, uint16. Min/max individual cell voltages — important for battery health
  • A:0x00BE, A:0x00BF BMS User SOC / SOH — 1%, uint16. SOC and state-of-health as reported by BMS (may differ from A:0x001C)
  • A:0x00B8, A:0x00B9 Meter 1 / Meter 2 Communication State — 0=Com Error, 1=Normal. Diagnostic for meter/CT connectivity
  • A:0x0019 BDC Status — 0=discharge, 1=charge, 2=stop. Battery DC converter status
  • A:0x008E–0x008F, A:0x0090 Off-grid Yield Total / Today — 0.1kWh, uint32 LE / uint16. Energy delivered in off-grid mode
  • A:0x0088–0x008B On-grid / Off-grid Running Time — 0.1h, uint32 LE each. Lifetime runtime counters
  • A:0x012F–0x0130 Inverter Total AC Power — 1W, int32. Sum of all 3 phases AC output. X3-ULT-30K only
  • A:0x0042 Manager Error Code (as Value) — Note: register A:0x0043 is parsed in module readscript for bit-level fault decoding (11 manager fault bits). V3.29 protocol places Manager error at A:0x0042 and BMS error at A:0x0043 — template uses A:0x0043 as 'Manager error code' which may actually be BMS Warning Code (Table 2-6). Potential mismatch — verify
  • Write SH:0x0020 Manual Mode — 0=Stop charge & discharge, 1=Force charge, 2=Force discharge. Requires Charger Use Mode = 3 (Manual)
  • Write SH:0x0061 Self-Use Discharge Min SOC — 10–100%. Minimum SOC before discharge stops in Self-Use mode
  • Write SH:0x0062 Self-Use Night Charge Enable — 0=Disable, 1=Enable night charging from grid. Currently always-on assumption in template — explicit enable would allow user toggle
  • H:0x0093 Self-Use Discharge Min SOC (Read) — Readback of discharge min SOC limit
  • H:0x008C Manual Mode Readback — 0=Stop, 1=Force charge, 2=Force discharge. Readback of current manual sub-mode
  • H:0x008D Battery Type — 0=Lead Acid, 1=Lithium. Battery chemistry diagnostic
  • H:0x0100–0x011F Modbus Power Control (Remote) — Active/reactive power targets, SOC targets, time-of-duration. Enables advanced energy management and grid services (peak shaving, FCR, etc.)
  • A:0x0120, A:0x0121 BMS Relay State / Restart Flag — 0/1 each. BMS relay status and restart indicator
  • H:0x001D Safety Code (Country Standard) — 0–39 enum. Grid safety standard (VDE0126, VDE4105, AS4777, G98/G99, EN50549, etc.) — useful for installation diagnostics
  • H:0x0023 Power Limits Percent — 0–100%, uint16. Inverter output power limit
  • H:0x00BA Inverter Power Type — Model variant code (15K/20K/25K/30K). Useful for runtime model detection
  • H:0x0000–0x0006 Inverter Serial Number — 14-character ASCII string across 7 registers. Service attribute candidate

Quellen

Haben Sie ein Problem mit dieser Gerätevorlage gefunden?

Sagen Sie uns, was nicht funktioniert, was fehlt oder wie sich die Vorlage verhalten sollte. Ihr Feedback hilft uns, den Katalog genau zu halten.

Von TapHome verifiziert

Möchtest du das in deinem TapHome Core verwenden?

Öffne diese Vorlage im Kundenportal, um sie auf eine deiner Wohnungen anzuwenden, oder entwirf eine Anpassung und reiche sie an den Katalog ein.

Im Portal öffnen