Kapitel Abluft kann geschlossen werden

Nun habe ich den Lüfter eingebaut und das sieht in unserem alten Keller – das Haus ist von 1890 – so aus:

20170416_131554

Und er dreht sich sogar 🙂

Ich habe nun mit einem Dräger Flow-Check Rauch erzeugt und den Luftstrom gemessen.

20170416_131618

Was soll ich sagen: Eine definierte Zuluft würden dem Ganzen gut tun. Sobald ich eines der Fenster in dem anderen Raum öffne dreht der Ventilator leiser (Widerstand geringer) und die Luft zischt an dieser Stelle in den Raum. Man muss wirklich keinen Ventilator setzen, aber eine definierte Öffnung, die optimaler Weise elektronisch geschlossen werden kann, ist besser als passive Öffnungen. Vielleicht reichen auch Lamellen an KG Rohren, die bei Unterdruck dann öffnen – müsste man ausprobieren.

Ich habe noch keine Langezeitergebnisse – aber mit der Fensteröffnung war nach wenigen Minuten ein klarer Abfall der Luftfeuchtigkeit im Keller zu erkennen (heute ist es ja schön kalt draußen).

Inzwischen habe ich den Programmcode erweitert, damit der Lüfter geschaltet wird und wir nicht nur eine Mail erhalten.

Bevor ich den Code hier poste – noch eine kurze Anmerkung: Ich habe im letzten Kapitel erwähnt, man solle in rc.local die Initialisierung als Ausgang ablegen. Noch ein weiterer Tipp – man sollte auch den Ausgang auf 0 setzen. Nach Neustart lüftet mein Ventilator und erst wenn der Ausgang definiert auf 0 gestellt wurde, was man ergo beim Autostart sollte, passt das soweit.

Hier nun der aktuelle Code unserer Steuerung:

#!/bin/bash
#Ab welcher Feuchtigkeit im Keller soll nicht mehr gelüftet werden / untere Grenze?
MIN_FEUCHTE_10=60
#Beide DHT22 auslesen und als Variablen ablegen
SENSOR1=$(/home/pi/lol_dht22/loldht 0)
SENSOR2=$(/home/pi/lol_dht22/loldht 2)
#In Einzelwerte aufteilen
SENSOR1_HUM=$(echo $SENSOR1 | awk '{printf $1}')
SENSOR1_TEM=$(echo $SENSOR1 | awk '{printf $2}')
SENSOR2_HUM=$(echo $SENSOR2 | awk '{printf $1}')
SENSOR2_TEM=$(echo $SENSOR2 | awk '{printf $2}')
#Näherungsformel Außen-Luftfeuchtigkeit-3*(Innentemperatur-Außentemperatur)=R_InnenLuftfeuchtigkeit
R_InnenFeuchte=$(echo "$SENSOR2_HUM-3*($SENSOR1_TEM-($SENSOR2_TEM))" | bc -l)
#Schalten JA/NEIN 1/0
#Lüften wenn 10% unter Luftfeuchtigkeit gemessen und diese größer als MIN_FEUCHTE ist
# vorher auf INT wechseln, damit wir nicht mit expr etc. arbeiten müssen. Also Mal 10...
R_InnenFeuchte_10=$(echo "$R_InnenFeuchte*10" | bc)
R_InnenFeuchte_10=${R_InnenFeuchte_10%.*}
SENSOR1_HUM_10=$(echo "$SENSOR1_HUM*10" | bc)
SENSOR1_HUM_10=${SENSOR1_HUM_10%.*}
SCHALT_HUM_10=$(echo "$SENSOR1_HUM_10-100" | bc -l)
MIN_FEUCHTE_10=$(echo "$MIN_FEUCHTE_10*10" | bc)
if [ $R_InnenFeuchte_10 -le $SCHALT_HUM_10 -a $SENSOR1_HUM_10 -gt $MIN_FEUCHTE_10 ]; then
SCHALTEN=1
else
SCHALTEN=0
fi
#Letzten Zustand auslesen
SCHALT_VORHER=$(head -n 1 /home/pi/schalten.txt)
# Falls Schalten von 0 auf 1, LÜFTEN. Wir können hier auch erst bei 2 oder 3 lüften als Filter/Hysterese...
if [ $SCHALTEN -eq 1 -a $SCHALT_VORHER -eq 0 ]; then
EMAILTEXT=$(printf "Luftfeuchtigkeit Keller: %s%%\nLuftfeuchtigkeit durch Lüftung: %s%%\nLüften gestartet!\n" "$SENSOR1_HUM" "$R_InnenFeuchte")
/scripts/mail.sh "Lüften des Kellers gestartet" "$EMAILTEXT"
/usr/local/bin/gpio -g write 14 1
fi
# Falls Schalten von X auf 0, LÜFTEN stoppen
if [ $SCHALTEN -eq 0 -a $SCHALT_VORHER -ne 0 ]; then
EMAILTEXT=$(printf "Luftfeuchtigkeit Keller: %s%%\nLuftfeuchtigkeit durch Lüftung: %s%%\nLüften gestoppt!\n" "$SENSOR1_HUM" "$R_InnenFeuchte")
/scripts/mail.sh "Lüften des Kellers gestoppt" "$EMAILTEXT"
/usr/local/bin/gpio -g write 14 0
fi
#Letzten Zustand ablegen. Bei 0 Datei rücksetzen. Sonst hochzählen.
if [ $SCHALTEN -eq 0 ]; then
echo $SCHALTEN > /home/pi/schalten.txt
else
SCHALT_VORHER=$(($SCHALT_VORHER+1))
echo $SCHALT_VORHER > /home/pi/schalten.txt
fi
#Debug-CSV erstellen
#CSV mit Header erstellen, falls nicht vorhanden
if [ ! -f "/home/pi/wetter_log.csv" ]; then
printf "Date;Time;Humidity_Sensor1;Temperature_Sensor1;Humidity_Sensor2;Calc_Humidity;Temperature_Sensor2;SCHALTEN;SCHALT_VORHER\n" > /home/pi/wetter_log.csv
fi
#Datum und Zeit ablegen und in CSV Datei anfügen
date=$(date -I)
time=$(date +%T)
printf "%s;%s;%s;%s;%s;%s;%s;%s;%s\n" "$date" "$time" "$SENSOR1_HUM" "$SENSOR1_TEM" "$SENSOR2_HUM" "$SENSOR2_TEM" "$R_InnenFeuchte" "$SCHALTEN" "$SCHALT_VORHER">> /home/pi/wetter_log.csv
#Ausgabe für CACTI in Datei
#Für CACTI SCHALTEN auf 0 und 100 skalieren
SCHALTEN=$(($SCHALTEN*100))
echo $SENSOR1 | awk '{printf "HUM1:" $1 " TEM1:" $2" "}' > /home/pi/cactiwerte.txt
echo $SENSOR2 | awk '{printf "HUM2:" $1 " TEM2:" $2" "}' >> /home/pi/cactiwerte.txt
printf "SCHALT:"$SCHALTEN" " >> /home/pi/cactiwerte.txt
printf "RHUM:"$R_InnenFeuchte"\n" >> /home/pi/cactiwerte.txt

Wie ihr seht habe ich die GPIO Befehle hinzugefügt und den Text der Email geändert. Es gibt noch ein paar weitere, kleinere Verbesserungen – aber mit dieser Basis haben wir alles was wir benötigen.

Das Problem ist nun wirklich noch die Zuluft. Denn mit der Zuluft definieren wir den Luftstrom. Da werde ich wohl noch mal ran müssen…

Hinterlasse einen Kommentar