TapHome

Xvent Xcont Central

Modbus RTU
Submitted by
Last updated: 03. 2026
Xvent Xcont Central

Der Xvent Xcont Central ist ein Modbus-RTU-Controller für die zentralen Wärmerückgewinnungsgeräte Xvent Xhouse (XH) und Xflat (XF). Er verbindet sich über RS-485 mittels RJ45-Stecker über den XCONT-HUB mit TapHome. Die Vorlage bietet Lüfterstufen-Steuerung, Raumtemperatur- und Feuchtigkeitsüberwachung, Frostschutztemperatur, Luftdurchflussmessung, CO2- und Feuchtigkeitsaktivierungsschwellen sowie Betriebsmodi einschließlich Boost- und Sommermodus.

Für die Modbus-Kommunikation ist Firmware-Version 100 oder höher erforderlich.

Hardware-Anschluss

RS-485-Verkabelung über RJ45

Der Xcont Central verwendet einen RJ45-Stecker für die RS-485-Kommunikation über den XCONT-HUB. Der Bus arbeitet im Halbduplex-Modus.

Xvent Xcont Central RJ45 connector pinout for RS-485 connection to XCONT-HUB

RJ45-Pinbelegung:

PinFunktion
1Nicht angeschlossen
2Nicht angeschlossen
3RS-485-Busdatenleitung A
4RS-485-Busdatenleitung A
5RS-485-Busdatenleitung B
6RS-485-Busdatenleitung B
7Nicht angeschlossen
8Nicht angeschlossen

Verbinden Sie Leitungen A (Pins 3, 4) mit TapHome RS-485 A+/D+ und Leitungen B (Pins 5, 6) mit TapHome RS-485 B-/D-. Pins 1, 2, 7 und 8 müssen unbeschaltet bleiben.

Der Bus arbeitet im Halbduplex-Modus. Das Gerät erfordert eine Mindestpause von 4 ms zwischen Modbus-Frames für die korrekte Frame-Erkennung. Die typische Antwortzeit beträgt ca. 4 ms.

Technische Spezifikationen
  • Protokoll: Modbus RTU Slave, RS-485
  • Baudrate: 19200 (unterstützt auch 4800 und 9600)
  • Parität: Even (unterstützt auch keine Parität)
  • Datenbits: 8
  • Stoppbit: 1
  • Slave-Adressbereich: 1–247

Konfiguration

Modbus-Kommunikation aktivieren

Die Modbus-Slave-Adresse und die Kommunikationsparameter werden über das DCFG-Retentionsregister an Adresse 0x9C50 konfiguriert. Die Standardeinstellungen:

  • Baudrate: 19200 (Bits 5–6 = 3)
  • Parität: Even (Bit 7 = 0)
  • Slave-Adresse: Konfiguriert in Bits 8–15 (Bereich 1–247)

Um die Modbus-Einstellungen zu ändern, schreiben Sie in Register H:40016 mit Modbus-Funktion 0x10:

BitsFunktionWerte
5–6Baudrate0=Deaktiviert, 1=4800, 2=9600, 3=19200
7Parität0=Even, 1=Keine Parität
8–15Slave-Adresse1–247

Änderungen an Baudrate, Parität und Slave-Adresse werden sofort wirksam. Das Gerät stoppt die Kommunikation, bis der Modbus-Master auf die neuen Parameter umkonfiguriert wird.

TapHome-Konfiguration

Beim Hinzufügen des Geräts in TapHome konfigurieren Sie die Modbus-RTU-Verbindung mit diesen Einstellungen:

  • Slave-ID: Muss der im Gerät konfigurierten Adresse entsprechen (Standard abhängig vom Gerät)
  • Baudrate: 19200
  • Parität: Even
  • Stoppbits: 1
  • Datenbits: 8

Gerätefunktionen

