Nov 26, 2017

[howto] RF control for Viessmann Vitovent 200-D (HRM B55)

I installed 3 Viessmann Vitovent 200-D in my home for controlled air ventilation.

They come with the option for a seperate RF remote switch to control the airstream. Airstream can be set to different levels:

  • Blow air from outside to inside
  • Blow air from inside to outside
  • off
  • automatic mode (if you buy a airquality sensor for 150-200€)
  • 1 to 4 for slow to fast air ventilation.

The RF remote wall switch ZK02582 costs between 150-400€ and has 4 buttons for Up, Down, Max and Auto mode.

The plan was to integrate this somewhen into my home automation and control it by external sensors, depending on time or by occupancy state.

Unfortunately Viessmann did not share any futher information about the used protocol etc. So the idea was to buy a ZK02582, sniff and clone the radio traffic and sell it again :-)

Luckily I disassembled the indoor cover and found a USB connector behind a sticker and an EnOcean TCM module!



So I ordered an EnOcean USB300 adapter and played some hours with it (without success). After half a year I started again. Now here are the results ;-)

EnOcean provides a development application named DolphinStudio with that you can send custom commands using the USB300.



DolphinView did NOT work with the TCM module inside the Vitovent. Probably they are using another firmware. I would not recommend to override it (if possible at all). In case you want to play with it, make sure that you do not have a dangerous voltage on the USB connector!!

So let's take a look on the RF protocol.

EnOcean uses different protocols:
  • ESP: Serial protocol
  • ERP: Radio protocol (wrapped inside ESP)
  • EEP: Equipment profile (wrapped inside ERP)
I found a document that describes some of the possible EEPs (web archived) and also figured out that the wall switch might be similiar to a rocker switch with 4 buttons. This means the RORG (radio telegram type) must be set to RPS (Repeated Switch).

The sender ID must be probably in the range of BaseID + 127. BaseID you can read out using Set ID in DolphinView.

Sending data 00 and status 00 to broadcast destination (0xFF FF FF FF) let me allow to pair the Vitovent! Voilá!

Now just needed to analyse and try some bits in data and status field. They are quite similiar to what you can find in the EEP document.

The binary data format is ###x$$$$, where ### is the button, x is the state of the button (pressed = 1, released = 0) and $$$$ seems to be unused or not recognized. (DolphinView expects hex data.)
  • 0b0001 0000 = 0x10 (down button)
  • 0b0011 0000 = 0x30 (up button)
  • 0b0101 0000 = 0x50 (auto button)
  • 0b0111 0000 = 0x70 (max button)
Possible buttons 4-7 are not recognized. The first 4 bits of the status field seems to be ignored. The last 4 bits are the repeating count (probably used for telegram routing). Easiest is to just leave status field untouched at 0x00.

That's it :)


I think that most EnOcean rocker switches with 4 buttons will work fine with Vitovent. So you can choose your prefered style and price :)

I will not test it, 'cause the next step is to integrate it into domoticz. If you tested any other wall switch it would be nice if you leave a comment.


Update 26.11.17
Integration in domoticz was easier than expected.

  1. Add USB300 under hardware setup. Choose the right USB port. If you have more USB devices connected it might be that they are reordered on a new boot.
  2. In Switches create a manual switch.
  3. Select Blinds and EnOcean, give it a name and that ID to e.g. 1. Use Rocker ID 1 for Up/Down.
  4. On the vitovent select the first channel C1 in RC menu.
  5. Press test in domoticz. Vitovent stops blinking, indicating that it is paired now.
  6. Click on Save.
If you also want to have Max/Auto you have to add a second switch with Rocker ID 2. Selectors do not seem to work yet with EnOcean. You can also chooses other switch types, but Blinds with its two buttons were most satisfying for me.


6 comments:

  1. Hi.
    Did You find out what EnOcean protocols are used by the Vitovent?
    I´m using Loxone as Home automation and the EnOcean Gateway can make use of these protocols:
    RPS (05)
    1BS (06)
    4BS (07)
    RPS (F6)
    1BS (D5)
    4BS (A5)
    Unsure if i can simple adjust the vitovent mode by this gateway

    ReplyDelete
    Replies
    1. I would try the two RPS. If it is not working, you can try the others as well. Think in worst case it will just not be recognized.

      Delete
  2. Anonymous8/10/2018

    Hi Krisha,

    thanks for your interesting post! I plan to order a Vitovent 200-D and integrate it into my homematic CCU2/CUxD environment via EnOcean.

    But I am unsure, what exactly can controlled be via EnOcean. Is it possible to set the operating modes directly (e.g. Mode 1 for slow to fast air ventilation or Blow air from outside to inside?)

    When it’s only possible to "simulate" the up/down keys from the RC switch, I have no chance to set the needed operation modes reliable to the device. Or is there an option to read out the current operating state from the device via EnOcean? I this case I can simulate the “up/down” Keys and check if the needed operation mode is really operated by device.
    Thanks & Best Regards,
    Berno




    ReplyDelete
    Replies
    1. Hi Berno,

      I did not find a way to read out the current mode. Using the wall switch it's probably a one-way direction.

      I had the same problem, but solved it by first choosing Auto or Max and then using up and down keys to switch to the desired mode.

      Max is only active for ~15 minutes. So if I want to set it, I choose Max and then simulate one down and one up key.


      Sometimes the commands are not successfully received because of distance or RF interference and the mode is not exactly to what it should be. But since I'm changing the mode at least once every day I can live with it :)

      Delete
  3. Anonymous8/13/2018

    Hi Krisha,

    many thanks for your help and information! Sending up/down key commands to the device seems to be not reliable enough for my use cases.

    Now I have to think about finding another solution than Vitovent 200-D or (if there is no alternative) also live with your described limitations.

    In any case: Many thanks to you! :-)

    ReplyDelete
  4. Hey Krisha,
    I am still trying to communicate with my Vitovent 200D via Enocean. While searching through the internet I found information about Dimplex DL50. Looks VERY similar to Vitovent 200D.

    BR,
    Martin

    ReplyDelete