Bewässerungs script

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;

            }

?>

Dake dir, funktioniert, :slight_smile: