Rohdaten exportieren

Hallo Community,

welche Möglichkeiten gibt es, die gesamten Rohdaten eines Jahres einer bestimmten Variablen aus der Datenbank in eine Datei (txt, csv, …) zu exportieren.
Der Export über das WebFront ist zu aufwendig:
Monatsanzeige --> aggregierte Daten in 1h-Abstand
Tagesanzeige --> aggregierte Daten im 5Min-Abstand
Bräuchte aggregierte Daten im 2Min - 5Min Abstand
–> Ist zu viel Aufwand, für jeden Tag die Daten einzeln per Hans auszulesen.

Gibt es ein Skript, mit dem man die Daten einer Variable (am besten noch innerhalb eines bestimmten Zeitraumes und Aggregationszeit) exportieren kann?

Vielen Dank für Tipps / Unterstützung

Grüße
Wickie

Abend!

Hab da was gefunden…ist nicht genau das was du gesucht hast, aber vlt. schon mal ein Ansatz?!

Zusätzlich könntest du dir das „Energy Forecast“ von Raketenschnecke mal ansehen, da wird auch viel mit geloggten Daten gemacht. Eventuell lässt sich das alles irgendwie zusammenbasteln?!

Ich hoffe das hilft dir ein wenig.

Grüße,
Chris

Hallo Chris,

vielen Dank für deinen Tipp.
Habe mich ein bißchen in PHP eingelesen und habe ein kleines Skript verfasst:


<?
$ID_Variable = 45285;   // Variablen-ID
$Dateiname = "Dateiname.txt"; // neu zu erzeugende Datei; Achtung: bestehende Datei wird gelöscht!
$path = "C:\IP-Symcon\EigeneDateien\ ";   // Pfad zu dem Ordner, in der die Datei erzeugt werden soll
$Agg_Stufe = 5;
// 0: stündlich
// 1: täglich
// 2: wöchentlich
// 3: monatlich
// 4: jährlich
// 5: 5-Minuten
// 6: 1-Minute

// Definition Beginn Zeitraum
$Beginn_h = 0;    //Stunde
$Beginn_min = 0;  //Minute
$Beginn_s = 0;    //Sekunde
$Beginn_m = 1;    //Monat
$Beginn_d = 1;    //Tag
$Beginn_y = 2014; //Jahr

// Definition Ende Zeitraum
$Ende_h = 23;
$Ende_min = 59;
$Ende_s = 59;
$Ende_m = 1;
$Ende_d = 31;
$Ende_y = 2014;

$ID_Archieve_Handler = 20434; // ID- des Archieve-Handlers

////////////////////////////////////////////////
// ab jetzt nichts mehr ändern!
$Modus = "w"; //schreiben
$wert = AC_GetAggregatedValues($ID_Archieve_Handler, $ID_Variable, $Agg_Stufe, mktime($Beginn_h ,$Beginn_min,$Beginn_s,$Beginn_m,$Beginn_d,$Beginn_y), mktime($Ende_h,$Ende_min,$Ende_s,$Ende_m,$Ende_d,$Ende_y), 0); 
$anzahl = count($wert);
if ($anzahl >1)
	{
	$datei = fopen($path.$Dateiname, $Modus);
	for($i=0; $i < $anzahl; $i++)
		{
			$Avg =$wert[$i]['Avg'];
			fwrite($datei, date("d.m.Y H:i:s", $wert[$i]['TimeStamp']).", ".$Avg."
");
		}
	fclose($datei);
	}
?>

Evtl. kann es noch jemand anderes gebrauchen.

Viele Grüße
Wickie

Das sieht doch schon mal gut aus :slight_smile: Freut mich, dass du es hinbekommen hast und Danke für die Veröffentlichung deiner Arbeit! :slight_smile:

Grüße,
Chris

ich bin mir nicht ganz sicher, was genau das Ziel ist.
Hier gibt es noch ein Script von paresy, welches sozusagen in echtzeit die Daten einer Variable in eine csv schreibt und vielleicht zum Thema passt