---
title: "Victron Energy GX Wechselrichter"
description: "Victron Energy GX Geräte (Cerbo GX, Venus GX, CCGX) über Modbus TCP mit TapHome verbunden."
url: "https://taphome.com/de/compatibility/victron-energy-gx/"
language: de
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["modbus-tcp","inverter","energy-storage","ethernet","3-phase","ess"]
  questions: ["Wie integriert man Victron Energy GX mit TapHome?","Was überwacht und steuert die Victron-GX-Line-Inverter-TapHome-Vorlage?","Wie verbindet man Victron Cerbo GX über Modbus TCP mit TapHome?","Wie setzt man ESS-Leistungs-Sollwerte bei Victron über TapHome?","Was ist Slave ID 227 beim Victron GX?","Warum zeigt die Victron-GX-Vorlage falsche Leistungswerte an?"]
---

# Victron Energy GX Wechselrichter

Kommunikation: Modbus TCP

- [Offizielle Victron Energy Website](https://www.victronenergy.com/)

> Netzwerkadresse
> 
> TapHome erreicht dieses Gerät unter der beim Import eingegebenen Adresse. Geben Sie dem Gerät eine feste Adresse — eine IP-Reservierung im Router oder seinen mDNS-Namen, falls es einen unterstützt —, sonst funktioniert die Integration nicht mehr, sobald der Router die Adresse ändert.
> 
> [Netzwerkvorbereitung](https://taphome.com/de/docs/setup/network-preparation/)

## Integrationsanleitung

Die Victron GX Gerätefamilie (Cerbo GX, Cerbo GX MK2, Venus GX, CCGX) sind Kommunikations- und Überwachungsplattformen, die Modbus TCP-Zugriff auf angeschlossene Victron VE.Bus Wechselrichter/Ladegeräte (MultiPlus, Quattro) ermöglichen. Das GX-Gerät selbst ist kein Wechselrichter — es fungiert als Modbus TCP-Gateway zum VE.Bus-System.

TapHome verbindet sich mit dem GX-Gerät über Ethernet per Modbus TCP. Die Vorlage stellt SOC-Überwachung der Batterie, 3-phasige AC-Eingangs- und Ausgangsmessung, ESS-Leistungs-Sollwertsteuerung (Energy Storage System), Wechselrichtermodusumschaltung, PV-Wechselrichterverwaltung und umfassende Alarmüberwachung bereit.

## Netzwerkverbindung

Das GX-Gerät verbindet sich über den Ethernet-Port mit dem lokalen Netzwerk. TapHome Core und das GX-Gerät müssen sich im selben Subnetz befinden.

- **Protokoll:** Modbus TCP
- **Port:** 502
- **Standard Slave ID:** 227 (Cerbo GX VE.Bus-Port)
- **Funktionscodes:** 3 (ReadHoldingRegisters), 6 (WriteSingleRegister), 16 (WriteMultipleRegisters)

> [!NOTE]
> Die Standard-Slave-ID 227 gilt für den Cerbo GX VE.Bus-Port. Andere GX-Geräte verwenden unterschiedliche IDs: 246 für CCGX, 242 für Venus GX, 228 für EasySolar-II GX. Unit IDs werden seit Venus OS 2.60 dynamisch vergeben — die tatsächliche ID kann am GX-Gerät unter Einstellungen → Dienste → Modbus/TCP → Verfügbare Dienste überprüft werden.

## Konfiguration

### Modbus TCP aktivieren

Modbus TCP ist auf allen GX-Geräten **standardmäßig deaktiviert**. Aktivierung:

1. Am GX-Gerät zu **Einstellungen → Dienste** navigieren
2. **Modbus-TCP** aktivieren

Nach der Aktivierung lauscht das GX-Gerät auf TCP-Port 502.

### TapHome-Vorlage importieren

Beim Import der Vorlage in TapHome angeben:

- **IP-Adresse** — IP-Adresse des GX-Geräts im lokalen Netzwerk
- **Slave ID** — VE.Bus Unit ID (Standard: 227 für Cerbo GX)

> [!TIP]
> Weisen Sie dem GX-Gerät eine statische IP-Adresse in den DHCP-Einstellungen des Routers zu, oder konfigurieren Sie eine statische IP direkt am GX-Gerät unter Einstellungen → Ethernet, damit sich die Adresse nach einem Neustart nicht ändert.

## Gerätefunktionen

Die Vorlage stellt 10 Geräte bereit, aufgeteilt in Batterieüberwachung, AC-Messung, Modussteuerung und Schutzschalter.

### Batterieüberwachung

- **Batterie** — liest den VE.Bus-Ladezustand (SOC) aus Register H:30 als Dimmer-Pegel. Service-Attribute zeigen Batteriespannung (H:26), Batteriestrom mit Richtungsanzeige (H:27), Batterietemperatur (H:61), VE.Bus-Ladezustand (Aus, Niedrige Leistung, Fehler, Bulk, Absorption, Float, Speicher, Egalisierung, Passthru, Invertierung, Power Assist, Stromversorgung) und BMS-Lade-/Entladeberechtigungen (H:57–59). Das Readscript überwacht H:32 auf VE.Bus-Fehlercodes (1–26) und H:60 auf BMS-Fehler. Für die Systemwiederherstellung ist die Aktion VE.Bus Reset (H:62) verfügbar.

### AC-Eingangsmessung

Drei Stromzählergeräte überwachen die AC-Eingangsleistung pro Phase:

- **Eingangsleistung L1** — AC-Eingangsleistung Phase 1 aus H:12, mit Service-Attributen für Spannung (H:3), Strom (H:6), Frequenz (H:9) und ESS-Leistungs-Sollwert (H:37). Der ESS-Sollwert ist über eine Service-Aktion schreibbar.
- **Eingangsleistung L2** — AC-Eingangsleistung Phase 2 aus H:13, mit entsprechenden L2-Attributen und ESS-Sollwert L2 (H:40).
- **Eingangsleistung L3** — AC-Eingangsleistung Phase 3 aus H:14, mit entsprechenden L3-Attributen und ESS-Sollwert L3 (H:41).

Jedes Eingangsleistungsgerät enthält eine ESS-Leistungs-Sollwert-Service-Aktion für die jeweilige Phase, damit TapHome das ESS-Lade-/Entladeverhalten pro Phase steuern kann.

### AC-Ausgangsmessung

Drei Stromzählergeräte überwachen die AC-Ausgangsleistung pro Phase:

- **Ausgangsleistung L1** — AC-Ausgang aus H:18, mit Service-Attributen für Spannung (H:15), Strom (H:18) und Frequenz (H:21). Das Readscript überwacht phasenweise Alarme für Temperatur (H:44), niedrige Batterie (H:45), Überlast (H:46) und Welligkeit (H:47).
- **Ausgangsleistung L2** — AC-Ausgang aus H:24, mit L2-Spannung (H:16), Strom (H:19) und Frequenz (H:21). Überwacht L2-Alarme (H:48–51).
- **Ausgangsleistung L3** — AC-Ausgang aus H:25, mit L3-Spannung (H:17), Strom (H:20) und Frequenz (H:21). Überwacht L3-Alarme (H:52–55).

### Eingangs-Stromgrenzensteuerung

- **Aktive Eingangs-Stromgrenze** — liest und schreibt die aktive Eingangs-Stromgrenze (H:22) in Ampere. Die Service-Aktion „Grenze setzen" akzeptiert einen Float-Wert (0–100 A).

### Schutzschalter

- **DC-Überspannung ins Netz einspeisen** — Umschalter (H:65) zur Steuerung, ob überschüssige Leistung aus DC-gekoppelter PV (die die DC-Spannung anhebt) ins Netz eingespeist wird. Service-Attribute zeigen maximale Überspannungseinspeisung pro Phase (H:66–68) und AC-Eingangs-Ignorierstatus (H:69–70). Eine Service-Aktion erlaubt die Einstellung der maximalen Einspeiseleistung pro Phase.
- **PV-Wechselrichter** — Umschalter (H:56) zum Aktivieren oder Deaktivieren der Frequenzverschiebung des PV-Wechselrichters am AC-Ausgang. Bei Aktivierung (Schalter AUS) arbeitet der PV-Wechselrichter am AC-Ausgang normal; bei Deaktivierung (Schalter EIN) begrenzt die Frequenzverschiebung den PV-Ausgang.

### Service-Attribute und -Aktionen auf Modulebene

Das Modul selbst stellt mehrere Service-Attribute bereit, die vom Gateway-Gerät in TapHome zugänglich sind:

| Attribut | Register | Beschreibung |
|----------|----------|--------------|
| Phasenanzahl | H:28 | Anzahl der AC-Phasen im VE.Bus-System |
| Schalterposition | H:33 | Wechselrichtermodus — Nur Ladegerät, Nur Wechselrichter, Ein, Aus |
| Aktiver Eingang | H:29 | Aktive AC-Eingangsquelle — AC-Eingang 1, AC-Eingang 2, Getrennt |
| ESS Laden deaktivieren | H:38 | Ladeflag — Laden aktiviert / Laden deaktiviert |
| ESS Einspeisung deaktivieren | H:39 | Einspeiseflag — Einspeisung aktiviert / Einspeisung deaktiviert |
| ESS Leistungs-Sollwert L1–L3 | H:37, H:40, H:41 | ESS-Leistungs-Sollwert pro Phase in Watt |

Service-Aktionen auf Modulebene ermöglichen die Umschaltung des Wechselrichtermodus (Nur Ladegerät, Nur Wechselrichter, Ein, Aus), das Umschalten des ESS-Ladeflags und das Umschalten des ESS-Einspeiseflags.

### Systemalarmüberwachung

Das Modul-Readscript überwacht 7 Systemalarme:

| Register | Alarm | Stufen |
|----------|-------|--------|
| H:34 | Temperaturalarm | 0=Ok, 1=Warnung, 2=Alarm |
| H:35 | Niedrige-Batterie-Alarm | 0=Ok, 1=Warnung, 2=Alarm |
| H:36 | Überlastalarm | 0=Ok, 1=Warnung, 2=Alarm |
| H:42 | Temperatursensor-Alarm | 0=Ok, 1=Warnung, 2=Alarm |
| H:43 | Spannungssensor-Alarm | 0=Ok, 1=Warnung, 2=Alarm |
| H:63 | Phasenfolgewarnung | 0=Ok, 1=Warnung |
| H:64 | Netzverlust-Alarm | 0=Ok, 1=Alarm |

### Weitere Funktionen

Der VE.Bus-Registersatz (H:3–H:231) bietet weitere Register über die aktuell implementierte Vorlage hinaus. Dazu gehören Energiezähler für AC-Eingangs-/Ausgangs-/Batterieflüsse (H:74–92, flüchtig — Reset beim Neustart), Ladezustandsaufzählung (H:95), 32-Bit-ESS-Leistungs-Sollwerte für größere Systeme (H:96–100), erweiterte ESS-Einstellungen wie Bevorzugung erneuerbarer Energie (H:102), PowerAssist-Konfiguration (H:106–108), UPS-Funktionssteuerung (H:109) und Microgrid-/Droop-Modus-Register (H:200–231). Diese können in einem zukünftigen Update zur TapHome-Vorlage hinzugefügt werden.

## Fehlerbehebung

### Keine Modbus-Kommunikation

1. Überprüfen, dass Modbus TCP am GX-Gerät aktiviert ist (Einstellungen → Dienste → Modbus-TCP)
2. IP-Adresse des GX-Geräts bestätigen — DHCP-Leasing-Tabelle des Routers oder Netzwerkeinstellungen des GX-Geräts prüfen
3. Sicherstellen, dass TapHome Core und GX-Gerät im selben Subnetz sind
4. Prüfen, dass keine Firewall TCP-Port 502 blockiert
5. Korrekte Unit ID verifizieren — Standard 227 gilt für Cerbo GX; andere GX-Modelle verwenden unterschiedliche IDs

### Falsche Leistungswerte

Die Vorlage verwendet einen `/100`-Skalierungsfaktor für Leistungsregister (H:12–14, H:23–25), während die Victron-Dokumentation einen Faktor 0,1 angibt (d. h. Rohwert × 10 = tatsächliche Watt). Dies kann zu Leistungswerten führen, die niedriger als erwartet sind. Wenn Leistungswerte falsch erscheinen, handelt es sich um einen bekannten Vorlagenunterschied — die relativen Messungen bleiben proportional korrekt.

### VE.Bus-Fehlercodes

Das Readscript des Batteriegeräts prüft Register H:32 auf VE.Bus-Fehlercodes. Häufige Fehler:

| Code | Beschreibung |
|------|--------------|
| 1 | Gerät ausgeschaltet, weil eine andere Phase ausgeschaltet hat |
| 5 | Überspannung am AC-Ausgang |
| 10 | Problem mit der Systemzeitsynchronisierung |
| 14 | Gerät kann keine Daten übertragen |
| 16 | Dongle fehlt |
| 17 | Gerät übernahm Master-Status, weil der ursprüngliche Master ausgefallen ist |
| 25 | Firmware-Inkompatibilität zwischen verbundenen Geräten |
| 26 | Interner Fehler |

Bei anhaltenden VE.Bus-Fehlern kann die Aktion VE.Bus Reset (am Batteriegerät verfügbar) für einen Wiederherstellungsversuch verwendet werden.

### Unit ID nach Venus OS-Update geändert

Seit Venus OS 2.60 werden Unit IDs dynamisch vergeben. Nach einem Firmware-Update kann sich die Unit ID ändern. Unter Einstellungen → Dienste → Modbus/TCP → Verfügbare Dienste am GX-Gerät die aktuelle VE.Bus Unit ID überprüfen und dann die Slave ID in der TapHome-Vorlage entsprechend aktualisieren.

## Verfügbare Geräte 10

Diese Geräte erscheinen nach dem Import in TapHome.

Victron GX Line Inverter Modul

Serviceattribute

|                                   |                                                                             |
|-----------------------------------|-----------------------------------------------------------------------------|
| Phasenanzahl                      |                                                                             |
| Schalterposition                  | Wechselrichterbetriebsmodus — Nur Ladegerät, Nur Wechselrichter, Ein, Aus   |
| Aktiver Eingang                   | Aktive AC-Eingangsquelle — AC-Eingang 1, AC-Eingang 2, Getrennt             |
| ESS Lade-Deaktivierungsflag Phase | ESS Ladeerlaubnis — Laden aktiviert oder Laden deaktiviert                  |
| ESS Einspeisung deaktivieren      | ESS Einspeiseerlaubnis — Einspeisung aktiviert oder Einspeisung deaktiviert |
| ESS Leistungs-Sollwert Phase 1    |                                                                             |
| ESS Leistungs-Sollwert Phase 2    |                                                                             |
| ESS Leistungs-Sollwert Phase 3    |                                                                             |

Serviceaktionen

|                   |                                                                          |
|-------------------|--------------------------------------------------------------------------|
| Schalterposition  | Wechselrichtermodus setzen — Nur Ladegerät, Nur Wechselrichter, Ein, Aus |
| Ladeflag Phase    | ESS-Batterieladung aktivieren oder deaktivieren                          |
| ESS Einspeiseflag | ESS-Netzeinspeisung aktivieren oder deaktivieren                         |

Lesen (Modul)

```taphome
var temp := MODBUSR(H, 34, Uint16);
IF(temp = 1, ADDWARNING("Temperature alarm"));
IF(temp = 2, ADDERROR("Temperature alarm"));
var low := MODBUSR(H, 35, Uint16);
IF(low = 1, ADDWARNING("Low Battery alarm"));
IF(low = 2, ADDERROR("Low Battery alarm"));
var over := MODBUSR(H, 36, Uint16);
IF(over = 1, ADDWARNING("Overload alarm"));
IF(over = 2, ADDERROR("Overload alarm"));
var seb := MODBUSR(H, 42, Uint16);
IF(seb = 1, ADDWARNING("Temperature sensor alarm"));
IF(seb = 2, ADDERROR("Temperature sensor alarm"));
var vol := MODBUSR(H, 43, Uint16);
IF(vol = 1, ADDWARNING("Voltage sensor alarm"));
IF(vol = 2, ADDERROR("Voltage sensor alarm"));
IF(MODBUSR(H, 63, Uint16) = 1, ADDWARNING("Phase Rotation Warning"));
IF(MODBUSR(H, 64, Uint16) = 1, ADDERROR("Grid Lost Alarm"));
```

Serviceattribute

Phase Count

```taphome
MODBUSR(H, 28, Uint16);
```

Switch Position

```taphome
var reg := MODBUSR(H, 33, Uint16);
Switch(reg, 1, "Charger Only", 2, "Inverter Only", 3 ,"On", 4, "Off", "Unknown");
```

Active Input

```taphome
var reg := MODBUSR(H, 29, Uint16);
switch(reg, 0, "AC Input 1", 1, "AC Input 2", 240, "Disconnected", "Unknown");
```

ESS Disable Charge flag phase

```taphome
IF(MODBUSR(H, 38, Uint16) = 1, "Charge disabled", "Charge enabled")
```

ESS Disable Charge feedback phase

```taphome
IF(MODBUSR(H, 39, Uint16) = 1, "Feed disabled");
IF(MODBUSR(H, 39, Uint16) = 0, "Feed in enabled", "Not set");
```

ESS power setpoint phase 1

```taphome
MODBUSR(H, 37, Uint16) + " W";
```

ESS power setpoint phase 2

```taphome
MODBUSR(H, 40, Uint16) + " W";
```

ESS power setpoint phase 3

```taphome
MODBUSR(H, 41, Uint16) + " W";
```

Serviceaktionen

Switch Position

Parameter: Switch Position

```taphome
MODBUSWNE(H, 33, uint16, pos);
```

Charge flag phase

Parameter: Charge flag phase

```taphome
MODBUSWNE(H, 38, Uint16, chfp);
```

Feedback flag phase

Parameter: Feedback flag phase

```taphome
MODBUSWNE(H, 39, Uint16, ffp);
```

Aktive Eingangs-Stromgrenze Variable Lesen und Schreiben

AC-Eingangs-Stromgrenze in Ampere — einstellbar über Aktion Grenze setzen (0–100 A)

Register: H:22 Int16 Einheit: A numeric

Serviceaktionen

|               |
|---------------|
| Grenze setzen |

Lesen

```taphome
MODBUSR(H, 22, int16)/10
```

Serviceaktionen

Set Limit

Parameter: Active Input Current Limit \[A] (0–100 aic)

```taphome
MODBUSWNE(H, 22, Int16, aic*10)
```

Batterie Dimmer Lesen und Schreiben

Batterie-Ladezustand mit Spannung, Strom, Temperatur, VE.Bus-Ladezustand und BMS-Berechtigungen

Register: H:30 UInt16 Einheit: % numeric

Serviceattribute

|                                      |                                                                                                                                                             |
|--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Batteriespannung                     |                                                                                                                                                             |
| Batteriestrom                        |                                                                                                                                                             |
| Flussrichtung                        | Stromrichtung — DC-System zu Multi, Multi zu DC-System oder Leerlauf                                                                                        |
| Batterietemperatur                   |                                                                                                                                                             |
| Zustand                              | VE.Bus-Ladezustand — Aus, Niedrige Leistung, Fehler, Bulk, Absorption, Float, Speicher, Egalisierung, Passthru, Invertierung, Power Assist, Stromversorgung |
| VE.Bus BMS erlaubt Batterieladung    |                                                                                                                                                             |
| VE.Bus BMS erlaubt Batterieentladung |                                                                                                                                                             |
| VE.Bus BMS wird erwartet             |                                                                                                                                                             |

Serviceaktionen

|              |
|--------------|
| VE.Bus Reset |

Lesen (Modul)

```taphome
var reg := MODBUSR(H, 32, Uint16);
SWITCH(reg, 1, ADDERROR("VE.Bus Error 1: Device is switched off because one of the other phases in the system has switched of"), 2, "VE.Bus Error 2: New and old types MK2 are mixed in the system", 3, "VE.Bus Error 3: Not all- or more than- the expected devices were found in the system", 4, "VE.Bus Error 4: No other device whatsoever detected", 5, "VE.Bus Error 5: Overvoltage on AC-out", 6, "VE.Bus Error 6: Error in DDC Program", 7, "VE.Bus BMS connected- which requires an Assistant- but no assistant found", 10, "VE.Bus Error 10: System time synchronisation problem occurred", 14, "VE.Bus Error 14: Device cannot transmit data", 16, "VE.Bus Error 16: Dongle missing", 17, "VE.Bus Error 17: One of the devices assumed master status because the original master failed",18, "VE.Bus Error 18: AC Overvoltage on the output of a slave has occurred while already switched off", 22, "VE.Bus Error 22: This device cannot function as slave", 24, "VE.Bus Error 24: Switch-over system protection initiated", 25, "VE.Bus Error 25: Firmware incompatibility. The firmware of one of the connected device is not sufficiently up to date to operate in conjunction with this device", 26, "VE.Bus Error 26: Internal error", "No error");
IF(MODBUSR(H, 60, Uint16) = 1, ADDERROR("VE.Bus BMS error"));
```

Level lesen

```taphome
MODBUSR(H, 30, UInt16) / 1000
```

Serviceattribute

Battery Voltage

```taphome
MODBUSR(H, 26, Uint16)/100 + " V";
```

Battery Current

```taphome
ABS(MODBUSR(H, 27, int16)/10) + " A";
```

Flow

```taphome
var reg := MODBUSR(H, 27, int16);
IF(reg = 0, "-");
IF(reg < 0, "DC system to Multi", "Multi to DC system");
```

Battery Temperature

```taphome
var tempt := MODBUSR(H, 61, Int16)/10; 
IF(tempt = 0, "Unknown", tempt + " °C")
```

State

```taphome
var reg := MODBUSR(H, 31, Uint16);
SWITCH(reg, 0, "Off",
 1, "Low Power",
 2, "Fault",
 3, "Bulk",
 4, "Absorbtion",
 5, "Float", 
 6, "Storage", 
 7, "Equalize", 
 8, "Passtru", 
 9, "Inverting", 
 10, "Power Assist", 
 11, "Power Supply", 
 252, "Bulk protection",
 "Unknown" );
```

VE.Bus BMS allows battery to be charged

```taphome
SWITCH(MODBUSR(H, 57, Uint16), 0, "No", 1, "Yes", "Unknown");
```

VE.Bus BMS allows battery to be discharged

```taphome
SWITCH(MODBUSR(H, 58, Uint16), 0, "No", 1, "Yes", "Unknown");
```

VE.Bus BMS is expected

```taphome
SWITCH(MODBUSR(H, 59, Uint16), 0, "No", 1, "Yes", "Unknown");
```

Serviceaktionen

VE.Bus Reset

Parameter: Reset

```taphome
MODBUSW(H, 62, Uint16, res);
```

DC-Überspannung ins Netz einspeisen Schalter Lesen und Schreiben

DC-Überspannungseinspeisung ins Netz mit phasenweisen Maximalleistungsgrenzen umschalten

Register: H:65 UInt16 numeric

Werte / Zustände: Feed in overvoltage · Don't feed in overvoltage

Serviceaktionen

|                                   |                                                                    |
|-----------------------------------|--------------------------------------------------------------------|
| Maximale Überspannungseinspeisung | Maximale DC-Überspannungseinspeisung pro Phase setzen (L1, L2, L3) |

Schaltzustand lesen

```taphome
MODBUSR(H, 65, Uint16);
```

Schaltzustand schreiben

```taphome
MODBUSW(H, 65, Uint16, St);
```

Serviceattribute

Maximum overvoltage feed-in power L1

```taphome
MODBUSR(H, 66, Uint16)/ 0.01 + " W";
```

Maximum overvoltage feed-in power L2

```taphome
MODBUSR(H, 67, Uint16)/ 0.01 + " W";
```

Maximum overvoltage feed-in power L3

```taphome
MODBUSR(H, 68, Uint16)/ 0.01 + " W";
```

AC input 1

```taphome
SWITCH(MODBUSR(H, 69, Uint16), 0, "not ignored", 1, "ignored", "Unknown");
```

AC input 2

```taphome
SWITCH(MODBUSR(H, 70, Uint16), 0, "not ignored", 1, "ignored", "Unknown");
```

Serviceaktionen

Maximum overvoltage feed-in power

Parameter: L1\[W] (0–6.5535e+06 L1), L2\[W] (0–6.5535e+06 L2), L3\[W] (0–65535 L3)

```taphome
MODBUSWNE(H, 66, Uint16, L1)/100;
MODBUSWNE(H, 67, Uint16, L2)/100;
MODBUSWNE(H, 68, Uint16, L2)/100;
```

Eingangsleistung L1 Stromzähler Lesen und Schreiben

AC-Eingangsleistung Phase 1 mit Spannung, Strom, Frequenz und ESS-Leistungs-Sollwert

Register: H:12 Int16 Einheit: W numeric

Serviceattribute

|                                |
|--------------------------------|
| Eingangsspannung L1            |
| Eingangsstrom L1               |
| Eingangsfrequenz 1             |
| ESS Leistungs-Sollwert Phase 1 |

Serviceaktionen

|                                |
|--------------------------------|
| ESS Leistungs-Sollwert Phase 1 |

Bedarf lesen

```taphome
MODBUSR(H, 12, Int16) / 100
```

Serviceattribute

Input Voltage L1

```taphome
MODBUSR(H, 3, Uint16)/10  + " V"
```

Input Current L1

```taphome
MODBUSR(H, 6, Int16)/10  + " A";
```

Input Frequency 1

```taphome
MODBUSR(H, 9, Int16)/100  + " Hz";
```

ESS power setpoint phase 1

```taphome
MODBUSR(H, 37, int16) + " W";
```

Serviceaktionen

ESS power setpoint phase 1

Parameter: Power setpoint L1 \[W] (-32768–32768 L1)

```taphome
MODBUSW(H, 37, int16, L1);
```

Eingangsleistung L2 Stromzähler Lesen und Schreiben

AC-Eingangsleistung Phase 2 mit Spannung, Strom, Frequenz und ESS-Leistungs-Sollwert

Register: H:13 Int16 Einheit: W numeric

Serviceattribute

|                                |
|--------------------------------|
| Eingangsspannung L2            |
| Eingangsstrom L2               |
| Eingangsfrequenz 2             |
| ESS Leistungs-Sollwert Phase 2 |

Serviceaktionen

|                                |
|--------------------------------|
| ESS Leistungs-Sollwert Phase 2 |

Bedarf lesen

```taphome
MODBUSR(H, 13, Int16) / 100
```

Serviceattribute

Input Voltage L2

```taphome
MODBUSR(H, 4, Uint16)/10  + " V"
```

Input Current L2

```taphome
MODBUSR(H, 7, Int16)/10  + " A";
```

Input Frequency 2

```taphome
MODBUSR(H, 10, Int16)/100  + " Hz";
```

ESS power setpoint phase 2

```taphome
MODBUSR(H, 40, int16) + " W";
```

Serviceaktionen

ESS power setpoint phase 2

Parameter: ESS Power setpoint L2 \[W] (-32768–32768 L2)

```taphome
MODBUSW(H, 40, Int16, L2)
```

Eingangsleistung L3 Stromzähler Lesen und Schreiben

AC-Eingangsleistung Phase 3 mit Spannung, Strom, Frequenz und ESS-Leistungs-Sollwert

Register: H:14 Int16 Einheit: W numeric

Serviceattribute

|                                |
|--------------------------------|
| Eingangsspannung L3            |
| Eingangsstrom L3               |
| Eingangsfrequenz 3             |
| ESS Leistungs-Sollwert Phase 3 |

Serviceaktionen

|                                |
|--------------------------------|
| ESS Leistungs-Sollwert Phase 3 |

Bedarf lesen

```taphome
MODBUSR(H, 14, Int16) / 100
```

Serviceattribute

Input Voltage L3

```taphome
MODBUSR(H, 5, Uint16)/10  + " V"
```

Input Current L3

```taphome
MODBUSR(H, 8, Int16)/10  + " A";
```

Input Frequency 3

```taphome
MODBUSR(H, 11, Int16)/100  + " Hz";
```

ESS power setpoint phase 3

```taphome
MODBUSR(H, 41, int16) + " W";
```

Serviceaktionen

ESS power setpoint phase 3

Parameter: ESS power setpoint L3 \[W] (-32768–32768 L3)

```taphome
MODBUSW(H, 41, Int16, L3)
```

Ausgangsleistung L1 Stromzähler Nur lesen

AC-Ausgang Phase 1 mit Spannung, Strom, Frequenz und phasenweiser Alarmüberwachung

Register: H:18 Int16 Einheit: W numeric

Serviceattribute

|                     |
|---------------------|
| Ausgangsspannung L1 |
| Ausgangsstrom L1    |
| Ausgangsfrequenz    |

Bedarf lesen

```taphome
MODBUSR(H, 18, Int16) / 100
```

Lesen (Modul)

```taphome
var tem := MODBUSR(H, 44, Uint16);
SWITCH(tem,1, ADDWARNING("Temperature Alarm L1"), 2, ADDERROR("Temperature Alarm L1"),"");
var bat := MODBUSR(H, 45, Uint16);
SWITCH(bat,1, ADDWARNING("Low Battery Alarm L1"), 2, ADDERROR("Low Battery Alarm L1"),"");
var ove := MODBUSR(H, 46, Uint16);
SWITCH(ove,1, ADDWARNING("Overload Alarm L1"), 2, ADDERROR("Overload Alarm L1"),"");
var rip := MODBUSR(H, 47, Uint16);
SWITCH(rip,1, ADDWARNING("Ripple Alarm L1"), 2, ADDERROR("Ripple Alarm L1"),"");
```

Serviceattribute

Output Voltage L1

```taphome
MODBUSR(H, 15, UInt16)/10  + " V";
```

Output Current L1

```taphome
MODBUSR(H, 18, Int16)/10  + " A";
```

Output Frequency

```taphome
MODBUSR(H, 21, Int16)/100 + " Hz";
```

Ausgangsleistung L2 Stromzähler Nur lesen

AC-Ausgang Phase 2 mit Spannung, Strom, Frequenz und phasenweiser Alarmüberwachung

Register: H:24 Int16 Einheit: W numeric

Serviceattribute

|                     |
|---------------------|
| Ausgangsspannung L2 |
| Ausgangsstrom L2    |
| Ausgangsfrequenz    |

Bedarf lesen

```taphome
MODBUSR(H, 24, Int16) / 100
```

Lesen (Modul)

```taphome
var tem := MODBUSR(H, 48, Uint16);
SWITCH(tem,1, ADDWARNING("Temperature Alarm L2"), 2, ADDERROR("Temperature Alarm L2"),"");
var bat := MODBUSR(H, 49, Uint16);
SWITCH(bat,1, ADDWARNING("Low Battery Alarm L2"), 2, ADDERROR("Low Battery Alarm L2"),"");
var ove := MODBUSR(H, 50, Uint16);
SWITCH(ove,1, ADDWARNING("Overload Alarm L2"), 2, ADDERROR("Overload Alarm L2"),"");
var rip := MODBUSR(H, 51, Uint16);
SWITCH(rip,1, ADDWARNING("Ripple Alarm L2"), 2, ADDERROR("Ripple Alarm L2"),"");
```

Serviceattribute

Output voltage L2

```taphome
MODBUSR(H, 16, UInt16)/10  + " V";
```

Output Current L2

```taphome
MODBUSR(H, 19, Int16)/10  + " A";
```

Output Frequency

```taphome
MODBUSR(H, 21, Int16)/100 + " Hz";
```

Ausgangsleistung L3 Stromzähler Nur lesen

AC-Ausgang Phase 3 mit Spannung, Strom, Frequenz und phasenweiser Alarmüberwachung

Register: H:25 Int16 Einheit: W numeric

Serviceattribute

|                     |
|---------------------|
| Ausgangsspannung L3 |
| Ausgangsstrom L3    |
| Ausgangsfrequenz    |

Bedarf lesen

```taphome
MODBUSR(H, 25, Int16) / 100
```

Lesen (Modul)

```taphome
var tem := MODBUSR(H, 52, Uint16);
SWITCH(tem,1, ADDWARNING("Temperature Alarm L3"), 2, ADDERROR("Temperature Alarm L3"),"");
var bat := MODBUSR(H, 53, Uint16);
SWITCH(bat,1, ADDWARNING("Low Battery Alarm L3"), 2, ADDERROR("Low Battery Alarm L3"),"");
var ove := MODBUSR(H, 54, Uint16);
SWITCH(ove,1, ADDWARNING("Overload Alarm L3"), 2, ADDERROR("Overload Alarm L3"),"");
var rip := MODBUSR(H, 55, Uint16);
SWITCH(rip,1, ADDWARNING("Ripple Alarm L3"), 2, ADDERROR("Ripple Alarm L3"),"");
```

Serviceattribute

Output Voltage L3

```taphome
MODBUSR(H, 17, UInt16)/10  + " V";
```

Output Current L3

```taphome
MODBUSR(H, 20, Int16)/10  + " A";
```

Output Frequency

```taphome
MODBUSR(H, 21, Int16)/100 + " Hz";
```

PV-Wechselrichter Schalter Lesen und Schreiben

PV-Wechselrichter-Frequenzverschiebungssteuerung — PV-Ausgang am AC-Ausgang aktivieren oder deaktivieren

Register: H:56 UInt16 numeric

Werte / Zustände: PV disabled · PV enabled

Schaltzustand lesen

```taphome
MODBUSR(H, 56, Uint16)
```

Schaltzustand schreiben

```taphome
MODBUSWNE(H, 56, Uint16, St);
```

**Verbindung:** Modbus TCP • Slave ID: $\[SlaveId]

Mögliche Verbesserungen (16)

- H:23 Output Power L1 — Int16, ×10, W — actual output power L1 register; template uses H:18 (current) for Output Power 1 readdemand instead
- H:71 AcPowerSetpoint acts as feed-in limit — UInt16, 0=Normal, 1=OvervoltageFeedIn limit
- H:72 Solar offset voltage — UInt16, 0=1V offset, 1=0.1V offset
- H:73 Sustain active — UInt16, 0=Inactive, 1=Active
- H:74-92 Energy Counters (10 × UInt32) — /100, kWh — AC-In/Out/Battery energy flow counters; volatile (reset on Multi/GX reboot)
- H:94 BMS Pre-Alarm (Low cell voltage imminent) — UInt16, 0=Ok, 1=Warning, 2=Alarm
- H:95 Charge State — UInt16, enum: 0=Initialising, 1=Bulk, 2=Absorption, 3=Float, 4=Storage, 5=Absorb repeat, 6=Forced absorb, 7=Equalise, 8=Bulk stopped, 9=Unknown
- H:96-100 ESS 32-bit Power Setpoints (L1-L3) — Int32, W — 32-bit complement of H:37/40/41 for larger systems
- H:102 Prefer Renewable Energy — UInt16, 0=No, 1=Yes; Venus 3.30+
- H:103-104 Remote Generator Selected — UInt16, select/status; Venus 3.30+
- H:105 Redetect VE.Bus system — Write 1 to redetect
- H:106 Power Assist boost factor — UInt16, /100; Venus 3.30+
- H:107 Configured output voltage — UInt16, /100, V AC; Venus 3.30+
- H:108 PowerAssist enabled — UInt16, 0=Disabled, 1=Enabled; Venus 3.30+
- H:109 UPS function enabled — UInt16, 0=Enabled, 1=Disabled (inverted); Venus 3.30+
- H:200-231 Microgrid Registers — Grid-forming / grid-following / droop mode control; most RW, some unsupported in current firmware

## Importparameter

Diese Werte geben Sie beim Import des XML ein.

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

## Quellen

- GX Modbus-TCP Manual
  
  [www.victronenergy.com](https://www.victronenergy.com/live/ccgx:modbustcp_faq) 2026-03-28
- CCGX Modbus TCP Register List v3.70
  
  [www.victronenergy.com](https://www.victronenergy.com/upload/documents/CCGX-Modbus-TCP-register-list-3.70.xlsx) 2026-03-28
- hass-victron — Home Assistant Integration
  
  [github.com](https://github.com/sfstar/hass-victron) 2026-03-28

## 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/)

