Funderingar ang. felkontroll script.

RRDTool är en Linuxmjukvara som kan användas för att lagra data i Round-Robin Databaser för att sedan generera grafer utifrån den lagrade datan.
Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
Användarvisningsbild
HUSKii
Tar hemautomation på allvar
Inlägg: 270
Blev medlem: 16 jun 2008, 20:08
Ort: Oskarström

Funderingar ang. felkontroll script.

Inlägg av HUSKii »

Hej.

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";}
Fast jag har använt mej av detta så har jag ändå ibland fått med värdet 0 (noll) i grafen. Kan det vara så att det är RRDTool som stoppar in värdet 0 (noll) i graferna när värdet i databasen är tomt. Men vad jag vet så om det inte finns nåt värde så står det "nan" som värde i databasen.
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";
}
Hur gör ni andra som kör nån form av felkontroll på sina temperaturer för att undvika noll värden och felkoder?