Strompreisfutures importieren und als SVG anzeigen

Begonnen von onkel, 25 Dezember 2023, 19:11:25

Vorheriges Thema - Nächstes Thema

onkel

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

ergerd

Hallo Georg,

wie wird denn gespeichert, DbLog oder FileLog?

MfG Rainer
FHEM auf RasPi 4, CUNO, ZigBee, 1Wire2WLAN, DS2423, C-Control II, Buderus KM200, LaCrosseGateway, PCA301, ConBee II, LuftdatenInfo, OneWireGW, Div. ESPs u. Shellys

rudolfkoenig

#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.

rudolfkoenig

Nachtrag:
Um beide Tage angezeigt zu bekommen setzt man
attr f fixedoffset 1
attr f fixedrange 2days

onkel

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

rudolfkoenig

Zitaterst nachdem ich FHEM einmal neu gestartet hatte hat es funktioniert.
Sorry, habs vergessen zu erwaehnen.
Die Alternative ist reload 99_myUtils.pm

satprofi

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?
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram