Pumpe schalten abhängig von zwei Werten

Hallo Zusammen,

ich möchte folgendes machen, bin jedoch zu doof für PHP :rolleyes:

Eine Pumpe soll geschaltet werden, in Abhängigkeit von 2 Temperaturwerten zweier Pufferspeicher.

Puffer 2 soll aus Puffer 1 gespeist werden (Pumpe an), wenn die Temperatur in Puffer 2 fünf Grad niedriger ist als in Puffer 1. Ist die Temperatur in Puffer 2 nur noch 3 Grad niedriger als Puffer 1, muss die Pumpe wieder ausgehen.

Ich bin leider gar nicht fit in PHP und habe keinen Schimmer wie ich das formulieren soll.
Danke im Voraus an alle die mir da auf die Sprünge helfen!

Gruß

Hallo FeuerFuchs,

ich gehe mal davon aus, dass du hier kein fertiges Script erwartest.
Unter dein noch zu schreibendes Script, legst du je ein Ereignis an, welches bei Temperaturänderung von Puffer1 bzw. Puffer2 das PGM ausführt.
Im PGM einlesen Temperatur von Puffer 1 und Puffer 2.
Dann sowas wie


$Diff  = $Temp1-$Temp2;
IF($Diff >= 5)
{
// Pumpe eischalten
}
IF($Diff <=3)
{
// Pumpe auschalten
}

Ich hoffe, das ist ein Ansatz, sonst nochmal nachfragen.

Gruß, Peter

Vielen Dank Peter, ich glaube ich habs damit hinbekommen. Zumindest hat die Pumpe mal eingeschaltet. :smiley:

Hier das ganze Script falls jemand die selbe Aufgabenstellung hat:

<?

$Temp1 = 50829;
$Temp2 = 28429;

// Wenn Temperatur 1 um 5 Grad niedriger als Temperatur 2
$Diff  = $Temp1-$Temp2;
IF($Diff >= 5)
{
// Pumpe eischalten
HM_WriteValueBoolean(38322, "STATE", true);

}
// Wenn Termperatur 1 nur noch um 3 Grad niedriger als Temperatur 2
IF($Diff <=3)
{
// Pumpe auschalten
HM_WriteValueBoolean(38322, "STATE", false);
}

?>

Gruß

Fast richtig :wink:

Falsch:

$Temp1 = 50829; 
$Temp2 = 28429; 

Richtig:

$Temp1 = GetValue(50829); 
$Temp2 = GetValue(28429); 

…du willst ja den Inhalt der Variable auslesen…deshalb „GetValue“ :wink:

Grüße,
Chris

Vielen Dank.
Mit meinem Script hat sich die Pumpe nur einmal eingeschaltet, jedoch nie wieder aus :smiley:

Gruß

Ist logisch, weil du einfach $Temp1 - $Temp2 gerechnet hast :smiley: Also 50829 - 28429 = 22400 (und damit ist die Differenz größer 5) :wink:

Und mit „GetValue“ liest du erst den Inhalt/Wert der Variable und dann wird die „echte“ Differenz der Temperaturen errechnet.

Grüße,
Chris