[HowTo][Pro] Make Duco Silent Ventilation Box Smart

Hello all,

With the help of various forums, I came up with a setup to make the DUCO ventilation system smart. Because I had to do quite a bit of searching myself, I thought it would be fun to collect all the lessons learned.

I have a Duco Silent ventilation system, which can be operated wired in two places. There is also an ‘Auto’ function, but I was actually very dissatisfied with that. This supposedly smart sensor does not know nearly as much about the conditions as Homey, and therefore decides to extract at the maximum setting when the humidity inside is higher than 70, while the air that is sucked in at that moment is 94%. So not that effective.

To replace this auto mode, I use two sensors that I already had: the two Aeotec Multisensors. These are installed in the kitchen and bathroom: excellent places to measure air quality. To measure the power consumption of the fan, I use an old Innr plug (with power measurement). And to control the fan I use a Fibaro Double Switch.

I also use the Device Capabilities app to bring everything together and the KNMI (the Dutch weather institute) app to retrieve information from outside.

I started with the Device Capabilities app. There I brought together all the data from the different sensors. I also created a variable that shows the difference between the kitchen and the bathroom. If that difference suddenly increases, the shower is probably on. I also included the consumption of the ventilation system. I quickly learned which mode of the Duco entailed which consumption. I also created the slider for the controls there.

I connected the Fibaro according to the diagram below:

Then all that was left for me was to create the corresponding flows.


Air that is coming in, has a lower temperature as the inside temperature. As it gets warmer the relative humidity will get lower, even lower then 70%. So it is still usefull to ventilate with outside air with 94% humidity. So you could take into account this effect.


Yes, i totally agree with this.

That is why i convert humidity and temperature to absolute humidity (using homey script) and store these values in homey logic variables. I use these absolute humidity in flows/scripts to conclude if ventilation should be used (or not).

So create flows for every room (you want to monitor) to trigger on temperature change and to trigger on humidity change and calculate the absolute humidity with the following script. Return value is a tag which can be stored in the logic variable for absolute humidity for that room.

// Calculate absolute humidity from temperature and relative humidity (input args)
// Absolute Humidity (grams/m3) = 6.112 x e^[(17.67 x T)/(T+243.5)] x rh x 2.1674
//                               -----------------------------------------------
//                                                (273.15+T)

var params = args[0].split(',');

var Temperature = parseFloat(params[0].trim());
var RelativeHumidity = parseFloat(params[1].trim());

var ah = (6.112 * Math.exp((17.67 * Temperature)/(Temperature + 243.5)) * RelativeHumidity * 2.1674) / (273.15 + Temperature);

var AbsoluteHumidity = parseFloat(ah.toFixed(3));

await setTagValue("Absolute_Humidity", {type: "number", title: "Absolute Humidity"}, AbsoluteHumidity ); 

return true;


That looks sophisticated enough :grinning:

1 Like

@DvStarrenburg Gaaf! Dus als ik het goed begrijp plaats je de Fibaro schakelaar ertussen, waarbij je vervolgens via Homey spanning kan zetten op L2 of L3. Waardoor ventilatie stand 2 of 3 wordt geactiveerd?

Hoe schakel je vervolgens de ventilatie weer uit, want op L1 (stand 1) staat toch continu spanning?
(Hoop dat ik het goed verwoord, want werk in de IT, niet in de elektrotechniek :smiley: )

Hi Jelle,

Please edit, and translate your post to English, thx!

I think ventilation fans should must always run at position 1 in Holland. So only the speed increases to 50% and 100% are controlled with that flow.
The logic card with [waarde] is exactly 0 means ‘no speed increasing’ instead of ‘off’
When you’d like to turn it off anyways, you’ll need another Fibaro relais in order to switch L1 .