Device Discovery

Overview

The Truma control panel discovers devices on the LIN bus using a three-phase process.

Phase 1: Broadcast Discovery

Master sends ReadByIdentifier (SID=0xB2) with broadcast NAD (0x7F) to find devices.

Request (example for CombiGas 0x0340):

7F 06 B2 00 17 46 40 03
│  │  │  │  │  │  └──┴─ Function ID (0x0340 = CombiGas, little-endian)
│  │  │  │  └──┴─────── Supplier ID (0x4617 = Truma)
│  │  │  └───────────── Identifier (0x00 = ProductID)
│  │  └──────────────── SID (0xB2 = ReadByIdentifier)
│  └─────────────────── PCI (0x06 = 6 bytes)
└────────────────────── NAD (0x7F = Broadcast)

Known Product Types

Supplier ID

Truma uses supplier ID 0x4617 (bytes: 0x17 0x46 little-endian).

Function IDs (Heaters)

Function IDProduct
0x0301Combi Gas (Old)
0x0310Combi D (Old)
0x0320Combi D (New)
0x0340Combi Gas (New)

Function IDs (Aircon)

Function IDProduct
0x0C00Aventa Comfort
0x0C01Saphir Compact
0x0C04Aventa Eco
0x0C05Saphir Comfort RC
0x0C06Aventa Compact
0x0C07Aventa Comfort Plus

Response (example: CombiGas found with variant 0x23):

01 06 F2 17 46 40 03 23
│  │  │  │  │  │  │  └─ Variant (0x23)
│  │  │  │  │  └──┴──── Function ID (0x0340)
│  │  │  └──┴────────── Supplier ID (0x4617)
│  │  └──────────────── RSID (0xF2)
│  └─────────────────── PCI
└────────────────────── NAD (device's current address)

Phase 2: Device Identification

Master queries discovered device for firmware and capabilities.

Firmware Version (ID=0x20):

Request:  01 06 B2 20 17 46 40 03
Response: 01 06 F2 02 00 01 01 00
                   │  │  │  └──┴─ Build (0x0100 = 256)
                   │  │  └─────── Revision (1)
                   │  └────────── Minor (0)
                   └───────────── Major (2) → v2.0.1

Unknown Query (ID=0x22):

Request:  01 06 B2 22 17 46 40 03
Response: 01 04 F2 04 01 00 FF FF  (purpose unknown)

Phase 3: NAD Assignment

Master assigns a permanent address to the device.

AssignNAD (SID=0xB0):

Request:  7F 06 B0 17 46 40 03 01
                         │  │  └── New NAD (0x01)
                         └──┴───── Function ID (0x0340)

Response: 01 01 F0 FF FF FF FF FF  (ACK with new NAD)

Post-Discovery: Steady State

After discovery, periodic polling occurs:

  1. Signal Frames (~52ms cycle): 0x20, 0x21, 0x22
  2. Diagnostic Poll (~1.3s): SID=0xB8/RSID=0xF8
  3. Error Status Check (~1.3s): ID=0x23

Error Status (ID=0x23): See Error Handling