Hallo liebe Forum Mitglieder,
ich benötige einmal eure Hilfe, denn auch mit Hilfe von Google fand ich keine Lösung für mein Problem.
Ich habe ein Raspberry den ich im Garten eingesetzt habe der einige Funktionen ausführt. So zb. die komplette Steuerung meines Fischteich.
Es fuktioniert alles super. Jetzt möchte ich die Bewässerung des Rasen auch über den Raspberry steuern. Dafür habe ich ein Skript mit 3 Button "Ein, Aus, Auto".
Das ein und ausschalten ist kein Problem nur die Automatische Bewässerung bekomme ich nicht hin.
Die Skripte dazu sehen so aus.
Auszug von SprinklerControl.php
<article>
<div id="Menue">
<?php include('../include/menue.php'); ?>
</div>
<div id="Inhalt">
<?php
include('../sprinkler_php/datenbank_abfrage.php');
include('Sprinkler.php');
?>
</div>
</article>
<div id="Footer">
<?php include ('../include/footer.php'); ?>
</div>
aus der Datenbank wird der derzeitige Zustand des GPIO ausgelesen und in der Variable $sprinkler01 gespeichert
Skript Sprinkler.php
if($sprinkler01 == "aus") {
echo ".....in der oberen Ebene....";
echo "<a href='../sprinkler_php/relais01ein.php' target='_self'><button class='buttonSprinklerEin'>ein</button></a>";
echo "<a href='../sprinkler_php/relais01auto.php' target='_self'><button class='buttonSprinklerAuto'>auto</button></a>";
}
if($sprinkler01 == "ein") {
echo "<a href='../sprinkler_php/relais01aus.php' target='_self'><button class='buttonSprinklerAus'>aus</button></a>";
echo "<a href='#' target='_self'><button class='buttonSprinklerDeaktiv'>auto</button></a>";
echo ".......jetzt in der unteren Ebene...";
}
if($sprinkler01 == "auto") {
echo "<a href='#' target='_self'><button class='buttonSprinklerDeaktiv'>aus</button></a>";
echo "<a href='#' target='_self'><button class='buttonSprinklerDeaktiv'>auto</button></a>";
include ('../sprinkler_php/relais01auto_aus.php');
}
entsprechend der $sprinkler01 werden die Button farblich gestaltet
Wenn jetzt der Button "auto" betätigt wird rufe ich folgenden Skript auf:
relais01auto.php
<?php
exec("gpio -g write 4 0");
$variable = "auto";
$db = new SQLite3("/var/www/html/sqlite/datenbank.db");
$query = $db -> query ("select * from Garten");
$query = $db->query("Update Garten set Sprinkler01 ='".$variable."'");
sleep(60);
exec("gpio -g write 4 1");
$variable = "aus";
$query = $db -> query ("select * from Garten");
$query = $db->query("Update Garten set Sprinkler01 ='".$variable."'");
echo "<script LANGUAGE=\"JavaScript\">top.location=\"../web/SprinklerControl.php\"</script>";
?>
Und hier habe ich das Problem.
Bedingt durch die Wartezeit, wird die Hauptseite nicht neu aufgerufen und dadurch die Button aktualisiert.
Gibt es eine Möglichkeit, das Skript so auszuführen, das Trotz der Wartezeit das Hauptmenue wieder aufgerufen wird und somit die Button aktualisiert werden?
Das wäre für mich wichtig, da von der größe meines Rasen die Bewässerung in 4 Bereiche aufgeteilt sind.
Und ich sehen kann welche Fläche gerade bewässert wird.