• Willkommen im Forum „Wetterstationsforum.info - Archiv“.
 

Neuigkeiten:

Dieses Forum dient ausschließlich zu Archivzwecken.
Für Fragen nutze bitte unser aktuelles Forum, welches du unter https://wetterstationsforum.info findest.

Hauptmenü

Daten von Weatherlink weiter verarbeiten

Begonnen von Cumulonimbus, 11.03.2003, 12:46:00

⏪ vorheriges - nächstes ⏩

Cumulonimbus

Hallo,

wie kann ich die von Weatherlink erstellten Logfiles dahingehend auswerten, dass ich eine brauchbare Statistik bekomme.

Gibt es hierzu Vorlagen, vielleicht für Excel?

Welche Lösung zur statistischen Erfassen nutzt ihr?

Gruss
Stefan

Wolfi3300

Hallo Stefan,

Hab das bei mir mittels PHP und MySQL gelöst. Ich lese das 2 Tages-Textfile aus, welches alle 15 Minuten neu erstellt wird und schreibe die Daten in eine Datenbank.

Danach kannst mit dem Zeugs alles mögliche anstellen. So zum Beispiel hab ich auf meiner Page eine Seite, wo der User seinen gewünschten Datumsbereich angeben kann, den er sehen will und die Auswertung und auch die Grafiken werden ihm dann in Echtzeit berechnet.

Zu sehen auf http://wetter.amstetten.at

Grüße,
Wolfgang.

Cumulonimbus

Hallo Tobi,

bei dir war ich schon auf der Seite und ich war erstaunt, was sich aus einem einzigen Logfile alles anstellen lässt.

Ich habe programmiertechnisch leider schlechte Karten.

Läuft das Script bei Dir auf dem Rechner daheim oder auf einer Shell auf Linux in einem Netzwerk?

Gibt es ne Lösung, sowas auch ausschliesslich unter Win 2000 zu realisieren?

Gruss
Stefan

Wolfi3300

Hallo Stefan,

Bin zwar Wolfgang und nicht Tobi, aber macht nix :wink:

Das Script läuft bei mir daheim auf einer Linux Maschine. Ist einfach ein PHP Script.
Theoretisch kann man das aber auch unter Windows laufen lassen. PHP und MySQL gibts kostenlos für Windows. Braucht man dann nur mehr einen Task konfigurieren, der alle 15 Minuten das Script startet.

Grüße,
Wolfgang



Cumulonimbus

Hallo Wolfgang,

sorry, wie ich da nur auf Tobi gekommen bin... Das muss mir ja schon peinlich sein.

Hmm, ja also wenn das alles unter Windows läuft und die Einstellungsgeschichte kein grosses Thema ist, vielleicht sehe ich da ein Lichtlein am Ende des Tunnels.

Würdest Du dein Script zur Verfügung stellen, und wenn ja, was möchtest Du dafür haben?

Gruss
Stefan

Wolfi3300

Hallo Stefan,

Hier das Quick & Dirty Script für PHP zum Auselesen der Vantage-Textdatei und schreiben in eine SQL-DB:

$handle = fopen ("/usr/local/httpd/htdocs/vantage/noaa/downld02.txt", "r");
if (!$handle) die ("Kann Textfile nicht öffnen !");

$sql_link = mysql_connect(   "localhost",  "user", "pass");
mysql_select_db ("wetter", $sql_link)  or  die ('Fehler beim Öffnen der Datenbank!nn');


