TIN-Protokoll

Übersicht

TIN (Truma Intelligent Network) ist Trumas Implementierung des LIN-Protokolls (Local Interconnect Network) zur Steuerung von Heizungs-, Kühl- und Lüftungssystemen in Freizeitfahrzeugen. Das Protokoll läuft mit 9600 Baud (im Vergleich zur Standard-Automotive-LIN-Geschwindigkeit von 19.200 Baud) und verwendet einen RJ12-Stecker, bei dem PIN 3 LIN/TIN und PIN 5 GND ist. Moover-Einheiten verwenden stattdessen einen Rast 2.5-Stecker.

Dokumentationsstatus: Diese Dokumentation ist unvollständig und kann Ungenauigkeiten enthalten. Das TIN-Protokoll wurde durch Reverse Engineering ermittelt, und einige Informationen können auf unvollständigen Beobachtungen oder Fehlinterpretationen des Protokollverhaltens basieren.

Technische Grundlagen

LIN-Transport-Schicht

TIN basiert auf dem LIN 2.x-Protokollstandard:

  • Baudrate: 9600 bps (Truma-spezifisch, niedriger als Standard-LIN)
  • Bus-Architektur: Eindraht plus Masse
  • Topologie: Master-Slave mit mehreren Slave-Knoten
  • Frame-Format: Header (Master) + Response (Slave)
  • Datenlänge: 8 Bytes pro Frame

Frame-Struktur

Jeder LIN/TIN-Frame folgt dieser Struktur:

[SYNC_BREAK] [SYNC_FIELD] [PID] [DATA_0..7] [CHECKSUM]

Protected Identifier (PID):

  • Größe: 1 Byte
  • Format: PPFFFFFF (2 Paritätsbits + 6 Frame-ID-Bits)
  • Frame-Typen:
    • 0x00-0x3B: Signal-Frames (bedingungslos)
    • 0x3C: Master-Request-Frames (Diagnose)
    • 0x3D: Slave-Response-Frames (Diagnose)
    • 0x3E: Benutzerdefinierte Frames
    • 0x3F: Reservierte Protokoll-Frames

Prüfsumme:

  • Klassische Prüfsumme: Wird für Diagnose-Frames verwendet (0x3C-0x3F)
  • Erweiterte Prüfsumme: Wird für Signal-Frames verwendet (beinhaltet PID in der Berechnung)

Stecker-Spezifikationen

RJ12-Stecker (Standard):

  • PIN 3: LIN/TIN-Signal
  • PIN 5: GND (Masse)

Rast 2.5-Stecker (Moover-Einheiten):

  • Wird für Diagnosezwecke bei Moover-Komponenten verwendet

Protokoll-Versionen

TIN hat sich durch mehrere Versionen entwickelt, wobei jede neue Funktionen hinzufügte und verschiedene Gerätegenerationen unterstützte.

TIN 1.0 (Legacy)

  • Zweck: Nur für Diagnosezwecke
  • Geräte: Heizgeräte mit analogen Bedienfeldern, frühe CP-Plus-Einheiten (nicht I-Net Ready)
  • Einschränkungen: Keine Fernsteuerungsmöglichkeit
  • Status: Legacy für moderne Installationen

TIN 3.2 (I-Net Ready)

  • Einführung: Erste I-Net Ready-Protokollversion
  • Geräte: I-Net Ready-Heizgeräte mit Firmware ≥ 5.0.0
  • Funktionen: Fernsteuerung über Inet Box, CP Plus-Steuerung
  • Kompatibilität: Kann nicht mit neueren InetX-Panels arbeiten

TIN 4.0 (Aktuell)

  • Einführung: Mitte 2018
  • Geräte: Moderne Heizgeräte, InetX-Panels, iNet X Connect
  • Funktionen: Vollständige Fernsteuerung, Bluetooth-Konnektivität (InetX), Mobilfunknetz (Connect)
  • Abwärtskompatibilität: Unterstützt analoge Bedienfelder
  • Status: Aktueller Standard für Neuinstallationen

Geräte-Identifikation

Hersteller-ID

