---
title: "SolaX Hybrid X1/X3 Gen 4"
description: "Integration der SolaX X1-HYBRID und X3-HYBRID Gen 4 Energiespeicher-Wechselrichter über Modbus RTU per RS-485."
url: "https://taphome.com/de/compatibility/solax-hybrid-x3-gen-4/"
language: de
lastmod: 2026-10-14
generator: hugo
ai:
  topics: ["modbus-rtu","inverter","rs485","solar","battery-storage","3-phase","energy-monitoring"]
  questions: ["Wie integriert man den SolaX Hybrid X3 Gen 4 Wechselrichter mit TapHome?","Was überwacht die SolaX Hybrid Gen 4 TapHome-Vorlage?","Wie verbindet man den SolaX Wechselrichter über RS-485 mit TapHome?","Wie konfiguriert man die Modbus RTU Baudrate am SolaX Gen 4 Wechselrichter?","Welche Fehlercodes erkennt die SolaX Gen 4 TapHome-Vorlage?","Kann TapHome den SolaX Lademodus steuern oder nur überwachen?"]
---

# SolaX Hybrid X1/X3 Gen 4

Kommunikation: Modbus RTU

- [Offizielle SolaX Power Website](https://www.solaxpower.com)

## Integrationsanleitung

Die SolaX X1-HYBRID und X3-HYBRID Gen 4 sind Energiespeicher-Wechselrichter, die sowohl einphasige (3--7,5 kW) als auch dreiphasige (5--15 kW) Konfigurationen unterstützen. Die TapHome-Vorlage kommuniziert über Modbus RTU per RS-485 und liest Eingangs- und Holding-Register für den Batterieladezustand, PV-String-Leistung, Netzleistungsfluss, Energiemengen, Lademodus und SOC für Nachtladung. Alle Schreibskripte sind auskommentiert, sodass die Vorlage effektiv schreibgeschützt ist.

Die Vorlage implementiert außerdem eine umfassende Fehlererkennung durch Analyse von 32-Bit-Wechselrichter-Fehlercodes und 16-Bit-Manager-Fehlercodes, die als Fehler in TapHome gemeldet werden.

## Hardwareanschluss

Der SolaX Gen 4 Wechselrichter bietet einen RS-485 COM-Port für die Modbus RTU-Kommunikation an der Unterseite. Der COM-Port verwendet einen RJ45-Stecker.

![SolaX X3-HYBRID G4 Unterseite — Anschlusslayout mit COM, BMS, Meter/CT, PV, BAT und GRID Anschlüssen](https://taphome.com/images/compatibility/solax-hybrid-x3-gen-4/system-overview_hu_369f8976dd0be2fb.jpg)

Pin-Belegung des COM-Anschlusses (RJ45):

| Pin | Belegung | Beschreibung |
|-----|----------|-------------|
| 1 | Drycontact_A(in) | Systemschalter-Anschluss |
| 2 | Drycontact_B(in) | Systemschalter-Anschluss |
| 3 | +13V | — |
| 4 | **485A** | RS-485 Data+ (für TapHome) |
| 5 | **485B** | RS-485 Data− (für TapHome) |
| 6 | GND | Masse |
| 7 | Drycontact_A(out) | Generator-Anschluss |
| 8 | Drycontact_B(out) | Generator-Anschluss |

Verbinden Sie TapHome mit dem COM-Port des Wechselrichters:

- **Pin 4 (485A)** am COM-Port des Wechselrichters zu **A+/D+** am TapHome RS-485
- **Pin 5 (485B)** am COM-Port des Wechselrichters zu **B-/D-** am TapHome RS-485
- **Pin 6 (GND)** — empfohlen für zuverlässige Kommunikation

> [!WARNING]
> Der Wechselrichter selbst unterstützt Modbus TCP nicht nativ. Modbus TCP ist nur über das SolaX-Überwachungsmodul (WLAN-Dongle) verfügbar und wird von der TapHome-Vorlage nicht verwendet.

> [!TIP]
> Für Installationen, bei denen eine RS-485-Verkabelung nicht praktikabel ist, bietet das Template [SolaX Inverter (Cloud API)](https://taphome.com/de/compatibility/solax-inverter/) Überwachung über die SolaxCloud-Plattform per HTTPS — ohne physische Verbindung. Es unterstützt alle SolaX-Wechselrichtertypen, nicht nur den Gen 4 Hybrid.

> [!WARNING]
> Einige Holding-Register sind mit begrenzten EEprom-Schreibzyklen gekennzeichnet. Übermäßige Schreiboperationen können zu irreversiblen Hardwareschäden führen. Die TapHome-Vorlage hat alle Schreibskripte deaktiviert, daher ist dies bei der aktuellen Vorlage kein Problem.

## Konfiguration

### Modbus-Kommunikation aktivieren

Modbus RTU ist standardmäßig am RS-485 COM-Port des Wechselrichters verfügbar. Die folgenden Parameter müssen zwischen dem Wechselrichter und dem TapHome-Modul übereinstimmen:

1. **Slave ID** -- Standard ist 1, am Wechselrichter-Display konfigurierbar
2. **Baudrate** -- der Wechselrichter hat standardmäßig **19200 Baud**, die TapHome-Vorlage verwendet jedoch **9600 Baud**. Passen Sie einen der Werte an, damit beide übereinstimmen
3. **Datenformat** -- 8 Datenbits, keine Parität, 1 Stoppbit

Konfiguration am Wechselrichter-Display: **Menu > Setting > Advance Setting > Modbus**. Slave-Adresse und Baudrate einstellen. Die Baudrate kann auch aus dem Holding-Register H:0x00B0 gelesen und über Register 0x00CA geschrieben werden (Werte: 0=115200, 1=57600, 2=56000, 3=38400, 4=19200, 5=14400, 6=9600).

> [!TIP]
> Um die Wechselrichtereinstellungen nicht ändern zu müssen, passen Sie die Baudrate in den TapHome-Moduleinstellungen auf 19200 an, um dem Wechselrichter-Standard zu entsprechen.

### Kommunikationstiming

Das Protokoll erfordert ein Mindestintervall von **1 Sekunde** zwischen aufeinanderfolgenden Modbus-Anweisungen und einen Zeichen-Lücken-Timeout von mindestens 100 ms. Der Antwort-Timeout beträgt 1 Sekunde. Die TapHome-Vorlage verwendet individuelle Poll-Intervalle pro Gerät (2,5 s bis 150 s), die diese Anforderungen erfüllen.

### RS-485 COM-Port-Funktion

Register H:0x013E (485CommFunSelect) bestimmt, ob der RS-485-Port für die Modbus-Kommunikation (Wert 0) oder die EV-Lader-Kommunikation (Wert 1) verwendet wird. Stellen Sie sicher, dass dieser für die TapHome-Integration auf **0 (Modbus 485)** eingestellt ist.

## Gerätefunktionen

### Batterieüberwachung

- **Battery SOC** -- liest den Batterieladezustand (A:0x1C) als Prozentsatz. Der Rohregisterwert in 1%-Einheiten wird durch 100 geteilt für den TapHome 0--1 Analogeingang (z.B. 85% wird zu 0,85)
- **Battery Temperature** -- liest die Batterietemperatur (A:0x18) in Grad Celsius. Polling alle 80 Sekunden. Die offizielle Vorlage liest das Register als vorzeichenlos, daher werden Temperaturen unter 0 °C falsch angezeigt (siehe Bekannte Fehler in der offiziellen Vorlage unten)

### Solar-PV-Leistung

- **PV1 Power** -- DC-Leistungsausgang von PV-String 1 (A:0x0A), in kW angezeigt nach /1000-Umrechnung von Watt
- **PV2 Power** -- DC-Leistungsausgang von PV-String 2 (A:0x0B), in kW angezeigt nach /1000-Umrechnung von Watt

### Netzleistung und Energiemessung

- **Grid Feed-in Power** -- Momentanleistung des Netzes (A:0x46, LittleEndianInt32) in kW. Positive Werte zeigen Einspeisung ins Netz, negative Werte zeigen Entnahme aus dem Netz
- **Daily / Actual Energy** -- kombiniert in der offiziellen Vorlage den täglichen Energieertrag vom Wechselrichter AC-Port (A:0x50, ein Zähler, der jede Nacht zurückgesetzt wird) und die Netzleistung der einphasigen X1-Modelle (A:0x02). Beides ist für einen Energiezähler vom Typ PV-Produktion falsch — siehe Bekannte Fehler in der offiziellen Vorlage unten
- **Total Energy** -- kumulativer Gesamtenergieertrag vom Wechselrichter AC-Port (A:0x52). Das Register zählt in 0,1 kWh; die offizielle Vorlage teilt durch 1000, daher ist der Wert 100× zu klein (siehe Bekannte Fehler in der offiziellen Vorlage unten)

### Lademodus und Nachtladung

- **Charger Use Mode** -- liest den aktiven Solarlademodus (H:0x8B): Self Use Mode (0), Feedin Priority (1), Backup Mode (2) oder Manual Mode (3). Werte 4--9 sind reserviert. Das Schreibregister (H:0x1F) existiert in der Vorlage, ist aber auskommentiert, was es schreibgeschützt macht
- **Self-Use Night Charge SOC** -- liest den oberen SOC-Zielwert für die Nachtladung im Self-Use-Modus (H:0x94) als Prozentsatz. Das Schreibregister (H:0x63) und das Aktivierungsregister (H:0x62) sind beide auskommentiert, sodass die Nachtladekonfiguration nicht über TapHome geändert werden kann

### Fehlererkennung

Das ReadScript auf Modulebene überwacht den Betriebsmodus des Wechselrichters (A:0x09) und zwei Fehlerregister:

- **Run Mode** Fehler -- löst einen Fehler aus, wenn Run Mode 3 (Fault) oder 4 (Permanent Fault) ist
- **Wechselrichter-Fehlercodes** (A:0x40) -- 32-Bit-Bitmap (niederwertiges Wort zuerst) für 30 individuelle Fehler, einschließlich Netzspannungs-/Frequenzfehler, PV-Spannungsfehler, Batteriefehler, Isolationsfehler, Übertemperatur, Überstromschutz, Relaisfehler und Kommunikationsfehler
- **Manager-Fehlercodes** (A:0x43) -- 16-Bit-Bitmap für Leistungstyp-Fehler, EEPROM-Fehler, NTC-Sensorprobleme, Batterietemperaturwarnungen, Messgerätfehler und Lüfterfehler

Das Run Mode-Dienstattribut am Modul zeigt den aktuellen Wechselrichterstatus als Text an: Waiting, Checking, Normal, Fault, Permanent Fault, Update, Off-grid waiting, Off-grid, Self Testing, Idle oder Standby.

### Weitere Funktionen

Der Wechselrichter bietet eine umfangreiche Registerkarte mit über 300 Holding-Registern und 200 Eingangsregistern. Bemerkenswerte Funktionen, die noch nicht in der Vorlage implementiert sind, umfassen die Spannungs- und Stromüberwachung pro PV-String (A:0x03--0x06), Batteriespannungs-/Strom-/Leistungsmessungen, BMS-Verbindungsstatus, Netz-Ein/Aus-Status, X3 Netzspannung/-strom/-leistung pro Phase (12 Register bei A:0x6A--0x75), kumulierte Netzeinspeisung und -entnahme (über Zähler), gesamte Solarenergieerzeugung, BMS-Benutzer-SOC und -SOH sowie minimale/maximale Batteriezellentemperatur und -spannung. Schreibfunktionen umfassen System-Ein/Aus-Steuerung, Lademodusauswahl, manuelles Erzwingen von Laden/Entladen, minimaler Entlade-SOC, Nachtladekonfiguration und Fernleistungsregelung mit Wirk-/Blindleistungszielen. Diese können in einem zukünftigen Vorlagen-Update hinzugefügt werden.

> [!TIP]
> Die offizielle Vorlage liest die X1 (einphasige) Netzleistung bei A:0x02 als Leistung ihres Energiezählers. Die korrigierten Skripte unten lesen stattdessen die PV-Produktion, was bei X1- und X3-Modellen gleichermaßen funktioniert.

## Bekannte Fehler in der offiziellen Vorlage

Die offizielle TapHome-Vorlage für diesen Wechselrichter liest mehrere Register falsch (geprüft anhand des SolaX-Modbus-Protokolls V3.21 und V001.02 sowie anhand von Werten in installierten Anlagen). Ein aus der offiziellen Vorlage importiertes Modul **aktualisiert sich nicht selbst**, wenn sich die Vorlage ändert. Korrigieren Sie entweder die Skripte des bestehenden Moduls und seiner Geräte von Hand, oder importieren Sie die korrigierte Community-Vorlage aus dem TapHome-Portal: [SolaX X1/X3-Hybrid G4 — corrected monitoring](https://portal.taphome.com/portal/community/solax-x3-hybrid-gen4-corrected-modbus-rtu) (melden Sie sich an, laden Sie die XML-Datei herunter und importieren Sie sie als neues Modul).

**[SolaX X1/X3-Hybrid G4 — corrected monitoring (Modbus RTU)](https://portal.taphome.com/de/portal/community/solax-x3-hybrid-gen4-corrected-modbus-rtu)** — SolaX, Modbus RTU. SolaX X1/X3-Hybrid G4 over Modbus RTU — the official Gen4 template with corrected readings (fault codes, total energy, PV meter, battery temperature); writes stay disabled.

| Wo | Offizielles Skript | Korrigiertes Skript | Auswirkung des Fehlers |
|----|--------------------|---------------------|------------------------|
| Modul — ReadScript | `var x3 := MODBUSR(A, 0x0040, Uint32);` | `var x3 := MODBUSR(A, 0x0040, LittleEndianUint32);` | Die beiden Hälften des 32-Bit-Fehlercodes sind vertauscht: ein Fehler in Bit 1 (Grid Lost Fault) wird als Bit 17 (Bat Power Low) gemeldet |
| Total Energy | `MODBUSR(A, 0x52, LittleEndianInt32) / 1000` | `MODBUSR(A, 0x0052, LittleEndianUint32) / 10` | Wert 100× zu klein (das Register zählt in 0,1 kWh) |
| Daily / Actual Energy — Gesamtverbrauch | `MODBUSR(A, 0x50, UInt16) /10` | `MODBUSR(A, 0x0094, LittleEndianUint32) / 10` | 0x0050 ist ein Tageszähler, der jede Nacht auf 0 fällt; 0x0094 ist die gesamte PV-Energie |
| Daily / Actual Energy — Nachfrage | `MODBUSR(A,0x02, Int16)/1000` | `(MODBUSR(A, 0x000A, UInt16) + MODBUSR(A, 0x000B, UInt16)) / 1000` | 0x0002 ist die Netzleistung der einphasigen X1-Modelle, nicht die PV-Produktion; auf vielen X3-Geräten liest es 0 |
| Battery Temperature | `MODBUSR(A,0x0018, UInt16)` | `MODBUSR(A, 0x0018, Int16)` | Unter 0 °C zeigt die offizielle Vorlage etwa 65535 °C |
| Schnittstellengeschwindigkeit | 9600 Baud | 19200 Baud | 19200 ist die SolaX-Werkseinstellung |

Mit den korrigierten Skripten misst Daily / Actual Energy die PV-Produktion (PV1 + PV2) — genau das, was sein Energietyp im Energy Dashboard erwartet. Die korrigierte Community-Vorlage lässt wie die offizielle alle Schreibvorgänge deaktiviert.

## Fehlerbehebung

### Keine Kommunikation mit dem Wechselrichter

1. Überprüfen Sie die RS-485-Kabelverbindungen: A+ zu A+, B- zu B-, GND zu GND
2. Prüfen Sie, ob Register H:0x013E auf 0 eingestellt ist (Modbus 485-Modus, nicht EV-Lader)
3. Bestätigen Sie, dass die Baudrate zwischen Wechselrichter und TapHome übereinstimmt -- der Wechselrichter hat standardmäßig 19200, die Vorlage standardmäßig 9600
4. Überprüfen Sie, ob die Slave ID in TapHome mit der Wechselrichtereinstellung übereinstimmt (Standard: 1)
5. Stellen Sie sicher, dass kein anderer Modbus-Master an demselben RS-485-Bus angeschlossen ist -- Modbus unterstützt nur einen einzigen Master

### Falsche Battery SOC-Anzeige

Das Battery SOC-Register (A:0x1C) meldet Werte in 1%-Einheiten. Die Vorlage teilt durch 100 für den TapHome 0--1 Analogeingang. Wenn der angezeigte Wert falsch erscheint, überprüfen Sie, ob das TapHome-Gerät als AnalogInput (Bereich 0--1, nicht 0--100) konfiguriert ist.

### Vorzeichenkonvention der Netzleistung

Grid Feed-in Power (A:0x46) verwendet eine Vorzeichenkonvention, bei der positive Werte den Export (Erzeugung/Einspeisung ins Netz) und negative Werte den Import (Entnahme aus dem Netz) bedeuten. Das Netzleistungsregister Daily/Actual Energy (A:0x02) kann bei Netzentnahme ebenfalls negative Werte anzeigen.

### Registerunterschiede X1 vs X3

Einige Register sind modellspezifisch. Netzspannung (A:0x00), Strom (A:0x01) und Leistung (A:0x02) sind X1-Einphasenregister. Für dreiphasige X3-Modelle befinden sich die entsprechenden phasenweisen Messwerte bei A:0x6A--0x75. Die Vorlage verwendet das X1-Netzleistungsregister, das bei X3-Modellen möglicherweise nicht korrekt meldet.

## Verfügbare Geräte 9

Diese Geräte erscheinen nach dem Import in TapHome.

SolaX Hybrid Gen 4 Modul

Serviceattribute

|               |                                                                                                                                                          |
|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|
| Betriebsmodus | Betriebszustand des Wechselrichters — Waiting, Checking, Normal, Fault, Permanent Fault, Update, Off-grid waiting, Off-grid, Self Testing, Idle, Standby |

Lesen (Modul)

```taphome
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

```taphome
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"
);
```

Batterie-SOC Analogeingang Nur lesen

Batterieladezustand in Prozent (0–100 %) — in TapHome als Analogeingang 0–1 angezeigt

Register: A:0x1C UInt16 Einheit: % numeric

Eingangslevel lesen

```taphome
MODBUSR(A, 0x1C, UInt16)/100
```

Batterietemperatur Temperatursensor Nur lesen

Register: A:0x18 UInt16 Einheit: °C numeric

Temperatur lesen

```taphome
MODBUSR(A,0x0018, UInt16)
```

Tagesertrag / Aktuelle Energie Stromzähler Nur lesen

Offizielle Vorlage: täglicher Wechselrichterertrag (0x0050, wird jede Nacht zurückgesetzt) und Netzleistung der X1-Modelle (0x0002) — beides falsch für einen PV-Produktionszähler; die korrigierten Skripte lesen die Leistung PV1 + PV2 und die gesamte PV-Energie (0x0094)

Register: A:0x50, A:0x02 UInt16, Int16 Einheit: kWh / kW numeric

Gesamtverbrauch lesen

```taphome
MODBUSR(A, 0x50, UInt16) /10
```

Bedarf lesen

```taphome
MODBUSR(A,0x02, Int16)/1000
```

Lademodus Mehrwertschalter Nur lesen

Aktiver Solarlademodus — Self Use, Feedin Priority, Backup oder Manual (schreibgeschützt)

Register: H:0x8B → H:0x1F UInt16 numeric

Werte / Zustände: Self Use Mode · Feedin Priority · Backup Mode · Manual Mode

Schaltzustand lesen

```taphome
MODBUSR(H, 0x008B, Uint16)
```

Schaltzustand schreiben

```taphome
#MODBUSW(H, 0x001F, uint16, Mu)
```

Netzeinspeisung Variable Nur lesen

Momentane Netzleistung in kW — positive Werte = Einspeisung, negative Werte = Bezug

Register: A:0x46 LittleEndianInt32 Einheit: kW numeric

Lesen

```taphome
MODBUSR(A, 0x46,LittleEndianInt32)/1000
```

PV1-Leistung Variable Nur lesen

Register: A:0x0A UInt16 Einheit: kW numeric

Lesen

```taphome
MODBUSR(A,0x0a, UInt16)/1000
```

PV2-Leistung Variable Nur lesen

Register: A:0x0B UInt16 Einheit: kW numeric

Lesen

```taphome
MODBUSR(A,0x0b, UInt16)/1000
```

Nachtladungs-SOC (Eigenverbrauch) Dimmer Nur lesen

Oberer SOC-Zielwert für die Nachtladung im Eigenverbrauchsmodus (schreibgeschützt, 10–100 %)

Register: H:0x94 → H:0x63 UInt16 Einheit: % numeric

Initialisierung

```taphome
#MODBUSWNE(H, 0x0062, Uint16, 1);
```

Level lesen

```taphome
MODBUSR(H, 0x0094, Uint16) / 100
```

Level schreiben

```taphome
#MODBUSW(H, 0x0063, Uint16, Le * 100)
```

Gesamtenergie Variable Nur lesen

Gesamtenergieertrag vom Wechselrichter AC-Port (0x0052, 0,1 kWh). Die offizielle Vorlage teilt durch 1000 — der Wert ist 100× zu klein; der richtige Divisor ist 10 (kWh)

Register: A:0x52 LittleEndianInt32 Einheit: kWh numeric

Lesen

```taphome
MODBUSR(A, 0x52,LittleEndianInt32) / 1000
```

**Verbindung:** Modbus RTU • 9600 baud• 8N1 • Slave ID: $\[SlaveId]

Mögliche Verbesserungen (25)

- A:0x00 Grid Voltage (X1) — 0.1V, UInt16. X3 per-phase voltages at A:0x6A/0x6E/0x72
- A:0x01 Grid Current (X1) — 0.1A, Int16. X3 per-phase currents at A:0x6B/0x6F/0x73
- A:0x03, A:0x04 PV Voltage 1 & 2 — 0.1V, UInt16. Useful for string-level diagnostics
- A:0x05, A:0x06 PV Current 1 & 2 — 0.1A, UInt16. Useful for string-level diagnostics
- A:0x08 Radiator Temperature — 1°C, Int16. Inverter internal radiator/heatsink temperature
- A:0x14 Battery Voltage — 0.1V, Int16. Battery pack voltage
- A:0x15 Battery Current — 0.1A, Int16. Positive=charge, negative=discharge
- A:0x16 Battery Power — 1W, Int16. Positive=charging, negative=discharging
- A:0x17 BMS Connect State — 0=Disconnected, 1=Connected. Critical for battery health monitoring
- A:0x1A Grid Status — 0=OnGrid, 1=OffGrid. Important for backup/off-grid scenarios
- A:0x48–0x49 Feed-in Energy Total (Meter) — 0.01kWh, UInt32 LE. Cumulative energy exported to grid via meter
- A:0x4A–0x4B Consumed Energy Total (Meter) — 0.01kWh, UInt32 LE. Cumulative energy consumed from grid via meter
- A:0x6A–0x75 X3 Per-Phase Grid Readings — Voltage/current/power/frequency per phase R/S/T. 12 registers total. Essential for 3-phase monitoring
- A:0x94–0x95 Solar Energy Total — 0.1kWh, UInt32 LE. Cumulative PV production (both strings combined)
- A:0x96 Solar Energy Today — 0.1kWh, UInt16. Today PV production
- A:0xBE BMS User SOC — 1%, UInt16. SOC as reported by BMS (may differ from A:0x1C)
- A:0xBF BMS User SOH — 1%, UInt16. Battery state of health
- Write 0x001C System ON/OFF — 0=OFF, 1=ON. Remote system power control
- Write 0x001F Charger Use Mode (write) — Write register exists in template but is COMMENTED OUT. 0=Self Use, 1=Feed-in, 2=Backup, 3=Manual
- Write 0x0020 Manual Mode — 0=Stop, 1=Force charge, 2=Force discharge. Requires Charger Use Mode = 3 (Manual)
- Write 0x0061 SelfUse Discharge Min SOC — 10%–100%. Minimum SOC before discharge stops in Self-Use mode
- H:0x8C Manual Mode Readback — 0=Stop, 1=Force charge, 2=Force discharge. Readback of current manual mode setting
- A:0xBA, A:0xBB Battery Temp High/Low — 0.1°C, Int16. Min/max battery cell temperatures
- A:0xBC, A:0xBD Cell Voltage High/Low — 0.001V, UInt16. Min/max individual cell voltages. Important for battery health
- Write 0x007C–0x0082 Remote Power Control — Active/reactive power targets, duration. Enables advanced energy management and grid services

## Importparameter

Diese Werte geben Sie beim Import des XML ein.

| In der App abgefragt | Standard      |
|----------------------|---------------|
| Slave-ID             | `1`           |
| IP-Adresse           | `192.168.1.0` |

## Quellen

- SolaX Hybrid X1/X3 Gen 4 — Modbus TCP & RTU Communication Protocol V3.21
  
  [www.gbc-solino.cz](https://www.gbc-solino.cz/files/uploads/FAQ%20SolaX/Hybrid-X1X3-G4-ModbusTCPRTU-V3.21-English_0622-public-version.pdf) 2026-03-28
  
  [PDF](https://taphome.com/compatibility/devices/solax-hybrid-x3-gen-4/manufacturer/Hybrid-X1X3-G4-ModbusTCPRTU-V3.21.pdf)
- SolaX X3-Hybrid G4 Series User Manual V7 (Installation & Wiring)
  
  [www.solaxpower.com](https://www.solaxpower.com/uploads/file/x3-hybrid-g4-series-user-manual-v7-en.pdf) 2026-03-28
  
  [PDF](https://taphome.com/compatibility/devices/solax-hybrid-x3-gen-4/manufacturer/x3-hybrid-g4-user-manual-v7.pdf)
- Home Assistant SolaX Modbus Integration — Gen4 Register Map
  
  [github.com](https://github.com/wills106/homeassistant-solax-modbus) 2026-03-28
- SolaX KB: How to Get Device Data by Modbus TCP
  
  [kb.solaxpower.com](https://kb.solaxpower.com/solution/detail/ff8080818407e2a701840a22dec20032) 2026-03-28

Herstellerdokumente sind © ihrer jeweiligen Eigentümer. Sie werden so bereitgestellt, wie der Hersteller sie veröffentlicht hat, nur zur Information.

## Verwandte Dokumentation

- [Modbus Integration](https://taphome.com/de/compatibility/modbus-guide/)
- [Modbus](https://taphome.com/de/docs/integration/modbus/)
- [Einfache Konfiguration mit Vorlagen](https://taphome.com/de/docs/integration/modbus/templates/)
- [Modbus-Skripte und Prefetch](https://taphome.com/de/docs/script/modbus-scripts/)
- [Modbus-Funktionen](https://taphome.com/de/docs/script/modbus/)
- [Modbus-Datentypen](https://taphome.com/de/docs/script/modbus-data-types/)

