Itho mechanical ventilation with ESP8266 9

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.


Please note! The current version has a bug, after using the API of web interface receiving stops working.
I managed to burn my CC1101 so it might take me a while to find the problem, if anyone got a solution feel free to send me a message or a pull request on GitHub.

Leave a comment

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

9 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