Strom und Betriebsmodi
  • Power (H:40000 Bit 0) — Hauptschalter EIN/AUS für das Wärmerückgewinnungsgerät
  • Fan Mode (H:40000 Bit 1) — Umschaltung zwischen automatischem Modus (AQS-gesteuert basierend auf CO2-/Feuchtigkeitssensoren) und manueller Lüftersteuerung
  • Summer Mode (H:40000 Bit 2) — Aktivierung des Sommermodus-Bypass mit konfigurierbarer Dauer (Standard 8 Stunden)
  • Boost Mode (H:40000 Bit 4) — Aktivierung des Boost-Modus mit höherer Lüfterstufe für eine konfigurierbare Dauer (Standard 60 Sekunden)
  • Touch Button Lock (H:40000 Bit 5) — Kindersicherung für die Touchtasten am Frontpanel

Alle diese Steuerungen teilen sich ein einzelnes Retentionsregister (H:40000) und verwenden individuelle Bit-Manipulation — das Umschalten einer Funktion beeinflusst die anderen nicht.

Lüfterstufen-Steuerung
  • Fan Speed Level (H:40000 Bits 6–9) — Auswahl aus 8 Lüfterstufen (0–7), wobei jede Stufe einer bestimmten Ausgangsspannung entspricht, die je nach Gerätemodell variiert (XF1-015, XH1-030, XF1-020, XH2-030). Der Mehrwertschalter zeigt auch eine Boost-Option (Stufe 8), es wird jedoch empfohlen, stattdessen den Boost-Mode-Schalter zu verwenden

  • Fan Status (A:30001 Bits 8–11) — Nur-Lese-Anzeige des aktuellen Lüfterbetriebszustands: Gerät AUS, AUS Kühlung, Lüfter-1-Fehler, Lüfter-2-Fehler, Aktiv normal, Aktiv Frostschutz, Inaktiv normal, Inaktiv Frostschutz, Sommermodus oder Boost-Modus. Ein Serviceattribut zeigt den vorherigen Lüfterstatus vor dem aktuellen Übergang

Temperatur- und Feuchtigkeitsüberwachung
  • Room Temperature & Humidity (A:30016 / A:30014) — Liest die Raumtemperatur mit 0,1 °C Auflösung und die relative Luftfeuchtigkeit mit 0,1 % RH Auflösung. Ein Serviceattribut meldet, ob der Sensor OK, getrennt oder kurzgeschlossen ist
  • Frost Protection Temperature (A:30015) — Liest den Frostschutz-Temperatursensor auf der Abluftseite mit 0,1 °C Auflösung. Ein Serviceattribut überwacht den Verbindungsstatus des Sensors
  • Desired Temperature (A:30012) — Liest den aktuell eingestellten Raumtemperatur-Sollwert mit 0,1 °C Auflösung. Dieser Wert ist in der Vorlage schreibgeschützt — die Temperaturstufe wird über das Frontpanel-Register eingestellt
Lüfterspannungs-Überwachung
  • Fan 1 Voltage (A:30018) — Liest die aktuelle Ausgangsspannung von Lüfter 1 mit 0,01 V Auflösung. Serviceattribute melden den Tacho-Eingangsstatus und die Motorstart-Bestätigung
  • Fan 2 Voltage (A:30020) — Liest die aktuelle Ausgangsspannung von Lüfter 2 mit 0,01 V Auflösung. Gleiche Serviceattribute wie Lüfter 1
Luftqualitätsschwellen
  • CO2 Activation Threshold (H:40001) — Konfigurierbarer CO2-Konzentrationswert (600–1000 ppm, Standard 800 ppm), bei dem die Lüfter im automatischen AQS-Modus automatisch aktiviert werden. Einstellbar über die Serviceaktion „Set Value"
  • RH Activation Threshold (H:40002) — Konfigurierbarer Wert der relativen Luftfeuchtigkeit (50–75 %, Standard 65 %), bei dem die Lüfter im automatischen AQS-Modus automatisch aktiviert werden. Einstellbar über die Serviceaktion „Set Value"
Luftdurchflussmessung
  • Airflow (A:30015) — Liest den aktuellen Luftdurchfluss vom Durchflusssensor mit 0,1 m³/h Auflösung
Service-Diagnostik

Das Modul stellt drei Serviceattribute zur Überwachung bereit:

  • Firmware Version (A:30000) — Aktuelle Firmware-Version des Geräts
  • UI State (A:30001 Bits 0–3) — Aktueller Status der Benutzeroberfläche mit 14 möglichen Werten, darunter Gerät aus, Lüfterfehler, Sensorfehler, Sperrzustände, Normalbetrieb, Servicemenü und Benutzermenü
  • Attribute (H:40000 Bits 10–15) — Temperaturstufen-Einstellung für Geräte vom Typ E

