Erweiterung dewpoint

Begonnen von juliar, 22 Januar 2014, 22:05:39

Vorheriges Thema - Nächstes Thema

juliar

Hallo zusammen,

ich hatte vor ein paar Tagen schonmal eine PN an Willi gesendet in der Annahme, des er der Author des dewpoint-Modules ist, bin mir aber nicht sicher ob er diese bekommen hat und ob er wirklich der richtige Ansprechpartner ist. Daher auch nochmal offiziell hier im Forum:

Das dewpoint Modul wird ja von vielen zur Lüftersteuerung im Keller, Bad oder Wohnraum genutzt wie ich das hier so gelesen habe. Ich plane auch gerade eine automatische Kellerlüftung. Das über das Modul eine Mindest-Temperatur und eine Mindest-Taupunktdifferenz angegeben werden kann ich schon sehr hilfreich.

Was meiner Meinung nach noch fehlt ist ein dritter Wert, nämlich die Soll-Luftfeuchtigkeit.

Kurzes Beispiel: Draußen kalt und trocken, ideal zum Lüften. Innen 70% rel. Luftfeuchtigkeit. Lüfter springt an und die rel. Luftfeuchtigkeit sinkt. Jetzt erreicht sie z.B. 50% und das reicht mir im Keller mehr als aus. Durch die trockene Luft draussen wäre theoretisch noch ein weiteres Absinken möglich, aber unnötig.

Wenn man also als Parameter die gewünschte relative Luftfeuchtigkeit eingeben könnte und der Lüfter nur dann angeht wenn der Wert darüber liegt, wäre das optimal für eine energieeffiziente Steuerung der Lüfter. Das gilt ja im Prinzip unabhängig von der Art der Lüftung (Keller, Bad, usw.).

Wäre eine solche Erweiterung möglich und wenn ja wer wäre hierfür der richtige Ansprechpartner?

Vielen Dank und schönen Gruß
Julia

Joachim

FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

John

Hallo Julia,

das dewpoint-Modul liefert die Antwort auf die Frage: kann ich bei den aktuellen Gegebenheiten überhaupt über die Entlüftung entfeuchten.

Wenn die Antwort ja lautet, liefert dies die grundsätzliche Freigabe für den Lüfter.

Was du nun noch suchst ist ein 2 Punkt-Regler für die die relative Luftfeuchte.
Auch das gibt es mit dem Threshold-Modul schon.

http://fhem.de/commandref.html#THRESHOLD

Du musst also Willi nicht bemühen.

Gruß
John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

juliar

OK, Danke für Eure Antworten. So ganz verstanden habe ich noch nicht wie ich diese Module verbinden kann aber dann kann ich mich ja sonst nochmal ans Hilfe-Forum wenden. Wobei ich es immer noch praktisch fände wenn dies genau wie Mind.-Temperatur und Taupunkt-Differenz direkt vom dewpoint mit berücksichtigt würde zumindest für Laien wie mich was Programmierung betrifft. :-)

Schönen Gruß
Julia

StefanP

Hallo Juliar,
meine Kellerentfeuchtung habe ich folgendermaßen gelöst:
Hier der teil in der cfg:

#########################################################################
##  Jobs und Notifys für Kellerentfeuchtung
#########################################################################
define dew_Keller dewpoint fan ugKE2_TH_Sensor auHOF_TH_Sensor 1 1

define ugKE_LUFT_oft at +*00:20:00 {KellerLuft()}
attr ugKE_LUFT_oft group Kellerorkan
attr ugKE_LUFT_oft room Keller

define ugKE_LUFT_on notify ugKE2_TH_Sensor.fan:.*on set ugKE0_4SW_CHN_3 on-for-timer 900
define ugKE_LUFT_off notify ugKE2_TH_Sensor.fan:.*off set ugKE0_4SW_CHN_3 off


######## Dummy fan-Anzeige ##########
define Keller_Orkan dummy
attr Keller_Orkan group Kellerorkan
attr Keller_Orkan room Keller
define n_fan_darf notify ugKE2_TH_Sensor.fan:.*on set Keller_Orkan lüften
define n_fan_nich notify ugKE2_TH_Sensor.fan:.*off set Keller_Orkan warten

Dann noch die Prozedur in der 99_myUtils

