---
title: "Domat R312/R313"
description: "Steuerung von 8 Triac-PWM-Ausgängen für Fußbodenheizungsventile und Thermoantriebe über Modbus RTU. TapHome-Vorlage für Domat R312/R313."
url: "https://taphome.com/de/compatibility/domat-m312-pwm/"
language: de
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["modbus-rtu","i/o-module","rs485","pwm","hvac","floor-heating","din-rail","triac"]
  questions: ["Wie integriert man Domat R312/R313 mit TapHome?","Was steuert die TapHome-Vorlage Domat M312 PWM?","Wie verbindet man Domat R312 über RS-485 mit TapHome?","Wie stellt man die Modbus-Adresse am Domat R312 ein?","Was ist der Unterschied zwischen Domat M312 und R312?","Wie konfiguriert man die PWM-Periode für Domat R312 Fußbodenheizungsventile?"]
---

# Domat R312/R313

Kommunikation: Modbus RTU

- [Domat R312 Produktseite](https://www.domat-int.com/en/product/r312)

## Integrationsanleitung

Der Domat R312 (24 V AC) und R313 (230 V AC) sind 8-Kanal-Triac-PWM-Ausgangsmodule für HVAC-Anwendungen wie Fußbodenheizungsverteiler und Thermoantriebssteuerung. Die Module kommunizieren über Modbus RTU auf einem optisch isolierten RS-485-Bus. Die TapHome-Vorlage stellt alle 8 Kanäle als unabhängige Dimmer mit Tastverhältnisregelung von 0–100 % (Auflösung 0,1 %) bereit.

Das Produkt wurde zuvor als M312/M313 verkauft. Die aktuellen Modelle R312/R313 haben eine identische Registerkarte und sind vollständig mit dieser Vorlage kompatibel.

## Hardwareanschluss

### Klemmenbelegung

![Domat R312/R313 Klemmenbelegung und PCB-Layout](https://taphome.com/images/compatibility/domat-m312-pwm/terminals-pinout_hu_7c08f51877457924.jpg)

| Klemme | Funktion |
|--------|----------|
| **RS485 K+** | COM1 — serielle Verbindung RS-485, Klemme K+ (an A+/D+ am TapHome-Gateway anschließen) |
| **RS485 K-** | COM1 — serielle Verbindung RS-485, Klemme K- (an B-/D- am TapHome-Gateway anschließen) |
| **G** | Stromversorgung 24 V AC/DC |
| **G0** | Stromversorgung 24 V AC/DC |
| **TE** | Optionaler Schirmanschluss, technische Erde |
| **GD (L)** | Stromversorgung der Ausgänge |
| **GDO (N)** | Stromversorgung der Ausgänge, gemeinsamer Leiter |
| **DO1** | Ausgang 1 |
| **GDO (N)** | Stromversorgung der Ausgänge, gemeinsamer Leiter |
| **DO2** | Ausgang 2 |
| **DO3** | Ausgang 3 |
| **GDO (N)** | Stromversorgung der Ausgänge, gemeinsamer Leiter |
| **DO4** | Ausgang 4 |
| **DO5** | Ausgang 5 |
| **GDO (N)** | Stromversorgung der Ausgänge, gemeinsamer Leiter |
| **DO6** | Ausgang 6 |
| **DO7** | Ausgang 7 |
| **GDO (N)** | Stromversorgung der Ausgänge, gemeinsamer Leiter |
| **DO8** | Ausgang 8 |

**LED-Anzeige:**

| LED | Funktion |
|-----|----------|
| **TxD** (rot) | RS-485-Datenübertragung an COM1 (blinkt: Übertragung; AUS: kein Datenverkehr) |
| **PWR** (grün) | Stromversorgung (EIN: Versorgung OK; AUS: keine Versorgung, schwache oder beschädigte Versorgung) |

**DIP-Schalter** (Mikro-DIP-Schalter neben den RS-485-Klemmen):

| Schalter | Funktion |
|----------|----------|
| **BUS END** | Beide EIN = 120 Ω Busabschluss; am ersten und letzten Gerät am Bus aktivieren |
| **INIT** | Bei EIN beim Einschalten werden Konfigurationsparameter auf Werkseinstellungen zurückgesetzt |
| **USR** | Benutzerdefiniert in der Kundenkonfiguration |

### Anschlussschema

![Domat R312 und R313 Anschlussschema](https://taphome.com/images/compatibility/domat-m312-pwm/wiring-r312-r313_hu_e23e4f12ed251ef2.jpg)

Der R312 benötigt 24 V AC sowohl für die Modulversorgung (G, G0) als auch für die Ausgangsversorgung (GD, GDO). Der R313 verwendet 24 V AC für die Modulversorgung und 230 V AC für die Ausgangsversorgung (L, N an GD, GDO angeschlossen).

> [!WARNING]
> Wenn das Modul das erste oder letzte Gerät am RS-485-Bus ist, aktivieren Sie den 120-Ohm-Abschlusswiderstand durch Kurzschließen des **BUS END**-Jumpers (Mikro-DIP-Schalter neben den RS-485-Klemmen).

## Konfiguration

### Modbus-Adresse einstellen

Die Standard-Modbus-Slave-Adresse ist **1** mit den Kommunikationsparametern **9600 Baud, 8N1**. Zum Ändern der Adresse oder Baudrate verwenden Sie die Konfigurationssoftware **ModComTool** (kostenloser Download von domat.cz).

Änderungen der Adresse und Baudrate werden im EEPROM gespeichert und erfordern einen Modulneustart.

| Parameter | Register | Standard | Hinweise |
|-----------|----------|----------|----------|
| Slave-Adresse | H:4 LSB | 1 | Bereich 1–247, EEPROM, Neustart erforderlich |
| Baudrate | H:4 MSB | 13 (9600) | 10=1200, 11=2400, 12=4800, 13=9600, 14=19200 |

### INIT-Modus (Werksreset)

Wenn die Adresse oder Baudrate des Moduls unbekannt ist, bietet der DIP-Schalter **INIT** eine Wiederherstellungsmethode:

1. Stellen Sie den DIP-Schalter INIT auf EIN
2. Schalten Sie das Modul aus und wieder ein
3. Die Adresse wird auf **1** und die Baudrate auf **9600, 8N1** zurückgesetzt
4. Stellen Sie den DIP-Schalter INIT nach der Konfiguration wieder auf AUS

### PWM-Periodenkonfiguration

Die PWM-Periode ist für alle 8 Kanäle gemeinsam. Die TapHome-Vorlage stellt sie beim Import über den Parameter **PWM time (ms)** ein (Standard: 1000 ms). Das Modul speichert die Periode in 100-ms-Einheiten.

Typische PWM-Perioden für Fußbodenheizungsanwendungen liegen zwischen 10 und 120 Sekunden. Eine Periode von etwa 60 Sekunden funktioniert gut für die meisten Thermoantriebe, ändern Sie daher den Import-Standardwert von 1000 ms entsprechend.

### Kommunikationsausfallschutz

Das Modul unterstützt die Konfiguration eines sicheren Zustands pro Kanal bei Verlust der Modbus-Kommunikation:

| Register | Funktion |
|----------|----------|
| H:6 LSB | Aktivierung des Ausfallverhaltens pro Kanal (Bitmaske) |
| H:6 MSB | Zielausgangszustand bei Kommunikationsausfall (ein/aus pro Kanal) |
| H:7 LSB | Zeitüberschreitung bei Kommunikationsausfall in Sekunden (0 = deaktiviert) |

Wenn aktiviert und innerhalb der Zeitüberschreitung keine Modbus-Kommunikation empfangen wird, setzt das Modul automatisch jeden Ausgang in den konfigurierten sicheren Zustand.

## Gerätefunktionen

### PWM-Dimmerkanäle

Die Vorlage stellt 8 unabhängige PWM-Dimmer-Geräte (Kanäle 1–8) bereit, die jeweils einem Holding-Register zugeordnet sind. Jeder Dimmer:

- **Liest und schreibt** das Tastverhältnis als Wert 0–1000 (entspricht 0,0 %–100,0 %)
- TapHome skaliert den Wert automatisch (teilt durch 1000 zur Anzeige, multipliziert mit 1000 zum Schreiben)
- Das Initialisierungsskript aktiviert den Kanal durch Setzen des entsprechenden Bits in der PWM-Freigabe-Bitmaske und konfiguriert die gemeinsame PWM-Periode

Alle 8 Kanäle teilen dieselbe PWM-Periode, haben aber eine unabhängige Tastverhältnisregelung, was das Modul für Mehrzonen-Fußbodenheizungsverteiler geeignet macht.

### Weitere Funktionen

Die Module R312/R313 stellen auch Register für direkte binäre Ein-/Ausschaltung der Ausgänge (Umgehung von PWM), Zwangsüberschreibungs-Bitmaske, Rücklesen des Ausgangsstatus, Fehlerstatusflags, Überwachung der internen Modultemperatur und Auslesen der Firmwareversion bereit. Diese können in einem zukünftigen Vorlagen-Update hinzugefügt werden.

## Fehlerbehebung

### Keine Modbus-Kommunikation

1. Überprüfen Sie die RS-485-Verkabelung: K+ an A+/D+ und K- an B-/D- am Modbus-Gateway
2. Stellen Sie sicher, dass das Modul mit Strom versorgt wird (grüne PWR-LED muss leuchten)
3. Bestätigen Sie, dass die Slave-Adresse mit der TapHome-Konfiguration übereinstimmt — verwenden Sie ModComTool zur Überprüfung
4. Wenn die Adresse unbekannt ist, verwenden Sie den DIP-Schalter INIT zum Zurücksetzen auf Adresse 1 / 9600 Baud
5. Überprüfen Sie den Busabschluss: aktivieren Sie BUS END am ersten und letzten Gerät am Bus

### TxD-LED blinkt nicht

Die rote TxD-LED blinkt, wenn das Modul Daten auf RS-485 überträgt. Wenn sie nie blinkt:

1. Das Modul empfängt keine gültigen Modbus-Anfragen — überprüfen Sie die Slave-Adresse
2. Überprüfen Sie, ob die Baudrate übereinstimmt (Standard 9600)
3. Versuchen Sie, K+ und K- zu tauschen, falls die Polarität vertauscht ist

### Ausgänge reagieren nicht

1. Überprüfen Sie, ob der Kanal für den PWM-Modus aktiviert ist — das Initialisierungsskript setzt dies automatisch bei der ersten Verbindung
2. Überprüfen Sie, ob die Ausgangsversorgung (Klemmen GD/GDO) angeschlossen ist und die richtige Spannung hat (24 V AC für R312, 230 V AC für R313)
3. Überprüfen Sie die Sicherung — zugänglich von der Vorderseite des Moduls (F3,15A für R312, F1A für R313)
4. Überprüfen Sie, ob der minimale Laststrom (5 mA für R312) eingehalten wird — einige LED-Lasten können unter diesem Schwellenwert liegen

## Verfügbare Geräte 8

Diese Geräte erscheinen nach dem Import in TapHome.

Domat R312/R313 Modul

PWM Dimmer 1 Dimmer Lesen und Schreiben

Triac-Ausgangskanal 1 — Tastverhältnis 0–100 % mit 0,1 % Auflösung, steuert Thermoantriebe oder Heizungsventile über PWM

Register: H:9 Int16 Einheit: % numeric

Initialisierung

```taphome
MODBUSWNE(H, 8, Int16, $[PWMtimems]);MODBUSW(H, 7, Int16, MODBUSR(H, 7, Int16) | (((MODBUSR(H, 7, Int16) >> 8) | 1) << 8));
```

Level lesen

```taphome
MODBUSR(H, 9, Int16)/1000
```

Level schreiben

```taphome
MODBUSWNE(H, 9, Int16, Le*1000)
```

PWM Dimmer 2 Dimmer Lesen und Schreiben

Register: H:10 Int16 Einheit: % numeric

Initialisierung

```taphome
MODBUSWNE(H, 8, Int16, $[PWMtimems]);MODBUSW(H, 7, Int16, MODBUSR(H, 7, Int16) | (((MODBUSR(H, 7, Int16) >> 8) | 2) << 8));
```

Level lesen

```taphome
MODBUSR(H, 10, Int16)/1000
```

Level schreiben

```taphome
MODBUSWNE(H, 10, Int16, Le*1000)
```

PWM Dimmer 3 Dimmer Lesen und Schreiben

Register: H:11 Int16 Einheit: % numeric

Initialisierung

```taphome
MODBUSWNE(H, 8, Int16, $[PWMtimems]);MODBUSW(H, 7, Int16, MODBUSR(H, 7, Int16) | (((MODBUSR(H, 7, Int16) >> 8) | 4) << 8));
```

Level lesen

```taphome
MODBUSR(H, 11, Int16)/1000
```

Level schreiben

```taphome
MODBUSWNE(H, 11, Int16, Le*1000)
```

PWM Dimmer 4 Dimmer Lesen und Schreiben

Register: H:12 Int16 Einheit: % numeric

Initialisierung

```taphome
MODBUSWNE(H, 8, Int16, $[PWMtimems]);MODBUSW(H, 7, Int16, MODBUSR(H, 7, Int16) | (((MODBUSR(H, 7, Int16) >> 8) | 8) << 8));
```

Level lesen

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

Level schreiben

```taphome
MODBUSWNE(H, 12, Int16, Le*1000)
```

PWM Dimmer 5 Dimmer Lesen und Schreiben

Register: H:13 Int16 Einheit: % numeric

Initialisierung

```taphome
MODBUSWNE(H, 8, Int16, $[PWMtimems]);MODBUSW(H, 7, Int16, MODBUSR(H, 7, Int16) | (((MODBUSR(H, 7, Int16) >> 8) | 16) << 8));
```

Level lesen

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

Level schreiben

```taphome
MODBUSWNE(H, 13, Int16, Le*1000)
```

PWM Dimmer 6 Dimmer Lesen und Schreiben

Register: H:14 Int16 Einheit: % numeric

Initialisierung

```taphome
MODBUSWNE(H, 8, Int16, $[PWMtimems]);MODBUSW(H, 7, Int16, MODBUSR(H, 7, Int16) | (((MODBUSR(H, 7, Int16) >> 8) | 32) << 8));
```

Level lesen

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

Level schreiben

```taphome
MODBUSWNE(H, 14, Int16, Le*1000)
```

PWM Dimmer 7 Dimmer Lesen und Schreiben

Register: H:15 Int16 Einheit: % numeric

Initialisierung

```taphome
MODBUSWNE(H, 8, Int16, $[PWMtimems]);MODBUSW(H, 7, Int16, MODBUSR(H, 7, Int16) | (((MODBUSR(H, 7, Int16) >> 8) | 64) << 8));
```

Level lesen

```taphome
MODBUSR(H, 15, Int16)/1000
```

Level schreiben

```taphome
MODBUSWNE(H, 15, Int16, Le*1000)
```

PWM Dimmer 8 Dimmer Lesen und Schreiben

Register: H:16 Int16 Einheit: % numeric

Initialisierung

```taphome
MODBUSWNE(H, 8, Int16, $[PWMtimems]);MODBUSW(H, 7, Int16, MODBUSR(H, 7, Int16) | (((MODBUSR(H, 7, Int16) >> 8) | 128) << 8));
```

Level lesen

```taphome
MODBUSR(H, 16, Int16)/1000
```

Level schreiben

```taphome
MODBUSWNE(H, 16, Int16, Le*1000)
```

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

Mögliche Verbesserungen (6)

- H:1 Digital Outputs Bitmask — Direct on/off control of outputs via bitmask (lower byte), bypassing PWM dimming
- H:2 Digital Outputs Force Bitmask — Force output state override bitmask — forces outputs regardless of other control
- H:3 Output Status Readback — Read actual output states as bitmask — useful for verifying output is active
- H:4 Error Status — Module error flags — overtemperature, communication loss, etc.
- H:5 Module Temperature — Internal module temperature for thermal monitoring
- H:6 Firmware Version — Read-only firmware version identifier

## Importparameter

Diese Werte geben Sie beim Import des XML ein.

| In der App abgefragt | Standard      |
|----------------------|---------------|
| PWM time (ms)        | `1000`        |
| Slave-ID             | `1`           |
| IP-Adresse           | `192.168.0.1` |

## Quellen

- R312/R313 Datasheet
  
  [domat.blob.core.windows.net](https://domat.blob.core.windows.net/cms/ContentItems/1486_r312/l0Qzx7/domat_R312_R313_en.pdf) 2026-03-29
  
  [PDF](https://taphome.com/compatibility/devices/domat-m312-pwm/manufacturer/datasheet.pdf)
- M312/M313 Modbus Register Table (legacy)
  
  [domat-int.com](https://domat-int.com/wp-content/uploads/modbus/M312_M313modbus_en.pdf) 2026-03-29
  
  [PDF](https://taphome.com/compatibility/devices/domat-m312-pwm/manufacturer/modbus-table.pdf)
- R312/R313 Modbus Register Table (current)
  
  [domat-int.com](https://domat-int.com/wp-content/uploads/modbus/R312_R313_modbus_en.pdf) 2026-03-29
  
  [PDF](https://taphome.com/compatibility/devices/domat-m312-pwm/manufacturer/modbus-table-r312.pdf)
- Domat R312 Product Page
  
  [www.domat-int.com](https://www.domat-int.com/en/product/r312) 2026-03-29

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

