hallo gemeinde gibt es eine Möglichkeit, das die Monats-Exportdatei (EXP**_**.csv) automatisch jede stunde neu exportiert wird, wäre für mich wichtig.
Danke schon mal im voraus
Gruß
Harry
monats-export-datei
Moderatoren: Werner, Tex, weneu
-
Harry120566
- Beiträge: 74
- Registriert: 11 Jun 2008 16:49
- Wohnort: Hiltenfingen
- Kontaktdaten:
-
Harry120566
- Beiträge: 74
- Registriert: 11 Jun 2008 16:49
- Wohnort: Hiltenfingen
- Kontaktdaten:
- weneu
- Site Admin
- Beiträge: 11572
- Registriert: 22 Feb 2002 01:00
- Wohnort: Donauwörth
- Danksagung erhalten: 18 mal
- Kontaktdaten:
Hallo,
nein, ich glaube, Du verstehst nichts falsch, Du hast nur zu wenig Informationen gegeben.
Trotzdem: ein automatischer Export der Monatsdatei ist nicht möglich.
Da müsstest Du schon per benutzerdefinierter Datei eben die Exportdatei "nachbilden", was ich aber nicht unbedingt empfehlen würde.
Es sollte sich ja ein PHP-Script entsprechend anpassen lassen.
nein, ich glaube, Du verstehst nichts falsch, Du hast nur zu wenig Informationen gegeben.
Trotzdem: ein automatischer Export der Monatsdatei ist nicht möglich.
Da müsstest Du schon per benutzerdefinierter Datei eben die Exportdatei "nachbilden", was ich aber nicht unbedingt empfehlen würde.
Es sollte sich ja ein PHP-Script entsprechend anpassen lassen.
-
Harry120566
- Beiträge: 74
- Registriert: 11 Jun 2008 16:49
- Wohnort: Hiltenfingen
- Kontaktdaten:
schau doch mal auf "http://www.wetter-hilfe.de/, vorbei unten rechts in der Auswahlliste: "Temperatur-Diagramme", genauso würde ich es auch haben wollen
-
Harry120566
- Beiträge: 74
- Registriert: 11 Jun 2008 16:49
- Wohnort: Hiltenfingen
- Kontaktdaten:
Sorry werner, aber in PHP habe ich keine Ahnung, habe es so übernommen wie ich es bekommen habe, leider kann ich hier im forum keine Datei anhängen sonst hätte ich sie angehängt, kann ja mal den Code einfügen wenn es was hilft:
<?
/*
// Version 0.2.1
Zweck des Programms:
Erstellen einer HTML Temperatur-Monatsübersicht aus Wetterdaten, die in
einem Textformat als Datei vorliegen.
Aufrufbeispiel:
http://www.meinedomain.de/pfad/thermoiso.php?m=200710
"200710" steht dabei für Oktober 2007, Codierung Jahr/Monat im Format yyyymm
Unterstützte Datenformate:
- Exportiertes Textdatenformat der HeavyWeather-Software für WS-2300
- Historylog-Format der Open2300 Software
- Exportiertes Textdatenformat der HeavyWeather-Pro-Software für WS-3600
- Textformat des Temperatur-Feuchte-Klimaloggers TFD128
- Exportierte Monatsdateien der WsWIN-Software im CSV-Format
Copyright © 2007 Juergen Schlottke, Elmshorn (Germany).
Contact: http://www.wetter-hilfe.de
///////////////////////////////////////////////////////////////
// Beginn des Variablenbereichs, bitte anpassen nach Bedarf! //
///////////////////////////////////////////////////////////////
$stationname="86856 Hiltenfingen ('-' = kein Wert verfügbar)"; // Angezeigter Stationsname
// Dateiname der Text-Wetterdaten, bitte in der richtigen Zeile eintragen!
// Nicht benötigte Dateinamen auf Leerstring "" setzen oder auskommentieren!
// Automatische Bildung von Dateinamen mit Hilfe der Platzhalter [mm] und [jj]
// Beispiel: Dateiname "EXP[mm]_[jj].CSV" steht z.B. für Datei "EXP11_07.CSV"
$ws2300file=""; // HeavyWeather WS-2300, exportierte Textdatei
$open2300file=""; // OPEN2300 Software, Historylog WS-2300
$ws3600file=""; // HeavyWeather Pro WS-3600 exportierte Textdatei
$tfd128file=""; // TFD128 exportierte Datenlogger Textdatei
$wswinfile="EXP[mm]_[jj].CSV"; // WsWIN exportierte Monatsdatei, Beispiel: EXP[mm]_[jj].CSV
$wswt=4; // Feldnummer mit den Temperaturdaten
$wswf=13; // Feldnummer mit den Luftfeuchtedaten (Aussen)
$wswfi=12; // Feldnummer mit den Luftfeuchtedaten (Innen)
$wswr=22; // Feldnummer mit den Luftfeuchtedaten (Innen)
/////////////////////////////////////////////////////////////////////////////////////
// Ende des Variablenbereichs, Änderungen nach dieser Zeile nur auf eigene Gefahr! //
/////////////////////////////////////////////////////////////////////////////////////
$timeframe=$_GET["m"]; // Jahr und Monat der Auswertung als Parameter auslesen
$timeframe=substr($timeframe."000000",0,6);
$timemonth=substr($timeframe,4,2);
$timeyear=substr($timeframe,0,4);
// Vorbesetzung aller 24*31 Datenfelder mit "-" für den Fall,
// daß keine Stundenwerte gefunden werden
$values=array();
for ($i=0;$i<24;$i++)
{
for ($j=1;$j<=31;$j++)
{
$values[$i][$j]='-';
}
}
ab hier wurde vom Admin der restliche Code entfernt
hier der Restcode bezüglich WSWIN
function read_wswinfile($historyfile)
// Einlesen der Datenwerte aus exportierten Monatsdaten von WsWIN
// Automatische Trennzeichenerkennung entweder Semikolon oder Komma
{
global $values,$timeframe,$wswt,$wswf;
// Dateiname automatisch bilden
$historyfile=str_replace("[mm]",substr($timeframe,4,2),$historyfile);
$historyfile=str_replace("[jj]",substr($timeframe,2,2),$historyfile);
if (!(file_exists($historyfile)))
{ echo "<H1><br>Fehler</h1>Datei nicht gefunden ($historyfile)";exit;}
$wswt--;
$wswf--;
// Einlesen der Daten aus Textdatei
$fil=fopen($historyfile,"r");
if ($fil=== FALSE){ die("Fehler beim Lesen der Datei $historyfile!");};
// Zuerst: Automatische Erkennung des Feldtrenners
$streng = fgets($fil, 1000);
$komma=strtok($streng,",");
$semikolon=strtok($streng,";");
if (strlen($komma)<strlen($semikolon)) $ftren=","; else $ftren=";";
// Dann in einer Schleife alle Datensätze verarbeiten
$i=0;
while (!feof($fil))
{
$streng = fgets($fil, 1000);
$components = explode($ftren, $streng);
if (strcmp(substr($components[0],6,4).substr($components[0],3,2),$timeframe)==0)
{ // Ja, Daten liegen im gewünschten Zeitfenster
$i=intval(substr( $components[1],0,2)); // Stunde
$j=intval(substr( $components[0],0,2)); // Tag
if (strcmp($_GET["t"],"f")!=0)
{
$curvalue=round(str_replace(",",".",$components[$wswt]),0);
// Temperaturen über 70 Grad ignorieren (Meßfehler)
if ($curvalue<70) $values[$i][$j]=$curvalue;
}
else
{
$curvalue=round(str_replace(",",".",$components[$wswf]),0);
// Feuchtewerte über 100% ignorieren (Meßfehler)
if ($curvalue<=100) $values[$i][$j]=$curvalue;
}
}
}
fclose($fil);
}
if (strcmp($ws2300file,"")!=0) read_ws2300file($ws2300file);
if (strcmp($open2300file,"")!=0) read_open2300file($open2300file);
if (strcmp($ws3600file,"")!=0) read_ws3600file($ws3600file);
if (strcmp($tfd128file,"")!=0) read_tfd128file($tfd128file);
if (strcmp($wswinfile,"")!=0) read_wswinfile($wswinfile);
// Datei ist jetzt fertig eingelesen, das $values-Array mit vorhandenen Daten gefüllt
if (strcmp($_GET["t"],"f")!=0) $artderuebersicht="Temperatur-Index"; else $artderuebersicht="Luftfeuchte-Index";
// Ab hier: Ausgabe einer HTML-Tabelle
entfernt
<?
/*
// Version 0.2.1
Zweck des Programms:
Erstellen einer HTML Temperatur-Monatsübersicht aus Wetterdaten, die in
einem Textformat als Datei vorliegen.
Aufrufbeispiel:
http://www.meinedomain.de/pfad/thermoiso.php?m=200710
"200710" steht dabei für Oktober 2007, Codierung Jahr/Monat im Format yyyymm
Unterstützte Datenformate:
- Exportiertes Textdatenformat der HeavyWeather-Software für WS-2300
- Historylog-Format der Open2300 Software
- Exportiertes Textdatenformat der HeavyWeather-Pro-Software für WS-3600
- Textformat des Temperatur-Feuchte-Klimaloggers TFD128
- Exportierte Monatsdateien der WsWIN-Software im CSV-Format
Copyright © 2007 Juergen Schlottke, Elmshorn (Germany).
Contact: http://www.wetter-hilfe.de
///////////////////////////////////////////////////////////////
// Beginn des Variablenbereichs, bitte anpassen nach Bedarf! //
///////////////////////////////////////////////////////////////
$stationname="86856 Hiltenfingen ('-' = kein Wert verfügbar)"; // Angezeigter Stationsname
// Dateiname der Text-Wetterdaten, bitte in der richtigen Zeile eintragen!
// Nicht benötigte Dateinamen auf Leerstring "" setzen oder auskommentieren!
// Automatische Bildung von Dateinamen mit Hilfe der Platzhalter [mm] und [jj]
// Beispiel: Dateiname "EXP[mm]_[jj].CSV" steht z.B. für Datei "EXP11_07.CSV"
$ws2300file=""; // HeavyWeather WS-2300, exportierte Textdatei
$open2300file=""; // OPEN2300 Software, Historylog WS-2300
$ws3600file=""; // HeavyWeather Pro WS-3600 exportierte Textdatei
$tfd128file=""; // TFD128 exportierte Datenlogger Textdatei
$wswinfile="EXP[mm]_[jj].CSV"; // WsWIN exportierte Monatsdatei, Beispiel: EXP[mm]_[jj].CSV
$wswt=4; // Feldnummer mit den Temperaturdaten
$wswf=13; // Feldnummer mit den Luftfeuchtedaten (Aussen)
$wswfi=12; // Feldnummer mit den Luftfeuchtedaten (Innen)
$wswr=22; // Feldnummer mit den Luftfeuchtedaten (Innen)
/////////////////////////////////////////////////////////////////////////////////////
// Ende des Variablenbereichs, Änderungen nach dieser Zeile nur auf eigene Gefahr! //
/////////////////////////////////////////////////////////////////////////////////////
$timeframe=$_GET["m"]; // Jahr und Monat der Auswertung als Parameter auslesen
$timeframe=substr($timeframe."000000",0,6);
$timemonth=substr($timeframe,4,2);
$timeyear=substr($timeframe,0,4);
// Vorbesetzung aller 24*31 Datenfelder mit "-" für den Fall,
// daß keine Stundenwerte gefunden werden
$values=array();
for ($i=0;$i<24;$i++)
{
for ($j=1;$j<=31;$j++)
{
$values[$i][$j]='-';
}
}
ab hier wurde vom Admin der restliche Code entfernt
hier der Restcode bezüglich WSWIN
function read_wswinfile($historyfile)
// Einlesen der Datenwerte aus exportierten Monatsdaten von WsWIN
// Automatische Trennzeichenerkennung entweder Semikolon oder Komma
{
global $values,$timeframe,$wswt,$wswf;
// Dateiname automatisch bilden
$historyfile=str_replace("[mm]",substr($timeframe,4,2),$historyfile);
$historyfile=str_replace("[jj]",substr($timeframe,2,2),$historyfile);
if (!(file_exists($historyfile)))
{ echo "<H1><br>Fehler</h1>Datei nicht gefunden ($historyfile)";exit;}
$wswt--;
$wswf--;
// Einlesen der Daten aus Textdatei
$fil=fopen($historyfile,"r");
if ($fil=== FALSE){ die("Fehler beim Lesen der Datei $historyfile!");};
// Zuerst: Automatische Erkennung des Feldtrenners
$streng = fgets($fil, 1000);
$komma=strtok($streng,",");
$semikolon=strtok($streng,";");
if (strlen($komma)<strlen($semikolon)) $ftren=","; else $ftren=";";
// Dann in einer Schleife alle Datensätze verarbeiten
$i=0;
while (!feof($fil))
{
$streng = fgets($fil, 1000);
$components = explode($ftren, $streng);
if (strcmp(substr($components[0],6,4).substr($components[0],3,2),$timeframe)==0)
{ // Ja, Daten liegen im gewünschten Zeitfenster
$i=intval(substr( $components[1],0,2)); // Stunde
$j=intval(substr( $components[0],0,2)); // Tag
if (strcmp($_GET["t"],"f")!=0)
{
$curvalue=round(str_replace(",",".",$components[$wswt]),0);
// Temperaturen über 70 Grad ignorieren (Meßfehler)
if ($curvalue<70) $values[$i][$j]=$curvalue;
}
else
{
$curvalue=round(str_replace(",",".",$components[$wswf]),0);
// Feuchtewerte über 100% ignorieren (Meßfehler)
if ($curvalue<=100) $values[$i][$j]=$curvalue;
}
}
}
fclose($fil);
}
if (strcmp($ws2300file,"")!=0) read_ws2300file($ws2300file);
if (strcmp($open2300file,"")!=0) read_open2300file($open2300file);
if (strcmp($ws3600file,"")!=0) read_ws3600file($ws3600file);
if (strcmp($tfd128file,"")!=0) read_tfd128file($tfd128file);
if (strcmp($wswinfile,"")!=0) read_wswinfile($wswinfile);
// Datei ist jetzt fertig eingelesen, das $values-Array mit vorhandenen Daten gefüllt
if (strcmp($_GET["t"],"f")!=0) $artderuebersicht="Temperatur-Index"; else $artderuebersicht="Luftfeuchte-Index";
// Ab hier: Ausgabe einer HTML-Tabelle
entfernt
- weneu
- Site Admin
- Beiträge: 11572
- Registriert: 22 Feb 2002 01:00
- Wohnort: Donauwörth
- Danksagung erhalten: 18 mal
- Kontaktdaten:
Hallo Harry,
zunächst: ich erlaube mir, dein script zu kürzen und den entscheidenden Punkt hervorzuheben, denn das Wesentliche steht ziemlich oben.
Es sieht aber so aus, als ob Du tatsächlich auf die Monats-Exportdatei angewiesen bist, denn das script ist "monatsweise" orientiert.
So gesehen hilft Dir dann auch die von mir genannte ws_newdata.csv nichts, denn die wird ja nicht monatsweise, sondern fortlaufend erzeugt.
Du hast also nur 2 Möglichkeiten:
- die Monatsdatei manuell zu exportieren
oder, wie von mir schon gesagt,
- die Exportdatei in Form einer benutzerdefinierten Datei nachzubilden.
Nachtrag:
Vielleicht kann ja ein PHP-Fachmann, der viel Zeit hat, noch eine andere Möglichkeit finden, wenn ihm das komplette Script zugesandt wird.
zunächst: ich erlaube mir, dein script zu kürzen und den entscheidenden Punkt hervorzuheben, denn das Wesentliche steht ziemlich oben.
Es sieht aber so aus, als ob Du tatsächlich auf die Monats-Exportdatei angewiesen bist, denn das script ist "monatsweise" orientiert.
So gesehen hilft Dir dann auch die von mir genannte ws_newdata.csv nichts, denn die wird ja nicht monatsweise, sondern fortlaufend erzeugt.
Du hast also nur 2 Möglichkeiten:
- die Monatsdatei manuell zu exportieren
oder, wie von mir schon gesagt,
- die Exportdatei in Form einer benutzerdefinierten Datei nachzubilden.
Nachtrag:
Vielleicht kann ja ein PHP-Fachmann, der viel Zeit hat, noch eine andere Möglichkeit finden, wenn ihm das komplette Script zugesandt wird.