Brink Renovent WTW aansturen m.b.v. Domoticz

Dit project heeft tot doel om het Brink Renovent Large WTW (Warmte terug win)-systeem in mijn woning te integreren in Domoticz en de standen 1 en 3 aan te sturen, dit afhankelijk van of er iemand gebruik maakt van de badkamers of het toilet.

In de berging van mijn woning hangt een WTW systeem van de firma Brink, de Brink Renovent Large. Dit WTW-systeem kent 3 standen, namelijk:

  1. Laag, 1100 toeren
  2. Medium, 2200 toeren
  3. Hoog, 3300 toeren

Standaard draait het ventilatiesysteem continue op de laagste stand, 1100 toeren. Echter, als in één van de badkamers of in het toilet de verlichting aangezet wordt, wordt automatisch ook de ventilatie op de hoogste stand gezet op stand 3. 3300 toeren. Voorheen werkte dit via een aangesloten SAIX10 van Eaton Holec, en werd de besturing gedaan door het domoticasysteem HomeControlBox via het A10/X10 protocol over het elektriciteitsnet. Aangezien ik dit veroudere domoticasysteem aan het uitfaseren ben, en vervang door Domoticz oplossingen kwam dit project op mijn pad.

De Brink Renovent large zit middels een Perilex stekker aangesloten op het lichtnet. Hierbij geldt dat als er 220v staat op L1, dan schakelt het ventilatiesysteem op de laagste stand. Staat er 220v op L2 dan schakelt het ventilatiesysteem en L3 op de hoogste stand. Normaliter worden de standen L2 en L3 middels een meer-standen schakelaar in de badkamer geregeld. Maar zoals gezegd, in mijn woning heb ik dat middels domotica geregeld.

 

Ter vervanging van de SAIX10 module welke achter het Perilex-stopcontact ingebouwd zat, heb ik nu gekozen voor een SonOff Basic. De SonOff Basic krijgt z’n voeding uit het L contact en de N contact van de 5-voudige aansluitdraad van de Brink Renovent Large en zijn afgetapt van de schroefcontacten (X11-1 t/m X11-6) op de printplaat van de Brink Renovent. De L Output draad van de SonOff Basic is aangesloten op het schroefcontact van de L3 ingang op de printboard, en zorgt bij inschakeling van de SonOff Basic ervoor dat het ventilatiesysteem op Stand 3. 3300 toeren komt te staan. Schakelt de SonOff Basic uit, dan gaat het ventilatiesysteem terug naar Stand 1. 1100 toeren.

Benodigdheden:

  • SonOff Basic
  • Stukje tweelingsnoer
  • Schroevendraaier
  • Torx schroevendraaier om voorfront van de Brink Renovent af te kunnen schroeven
Reeds geïnstalleerd en up-and-running:
  • Domoticz
  • MQTT
  • MQTT plugin voor Domoticz

Pinout:

SonOff Basic

Brink Renovent HR

L Input

L (X11-2)

N Input

N (X11-2)

L Output

L2 (X11-6)

N Output

Niet aangesloten

Montage:

De SonOff Basic heb ik middels korte stukjes tweeling snoer aangesloten conform de Pinout zoals die hierboven staat beschreven. Ik laat de SonOff Basic gewoon in de ruimte tussen de printplaat en de kast van de Brink Renovent hangen. De behuizing is immers helemaal van kunststof en kan geen sluiting veroorzaken.

Om de SonOff Basic te kunnen plaatsen kun je de voorfront van de Brink Renovent afschroeven met een lange torx-schroevendraaier. Tussen de printplaat en de buitenwand van de Brink Renovent zit genoeg ruimte om de schroeven van de schroevenklem op de printplaat los- en vast te draaien met een klein schroevendraaiertje. Je hoeft dus niets in- en uit te bouwen.

Stappenplan:

Stap 1. De SonOff basic geflashed met Tasmota conform de beschrijving elders op mijn site

Stap 2. Maak een virtuele sensor aan binnen Domoticz

Label

Waarde

Doel

Naam

