Itho mechanical ventilation with ESP8266 22

My house has a central ventilation system, I replaced it with a Itho CVE ECO fan for some power savings.
Today I finally received my new CC1101 transceiver (I blew up my first one).

CC1101 pin out

The Itho has an optional wireless remote which works with on 868MHz, I came across this site: Rogiers Home-Automation blog 
He had a lot of information but somehow I couldn’t get it to work, I then found a topic on Tweakers where some one posted a library for the ESP8266.
That library worked out of the box, I could receive signals from my remote, register and send commands.

With a humidity sensor I want to control the fan, when someone is taking a shower (and forgets to turn on the fan) the ESP8266 (nodemcu) will turn on the fan.
And I want control it from pimatic.

So I made a simple sketch to manually send code by serial.
Itho esp8266 remote

After that I ripped the code from my Roomba project to have a web interface and OTA updates.
Itho esp8266 remote

The remote costs €50, with this project it will cost you $6 so be grateful πŸ˜‰ 

  • CC1101 – $3
  • Nodemcu – $3.25

Be aware that you buy the 868 version, there is also a 433 version. It will work but the range is terrible.

The code is available on my Github.

The OTA version is the most complete, this will also receive the remote and writes last state to the EEPROM.



A lot of people requested MQTT so here it is:

Leave a comment

Your email address will not be published. Required fields are marked *

22 thoughts on “Itho mechanical ventilation with ESP8266

  • HWL

    Hi Marcel,

    This is very interesting. I was looking at the same ‘problem’ at the moment. I’m starting to use OpenHAB to automate my home. 1 of the things on my ToDo list is this.

    Could you please indicate where you got the ESP8266 and the CC1101? I found many, many versions, but which did you use to overcome the supply issues? (usually they work on 3.3V, I found -and use- an ESP8266 with on board level-shifter so it can be programmed via USB). Disadvantage however is, the ESP pins aren’t that easily available to connect to the CC1101, which runs on 3.3V. Power supply could be an ordinary usb port or usb power supply.

    Also: could you publish the bin or the ‘how to make a bin’?

    Best regards, HWL

  • Anne

    Hi Marcel,

    I followed your instructions, and I can control the Itho fan via the API as advertised, thanks! πŸ™‚

    What do you mean with ‘receiving stops working’ after using the web API? At the moment I don’t see any difference (I don’t have a DHT sensor connected yet)?

    I am planning to add a DHT senor and integrating the unit with Homey so the fan can be triggered when the humidity is above a set point.

    @HWL, for a binary file to work, the WIFI and domotica details need to be taken out of the binary.

    Thanks again,

    Regards, Anne

    • HWL

      Hi Anne and Marcel,

      Today I received the nodeMCU and the CC1101 module. In the meantime I have digged into the Arduino IDE and… you were right (off course): spreading the binary wasn’t the most obvious thing to do. (since it would include your SSID / password and still wouldn’t be working in my situation). Compiling has also been working, so now I have to get things connected.

      As Anne mentioned: what is exactly what you mean with receiving stops working.

      Best regards,


      • Marcel Post author

        There was a bug, when you send a command via the web interface the CC1101 would stop to receive commands from the real remote.
        This should be fixed in the latest version on Github.

        • Anne

          Hi Marcel,

          Nice, and now I see what you mean, it works πŸ™‚

          I have modified your code to integrate with Homey instead of Pimatic. It works really well, I now have a nice graph with the temperature, humidity as well as the state of the Itho unit. Homey turns on the Itho when the humidity in the bathroom passed a preset value, works fine. I need to experiment a bit with enabling the timer mode or setting the Itho to ‘High’ for a certain time period to see what works best.


          Regards, Anne

        • HWL

          Hi Marcel,

          Build all together this morning: working fine! No bugs found so far. Thanks a lot for sharing.

          I added 1 feature: requesting the current state via your API. (since I don’t know how Git works, I want to share it here:)

          I added

          if (action == “STATE”)
          server.send (200, “text/html”, CurrentState );

          within your void handle_api() routine. I now can request the current state should I have missed something / after a system restart / what so ever. I use OpenHAB, so I can now start integrating.

          Best regards,


          • Anne

            @HWL, nice, I have included your ‘State’ addition.

            @Marcel, I have cloned the github repository and changed it with my version which integrates with the Homey controller, I hope you don’t mind. It can be found here:

            I have included some screenshots from the Homey interface in the, it gives an impression of how Homey can be used with the nodeMcu Itho unit.


            Regards, Anne

  • Matthijs F

    This is some awesome stuff, Kuddo’s for that.
    I’m hoping you can point me in the right direction for configuration with pimatic. How did you manage to get the current status of the fan displayed there or are you using fire and forget from Pimatic for now?

  • Jeroen

    Thanks for sharing this project.
    I can control my itho but can’t get the state of my real remote.
    Can you tell me how to do?
    I tried the learn button and then pressed a button on the remote but no results.

    Don’t know if it is a combination of buttons or do I first press a button and then the learn button.

    Thanks in advance,


    • Marcel Post author


      The CC1101 should receive the code from the remote whenever a button is pressed.
      Make sure you are using the latest code.
      It doesn’t talk with your remote but only receives the RF signal and updates a variable.

  • Zomer

    Love this, bedankt man!

    I have one Itho box and am now working to get your script working to control it from pimatic. But I was wondering, if I would buy an other Itho box, would I be able to control them independently?

    • Marcel Post author

      No I don’t think so, the library has a fixed DeviceID.
      Maybe edit the DeviceID in the library and build a second transceiver, but I’m not sure.

      • Zomer

        Thanks! I could definitely try that if the time comes. I got it all working, (that CC1101 is fragile without real holes!) but I wonder, how do you guys turn the Itho fan completely off?

        • Marcel Post author

          I know, it’s a pain in the ass to solder it without burning it to a crisp.
          I never turn it off, far as I know you can only set it to low.