Das ReadScript des Moduls überwacht auch CO2- und RH-Sensorfehler aus dem Statusregister A:30003 und meldet diese als Fehler in TapHome.

Weitere Funktionen

Der Xcont Central stellt auch Register für CO2-Sensorwerte (A:30013), AQS-Luftqualitätsstatus und erforderliche Lüfterstufe, Vorheiz- und Nachheizstatus-Überwachung, Filterlaufzeit-Tracking (A:30028), Relaiszustand für Vorheizung und Nachheizung, Raumtemperatur-Korrekturoffset und verschiedene Timer-Register bereit. Konfigurationsoptionen umfassen Filterlebensdauer, Boost-Modus-Lüfterstufe und -Dauer, Sommermodus-Dauer und ein Flag für permanente Mindestlüfterstufe. Diese können in einem zukünftigen Vorlagen-Update hinzugefügt werden.

Das CO2-Sensorwert-Register (A:30013) und die Filterlaufzeit (A:30028) sind in der aktuellen Vorlage nicht enthalten. Zur direkten Überwachung der CO2-Werte kann der CO2-Sensor als benutzerdefiniertes Modbus-Gerät in TapHome mit dem Eingangsregister A:30013 (Funktion 0x04, Adresse 0x753D) hinzugefügt werden.

Fehlerbehebung

Keine Modbus-Kommunikation
  1. Überprüfen Sie die RJ45-Kabelverbindung — Stellen Sie sicher, dass das Kabel sowohl im XCONT-HUB als auch im RS-485-Adapter richtig sitzt
  2. Überprüfen Sie die Pin-Verdrahtung — Pins 3/4 (Leitung A) und 5/6 (Leitung B) müssen korrekt auf TapHome RS-485 A+/B- abgebildet sein
  3. Überprüfen Sie die Kommunikationsparameter — TapHome muss auf 19200 Baud, Even-Parität, 1 Stoppbit, 8 Datenbits eingestellt sein (entsprechend den Standardeinstellungen des Geräts)
  4. Überprüfen Sie die Slave-Adresse — Stellen Sie sicher, dass die konfigurierte Adresse mit der in TapHome eingestellten übereinstimmt
  5. Beachten Sie das Frame-Timing — Zwischen Modbus-Frames muss mindestens 4 ms Pause eingehalten werden
Sensorfehler in TapHome gemeldet
  1. CO2-Sensorfehler — Überprüfen Sie die physische Verbindung des CO2-Sensors zum Gerät. Das ReadScript des Moduls liest Bit 0 von Register A:30003
  2. RH-Sensorfehler — Überprüfen Sie die physische Verbindung des Feuchtigkeitssensors. Das ReadScript des Moduls liest Bit 1 von Register A:30003
  3. Raumsensor getrennt/kurzgeschlossen — Überprüfen Sie das Serviceattribut am Gerät Room Temperature. Statuswerte: 0=OK, 1=Getrennt, 2=Kurzgeschlossen
Lüfterfehler
  1. Überprüfen Sie das Gerät Fan Status — Werte 2 und 3 zeigen einen Fehler von Lüfter 1 bzw. Lüfter 2 an
  2. Überprüfen Sie das Serviceattribut für den Tacho-Eingangsstatus an den Geräten Fan Voltage (OK/NG)
  3. Überprüfen Sie das Serviceattribut für das Motorstart-Flag — NG zeigt an, dass der Motor nicht gestartet werden konnte
Registeradress-Format

Der Xcont Central verwendet hohe Modbus-Adressen. Eingangsregister beginnen bei 0x7530 (dezimal 30000) und Retentionsregister bei 0x9C40 (dezimal 40000). Verwenden Sie bei der Konfiguration benutzerdefinierter Geräte in TapHome die dezimalen Registeradressen (z. B. 30016 für Raumtemperatur, 40000 für die Frontpanel-Steuerung).

Verfügbare Geräte

Xvent Xcont Central Modul
Serviceattribute
Firmware-Version
UI-Status
Attribut

