hardware:vaillantvrt340f
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
hardware:vaillantvrt340f [2017/05/02 13:44] – reinhold | hardware:vaillantvrt340f [2017/05/05 17:24] – [section 13] 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), | 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), | ||
Zeile 187: | Zeile 191: | ||
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.txt · Zuletzt geändert: 2017/05/11 19:46 von reinhold