Improved humidity-sensitive ventilation

Improved humidity-sensitive ventilation

A few weeks ago, we showed you how to monitor the operation of humidity-sensitive ventilation (type B) with Home Assistant. We left off with the observation that, in some cases, the mechanical humidity-sensitive setting is not ideal. So let's take a look at how a little home automation, used wisely, can improve the system's energy performance.




A word of advice: before reading this article, make sure you've read Part 1, to get the background and basics on how humidity-sensitive ventilation (type B) works.

Why adapt the ventilation regime

Ventilation specialists are generally convinced that humidity-controlled ventilation should never be stopped or turned down. This would be a cardinal sin, and would inevitably lead to mold growth...

But there are good, risk-free reasons for doing so:

  1. Switching off the ventilation for a few minutes while lighting a fire, to prevent the smoke going into the house instead of up the chimney.
  2. A temporary reduction in ventilation for the duration of a shower, to preserve a little warm air for comfort.
  3. A measured but prolonged reduction in ventilation for the duration of heavy rainfall, depending on the temperature.

No one will argue that turning ventilation off or lowering it for 5 minutes will have any noticeable effect on moisture evacuation - especially since a shower is usually taken with the door closed. Case 3 is more subtle, as its relevance depends on the outside temperature. Here's why:

  • When it's 5°C or less, the outside air - even saturated air - can contain very little humidity: less than 6g/m3. When heated to 19°C, this represents a relative humidity of less than 40%, which should have no influence on the operation of humidity-controlled ventilation. All's well.
  • At 10°C, when air is saturated with humidity, it contains more than 9g of water per m3. When heated to 19°C, this represents a relative humidity of 55%. At this level of humidity, the humidity-controlled extract units will open wide, running the ventilation system at full capacity, with no beneficial effect on reducing humidity in the house. On the other hand, your heating bill will be multiplied by three or four...
  • At 18°C or higher, the effect remains the same, but at least no heating energy is lost. On the other hand, you still lose 30% in electricity consumption.

That's why today we're going to show you how to improve the operation of humidity-controlled ventilation by adjusting its flow rate.

Adjusting ventilation speed

The ideal ventilation regime is one that provides the right volume of air for the home at all times. It's not a question of renewing enough air, as some ventilators believe, but just the right volume. If the ventilation system has been installed as part of an energy-efficiency renovation, excessive renewal will undermine the initial energy-saving objective.

However, as explained in the first part, humidity-sensitive ventilation works thanks to a central fan whose setpoint is specified in terms of pressure, not total airflow: this is how it can adapt to compensate for local variations in humidity in the home. The first question, therefore, is whether it is possible to adjust the total airflow of humidity-sensitive ventilation by modifying the pressure setpoint.

The answer can be found in the technical characteristics of the extract units: indeed, the airflow rate varies very regularly as a function of the static pressure, in any case from 25 Pa upwards:

Typical air extract unit flow rate (source: Anjos)
Typical air extract unit flow rate (source: Anjos)


It is therefore perfectly legitimate to correct excessive airflow by reducing the static pressure in the extraction circuit. But it's important to take a few measures beforehand, so as not to act blindly.

Measures

To find out what we're doing, we'll use two instruments: an anemometer, which measures the actual airflow through each extract unit, and a tube differential manometer, which measures the static pressure just behind each extract unit. These two instruments, which are essential for checking that a ventilation system is working properly, can be purchased on the Internet for as little as EUR 100 each for entry-level models.


An anemometer and a differential pressure gauge :To measure volume accurately, add a cone


To measure the total airflow through the extract unit, the anemometer needs to be fitted with a cone to ensure that all the air drawn in passes through the measuring instrument. The volume can then be calculated by multiplying the air velocity by the surface area of the measuring propeller, excluding the axis of rotation. We used a 3D printer to make a cone suitable for our anemometer, but some anemometer models are supplied with suitable adapters.

This will enable us to measure the flow rate of each extract unit under different conditions, as well as the static pressure just behind the unit to check that it's within the range required by the manufacturer to guarantee proper operation.

As an example, our measurements revealed that the actual total airflow of the ventilation system installed by the ventilator manufacturer was 50% higher than the theoretical airflow predicted by the heating engineer. In other words, one third of the heated air is being unnecessarily expelled to the outside. Not really a surprise, given that the ventilator didn't see fit to measure the airflow, but still...

Reconfiguring ventilation

The configuration of the central fan is naturally specific to the model used. In our case, as we saw in Part 1, it's the CAB 160 ECOWATT PLUS manufactured by S&P, which has a MODBUS interface via RS-485. Since we've connected it to the local network using a Yocto-RS485-V2 connected to a YoctoHub-Ethernet, we can use the Yoctopuce library on the command line to access the static pressure setpoint, stored in holding register 24:

C:\> YSerialPort -r 192.168.123.45 any modbusReadRegisters 1 24 1 OK: EcowattComm.serialPort.modbusReadRegisters = 130.


The setpoint set by the installer is therefore 130 Pa. You can change the setpoint value with the following command, and reread it to check that the change has been taken into account:

C:\> YSerialPort -r 192.168.123.45 any modbusWriteRegister 1 24 90 OK: EcowattComm.serialPort.modbusWriteRegister = 1 24 90. C:\> YSerialPort -r 192.168.123.45 any modbusReadRegisters 1 24 1 OK: EcowattComm.serialPort.modbusReadRegisters = 90.


The change in speed is clearly audible. By re-measuring all the extract units, we verify that the static pressure behind each unit is around 80 Pa, which is in line with the requirements for correct operation. Total airflow drops by 20%, and ventilation power consumption falls by 30%. This is already a small victory.

Control from Home Assistant

Once the basic speed has been adapted, let's look at how to dynamically modify the speed to improve management of the atypical situations described at the beginning of this post. To set the fan speed directly from Home Assistant, you'd need to be able to execute the modbusWriteRegisters command directly. However, this is not directly possible, as we are using the generic MQTT integration of Yoctopuce modules, which is not familiar with specific MODBUS functions.

So we'll use a little trick: rather than sending the MODBUS command from Home Assistant, we'll add the MODBUS command directly to the Yocto-RS485-V2, adding to the automatic measuring job (see part 1) a task that configures the fan to the desired speed. We'll then duplicate it and make two variants: a job for normal speed, and a job for reduced speed. We can then change the pump speed from Home Assistant simply by switching the active job.

Here's the additional task to add to our job:

Pressure setpoint configuration task
Pressure setpoint configuration task


Note that in MODBUS jargon, holding registers start at 40'001. Our register 24 therefore becomes 40'025...

Once the task has been added to our job, it looks like this:

The reduced-speed job variant
The reduced-speed job variant


All that's left is to duplicate it - or triple it, if you want three different regimes. Once done, we can begin by manually testing that the regime change works by switching the job directly on the module's Web interface. If all goes well, you can switch to Home Assistant control.

To ensure that the YoctoHub-Ethernet accepts to execute orders received via MQTT from Home Assistant, you need to make sure that you have enabled the functionality in the MQTT callback configuration. For security reasons, it is disabled by default:

Enable sending MQTT commands to the hub
Enable sending MQTT commands to the hub


Once this setting has been made, you can use an MQTT:Publish action to change jobs. You can perform a small test using the Developer Tools tab in Home Assistant. The topic must be filled in with the full path of the serialPort/set/currentJob sub-node of the Yocto-RS485-V2, which can easily be found using MQTTExplorer if you have taken care to assign logical names to the modules. The payload is the name of the job, with the extension .job.

All that's left to do is create as many automations as you like, such as a button that reduces ventilation for 5 minutes while you take a shower.

Outdoor humidity compensation

The application we're most interested in is the compensation of ventilation overspeed caused by high outdoor humidity. As it's late January and the temperature has rarely exceeded 5°C this month, we haven't yet had a chance to validate the approach in detail, but here's the broad outline.

  • We use a Yocto-Meteo-V2 to measure absolute humidity outdoors. In fact, we already had one, which we had installed to regulate humidity in the cellar.
  • We create an input_select Helper that memorizes the last pressure setpoint sent to the ventilation system: normal pressure, reduced pressure, and so on.
  • We create an Automation that performs the MQTT:Publish action when this input_select changes value.
  • An Automation is created which switches theinput_select to reduced pressure when the outdoor humidity exceeds 8.5g/m3.
  • Create an Automation that switchesinput_select to normal pressure when outdoor humidity is below 6.5g/m3

The combination of the last two rules forms a Schmitt Trigger, which avoids switching from one mode to the other too quickly. In fact, as the static pressure setpoint is a persistent setting on the central fan, it is certainly saved in flash memory or EEPROM. This type of memory has a limited number of write cycles, numbering in the hundreds of thousands. So it's no problem to change it 30 times a day, but you don't want to change it every second if the humidity is hovering around a single threshold value.

To combine these rules with a button for manual reduction of ventilation speed, we need to add an additional input_select that memorizes the manual request, with a delayed action that switches it back to the original state after the desired delay. Automation units switching ventilation must then also test the state of the input_select button used for manual switching.

It's all there, now it's just a matter of testing it over time!

Conclusion

We'll let you know in a few months' time how well the compensation works, with graphs to back it up. The first benefits in terms of energy savings thanks to ventilation monitoring have already been achieved, and we'll be watching to see if home automation can deliver further savings.

Clearly, dynamically changing the central fan configuration is not for everyone. But since the technical means were available, it would have been a shame not to take advantage. If the method proves effective in practice, it's likely that, in time, CMV manufacturers will themselves introduce this humidity control feature into the basic operation of central fans.

If you have more experience with CMVs than we do, and have other suggestions for improvement, please let us know!

Add a comment No comment yet Back to blog












Yoctopuce, get your stuff connected.