Ventilatie

Zinvolle naam

Schakelaar type

On/Off

 

Schakelaar icoon

Fan

 

Inschakelvertraging

0

Default

Uitschakelvertraging

0

Default

Aan actie

script:///home/pi/domoticz/scripts/Ventilatie_aan.sh > /dev/null 2>&1 &

Start shell script Ventilatie_aan.sh

Beschermd

Niet aangevink

Default

Omschrijving

 

Default

Stap 3. De SonOff basic als volgt geconfigureerd

Label

Waarde

Doel

Idx 1

67

IDX overgenomen van de in Stap 2 aangemaakte virtuele sensor

Stap 4. Shell script Ventilatie_aan.sh gemaakt 

  • Dit script stopt lopende countdown scripts voor het uitzetten van de ventilatie en deactiveert de timer
  • Dit om te voorkomen dat iedere keer als de verlichting in één van de badkamers of het toilet aangezet wordt, en een nieuw proces gestart wordt voor het automatisch naar de laagste stand zetten van de ventilatie na 5 minuten.

pi@raspberrypi:~/domoticz/scripts $ cat Ventilatie_aan.sh
#!/bin/bash
# script stopt lopende countdown scripts voor het uitzetten van de ventilatie
# en deactiveert timer
#

verbose=0 # 0=nodebug, 1=debug
log_message=””
debug=””

# Stop alle lopende Ventilatie_uit.sh proces(sen)
for pid in $(ps -ef | grep Ventilatie_uit.sh | grep -v grep | awk ‘{print $2}’)
do
  kill -9 $pid > /dev/null 2>&1
  if [ $verbose -gt 0 ]; then echo $pid killed; fi
done


