PHP skript som larmar vid Max och Min temp mysql databas
Postat: 01 apr 2013, 15:38
Tänkte dela med mig av ett väldigt enkelt php-skript som larmar och temperaturen över- eller understiger en fast temperaturangivelse. Tror inte skriptet behöver någon djupare förklaring. Annars får ni fråga.
Jag skrev ihop detta igår kväll och har inte kört nått med det än. Men funkar gör det. Tanken är att jag ska köra skriptet i cron en gång i timmen och om någon temperatur gör avvikelser så mailar linux server mig.. Finns ju mer att utveckla i skriptet men grunden är satt ialf. Nu är det upp till er att labba med det efter behov..
Har ni fler mätpunkter så är det bara att lägga till dom i arrayen och i switch satsen.
Hoppas det ska komma till nytta för någon. Om inte annat så har jag det som en backup här fall kåken brinner ner....
Jag skrev ihop detta igår kväll och har inte kört nått med det än. Men funkar gör det. Tanken är att jag ska köra skriptet i cron en gång i timmen och om någon temperatur gör avvikelser så mailar linux server mig.. Finns ju mer att utveckla i skriptet men grunden är satt ialf. Nu är det upp till er att labba med det efter behov..
Kod: Markera allt
<?PHP
$hostname = "localhost";
$username = "***";
$password = "***";
mysql_connect($hostname, $username, $password);
mysql_select_db('1wire');
$array = array(
"Kylskap" => array(
"MIN" => "3.00",
"MAX" => "10.00"),
"Varmvatten" => array(
"MIN" => "60.00",
"MAX" => "85.00")
);
foreach($array as $x=>$x_value)
{
switch($x)
{
case 'Kylskap';
$sensor = 'Kylskap';
break;
case 'Varmvatten';
$sensor = 'Varmvatten';
break;
}
$result = mysql_query("SELECT * FROM temperature WHERE sensor='$sensor' ORDER BY id DESC LIMIT 1");
while($row = mysql_fetch_array($result))
{
if($row["now"] < $x_value["MIN"] || $row["now"] > $x_value["MAX"]){
echo "<hr />";
echo $sensor . ": Min: ".$x_value["MIN"]." Max: ".$x_value["MAX"]." Nu: ";
echo $row["now"];
echo "<br />Value out of bounds!<br /><hr />";
# test med mail
exec ('echo -e "subject: Temperatur\n\n $(date +%Y:%m:%d:%k:%M:%S)" '.$sensor.'| sendmail -f från@mail.se till@mail.se');
}
else
{
echo "<hr />";
echo $sensor . ": Min: ".$x_value["MIN"]." Max: ".$x_value["MAX"]." Nu: ";
echo $row["now"];
echo "<br />Value OK!<br /><hr />";
}
}
}
?>
Hoppas det ska komma till nytta för någon. Om inte annat så har jag det som en backup här fall kåken brinner ner....