Somfy RTS-telegram

Bit-voor-bit en timing-uitleg

1. Overzicht van één RTS-telegram

Een volledig RTS-signaal bestaat uit timing + bits, niet alleen nullen en enen.

Wake-up | HW Sync | SW Sync | 56-bit data frame | Inter-frame gap
    

2. Timing (zeer belangrijk bij RTS)

RTS gebruikt pulsduur-codering met een basistijd T ≈ 640 µs.

Element Duur
Korte puls 1 × T
Lange puls 2 × T
Wake-up ~9415 µs
HW sync puls 4 × T

3. Wake-up & synchronisatie

Wake-up burst

HIGH gedurende ±9,4 ms

Hardware sync

LOW → HIGH (4 × T) → LOW
Herhaald ±7 keer
    

Software sync

LOW (4 × T) → HIGH (1 × T)
    
Hierna weet de ontvanger: “nu komt data”

4. Datapakket: 56 bits (7 bytes)

Structuur:

Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6
    
Byte Functie
0 Encryptie-key
1 Commando
2 Rolling code (hoog)
3 Rolling code (laag)
4 Zender-ID (hoog)
5 Zender-ID
6 Zender-ID (laag)

5. Concreet voorbeeld (STOP / MY)

Gegevens:

Byte-voor-byte (hex → binair)

Byte 0 – Encryptie
0xA7 = 1010 0111

Byte 1 – Commando
0x02 = 0000 0010

Byte 2–3 – Rolling code
0x01 = 0000 0001
0xF4 = 1111 0100

Byte 4–6 – Zender-ID
0xA1 = 1010 0001
0xB2 = 1011 0010
0xC3 = 1100 0011
    

Volledig 56-bit frame:

10100111 00000010 00000001 11110100 10100001 10110010 11000011
    

(Zonder spaties: exact 56 bits)

6. Bit-codering op de radio (OOK)

RTS gebruikt een Manchester-achtige pulsduurcodering.

Bit Radio-signaal
0 KORT hoog → LANG laag
1 LANG hoog → KORT laag

Voorbeeld (eerste 4 bits):

1 → HIGH(2T) LOW(1T)
0 → HIGH(1T) LOW(2T)
1 → HIGH(2T) LOW(1T)
0 → HIGH(1T) LOW(2T)
    
De ontvanger leest timing, niet alleen logische niveaus.

7. Checksum (XOR-nibble)

Daarom lijkt het signaal “versleuteld”, maar is het technisch obfuscatie.