Alle Truma-Geräte verwenden die Hersteller-ID: 0x4617 (Little-Endian: [0x17, 0x46])

Produkttypen und Funktions-IDs

Heizgeräte

ProduktFunktions-IDBeschreibung
CombiGas (Legacy)0x0301Legacy Gasheizgerät mit TIN 1.0/3.2
CombiGas0x0340Modernes Gasheizgerät mit TIN 4.0
CombiD (Legacy)0x0310Legacy Dieselheizgerät mit TIN 1.0/3.2
CombiD0x0320Modernes Dieselheizgerät mit TIN 4.0

Klimaanlagen

ProduktFunktions-IDBeschreibung
Aventa Comfort0x0C00Standard-Klimaanlage
Saphir Compact0x0C01Kompakte Klimaanlage
Aventa Eco0x0C04Economy-Klimaanlage
Saphir Comfort RC0x0C05Ferngesteuerte Klimaanlage
Aventa Compact0x0C06Kompaktes Aventa-Modell
Aventa Comfort Plus0x0C07Premium-Klimaanlage

Erkennungsverfahren

Die Geräteerkennung verwendet den Read By Identifier-Service (SID 0xB2):

1. Produktidentifikationsanfrage:

[PID=0x3C] [NAD] [PCI=0x06] [SID=0xB2] [ID=0x00] [0x17] [0x46] [FUNC_ID_LO] [FUNC_ID_HI]

2. Produktidentifikationsantwort:

[PID=0x3D] [NAD] [PCI=0x06] [RSID=0xF2] [0x17] [0x46] [FUNC_ID_LO] [FUNC_ID_HI] [VARIANT]

3. Seriennummeranfrage:

[PID=0x3C] [NAD] [PCI=0x06] [SID=0xB2] [ID=0x01] [0x17] [0x46] [FUNC_ID_LO] [FUNC_ID_HI]

4. Seriennummerantwort:

[PID=0x3D] [NAD] [PCI=0x06] [RSID=0xF2] [SERIAL_BYTE0] [SERIAL_BYTE1] [SERIAL_BYTE2] [SERIAL_BYTE3]

Identifier-Typen

  • 0x00: Produktidentifikation (Hersteller-ID + Funktions-ID + Variante)
  • 0x01: Seriennummer (32-Bit, Little-Endian)
  • 0x20: Firmware-Version (major.minor.revision.build)
  • 0x23: Aktueller Fehlerstatus

Service-Identifier

Anfrage-Services (SID)

SIDService-NameZweck
0xB0Assign NADKnotennummer dem Gerät zuweisen
0xB1Assign Frame IDFrame-IDs für Signalübertragung zuweisen
0xB2Read By IdentifierGeräteinformationen anfordern
0xB8DiagnosticTruma-spezifische Diagnosebefehle
0xB9Time PrepareZeitablese-/Schreiboperation vorbereiten
0xBATime ReadGerätezeit auslesen
0xBBTime WriteGerätezeit schreiben

Antwort-Services (RSID)

RSIDService-NameZweck
0xF0Assign NAD ResponseBestätigung der NAD-Zuweisung
0xF1Assign Frame ID ResponseBestätigung der Frame-ID-Zuweisung
0xF2Read By Identifier ResponseGeräteinformationsantwort
0xF8Diagnostic ResponseDiagnosebefehlantwort
0xF9Time Prepare ResponseBestätigung der Zeitvorbereitung
0xFATime Read ResponseGerätezeitdaten
0xFBTime Write ResponseBestätigung des Zeitschreibens

Fehlerbehandlung

Fehlerformat

Gerätefehler werden in 3 Bytes codiert:

Byte 0: Fehlerformat (0x01 oder 0x02)
Byte 1: Fehlerklasse
Byte 2: Fehlercode

Fehlerklassifizierung

Format 1:

  • class = 0x00: OK (kein Fehler)
  • class < 0x10: Warnung
  • class ≥ 0x10: Fehler

Format 2:

  • class = 0x00: OK (kein Fehler)
  • class < 0x05: Warnung
  • class ≥ 0x05: Fehler

