behöver perl hjälp

Generella Linux-frågor och frågor gällande Linuxmjukvara som saknar egen forumkategori skall postas i detta forum
Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
Futei
Gillar hemautomation
Inlägg: 34
Blev medlem: 22 feb 2011, 16:10
Ort: Piteå

behöver perl hjälp

Inlägg av Futei »

har precis börjat med perl istället för bash och kört fast ganska dir =)

Kod: Markera allt

#!/usr/bin/perl
use DBI;

# MYSQL INFO
$host = "localhost";
$database = "1wire";
$table = "sensor_readings";
$user = "";
$pw = "";

# Connect to SQL with Perl
$dbh = DBI->connect("DBI:mysql:database=$database", $user, $pw);

#misc
$time = time();

#Script part, enter follow data
#&sensors("sensor id", "location", "Type", "hilarm", "lolarm");
&sensors("28.FA5CD6020000", "Sovrum", "Temp", "20", "15");
&sensors("28.BB5B70020000", "Hallen", "Temp", "35", "15");
sub sensors
{
my $value = `grep . /mnt/1wire/$_[0]/temperature`;
my $fixed = sprintf("%.2f", $value);
if($fixed > "$_[4]") { return; }
elsif($fixed < "$_[5]") { return; }
else{
$dbh->do("INSERT INTO sensor_readings(timestamp,sensor,data,type) VALUES($time, '$_[1]', $fixed ,'$_[2]')");
}
}
fungerar inge bra, eller tar jag bort, IF, elsif och else statements och kör bara inserten in i DB så fungerar det klockrent. men jag skulle vilja att den inte matade in värdet i mysql om det går över eller under vissa värden för då är dom antagligen felaktiga.
daromer
Hemautomation - det är mer än en hobby
Inlägg: 961
Blev medlem: 23 sep 2009, 09:31
Ort: Växjö

Re: behöver perl hjälp

Inlägg av daromer »

Nu kan jag inte perl i huvudet. Kör ju nästan allt i php istället.

Men vad för värden har $_[4] och $_[5] ?
Futei
Gillar hemautomation
Inlägg: 34
Blev medlem: 22 feb 2011, 16:10
Ort: Piteå

Re: behöver perl hjälp

Inlägg av Futei »

daromer skrev:Nu kan jag inte perl i huvudet. Kör ju nästan allt i php istället.

Men vad för värden har $_[4] och $_[5] ?

Kod: Markera allt

&sensors("28.FA5CD6020000", "Sovrum", "Temp", "20", "15");
&sensors("28.BB5B70020000", "Hallen", "Temp", "35", "15");
bara där hittade du felet åt mig, såg det inte förräns nu =) ÖL scriptning ftw

blev en liten rättning där =) 5->4 och 4->3
$_[4] = 15
S_[3] = 20
daromer
Hemautomation - det är mer än en hobby
Inlägg: 961
Blev medlem: 23 sep 2009, 09:31
Ort: Växjö

Re: behöver perl hjälp

Inlägg av daromer »

Var lite det ja trodde :) Eller mer jag gissade på att felet satt i dem. Visste bara inte va du hade för värden i dem :lol:
Futei
Gillar hemautomation
Inlägg: 34
Blev medlem: 22 feb 2011, 16:10
Ort: Piteå

Re: behöver perl hjälp

Inlägg av Futei »

daromer skrev:Var lite det ja trodde :) Eller mer jag gissade på att felet satt i dem. Visste bara inte va du hade för värden i dem :lol:
frågan är ju den, ska man ta med dom dåliga värderna in i sql ändå fast bara lägga till en column till som heter typ larm och innehåller 0 eller 1.

sen då man extraherar informationen från SQL så kan man ju välja att plocka ut all information utom dom som har en 1:a i larm columnen
Användarvisningsbild
CirruZZ
Master Moderator
Inlägg: 1621
Blev medlem: 13 feb 2008, 16:46
Ort: Ystad

Re: behöver perl hjälp

Inlägg av CirruZZ »

Det är ju mer en fråga om vad som menas med "dålig" värden. Värden som är helt felaktiga, säg "85-felet" för tempsensorerna, då hade jag skippat dom helt, lika så om du får spikar som är felaktiga. Jag hade istället skapat en egen logg tabell där du stoppar in felaktiga värden, så att du kan ha det som referens och felsökning. Det kommer innebära att du dessutom har korrekta värden i din huvud tabell.
Futei
Gillar hemautomation
Inlägg: 34
Blev medlem: 22 feb 2011, 16:10
Ort: Piteå

Re: behöver perl hjälp

Inlägg av Futei »

CirruZZ skrev:Det är ju mer en fråga om vad som menas med "dålig" värden. Värden som är helt felaktiga, säg "85-felet" för tempsensorerna, då hade jag skippat dom helt, lika så om du får spikar som är felaktiga. Jag hade istället skapat en egen logg tabell där du stoppar in felaktiga värden, så att du kan ha det som referens och felsökning. Det kommer innebära att du dessutom har korrekta värden i din huvud tabell.
atm så loggar jag bara 2 inomhus temperaturer och dessa två borde ligga mellan 18-35 grader, givetvis kommer det komma gånger då man kanske överstiger (mer eller mindre solljus på sensorn gör ju att värdet blir missvisande, sensorn lär tycka att det är varmare än vad det är i rummet) den nedre gränsen vete gudarna vad jag ska till ännu =)

men att logga dom "dåliga" värderna kan ju vara bra om man vill plocka ut dom från databasen samt även kanske felsöka vid ett senare tillfälle.

btw, mail i perl ? tänkte om man fått ett "dåligt" värde
sitter och söker lite i fyllan, kanske är någon som har det i huvudet ? =)
daromer
Hemautomation - det är mer än en hobby
Inlägg: 961
Blev medlem: 23 sep 2009, 09:31
Ort: Växjö

Re: behöver perl hjälp

Inlägg av daromer »

Jag tycker dina värden för felaktiga temperaturer är galna. De enda felaktiga som egentligen finns är som sagt 85 när sensorn inte är initierad. (Ivf det enda som jag inte matar in och har hitils igna galna värden i databasen)

Resten ska du mata in på ett eller annat sätt. Det kan ju faktiskt vara 30 grader i ett rum...

Jag mailar när det blir för många fel. Hade även sms funktion. Dock bara i PHP och Bash.
Skriv svar