Lüfter einschalten wenn mehrere Bedingungen erfüllt sind?

Hallo zusammen

Ich möchte zur gezielten Lüftung meines Kellers folgendes realisieren:

Im Keller sowie Außen hab ich Temperatur und Luftfeuchtigkeitssensoren.

Hab also 4 Variablen, Temp-innen, Temp-außen, Feuchte-inenn, Feuchte-außen.

Ich hätte nun gerne die Lüftung immer dann eingeschaltet, wenn sowohl die Außentemperatur als auch die Luftfeuchte außen kleiner ist, als im Keller.

Wie löse ich sowas? Wäre über einen Tipp oder Verweis zu einem ähnlichen Skript dankbar :slight_smile:

Hallo bajowa,

woran scheiters?

Zeig mal was Du schon hast.

Starthilfe: Script das die 4 Werte einliest und in einer if dann entsprechend einen Aktor (Lüfter) schaltet. Getriggert wird das Script durch Ereignisse bei Variablenänderung der Aussensensoren.

Hi bajowa,

würde ich so probieren:



if (($temp_aussen < $temp_innen) && ($feuchte_aussen < $feuchte_innen)) {
     //Lüfter AN
}

Bin Anfänger und habe ohne zu Testen getippt.:slight_smile:

Gruß

Grundsätzlich richtig, aber das Ausschalten fehlt.

hier mal ein paar Zeilen zum spielen.


<?
# https://www.symcon.de/forum/threads/32428-L%C3%BCfter-einschalten-wenn-mehrere-Bedingungen-erf%C3%BCllt-sind

$tempA    = 3;    # GetValue('ID');
$humA    = 3;    # GetValue('ID');
$tempI    = 4;    # GetValue('ID');
$humI    = 4;    # GetValue('ID');
$luefStat = 1;    # GetValue('ID'); # Bool-Status vom Lüfer-Aktor  0 = aus

If ($tempA < $tempI and $humA < $humI and $luefStat == 0)
    {echo "Lüfter wurde eingeschaltet";
    #"Befehl zu schalten des Lüfters"
    }
elseif ($tempA >= $tempI and $humA >= $humI and $luefStat == 1)
    {echo "Lüfter wurde ausgeschaltet";
    #"Befehl zu schalten des Lüfters"
    }
else
    {echo "keine Bedingungskette erfüllt. Nix gemacht";}

?>

Edit: Den Lüfterstatus sollte man auch noch einbauen. Hab das Script mal angepasst. Hoffe dass ich keinen Logikfehler eingebaut hab.

Hi bajowa,

ich würde es anders machen.
Und zwar die absolute Feuchte innen und außen errechnen und vergleichen. Nach diesem Wert dann lüften.
Habe ich so im Badezimmer, Kleiderschrankraum gemacht und bin zufrieden.
Hier das Skript, um die Werte zu berechnen, ID’s mußt du anpassen.


<?
// *********** Lesen **********
$rel = GetValue(19873 /*[LCN-Module\155-ix Gartenhütte\Values (90, 155)\02 HYT Feuchte]*/);
$temp = GetValue(34928 /*[LCN-Module\155-ix Gartenhütte\Values (90, 155)\01 HYT Temp.]*/);
$twand1 = $temp - 2;

// *********** Script **********
//include ("35863 /*[Objekt #35863 existiert nicht]*/.ips.php");
// *********** Schreiben **********
// $taupunkt = Taupunkt
// $sattdampfdruck = Saettigungsdampfdruck
// $dampfdruck = Dampfdruck
// $absfeuchte = Absolute Feuchte
// echo $absfeuchte;
$twand1 = $temp - 2;
      if ($temp >= 0)
      {
          $a = 7.5;
          $b = 237.3;
      }
      elseif ($temp < 0)
      {
          $a = 7.6;
          $b = 240.7;
      }
		$wdsd = 611 * pow(10,$a*$temp/($b+$temp));//Wasserdampfsättigungsdruck in Pa
		$wdd = $rel/100 * $wdsd;  //Wasserdampfdruck in Pa
      $wdsdbauteil = 611*pow(10,7.5*$twand1/(237.3+$twand1));//Wasserdampfsättigungsdruck Wand
		$tp = 237.3*log($wdd/610.78)/log(10)/(7.5 - log($wdd/610.78)/log(10));//Taupunkt
		$tf80 = 237.3*log($wdd/(610.78*0.8))/log(10)/(7.5 - log($wdd/(610.78*0.8)) / log(10));//TF80-Wer
		$tf70 = 237.3*log($wdd/(610.78*0.7))/log(10)/(7.5 - log($wdd/(610.78*0.7)) / log(10));//TF70-Wer
		$tf60 = 237.3*log($wdd/(610.78*0.6))/log(10)/(7.5 - log($wdd/(610.78*0.6)) / log(10));//TF70-Wer
		$abs = 1000*18.016/8314.3*$wdd/($temp+273.15);//Absolute Luftfeuchtigkeit
		$normfeu = $wdsd*$rel/2340;//normierte Feuchte (20 °C)
      $aw_wert = ($wdd / $wdsdbauteil); // rel Luftfeuchte der Wand
      $aw_wert = ($aw_wert *100); //auf 100%

//		$aw_wert = round($aw_wert*100)/100;
//		if ($aw_wert > 1) {
//		$aw_wert = 1.00;
//		}

SetValue(30238 /*[.Skripte\Feuchte\Feuchte Aussen abs.]*/ , $abs);
//print_r  ($absfeuchte.chr(10));
//print_r  ($relfeuchte.chr(10));
SetValue(12278 /*[.Skripte\Feuchte\Taupunkt Aussen]*/  , $tp);
SetValue(38897 /*[.Skripte\Feuchte
orm.Feuchte 20°C Aussen]*/ , $normfeu);
?>

Im Keller wird es aber im Sommer schwer, den über Lüfter zu entfeuchten, da die Luft im Keller meistens viel kälter ist, und somit weniger Wassergehalt hat. Lüften kommt da eigendlich nur Nachts bei niedrigen Außentemperaturen in Frage. Du wirst es sehen, wenn du das Skript einmal für Außen, und einmal für den Keller mit VAR’s probierst.
Erst beobachten und aufzeichnen, danach dann ein Schaltskript bauen, wäre mein Vorschlag.