hardware:vaillantvrt340f
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
hardware:vaillantvrt340f [2017/05/02 13:44] – reinhold | hardware:vaillantvrt340f [2017/05/11 19:46] (aktuell) – reinhold | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Decoding the wireless heating control Vaillant CalorMatic 340f (868MHz) ====== | ====== Decoding the wireless heating control Vaillant CalorMatic 340f (868MHz) ====== | ||
+ | - [[hardware: | ||
+ | - [[hardware: | ||
+ | - // | ||
- | In our appartment, we have a wireless heating control system made by Vaillant (probably 8-10 years old). Since I recently started into Smart Home and Home Automation (well, so far, i have mainly set up a huge net of all different kinds of sensors and some light bulbs, as I have hardly anything that could be controlled wirelessly), | + | {{: |
- | To detect and analyze the wireless signals, I'm using an RTL282x-based DVB-T dongle together with the RTL-SDR software. | + | In our apartment, we have a wireless heating control system made by Vaillant (probably 8-10 years old). Since I recently started into Smart Home and Home Automation (well, so far, i have mainly set up a huge net of all different kinds of sensors and some light bulbs, as I have hardly anything that could be controlled wirelessly), |
+ | |||
+ | To detect and analyze the wireless signals, I'm using an RTL282x-based DVB-T dongle together with the [[http:// | ||
===== Figuring out the Frequency ===== | ===== Figuring out the Frequency ===== | ||
Zeile 187: | Zeile 192: | ||
UPDATE: After some more reading, it seems that this type of encoding is also known as [[https:// | UPDATE: After some more reading, it seems that this type of encoding is also known as [[https:// | ||
+ | |||
+ | |||
===== Decoding the Messages ===== | ===== Decoding the Messages ===== | ||
Now that we know the binary contents of the messages sent by the thermostat to the boiler, the next step is to understand what these messages actually mean. [[hardware: | Now that we know the binary contents of the messages sent by the thermostat to the boiler, the next step is to understand what these messages actually mean. [[hardware: | ||
+ | |||
+ | |||
+ | |||
+ | ===== UPDATE: Bit stuffing -- but WHY? ===== | ||
+ | |||
+ | During my tests of the wireless control, I collected various different signals. Trying to group them into octets for bytes, I ended up with a dilemma: I realized that the second-to-last byte should be 0xFF and the one before was probably some kid of checksum. That left me with 9 bits before that checksum byte: | ||
+ | |||
+ | < | ||
+ | < | ||
+ | 00000000 00000000 01111110 10110110 01101111 00000000 00000100 00000000 10000000 00010001 00101101 00000000 <span style=" | ||
+ | 00000000 00000000 01111110 10110110 01101111 00000000 00000100 00000000 00000000 00010001 00000000 00000000 <span style=" | ||
+ | 00000000 00000000 01111110 10110110 01101111 00000000 00000100 00000000 10000000 00010001 00000000 00000000 <span style=" | ||
+ | 00000000 00000000 01111110 10110110 01101111 00000000 00000100 00000000 00000000 00000001 00000000 00000000 <span style=" | ||
+ | 00000000 00000000 01111110 10110110 01101111 00000000 00000100 00000000 00000000 00000001 01111100 00000000 <span style=" | ||
+ | 00000000 00000000 01111110 10110110 01101111 00000000 00000100 00000000 10000000 00000001 01111100 00000000 <span style=" | ||
+ | </ | ||
+ | |||
+ | The first four observations were among the most frequent signals. | ||
+ | |||
+ | In this table, I already split the binary signal into octets, i.e. bytes. Since the full signal has 129-131 bits, some extra bits need to be included to form 9-bit parts somewhere. | ||
+ | |||
+ | As my reasoning in part 2 shows, that extra byte must be before the final three bytes, but after the fifth-to-last one. So we have the 9-bit sequence 101111101 that we must make sense of. Even worse, the last two observations appear to be shifted by one additional bit after a bit sequence of 01111100. | ||
+ | |||
+ | After some googling, I stumbled upon the [[https:// | ||
+ | |||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | |||
+ | So, the pysical layer appears to be encoded using differential Manchester coding, after bit-stuffing. Somehow to me this does not make too much sense, as bit-stuffing | ||
+ | |||
+ | But as the evidence is so overwhelmingly in favor of bit-stuffing, | ||
+ | |||
+ | |||
+ | ===== Finally: Decoding the Messages ===== | ||
+ | |||
+ | Now that we finally know the binary contents of the messages sent by the thermostat to the boiler, the next step is to understand what these messages actually mean. [[hardware: | ||
+ | |||
+ |
hardware/vaillantvrt340f.1493732691.txt.gz · Zuletzt geändert: 2017/05/02 13:44 von reinhold