#######KellerLuft##############################################
# Aufruf im fhem-Telnet: {KellerLuft()}
sub
KellerLuft()
{if ( ReadingsVal("ugKE2_TH_Sensor","fan","") eq "on" ) {
        my $Interval = 1200; #Laufzeit (ist gleich at-Interval)
my $Faktor = 100; #Faktor in % verkürzt die Laufzeit 100 = Dauerlüften
my $Offset = 10; #Gib Fhem Zeit zum Nachdenken (verhindert das Aussetzen bei Dauerlüftung)
my $Timer = 0; # Übergabevariable
my $TempA = ReadingsVal("auHOF_TH_Sensor","temperature","") ;
my $TempI = ReadingsVal("ugKE2_TH_Sensor","temperature","") ;
my $Feuchte = ReadingsVal("ugKE2_TH_Sensor","humidity","") ;
if ($TempI < 9 ) { #wenn die Temperatur außerhalb des gewünschten Bereichs (9C-17C) ist, nur minimale Luftaustausch, sonst Dauerlüften
                if ( $TempA > $TempI ) {
                            $Faktor = 100
                    } else {
                            $Faktor = 15
                    }
         } elsif ($TempI > 17) {
     if ( $TempI > $TempA ) {
                            $Faktor = 100
                     } else {
                           $Faktor = 16
                }
} else { # im "guten" Temperaturbereich nach Luftfeuchtigket lüften
if ( $Feuchte > 72 ) { # Dauerlüften
$Faktor = 100
} elsif ( $Feuchte > 67 ) { #68-73% kritisch: viel lüften
$Faktor = 80
} elsif ( $Feuchte > 54 ) { #55-67% perfekt. halbe zeit lüften
$Faktor = 50
} elsif ( $Feuchte > 44 ) { #45-54% fast zu trocken
$Faktor = 25
} else { #unter 45% Feuchte nur min. Luftaustausch
$Faktor = 10
}
}
$Timer = $Interval * $Faktor / 100 + $Offset;
Log 1, "KellerLuft F: $Faktor%, A: $TempA, I: $TempI.";
        if ($Faktor > 0) {
                fhem "set ugKE0_4SW_CHN_3 on-for-timer $Timer" ;
                fhem "set Keller_Orkan lüften: $Faktor%"
        }
}
}

Das Ganze ist längere Zeit in der cfg gewachsen (gewuchert) bis ich's als Sub ausgelagert habe.
Wenn's Du Fragen hast gerne.

Gruß StefanP

StefanP

Juliar hatte mich per PM angefragt. Ich stelle mal die Kommunikation hier mit rein:


Am 21.08.2014 um 12:02 schrieb juliar:
ZitatHi Stefan,

ist schon paar Tage her aber ich möchte nun endlich meine Kellerlüftung sauber in Betrieb nehmen nachdem ich nun passende Lüfter gefunden habe welche nicht zu laut sind und trotzdem ein gutes Volumen bieten. Ich habe mir Deinen Quelltext als Vorlage genommen:
http://forum.fhem.de/index.php/topic,19156.msg133623.html#msg133623

Hierzu ein paar Fragen:

1.
Die beiden Zeilen "define ugKE_LUFT_on" und "define ugKE_LUFT_off" sind bei Dir dazu da damit sich die Lüftung auch wieder ausschaltet wenn fan=off ist? Oder wozu dienen diese beiden Zeilen?

2.
Wozu dienen die 5 Zeilen unter "Dummy fan-Anzeige"? Das ist mir nicht ganz klar.

3.
Was macht die letzte Zeile "fhem "set Keller_Orkan lüften: $Faktor%" "?

Danke und Gruß
Julia

Hallo Julia,
hat etwas gedauert, jetzt aber doch:
1: sie Punkt 2.
2: Die Zeilen dienen eigentlich nur zur Darstellung per Dummy. Die Sub "KellerLuft" wird ja alle 20 Minuten aufgerufen. Nur wenn das Taupunkt-Device "dew_Keller" umspringt, reagieren die Notifys "ugKE_LUFT_on" und "ugKE_LUFT_off" sofort und schalten die Lüfter direkt. Dazu musste auch der Dummy gesetzt werden. Eigentlich kannst Du die beiden Notifys auch weglassen, dann dauert's eben max. 20 Minuten bis die Sub auf eine Änderung von ReadingsVal("ugKE2_TH_Sensor","fan","") reagiert.
3: Damit wird der State des Dummy "Keller_Orkan" gesetzt $Faktor ist der Prozentwert, "%" einfach nur ein Prozent-Zeichen. Faktor 15 und 16 Prozent sind nur unterschiedlich, um einen Indikator für den Grund des Lüftens zu haben.

Die Faktoren und Schaltschwellen kannst Du dir ja noch an deine Bedürfnisse anpassen. Denk dran: die Zeitspannen des AT "ugKE_LUFT_oft" und der Variable "$Interval" un der Sub müssen gleich sein, damit das ganze ordentlich tut.

Hoffentlich helfen Dir die Ausführungen. Ich hab' selbst eine Weile gebraucht um zu verstehen was ich mir damals dabei gedacht hatte.
Das ganze ist halt zu einer Zeit entwickelt, als es noch kein Watchdog und ähnliches gab. Wenn Du noch Fragen hast, gerne. Ich stelle das ganze auch noch in den Thread.

Gruß Stefan