Hallo
Wie kann ich die Strompreisfutures von folgender Seite: https://apis.smartenergy.at/market/v1/price importieren, in der Datenbank speichern und als SVG anzeigen?
Grundsätzlich kann ich die Daten über JsonMod importieren und auch Speichern aber ich finde dann keinen Weg die Daten(Preise) in SVG darzustellen da die readings alle verschiedene Namen haben.
MfG Georg
Hallo Georg,
wie wird denn gespeichert, DbLog oder FileLog?
MfG Rainer
#1 in 99_myUtils.pm folgende Funktion anlegen:
sub
parse_smartenergy($)
{
my ($file) = @_;
HttpUtils_NonblockingGet({
url=>"https://apis.smartenergy.at/market/v1/price",
callback=>sub($$$){
return Log 1, "parse_smartenergy:$_[1]" if($_[1]);
my $data = $_[2];
$data =~ s/^{.*"data":\[//;
$data =~ s/]}$//;
$data =~ s/[ \t]//g;
$data =~ s/{"date":"(....-..-..)T(..:..:..).*?","value":(.*?)},?/$1_$2 smartenergy $3\n/g;
open(my $fd, ">$file") || return Log 1, "$file:$!";
print $fd $data;
close($fd);
Log 1, "smartenergy: wrote data";
} });
}
#2 diese Funktion mit einem at regelmaessig aufrufen. Ich habe zum Testen sie so aufgerufen:
define n notify global:INITIALIZED { parse_smartenergy("log/smartenergy.log") }
#3 ein FileLog anlegen, z.Bsp. so:
define f fileLog log/smartenergy.log badregexp readonly
#4 in FHEMWEB ueber f (DetailAnsicht) "Create SVG plot" ein Plot anlegen, Spalte 3 selektieren und "write .gplot file" waehlen.
Ergebnis im Anhang.
Nachtrag:
Um beide Tage angezeigt zu bekommen setzt man
attr f fixedoffset 1
attr f fixedrange 2days
Hallo Rainer
die Daten sollen in DBLog geschrieben werden.
Hallo Rudolf
Vielen Dank für diesen Code und der Anleitung. Auf das wäre ich nie gekommen so etwas selber zu schreiben.
Ich hatte noch einige Probleme es in gang zu kriegen, erst nachdem ich FHEM einmal neu gestartet hatte hat es funktioniert.
Noch einmal Vielen Dank und Schöne Feiertage
MfG
Georg
Zitaterst nachdem ich FHEM einmal neu gestartet hatte hat es funktioniert.
Sorry, habs vergessen zu erwaehnen.
Die Alternative ist reload 99_myUtils.pm
Zitat von: onkel am 25 Dezember 2023, 19:11:25Hallo
Wie kann ich die Strompreisfutures von folgender Seite: https://apis.smartenergy.at/market/v1/price importieren, in der Datenbank speichern und als SVG anzeigen?
Grundsätzlich kann ich die Daten über JsonMod importieren und auch Speichern aber ich finde dann keinen Weg die Daten(Preise) in SVG darzustellen da die readings alle verschiedene Namen haben.
MfG Georg
bekommst du noch daten?