Xvent Xcont Central

Lesen (Modul)
IF(GETBIT(MODBUSR(A, 30003, Uint16),0)=1, ADDERROR("Chyba CO2 čidla"));
IF(GETBIT(MODBUSR(A, 30003, Uint16),1)=1, ADDERROR("Chyba RH čidla"));
Serviceattribute
Firmware Version
MODBUSR(A, 30000, Uint16)
Stav uživatelského rozhraní
SWITCH(GETBITS( MODBUSR(A, 30001, Uint16),0,4 ), 
0, "Vypnutá jednotka",
1, "Vypnuté zařízení probíhá dochlazení předehřevu či dohřevu",
2, "Chyba ventilátoru 1 ",
3, "Chyba ventilátoru 2 ",
4, "Chyba pokojového čidla",
5, "Chyba protimrazového čidla",
6, "Aktivní zámek dotykových tlačítek",
7, "Stav deaktivace zámku dotykových tlačítek",
8, "Stav probuzeného ovladače, zobrazí aktuální nastavení",
9, "Režim nastavení škály ventilátorů",
10, "Režim nastavení škály teplot",
11, "Běžný power ON režim",
12, "Režim servisního menu",
13, "Režim uživatelského menu",
"Chyba"
)
Atribút
GETBITS(MODBUSR(H, 40000, Uint16), 10, 6)
Lüfter-1-Spannung Variable Nur lesen

Aktuelle Ausgangsspannung des Zuluftventilators — zeigt aktuelle Lüfterstufe an

Register: A:30018 Int16 Einheit: V numeric
Serviceattribute
Tacho-Eingangsstatus
Motorstart-Flag

Lüfter-1-Spannung

Lesen
MODBUSR(A, 30018, Int16)/100
Serviceattribute
Stav tacho vstupu
SWITCH (GETBIT(MODBUSR(A, 30019, Uint16), 0),
1, "OK",
2, "NG",
"Chyba pri komunikaci"
)
Flag úspěšného startu motoru
SWITCH (GETBIT(MODBUSR(A, 30019, Uint16), 1),
1, "OK",
2, "NG",
"Chyba pri komunikaci"
)
Lüfter-2-Spannung Variable Nur lesen

Aktuelle Ausgangsspannung des Abluftventilators — zeigt aktuelle Lüfterstufe an

Register: A:30020 Int16 Einheit: V numeric
Serviceattribute
Tacho-Eingangsstatus
Motorstart-Flag

Lüfter-2-Spannung

Lesen
MODBUSR(A, 30020, Int16)/100
Serviceattribute
Stav tacho vstupu
SWITCH (GETBIT(MODBUSR(A, 30021, Uint16), 0),
1, "OK",
2, "NG",
"Chyba pri komunikaci"
)
Flag úspěšného startu motoru
SWITCH (GETBIT(MODBUSR(A, 30021, Uint16), 1),
1, "OK",
2, "NG",
"Chyba pri komunikaci"
)
Boost-Modus Schalter

Aktiviert temporäre Hochgeschwindigkeitsbelüftung für schnellen Luftaustausch

Register: H:40000 UInt16 bit
Werte / Zustände: Aktivní · Neaktivní

Boost-Modus

Schaltzustand lesen
GETBIT(MODBUSR(H, 40000, Uint16), 4)
Schaltzustand schreiben
var val := SETBIT(MODBUSR(H, 40000, Uint16), 4, St);
MODBUSW(H, 40000, Uint16, val);
Frostschutztemperatur Temperatursensor Nur lesen

Temperatursensor auf der Abluftseite für Frostschutz — löst Lüfterreduzierung bei Temperaturabfall aus

Register: A:30015 Int16 Einheit: °C numeric
Serviceattribute
Sensorstatus

Frostschutztemperatur

Temperatur lesen
GETBITS(MODBUSR(A, 30015, Int16),0, 14 )/10
Serviceattribute
Status čidla
SWITCH (GETBITS(MODBUSR(A, 30017, Uint16), 14, 2),
0, "OK",
1, "Čidlo rozpojeno",
2, "Čidlo skratováno",
"Komunikační chyba"
)
CO2-Aktivierungsschwelle Variable