# zet timer op deactief
debug=$(curl -s –url http://192.168.2.29:8080/json.htm\?type=command\&param=updateuservariable\&vname=TimerVentilatieActief\&vtype=0\&vvalue=0)

if [ $verbose -gt 0 ]; then echo Set TimerVentilatieActief=0 $debug; fi

# log acties
log_message=”TimerVentilatie%20gedeactiveerd”
curl -s –url http://192.168.2.29:8080/json.htm\?type=command\&param=addlogmessage\&message=$log_message

Stap 5. Blocky gebeurtenissen aangemaakt voor schakelaar is Badkamers en toilet

  • Als de verlichting in de Badkamer (of Badkamer van de jongens, of in de WC) aangezet wordt
  • dan zet ook de ventilatie aan (Sonoff zet 230v op L2 van de Brink Renovent en activeert stand 3) en schrijf een logbericht weg naar de Domoticz log
  • Anders als de Badkamer (of Badkamer van de jongens, of in de WC) uitgezet wordt
  • dan start het script /home/pi/domoticz/scripts/Ventilatie_uit.sh & # op, deze zorgt ervoor dat na 5 minuten de Ventilatie naar Stand 1 terug gezet wordt door de SonOff basic of off te zetten
  • In de blocky van de Badkamer wordt ook nog de ledstrips rond bad en douche aan- of uitgezet, dit is echter niet relevant voor de werking van de ventilatie

Stap 6. Shell script Ventilatie_uit.sh aangemaakt

  • Dit script zet de Ventilatie uit nadat er 5 minuten verstreken zijn
  • Eerst wordt er gechecked of er al niet een timer actief is, als dit het geval is dan wordt de timer opnieuw op 300 seconden gezet en het script beëindigd.
  • Indien er geen timer actief is, dan wordt de timer op 300 seconden gezet, en de countdown gestart
  • Als de countdown de 0 heeft bereikt dan wordt de Sonoff Basic “Ventilatie” met IDX 67 op off gezet, dit zet de ventilatie terug naar stand 1.

pi@raspberrypi:~/domoticz/scripts $ cat Ventilatie_uit.sh
#!/bin/bash
# script zet Ventilatie uit nadat timer verstreken is
# zet een timer op 300 seconden
# en indien er nog geen script loopt start hij een countdown tot de timer op 0 staat
#

# check eerst of de timer al actief is, in dat geval staat de Ventilatie al aan
# en hoeft alleen detimer verhoogt te worden tot 300, een ander instantie van het script doet de countdown en zet het licht uit
verbose=0 # 0=nodebug, 1=debug
timer_active=`curl –url http://192.168.2.29:8080/json.htm\?type=command\&param=getuservariable\&idx=39 -s | grep Value | awk ‘{print substr($3,2,1)}’`
log_message=””
debug=””

if [ $verbose -gt 0 ]; then echo Timer_active=$timer_active; fi;

if [ $timer_active -gt 0 ]
then
# timer is actief, dus volstaan kan worden om de timer te verhogen naar 300 sec.
debug=$(curl -s –url http://192.168.2.29:8080/json.htm\?type=command\&param=updateuservariable\&vname=TimerVentilatie\&vtype=0\&vvalue=300)

if [ $verbose -gt 0 ]; then echo Set TimerVentilatie=300 $debug; fi

# log actie
log_message=”Timer%20Ventilatie%20op%20Actief%20gezet”
curl -s –url http://192.168.2.29:8080/json.htm\?type=command\&param=addlogmessage\&message=$log_message

# exit script
else
# variable declaratie
#
tijd=$(date ‘+%H%M’)

if [ $verbose -gt 0 ]; then echo Tijd=$tijd; fi

# zet timer op 300 sec.
debug=$(curl -s –url http://192.168.2.29:8080/json.htm\?type=command\&param=updateuservariable\&vname=TimerVentilatie\&vtype=0\&vvalue=300)

if [ $verbose -gt 0 ]; then echo Set TimerVentilatie=300 $debug; fi

# zet timer op actief
debug=$(curl -s –url http://192.168.2.29:8080/json.htm\?type=command\&param=updateuservariable\&vname=TimerVentilatieActief\&vtype=0\&vvalue=1)

if [ $verbose -gt 0 ]; then echo Set TimerVentilatieActief=1 $debug; fi

# log acties
log_message=”Timer%20Ventilatie%20op%20300%20sec.%20gezet,%20Timer%20geactiveerd”
curl -s –url http://192.168.2.29:8080/json.htm\?type=command\&param=addlogmessage\&message=$log_message

# start countdown
i=$(curl –url http://192.168.2.29:8080/json.htm\?type=command\&param=getuservariable\&idx=40 -s | grep Value | awk ‘{print $3}’ | sed ‘s/\”//g’ | sed ‘s/,//g’)

if [ $verbose -gt 0 ]; then echo Initvalue TimerVentilatie=$i $debug; fi

while [[ $i > 0 ]]
do
((i–))
curl -s –url http://192.168.2.29:8080/json.htm\?type=command\&param=updateuservariable\&vname=TimerVentilatie\&vtype=0\&vvalue=$i
sleep 1
i=`curl –url http://192.168.2.29:8080/json.htm\?type=command\&param=getuservariable\&idx=40 -s | grep Value | awk ‘{print $3}’ | sed ‘s/\”//g’ | sed ‘s/,//g’`

if [ $verbose -gt 0 ]; then echo Countdown=$i $debug; fi

done

curl -s –url http://192.168.2.29:8080/json.htm\?type=command\&param=switchlight\&idx=67\&vtype=0\&switchcmd=Off

# log actie
log_message=”Timer%20afgelopen,%20Ventilatie%20uit%20gezet”
curl -s –url http://192.168.2.29:8080/json.htm\?type=command\&param=addlogmessage\&message=$log_message


# zet timer op deactief
debug=$(curl -s –url http://192.168.2.29:8080/json.htm\?type=command\&param=updateuservariable\&vname=TimerVentilatieActief\&vtype=0\&vvalue=0)

if [ $verbose -gt 0 ]; then echo Set TimerVentilatieActief=0 $debug; fi

# log actie
log_message=”TimerVentilatie%20gedeactiveerd”
curl -s –url http://192.168.2.29:8080/json.htm\?type=command\&param=addlogmessage\&message=$log_message

fi

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *