Brink Renovent HR/Medium heat recovery unit automation with Shelly 1 and Shelly H&T

Before I start, because I’m a new user I’m only permitted to embed one image. I have replaced some images with links, others I had to remove. See comments below.

I have a Brink Renovent HR/Medium heat recovery unit that has three different fan speeds. After a house renovation I no longer had room for the bulky wired switch that could be used to select the fan speed. The manual showed that instead of the switch (connected to a perilex wall-outlet) the unit could also be switched using three wires that are connected to the unit using a simple RJ11 connector. (See X4-3, X4-5 and X4-6).

I bridged and removed the old switch so the unit was still functioning. I used one Shelly 1 switch to connect X4-3 to X4-5, and one to connect X4-3 to X4-6. See contacts 0 and I in this image. The Shellys are powered with 230V. The SW contact was not used. When both Shellys are off the unit is set to fan speed 1, when X4-3 to X4-5 is closed the unit is set to fan speed 2 and when X4-3 to X4-6 is closed it operates at fan speed 3. I would rather have used a Shelly 2.5 , but since it’s switch contacts are not isolated from the mains, that was not possible.

Because switching them on using the Shelly app, which works quite good, is something I tend to forget I decided to create an Automation for fan speed 2. Fan speed 2 is active from 0700 in the morning to 2300 in the evening.

For fan speed 3 I was looking for something a bit more intelligent. Fan speed 3 is useful e.g. when someone is using the shower or taking a bath. I added a Shelly Humidity and Temperature (H&T) unit with a USB power supply to my setup and spent a few days looking at the humidity readings of the bathroom. It’s very important to set the CoIoT peer as described in https://www.home-assistant.io/integrations/shelly/.

I was looking for foolproof triggers to switch fan speed 3 on and off. I decided that using the humidity value itself as input was not very useful, because humidity tends to vary a lot in a day and over the days. It’s not a very accurate indication of someone using a lot of hot water in the bathroom and it proved difficult to find a reasonable threshold value.

I ended up using the Home Assistant Derivative platform, because it always signals an increase when the bathroom is used.

sensor:
  - platform: derivative
    source: sensor.sensor_badkamer_humidity
    name: Humidity derived
    unit_time: min
    time_window: "00:05:00"

I created an automation that turns on the fan speed 3 switch when the derivative reached a value higher than 1 (emperically established value). I created another automation to switch it off again when the derivative reached a value lower than -0.2, with a delay of 10 minutes. It turned out that this automation was sometimes triggered just before the automation that turns the switch on, which resulted in a premature switch off. The on automation therefore kills the off automation to prevent triggers from 5 minutes ago from shortening the automation on duration. After a brief delay the off automation is reenabled.

On Automation

alias: Ventilation Bathroom On
description: ''
trigger:
  - platform: numeric_state
    entity_id: sensor.humidity_derived
    above: '1'
condition: []
action:
  - type: turn_on
    device_id: hidden
    entity_id: switch.ventilatie_stand_3
    domain: switch
  - service: automation.turn_off
    target:
      entity_id: automation.ventilation_bathroom_off
  - delay:
      hours: 0
      minutes: 0
      seconds: 30
      milliseconds: 0
  - service: automation.turn_on
    target:
      entity_id: automation.ventilation_bathroom_off
mode: single

Off Automation

alias: Ventilation Bathroom Off
description: ''
trigger:
  - platform: numeric_state
    entity_id: sensor.humidity_derived
    below: '-0.2'
condition: []
action:
  - delay:
      minutes: 10
  - type: turn_off
    device_id: 35c16770069531bb893af11feed6f368
    entity_id: switch.ventilatie_stand_3
    domain: switch
mode: parallel
max: 4

I’ll try to add a picture of how the Shellys are wired. I used their own packing material and a sealable container to protect them from dust. They do not seem to be getting very hot, even when in a closed container.

1 Like


Derived Humidity in action.


Wiring. The shelly in front is for the “Minimale Inbaas Temperatuur” function of my Intergas boiler. When switched on the output temperature of my Brink Elan air heater, which is used to warm the whole house, is set to a comfortable 30 degrees centigrade instead of 18.

Great write up! The trick with the derivative is very interesting. I want to build something like this also, once I take some time to figure out the controls of my fan :slight_smile:

Interesting post I was considering Shelly devices for the same purpose but I also have a control panel WTW on the eBus connection which would create synchronisation problems . Pity the Shelly uni can’t connect directly to the eBus interface so you would end up with both command and monitoring options.