CO2-Konzentrationswert (600–1000 ppm), bei dem die Lüfter im AQS-Modus automatisch aktiviert werden

Register: H:40001 UInt16 Einheit: ppm numeric
Serviceaktionen
Wert setzen

CO2-Aktivierungsschwelle

Lesen
MODBUSR(H, 40001, UInt16)
Serviceaktionen
Nastavení hodnoty
Parameter: Value[600-1000] (600–1000 val)
MODBUSW(H, 40001, Uint16, val)
RH-Aktivierungsschwelle Variable

Relative Luftfeuchtigkeit (50–75 %), bei der die Lüfter im AQS-Modus automatisch aktiviert werden

Register: H:40002 UInt16 Einheit: % RH numeric
Serviceaktionen
Wert setzen

RH-Aktivierungsschwelle

Lesen
MODBUSR(H, 40002, UInt16)/1000
Serviceaktionen
Nastavení hodnoty
Parameter: Value [50-75%] (50–75 val)
MODBUSW(H, 4002,BigendianInt16, val*10);
Sommermodus Schalter

Aktiviert den Sommer-Bypass-Modus — läuft für eine konfigurierbare Dauer (Standard 8 Stunden)

Register: H:40000 UInt16 bit
Werte / Zustände: Aktivní · Neaktivní

Sommermodus

Schaltzustand lesen
GETBIT(MODBUSR(H, 40000, Uint16), 2)
Schaltzustand schreiben
var val := SETBIT(MODBUSR(H, 40000, Uint16), 2, St);
MODBUSW(H, 40000, Uint16, val);
Strom Schalter
Register: H:40000 UInt16 bit

Strom

Schaltzustand lesen
GETBIT(MODBUSR(H, 40000, Uint16), 0)
Schaltzustand schreiben
var val := SETBIT(MODBUSR(H, 40000, Uint16), 0, St);

MODBUSW(H, 40000, Uint16, val);
Solltemperatur Variable Nur lesen

Aktuell eingestellter Raumtemperatur-Sollwert — schreibgeschützt, Einstellung über Frontpanel

Register: A:30012 Int16 Einheit: °C numeric

Solltemperatur

Lesen
MODBUSR(A, 30012, Int16)/10
Luftdurchfluss Variable Nur lesen

Aktueller Luftdurchfluss vom Durchflusssensor in m³/h

Register: A:30015 UInt16 Einheit: m³/h numeric

Luftdurchfluss

Lesen
MODBUSR(A, 30015, Uint16)/10
Lüftermodus Schalter

Automatisch (AQS-gesteuert basierend auf CO2/Feuchtigkeit) oder manuelle Lüftersteuerung

Register: H:40000 UInt16 bit
Werte / Zustände: Automatický · Manuální

Lüftermodus

Schaltzustand lesen
GETBIT(MODBUSR(H, 40000, Uint16), 1)
Schaltzustand schreiben
var val := SETBIT(MODBUSR(H, 40000, Uint16), 1, St);

MODBUSW(H, 40000, Uint16, val);
Lüfterstatus Mehrwertschalter Nur lesen

Aktueller Lüfterbetriebszustand — Gerät AUS, Aktiv normal, Frostschutz, Sommermodus, Boost-Modus oder Fehlerzustände

Register: A:30001 UInt16 multi-value
Werte / Zustände: Vypnutá jednotka · OFF - proces dochlazování · Chyba ventilátoru 1 · Chyba ventilátoru 2 · Běžný režim · Antifreeze Režim · Neaktivní ventilátory v běžném režimu · Neaktivní ventilátory v antifreeze režimu · Letní režim · Boost režim

Lüfterstatus

Schaltzustand lesen
GETBITS(MODBUSR(A, 30001, Uint16),8,4 )
Serviceattribute
Predchozí stav ventilátorů
SWITCH(GETBITS( MODBUSR(A, 30001, Uint16),12,4 ), 
0, "Vypnutá jednotka",
1, "Jednotka je OFF, ventilátory dochlazují předehřev či dohřev",
2, "Chyba ventilátoru 1 ",
3, "Chyba ventilátoru 2 ",
4, "Aktivní ventilátory v běžném režimu",
5, "Aktivní ventilátory ventilátor v antifreeze režimu",
6, "Neaktivní ventilátory v běžném režimu ",
7, "Neaktivní ventilátory v antifreeze režimu ",
8, "Ventilátory v letním režimu",
9, "Ventilátory v Boost režimu ",
"Chyba"
)
Lüfterstufe Mehrwertschalter