while (!feof ($handle)) {
       $buffer = fgets($handle,4096);
       if ((substr($buffer,2,1)=='-') && (substr($buffer, 3, 1) != '-')) {
         $buffer = trim(preg_replace("/s+/", " ", $buffer));
       list ($datum,$zeit,$tempout,$hitemp,$lowtemp,$outhum,$dew,$windspeed,$dir,$windrun,$hispeed,$hidir,$windchill,$heatindex,$thw,$thsw,$bar,$rain,$rainrate,$solarrate,$solarenergy,$hisolarrad,$uv,$uvdose,$hiuv,$heatdd,$cooldd,$intemp,$inhum,$et,$windsamp,$windtx,$issrecept,$arcint) = explode(" ",$buffer);
       list($mon,$tag,$jahr) = split("-",$datum);
       $dat_neu = "20".$jahr."0".$mon.$tag;

       list($stunden,$minuten) = split (":",$zeit);
       if (($minuten{2}=="p") && ($stunden != 12)) $stunden += 12;
       if (($minuten{2}=="a") && ($stunden == 12)) $stunden = 0;

       $minuten = substr($minuten,0,2);
       if ($stunden<10) $stunden = "0".$stunden;
       $datumzeit = "$dat_neu$stunden$minuten";

       $query = "INSERT INTO vantagedaten (datumzeit,tempout,hitemp,lowtemp,outhum,dew,windspeed,dir,windrun,hispeed,hidir,windchill,heatindex,
                               thw,thsw,bar,rain,rainrate,solarrate,solarenergy,hisolarrad,uv,uvdose,hiuv,heatdd,cooldd,intemp,inhum,et,windsamp,windtx,
                               issrecept,arcint) VALUES
                               ('$datumzeit', '$tempout','$hitemp','$lowtemp','$outhum','$dew','$windspeed','$dir','$windrun','$hispeed','$hidir',
                                '$windchill','$heatindex','$thw','$thsw','$bar','$rain','$rainrate','$solarrate','$solarenergy','$hisolarrad',
                                '$uv','$uvdose','$hiuv','$heatdd','$cooldd','$intemp','$inhum','$et','$windsamp','$windtx',
                               '$issrecept','$arcint')";
       echo "$query
";
       mysql_query($query);

       }
}
fclose ($handle);
?>
-------------------------------------
Den Satzaufbau der SQL-DB sollte so aussehen:
CREATE TABLE vantagedaten (
 ID bigint(20) NOT NULL auto_increment,
 datumzeit char(12) NOT NULL default '',
 tempout double(3,1) NOT NULL default '0.0',
 hitemp double(3,1) NOT NULL default '0.0',
 lowtemp double(3,1) NOT NULL default '0.0',
 outhum tinyint(4) NOT NULL default '0',
 dew double(3,1) NOT NULL default '0.0',
 windspeed double(4,1) NOT NULL default '0.0',
 dir char(3) NOT NULL default '',
 windrun double(4,2) NOT NULL default '0.00',
 hispeed double(4,1) NOT NULL default '0.0',
 hidir char(3) NOT NULL default '',
 windchill double(3,1) NOT NULL default '0.0',
 heatindex double(3,1) NOT NULL default '0.0',
 thw double(3,1) NOT NULL default '0.0',
 thsw double(3,1) NOT NULL default '0.0',
 bar double(4,1) NOT NULL default '0.0',
 rain double(4,2) NOT NULL default '0.00',
 rainrate double(4,1) NOT NULL default '0.0',
 solarrate mediumint(9) NOT NULL default '0',
 solarenergy double(4,2) NOT NULL default '0.00',
 hisolarrad mediumint(9) NOT NULL default '0',
 uv double(2,1) NOT NULL default '0.0',
 uvdose double(4,2) NOT NULL default '0.00',
 hiuv double(4,2) NOT NULL default '0.00',
 heatdd double(4,3) NOT NULL default '0.000',
 cooldd double(4,3) NOT NULL default '0.000',
 intemp double(3,1) NOT NULL default '0.0',
 inhum tinyint(4) NOT NULL default '0',
 et double(4,2) NOT NULL default '0.00',
 windsamp smallint(6) NOT NULL default '0',
 windtx tinyint(4) NOT NULL default '0',
 issrecept double(4,1) NOT NULL default '0.0',
 arcint tinyint(4) NOT NULL default '0',
 PRIMARY KEY  (ID),
 UNIQUE KEY datumzeit (datumzeit),
 KEY tempout (tempout),
 KEY hitemp (hitemp),
 KEY lowtemp (lowtemp),
 KEY outhum (outhum),
 KEY rain (rain)
) TYPE=MyISAM;


Grüße,
Wolfgang

superdino

Hi Wolfi,

Deine Website ist wirklich megagenial gemacht. Habe ich gestern schon bestaunt.

Ich habe seit 3 Wochen eine Station WMR968 stehen (http://webcams.dindi.com/wetter), bin aber aus folgenden Gründen nicht damit zufrieden:
- kein Datenlogger, daher gehen immer wieder mal Daten verloren, komplette Aufzeichnungen nicht möglich
- Raingauge mißt in 1mm Sprüngen, das ist viel zu hoch, die Davis machtdas ja schon ab 0.25mm, leichte Regen bekommt die WMR ja gar nicht mit
- Temperatursensor: steht in praller Sonne, ungeschützt und unbelüftet, entsprechend verfälscht sind die Werte.

Toll, daß ich das Geld zum Fenster rausgeschmissen habe. Ich möchte mir jetzt auch eine Vantage Pro Plus (wired) kaufen, da ich damit viele obige Probleme lösen kann.

Möchte dann so ne ähnliche Website machen, wie Du es schon hast. Da ich mit Linux nix anfangen kann, wird das alles unter MS, sprich MS-SQL und ASP laufen, die Import/Konvertierungsscripts sind schnell gemacht.... wenn jemand interesse hat und ich sie fertig habe, bitte melden.

Wolfi: die Solar + UV Werte kann man auch exportieren, oder?

Und: hat jemand einen TIPP, wo ich die Station günstig erstehen kann und schnell geliefert kriege?

Bringt die Lüftung des Temp.messers wirklich was, oder soll ich mir das sparen? Was meint Ihr dazu, bzw. wie sind eure Erfahrungswerte...

Viele Gruesse aus Suedtirol.