Anzeigeformat

Fehler werden typischerweise angezeigt als: {SEVERITY}{CLASS}{CODE} {DEVICE}

Beispiele:

  • E621 H - Fehler, Klasse 6, Code 21, Heizgerät
  • W423 H - Warnung, Klasse 4, Code 23, Heizgerät
  • O000 H - OK (kein Fehler)

Signal-Protokolle

TIN unterstützt drei Signal-Protokollvarianten für verschiedene Gerätegenerationen:

ProtokollGeräteSignal-IDsBeschreibung
Legacy TINLegacy Heizgeräte0x03-0x07, 0x16Separate Befehlskanäle für jede Funktion
Neues TINModerne Heizgeräte0x20-0x22, 0x17Einheitliche Befehlsstruktur
CombiCoolKlimaanlagen0x08, 0x17, 0x37-0x3ACI-Schnittstellenprotokoll

Klicke auf den Protokollnamen, um detaillierte Frame-Spezifikationen zu sehen.

Kommunikationsmuster

Master-Slave-Modell

  • Master: Bedienfeld (CP Plus, InetX) sendet Befehle und plant Signalübertragungen
  • Slaves: Heizgeräte, Klimaanlagen antworten auf Anfragen und übertragen geplante Signale
  • Timing: Frame-Intervalle typischerweise 10-100ms, mit periodischen Statusaktualisierungen

Periodische Signalübertragung

  1. Master sendet Sync Break + Sync Field
  2. Master überträgt PID für erwartetes Signal
  3. Slave überträgt Signaldaten + Prüfsumme
  4. Master validiert Prüfsumme
  5. Prozess wiederholt sich für nächstes geplantes Signal

Befehl-Antwort-Zyklus

  1. Master sendet Diagnose-/Identifikationsanfrage (PID 0x3C)
  2. Slave verarbeitet Anfrage
  3. Slave sendet Antwort-Frame (PID 0x3D)
  4. Master validiert Antwort
  5. Kommunikation wird fortgesetzt

Bekannte Komponenten

Bedienfelder

Truma CP Plus:

  • LIN-Master im TIN-Ökosystem
  • Verfügbar in zwei Varianten:
    • Standard: Ein TIN-RJ12-Anschluss
    • CI-Variante: Zusätzlicher RJ12 für CI (selten, nur für Händler)
  • Ältere Versionen unterstützen keine neueren Protokolle (Hardware identisch, Firmware gesperrt)

Truma InetX:

  • Modernes Bedienfeld mit resistivem Touchscreen
  • Integriertes Bluetooth für lokale App-Steuerung
  • Nur TIN 4.0 (ab Mitte 2018)
  • Zwei Versionen:
    • Standard: TIN + Bluetooth
    • Pro: TIN + Bluetooth + CAN + CI-Bus (CI-Bus softwareaktiviert)
  • Anderer Ausschnitt als CP Plus (nicht kompatibel)

Heizgeräte

Truma Combi (2/4/6, E und D Varianten):

  • Standard Truma-Heizgeräte
  • 2 RJ12-TIN-Anschlüsse an der Steuereinheit
  • Graues Gehäuse: Erfordert Austausch der Steuereinheit für I-Net Ready (keine Feldaktualisierung)
  • Ab Mitte 2018: TIN 4.0 mit neuer Steuereinheit
  • Analoge Bedienfelder weiterhin kompatibel
  • Arbeitet als LIN-Slave

Klimaanlagen

Truma Aventa:

  • RJ12-Anschluss für TIN-Bus
  • Oft nicht bei Installation verbunden
  • Kann über CP Plus, InetX oder Alde-Panels gesteuert werden, wenn verbunden

Alde Heizgeräte (neuere Modelle):

  • Roter RJ12: TIN-Anschluss
  • Gelber RJ12: CI-Bus-Anschluss
  • CI-Bus immer aktiv (im Gegensatz zu Truma)
  • Kompatibel mit Truma-Ökosystem

Fernsteuerungslösungen