Lüfterstufe 0–7 — Spannung pro Stufe variiert je nach Gerätemodell

Register: H:40000 UInt16 multi-value
Werte / Zustände: Boost

Lüfterstufe

Schaltzustand lesen
GETBITS(MODBUSR(H, 40000, Uint16), 6, 4)
Schaltzustand schreiben
var val := SETBITS(MODBUSR(H, 40000, Uint16), 6, 4,  Mu);
MODBUSW(H, 40000, Uint16, val);
Raumtemperatur & Feuchtigkeit Temperatursensor Nur lesen

Raumtemperatur und relative Luftfeuchtigkeit vom kombinierten Sensor

Register: A:30016 Int16 Einheit: °C numeric
Serviceattribute
Sensorstatus

Raumtemperatur & Feuchtigkeit

Luftfeuchtigkeit lesen
MODBUSR(A, 30014, Int16)/10
Temperatur lesen
GETBITS(MODBUSR(A, 30016, Int16), 0 , 14) / 10
Serviceattribute
Status čidla
SWITCH(GETBITS(MODBUSR(A, 30016, Int16), 14 , 2),
0,"Ok",
1,"Čidlo rozpojeno",
2,"Čidlo zkratováno",
"Chyba komunikace"
)
Touchtasten-Sperre Schalter

Kindersicherung für Touchtasten am Frontpanel — verhindert versehentliche Änderungen

Register: H:40000 UInt16 bit
Werte / Zustände: Zamčeno · Odomčeno

Touchtasten-Sperre

Schaltzustand lesen
GETBIT(MODBUSR(H, 40000, Uint16), 5)
Schaltzustand schreiben
var val := SETBIT(MODBUSR(H, 40000, Uint16), 5, St);
MODBUSW(H, 40000, Uint16, val);
Verbindung: Modbus RTU • 19200 baud• 8E1 • Slave ID: $[SlaveId]
Mögliche Verbesserungen (14)
  • A:30002 Status Register 2 (Preheat/Reheat) — Preheat status (bit 0–3), previous preheat (bit 4–7), last preheat with active fans (bit 8–11), fan modification stage (bit 12–15)
  • A:30003 Status Register 3 (Reheat/Filter) — Reheat status, filter status, various change flags. Module readscript checks bits 0–1 for CO2/RH sensor errors only
  • A:30004 AQS State — Air quality sensor status: CO2/RH sensor errors, AQS ventilation request, active CO2/RH levels, required fan speed. Partially covered by module readscript error checks
  • A:30005 AQS Required Flow — Required flow value according to AQS values (0.1 m3/h)
  • A:30006 Required Fan Flow — Required fan flow combining user and AQS settings (0.1 m3/h)
  • A:30011 Required Fan Speed — Required fan voltage combining user and AQS settings (0.01 V)
  • A:30013 CO2 Sensor Value — Current CO2 sensor reading (1 ppm). Key air quality measurement — surprisingly missing from template
  • A:30028 Filter Elapsed Time — Filter active time (1 h). Useful for filter replacement tracking
  • A:30033 Relay Status — Relay status: bit 0 = preheat relay, bit 1 = reheat relay
  • H:40016 DCFG Configuration — System configuration: auto shutdown flag, permanent min fan speed, Modbus baud rate/parity/address settings. WARNING: writing baud/parity/address takes effect immediately
  • H:40017 Room Temperature Correction — Room temperature sensor offset correction (0.1 degC, range -10.0 to +10.0°C)
  • H:40018 Summer Mode Duration — Duration of summer mode (1 s, range 3600–32400, default 28800 = 8 h)
  • H:40021 Boost Mode Duration — Duration of boost mode (1 s, range 30–3600, default 60)
  • H:40023 Filter Lifetime — Filter lifetime setting (1 h, range 2200–8800, default 4400)

Quellen