Hi, ist zwar schon länger her, hier aber das Skript wie es bei mir läuft.
<?
$ID_Evapotranspiration = 37909 /*[Wetter\Verdunstung (Evapotranspiration)\Evapotranspiration (Rasen)]*/;
$ID_Aussentemp = 24611 /*[Wetter\Wetterdaten\Temperatur]*/;
$ID_Regenmenge_24 = 45488 /*[- Hardware Instanz\WMRS200\Regensensor\Regenmenge letzte 24 Stunden]*/;
$ID_RegenTonne_Menge = 45886 /*[Bewässerung\Freigabe Bewässerung / Regentonne\Regentonne Füllstand]*/; // Float VAriable
$ID_Freigabe_Bewaessern = 40933 /*[Bewässerung\Freigabe Bewässerung / Regentonne\Freigabe Bewässerung]*/; // Bolen Variable
$Evapotranspiration = getValue($ID_Evapotranspiration);
$Aussentemp = getValue($ID_Aussentemp);
$Regenmenge_24 = getValue($ID_Regenmenge_24);
$RegenTonne_Menge = getValue($ID_RegenTonne_Menge);
//------------------------------------------------------------------------------
$RegenTonne_Menge = Scaling($RegenTonne_Menge, 0.0, 100.0, 0.0, 20.0);
//$RegenTonne_Menge = $RegenTonne_Menge + $Regenmenge_24 - $Evapotranspiration;
$RegenTonne_Menge = $RegenTonne_Menge - $Evapotranspiration;
If ($RegenTonne_Menge <= 0){
$RegenTonne_Menge = 0;
}
$RegenTonne_Menge = $RegenTonne_Menge + $Regenmenge_24;
If ($RegenTonne_Menge > 20){
$RegenTonne_Menge = 20;
}
If ($RegenTonne_Menge == 0){
$RegenTonne_LEER = true;
}
Else{
$RegenTonne_LEER = false;
}
$RegenTonne_Menge = Scaling($RegenTonne_Menge, 0, 20, 0.0, 100.0);
If ($Aussentemp > 15.0 and $RegenTonne_LEER == true){ $Freigabe_Bewaessern = true; }
Else{$Freigabe_Bewaessern = false;}
setValue($ID_RegenTonne_Menge, $RegenTonne_Menge);
setValue($ID_Freigabe_Bewaessern, $Freigabe_Bewaessern);
//------------------------------------------------------------------------------
function Scaling($In, $InUG, $InOG, $OutUG, $OutOG)
{
/*=============================================================
Scaling - Martin Heinzel - 21.09.2011
Version: 1.0
Beschreibung:
Diese Funktion scaliert einen Wert nach der Form:
( ( In - In_Min ) )
Out = (------------------- x ( Out_Max - Out_Min ) ) + Out_Min
(( In_Max - In_Min ) )
================================================================*/
return ($In - $InUG) / ($InOG - $InUG) * ($OutOG - $OutUG) + $OutUG;
}
?>