Truma Inet Box (Legacy):

  • GSM-Modem + Bluetooth-Schnittstelle
  • Bluetooth für erste Einrichtung
  • SMS für Fernsteuerung
  • 2 TIN 1-Anschlüsse (Slave-Modus zum CP Plus)
  • 1 TIN 2-Anschluss (Master-Modus zur Aventa Comfort)
  • Unterstützt sowohl TIN 3.2 als auch TIN 4.0
  • Status: Legacy (GSM-Abschaltung ~2025 in Deutschland)

Truma iNet X Connect (Aktuell):

  • Eingeführt 2024
  • Mobilfunknetzverbindung (40 europäische Länder)
  • Funktioniert mit iNet X (Pro)-Panels
  • CAN-Bus-Integration
  • 2-Jahres-Service-Paket enthalten
  • Zusätzliche Pakete: 30-Tage oder 365-Tage
  • Preis: 399 € (Fachhändler)
  • Status: Aktuelle offizielle Fernsteuerungslösung

Diagnosewerkzeuge

Truma Service Interface:

  • Basiert auf BabyLIN Interface (Lipowsky)
  • Windows-Software für Diagnose
  • Live Explorer für Echtzeit-Parameterüberwachung
  • Unterstützt alle Truma-TIN-Komponenten
  • Status: Professionelles/teures Diagnosewerkzeug

Truma Moover:

  • Rast 2.5-Stecker für TIN
  • Nur für Diagnosezwecke

Kommunikations-Timing

Basierend auf beobachtetem Verhalten:

Startup:

  • Break-Dauer: ~1,3ms
  • Anfangspause: ~1600ms

Periodische Kommunikation:

  • Frame-Intervall: ~40-60ms
  • Keepalive-Block: ~40 Frames
  • Keepalive-Frequenz: Alle 10 Sekunden

Frame-Sequenz (Beispiel):

0x20 (HeaterCommand)
0x61 (keine Antwort)
0xE2 (keine Antwort)
0x3C (Diagnoseanfrage)
0x7D (keine Antwort)
[wiederholen...]
0x61 (0x21 Antwort - HeaterInfo1)
0xE2 (0x22 Antwort - HeaterInfo2)
0x3C (Diagnose)

Implementierungshinweise

Temperaturcodierung

TIN verwendet zwei verschiedene Temperaturcodierungsschemata:

Legacy TIN: Kelvin × 10, 16-Bit Little-Endian

  • Aus: 0x0000
  • 5°C: 0x0ADC (2780)
  • 22°C: 0x0B86 (2950)
  • 30°C: 0x0BD6 (3030)

Neues TIN: Lookup-Tabellen-Codes

  • Aus: 0xAA
  • 5°C: 0xDC
  • 22°C: 0x86
  • 30°C: 0xD6

Integrationsrichtlinien

  1. Implementiere eine ordnungsgemäße LIN-Transport-Schicht

    • Korrektes Timing (9600 Baud)
    • Break-Erkennung
    • Prüfsummenvalidierung
  2. Geräteerkennung handhaben

    • Produktidentifikation broadcasten
    • Seriennummern abfragen
    • Firmware-Versionen anfordern
    • Fehlerstatus prüfen
  3. Signale auf Gerätezustand abbilden

    • Entsprechende Protokollvariante parsen (Legacy TIN/Neues TIN)
    • Temperaturcodierungen konvertieren
    • Gerätezustandsänderungen verfolgen
  4. Fehlerwiederherstellung implementieren

    • Prüfsummenvalidierung mit Neuübertragung
    • Geräte-Timeout-Behandlung
    • Automatische Neuerkennung bei Verlust
  5. Timing-Einschränkungen beachten

    • Frame-Intervalle
    • Antwort-Timeouts
    • Periodische Statusaktualisierungen

Referenzen

Protokollstandards

Verwandte Dokumentation

Implementierungsressourcen

  • WomoNET-Treiberimplementierung: womonet-drivers/src/tin/
  • Protokolltestdaten: truma-driver/TRUMA_PROTOCOL.md
  • Beispiel-Logs: truma-driver/logs_new.md