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 ID | Product |
|---|---|
0x0301 | Combi Gas (Old) |
0x0310 | Combi D (Old) |
0x0320 | Combi D (New) |
0x0340 | Combi Gas (New) |
Function IDs (Aircon)
| Function ID | Product |
|---|---|
0x0C00 | Aventa Comfort |
0x0C01 | Saphir Compact |
0x0C04 | Aventa Eco |
0x0C05 | Saphir Comfort RC |
0x0C06 | Aventa Compact |
0x0C07 | Aventa 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:
- Signal Frames (~52ms cycle): 0x20, 0x21, 0x22
- Diagnostic Poll (~1.3s): SID=0xB8/RSID=0xF8
- Error Status Check (~1.3s): ID=0x23
Error Status (ID=0x23): See Error Handling
