function IPSWatering_SetValue($ControlId, $Value) { $CircleId = get_CirclyIdByControlId($ControlId); if (GetValue($ControlId)<>$Value) { IPSWatering_SetActive(get_ControlId(c_Control_Active, $CircleId), false, c_Mode_StartManual); SetValue($ControlId, $Value); IPSWatering_CalcNextScheduleDateTime($CircleId); IPSWatering_LogChange($CircleId, $Value, $ControlId); } }
$WaterConfig = get_WateringConfiguration(); // Wert von Bewässerungs Sensor ermitteln $SensorLimit = GetValue(get_ControlId(c_Control_Sensor, $CircleId)); $SensorValue = false; if (array_key_exists(c_Property_Sensor, $WaterConfig[$CircleName])) { $SensorPath = $WaterConfig[$CircleName][c_Property_Sensor]; if ($SensorPath <> '') { $SensorId = IPSUtil_ObjectIDByPath($SensorPath); if ($SensorId===false) { IPSLogger_Wrn(__file__, "Specified Sensor '$SensorPath' could NOT be found"); } else { $SensorValue = GetValue($SensorId); } } } if ($SensorValue===false and $SensorLimit>0) { IPSLogger_Err(__file__, "Rainfall Sensor NOT defined for Circle '$CircleName'"); Exit; } // Bewässerung Starten if ($SensorLimit > 0 and $SensorValue!==false and $SensorLimit<=$SensorValue) { IPSWatering_LogNoActivationByRainfall($CircleId, $SensorLimit, $Rainfall); IPSWatering_CalcNextScheduleDateTime($CircleId); } else { IPSWatering_SetActive($ControlId, true, c_Mode_StartAutomatic); } ?>