Tidigare har jag använt mej av följande kodsnutt för att undvika felaktig data i databasen:
Kod: Markera allt
if
($temp eq "")
{$temp="NAN";}
Dock så det är mer eller mindre bara första värdet efter en omstart av loggningen som blir fel.
Även om det bara är första värdet som blir fel, så är det ändå ett fel för mycket.
Så jag funderar på att testa en nu variant av felkontroll.
Borde inte detta göra så att om temperatur strängen är tom, stoppa inte in nån data.
Är temperaturvärdet lika med 85, stoppa inte in det i databasen.
Finns det data (temperaturvärde), stoppa in värdet i databasen.
Kod: Markera allt
if ($temp != "") {
rrdtool update db.rrd....;
} elsif ($temp != "85") {
rrdtool update db.rrd....;
} else {
print "Error! Temperature value is empty or equal to 85 (error code).\n";
}