HTTPMOD: Aktueller Strompreis EEX Strombörse Leipzig abfragen

Begonnen von ch.eick, 30 Juli 2025, 15:26:34

Vorheriges Thema - Nächstes Thema

ch.eick

#30
Hallöchen,
ich habe bereits den ersten Schritt für die Sommerzeitumstellung zum Testen bereit.


Es betrifft die userReadings
  - current_level
    Hier habe ich die Erkennung für die Sommerzeit eingebaut und die gelieferten Werte entsprechend verschoben.
    fc0_02mm_total werden auf null gesetzt

  - fc_DbLog
    Damit der Datenbank Fehler mit den ungültigen TIMESTAMPs nicht mehr kommt wird fc0_02mm_total übersprungen.

  - Für die Umstellung auf die Winterzeit bekommt man dann ja die Stunde 02 zweimal, da wäre zu überlegen wie verfahren werden soll
    1. Einfach mal nicht tun und die zweite Stunde 02 einfach entfallen zu lassen, da ja bereits ein Eintrag da ist, oder
    2. Einen Durchschnitt berechnen und den dann eintragen.
    Gebt mir mal Rückmeldung dazu.

Zum Testen bitte verbose 4 setzen und ins Log schauen
current_level:fc._0000_total.* {
  my $hash = $defs{$name};
  my ($sec, $min, $hour, $mday, $mon, $year) = localtime();$year += 1900;$mon  += 1;

# --- DST Korrektur Logik (Sommerzeit-Sprung am letzten Sonntag im März) ---
  my $is_summer_jump = 0;
  my ($m_day, $m_month, $m_year) = (localtime(time))[3,4,5];
 
  eval {
    use Time::Local;
    my $epoch_today = timelocal(0, 0, 0, $m_day, $m_month, $m_year);
    my $epoch_next  = $epoch_today + 93600;
    my ($nd, $nm, $ny) = (localtime($epoch_next))[3,4,5];
    my $epoch_tomorrow = timelocal(0, 0, 0, $nd, $nm, $ny);
    $is_summer_jump = 1 if (($epoch_tomorrow - $epoch_today) == 82800);
  };

  if ($is_summer_jump && ReadingsVal($name, sprintf("fc0_0200_total"), 0) ne "null") {
    my @all_fc_readings = grep { /^fc[01]_\d{4}_total$/ } keys %{$hash->{READINGS}};
    my $count = scalar(@all_fc_readings);
    Log3($name, 3, "$name ur_02: DST-Korrektur aktiv ($count Readings)");

    # --- 1. MITTAGS-LOGIK (fc1 schieben) ---
    if ($count >= 188) {
      # fc1 um 1 Stunde nach hinten (22 -> 23 ... 00 -> 01)
      for (my $h = 22; $h >= 0; $h--) {
        for (my $m = 0; $m <= 45; $m += 15) {
          my $val = ReadingsVal($name, sprintf("fc1_%02d%02d_total", $h, $m), 0);
          readingsBulkUpdate($hash, sprintf("fc1_%02d%02d_total", $h+1, $m), $val);
        }
      }
      # Übertrag fc0_23xx -> fc1_00xx
      for (my $m = 0; $m <= 45; $m += 15) {
        my $val = ReadingsVal($name, sprintf("fc0_23%02d_total", $m), 0);
        readingsBulkUpdate($hash, sprintf("fc1_00%02d_total", $m), $val);
      }
    }

    # --- 2. MORGENS-LOGIK (fc0 schieben) ---
    if ($count >= 92) {
      # WICHTIG: Wir schieben alles ab Stunde 2 EINE STUNDE WEITER.
      # Der Wert von 02:00 wird zu 03:00, 03:00 zu 04:00 usw.
      for (my $h = 22; $h >= 2; $h--) {
        for (my $m = 0; $m <= 45; $m += 15) {
          my $old_val = ReadingsVal($name, sprintf("fc0_%02d%02d_total", $h, $m), 0);
          readingsBulkUpdate($hash, sprintf("fc0_%02d%02d_total", $h+1, $m), $old_val);
        }
      }

      # Erst NACHDEM die Werte von 02:xx sicher in 03:xx gelandet sind,
      # wird die "Lücke" in Stunde 2 (die es nicht gibt) genullt.
      for (my $m = 0; $m <= 45; $m += 15) {
        readingsBulkUpdate($hash, sprintf("fc0_02%02d_total", $m), 'null');
      }
     
      Log3($name, 3, "$name ur_02: fc0 erfolgreich verschoben (02xx -> 03xx)");
    }
  }

# --- WINTERZEIT (Oktober, letzter Sonntag) ---
    if ($is_winter_jump && ReadingsVal($name, "fc1_0000_total", "null") ne "null") {
     
      # 1. MORGENS-LOGIK (100 Readings vorhanden)
      # fc0_00xx bis fc0_23xx vorhanden + fc1_00xx (als 25. Stunde)
      if ($count >= 100 && $count < 196) {
        Log3($name, 3, "$name ur_02: Winter-DST Morgen (100rd) - Ziehe fc1_00xx auf fc0_23xx vor");
       
        # Die Werte von 03:00 bis 23:45 um eine Stunde vorziehen (03 -> 02, ..., 23 -> 22)
        for (my $h = 3; $h <= 23; $h++) {
          for (my $m = 0; $m <= 45; $m += 15) {
            my $val = ReadingsVal($name, sprintf("fc0_%02d%02d_total", $h, $m), 0);
            readingsBulkUpdate($hash, sprintf("fc0_%02d%02d_total", $h-1, $m), $val);
          }
        }
       
        # Die "überhängenden" fc1_00xx Readings auf fc0_23xx schieben
        for (my $m = 0; $m <= 45; $m += 15) {
          my $val_25 = ReadingsVal($name, sprintf("fc1_00%02d_total", $m), 0);
          readingsBulkUpdate($hash, sprintf("fc0_23%02d_total", $m), $val_25);
        }
       
        # Das nun falsche fc1_00xx "nullen" oder löschen, damit es morgens nicht stört
        for (my $m = 0; $m <= 45; $m += 15) {
          readingsBulkUpdate($hash, sprintf("fc1_00%02d_total", $m), "null");
        }
      }

      # 2. MITTAGS-LOGIK (196 Readings vorhanden)
      # fc1 ist nun komplett da, muss aber komplett um 1h verschoben werden
      if ($count >= 196) {
        Log3($name, 3, "$name ur_02: Winter-DST Mittag (196rd) - Synchronisiere fc1");

        # Zuerst fc0 ab 03:00 Uhr wie morgens korrigieren (falls noch nicht geschehen oder Refresh)
        for (my $h = 3; $h <= 23; $h++) {
          for (my $m = 0; $m <= 45; $m += 15) {
            my $val = ReadingsVal($name, sprintf("fc0_%02d%02d_total", $h, $m), 0);
            readingsBulkUpdate($hash, sprintf("fc0_%02d%02d_total", $h-1, $m), $val);
          }
        }

        # Jetzt den Übergang: Das "echte" neue fc1_00xx auf fc0_23xx ziehen
        for (my $m = 0; $m <= 45; $m += 15) {
          my $val_transition = ReadingsVal($name, sprintf("fc1_00%02d_total", $m), 0);
          readingsBulkUpdate($hash, sprintf("fc0_23%02d_total", $m), $val_transition);
        }

        # Hier muss bei den readings noch eine Stunde 24 gelesen werden, da ja eine reading Gruppe mehr kommt
        # Dann den gesamten fc1 Block um eine Stunde vorziehen (01 -> 00, ..., 24 -> 23)
        for (my $h = 1; $h <= 24; $h++) {
          for (my $m = 0; $m <= 45; $m += 15) {
            my $val = ReadingsVal($name, sprintf("fc1_%02d%02d_total", $h, $m), 0);
            readingsBulkUpdate($hash, sprintf("fc1_%02d%02d_total", $h-1, $m), $val);
          }
        }
       
        # Die überstehende 25. Stunde löschen
        fhem("deletereading $name fc0_24.*_total");
      }
    }
  # --- Ende DST Korrektur ---

## Aktueller Preis

  # --- Readings setzen ---
  readingsBeginUpdate($hash);
  readingsBulkUpdate($hash,"current_price",ReadingsVal($name,sprintf("fc0_%02d%02d_total",$hour, int($min/15)*15),0) );
  readingsBulkUpdate($hash,"current_date",sprintf("%d-%02d-%02d %02d:%02d:00", $year, $mon, $mday, $hour, int($min/15)*15) );
  Log3($name,3,sprintf("%-20s ur_02 : fc  Current Werte gesetzt", $name));
  readingsBulkUpdate($hash,"fc0_0000_startsAt",sprintf("%d-%02d-%02d 00:00:00", $year, $mon, $mday) );
  Log3($name,3,sprintf("%-20s ur_02 : fc0 Startzeit der Daten gesetzt", $name));

  if (      ReadingsVal($name,"fc1_0000_total","null") eq "null"             ## Der nächste Tag ist noch nicht da
      and ReadingsVal($name,"fc1_0000_startsAt","9999-99-99 00:00:00") ge sprintf("%d-%02d-%02d 00:00:00", $year, $mon, $mday))
  {
    fhem("deletereading ".$name." fc1_0000_startsAt");
    Log3($name,3,sprintf("%-20s ur_02 : fc1 Daten sind noch nicht da", $name));
  } else {
    readingsBulkUpdate($hash,"fc1_0000_startsAt",strftime("%Y-%m-%d 00:00:00",localtime(time+86400)) );
    Log3($name,3,sprintf("%-20s ur_02 : fc1 Startzeit der Daten gesetzt", $name));
  } # end if
},

fc_DbLog:current_level.* {
## Schreibt die readings fc*_hhmm_total als fc*_total mit passendem TIMESTAMP in die Datenbank
  my ($timestamp,$date,$value);
  my $conf_EVU = ReadingsVal("$name","conf_EVU","EPEX_Spot");
  my @values_sql;                                                          # Array für alle INSERT-Werte

  Log3($name,3,sprintf("%-20s ur_36 : ", $name)."fc*_total Daten für $conf_EVU in die Datenbank schreiben");
  my $stop_fc = (ReadingsVal("$name","fc1_0000_startsAt","null") ne "null") ? 1 : 0;
  for (my $loop_fc = 0; $loop_fc <= $stop_fc; $loop_fc++) {
    $date = ReadingsVal("$name","fc${loop_fc}_0000_startsAt","null");
    next if (!$date || $date eq "null");
    $date = (split(' ',$date))[0];
    Log3($name,3,sprintf("%-20s ur_36 : ", $name)."fc$loop_fc Daten vom $date für $conf_EVU gefunden");
    for (my $loop_hour = 0; $loop_hour <= 23; $loop_hour++) {
      for (my $loop_quarter = 0; $loop_quarter <= 3; $loop_quarter++) {
        $timestamp = sprintf("%s %02d:%02d:00",$date,$loop_hour,$loop_quarter*15);
        $value     = ReadingsVal("$name",sprintf("fc%d_%02d%02d_total",$loop_fc,$loop_hour,$loop_quarter*15),"null");
        if ( $value ne "null" ) {
##          Log3($name,4,sprintf("%-20s ur_36 : ", $name)."  $timestamp $name $conf_EVU fc${loop_fc}_total $value");
          push @values_sql,sprintf("('%s','%s','%s','%s','%s')",$timestamp,$name,$conf_EVU,"fc${loop_fc}_total",$value);
        } else {
          Log3($name,4,sprintf("%-20s ur_36 : ", $name)."  $timestamp fc${loop_fc}_total $value - Sommerzeit-Sprung am letzten Sonntag im März");
        }
      } # end quarter
    } # end loop_hour
  } # end loop_fc

  if (@values_sql) {
    my $sql = "INSERT INTO history (TIMESTAMP,DEVICE,TYPE,READING,VALUE) VALUES " . join(", ",@values_sql) . " AS new ON DUPLICATE KEY UPDATE VALUE = new.VALUE;";
    Log3($name,4,sprintf("%-20s ur_36 : Eintragen neuer Daten in die Datenbank\n%s", $name, ($sql =~ s/\),\s*\(/\),\n\(/gr) ));   # für die Anzeige lesbar umformatieren
    ::CommandGet(undef,"LogDBRep_${name}_SQL sqlCmdBlocking $sql");
  }

  return ReadingsTimestamp("$name","fc0_0000_startsAt","null");
}


Im Log sollte es dann so aussehen
2026.03.29 18:15:00.185 4: Stromboerse_connect: get will now request 01_Preis_Info_EPEX_Spot, no optional value
2026.03.29 18:15:00.190 4: Stromboerse_connect: HandleSendQueue sends get01 with timeout 15 to https://api.energy-charts.info/price?bzn=DE-LU&start=2026-03-29&end=2026-03-30, No Data, No Header
2026.03.29 18:15:00.673 4: Stromboerse_connect: Read callback: request type was get01 retry 0,
header: HTTP/1.1 200 OK
date: Sun, 29 Mar 2026 18:15:00 GMT
content-length: 3364
content-type: application/json
server: Nginx
content-security-policy: frame-ancestors 'self' *.ise.fraunhofer.de ;
access-control-allow-origin: https://www.api.energy-charts.info
strict-transport-security: max-age=16000000; includeSubDomains; preload;
connection: close, body length 3364
2026.03.29 18:15:00.674 4: Stromboerse_connect: BodyDecode is not decoding the response body (charset not found, bodyDecode defaults to none)
2026.03.29 18:15:00.676 4: Stromboerse_connect: extracted JSON values to internal
2026.03.29 18:15:00.676 4: Stromboerse_connect: checking for redirects, code=200, ignore=0
2026.03.29 18:15:00.676 4: Stromboerse_connect: no redirects to handle
2026.03.29 18:15:00.678 4: Stromboerse_connect: Read response matched 188, unmatch 0 Reading(s)           <<< Es werden weniger readings geliefert


2026.03.29 18:15:00.687 3: Stromboerse_connect ur_02: DST-Korrektur aktiv (192 Readings)                  <<< Die unmatched readings werden wohl später gelöscht
2026.03.29 18:15:00.687 3: Stromboerse_connect ur_02: fc0 erfolgreich verschoben (02xx -> 03xx)

# Wenn man zum Testen mal die fc.*_total vorher löscht
2026.03.29 17:37:42.156 4: Stromboerse_connect: Read response matched 188, unmatch 0 Reading(s)
2026.03.29 17:37:42.159 3: Stromboerse_connect ur_02: DST-Korrektur aktiv (188 Readings)                  <<< Dann werden auch nur 188, bzw 92 erstellt
2026.03.29 17:37:42.160 3: Stromboerse_connect ur_02: fc0 erfolgreich verschoben (02xx -> 03xx)
########################################

2026.03.29 18:15:00.687 3: Stromboerse_connect  ur_02 : fc  Current Werte gesetzt
2026.03.29 18:15:00.688 3: Stromboerse_connect  ur_02 : fc0 Startzeit der Daten gesetzt
2026.03.29 18:15:00.688 3: Stromboerse_connect  ur_02 : fc1 Startzeit der Daten gesetzt
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 18:15 fc_sum 31.12
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 18:30 fc_sum 64.27
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 18:45 fc_sum 100.05
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 19:00 fc_sum 133.35
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 19:15 fc_sum 167.79
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 19:30 fc_sum 202.20
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 19:45 fc_sum 236.31
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 20:00 fc_sum 272.04
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 20:15 fc_sum 306.37
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 20:30 fc_sum 337.52
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 20:45 fc_sum 367.57
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 21:00 fc_sum 400.52
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 21:15 fc_sum 432.16
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 21:30 fc_sum 461.26
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 21:45 fc_sum 489.13
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 22:00 fc_sum 522.12
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 22:15 fc_sum 552.89
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 22:30 fc_sum 581.78
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 22:45 fc_sum 606.91
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 23:00 fc_sum 634.97
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 23:15 fc_sum 659.41
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 23:30 fc_sum 682.99
2026.03.29 18:15:00.688 4: Stromboerse_connect  ur_03 :  fc0 23:45 fc_sum 705.07
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 00:00 fc_sum 728.67
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 00:15 fc_sum 751.28
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 00:30 fc_sum 773.39
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 00:45 fc_sum 795.40
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 01:00 fc_sum 817.40
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 01:15 fc_sum 839.26
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 01:30 fc_sum 860.94
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 01:45 fc_sum 882.45
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 02:00 fc_sum 904.59
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 02:15 fc_sum 926.62
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 02:30 fc_sum 948.70
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 02:45 fc_sum 970.80
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 03:00 fc_sum 992.65
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 03:15 fc_sum 1014.60
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 03:30 fc_sum 1036.55
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 03:45 fc_sum 1058.58
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 04:00 fc_sum 1080.33
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 04:15 fc_sum 1102.24
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 04:30 fc_sum 1124.21
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 04:45 fc_sum 1146.61
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 05:00 fc_sum 1168.52
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 05:15 fc_sum 1190.91
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 05:30 fc_sum 1214.45
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 05:45 fc_sum 1241.33
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 06:00 fc_sum 1265.92
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 06:15 fc_sum 1294.97
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 06:30 fc_sum 1326.92
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 06:45 fc_sum 1359.12
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 07:00 fc_sum 1389.31
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 07:15 fc_sum 1421.45
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 07:30 fc_sum 1454.90
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 07:45 fc_sum 1488.06
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 08:00 fc_sum 1523.44
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 08:15 fc_sum 1557.81
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 08:30 fc_sum 1592.20
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 08:45 fc_sum 1626.01
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 09:00 fc_sum 1660.81
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 09:15 fc_sum 1694.45
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 09:30 fc_sum 1727.41
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 09:45 fc_sum 1758.06
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 10:00 fc_sum 1789.78
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 10:15 fc_sum 1819.78
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 10:30 fc_sum 1851.06
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 10:45 fc_sum 1879.17
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 11:00 fc_sum 1909.14
2026.03.29 18:15:00.689 4: Stromboerse_connect  ur_03 :  fc1 11:15 fc_sum 1936.61
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 11:30 fc_sum 1962.76
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 11:45 fc_sum 1987.02
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 12:00 fc_sum 2013.20
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 12:15 fc_sum 2037.66
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 12:30 fc_sum 2061.52
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 12:45 fc_sum 2084.20
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 13:00 fc_sum 2107.78
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 13:15 fc_sum 2131.12
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 13:30 fc_sum 2153.79
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 13:45 fc_sum 2175.58
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 14:00 fc_sum 2198.19
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 14:15 fc_sum 2220.71
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 14:30 fc_sum 2243.10
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 14:45 fc_sum 2265.13
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 15:00 fc_sum 2287.74
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 15:15 fc_sum 2310.50
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 15:30 fc_sum 2333.38
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 15:45 fc_sum 2357.24
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 16:00 fc_sum 2379.92
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 16:15 fc_sum 2404.19
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 16:30 fc_sum 2430.94
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 16:45 fc_sum 2459.93
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 17:00 fc_sum 2486.83
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 17:15 fc_sum 2516.11
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 17:30 fc_sum 2547.92
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 17:45 fc_sum 2582.75
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 18:00 fc_sum 2614.36
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 18:15 fc_sum 2648.34
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 18:30 fc_sum 2682.85
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 18:45 fc_sum 2718.61
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 19:00 fc_sum 2753.67
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 19:15 fc_sum 2789.11
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 19:30 fc_sum 2825.15
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 19:45 fc_sum 2862.47
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 20:00 fc_sum 2898.81
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 20:15 fc_sum 2935.10
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 20:30 fc_sum 2971.74
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 20:45 fc_sum 3008.21
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 21:00 fc_sum 3045.89
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 21:15 fc_sum 3082.23
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 21:30 fc_sum 3118.95
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 21:45 fc_sum 3154.22
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 22:00 fc_sum 3191.13
2026.03.29 18:15:00.690 4: Stromboerse_connect  ur_03 :  fc1 22:15 fc_sum 3226.83
2026.03.29 18:15:00.691 4: Stromboerse_connect  ur_03 :  fc1 22:30 fc_sum 3262.61
2026.03.29 18:15:00.691 4: Stromboerse_connect  ur_03 :  fc1 22:45 fc_sum 3297.86
2026.03.29 18:15:00.691 4: Stromboerse_connect  ur_03 :  fc1 23:00 fc_sum 3333.06
2026.03.29 18:15:00.691 4: Stromboerse_connect  ur_03 :  fc1 23:15 fc_sum 3367.66
2026.03.29 18:15:00.691 4: Stromboerse_connect  ur_03 :  fc1 23:30 fc_sum 3401.95
2026.03.29 18:15:00.691 4: Stromboerse_connect  ur_03 :  fc1 23:45 fc_sum 3435.64
2026.03.29 18:15:00.691 3: Stromboerse_connect  ur_03 : berechne Durchschnittspreis 28.63
2026.03.29 18:15:00.699 3: Stromboerse_connect  ur_04 : berechne Medianwert         30.42
2026.03.29 18:15:00.700 4: Stromboerse_connect  ur_05 :  fc0 18:15 fc_min 31.12
2026.03.29 18:15:00.700 4: Stromboerse_connect  ur_05 :  fc0 20:45 fc_min 30.05
2026.03.29 18:15:00.700 4: Stromboerse_connect  ur_05 :  fc0 21:30 fc_min 29.10
2026.03.29 18:15:00.700 4: Stromboerse_connect  ur_05 :  fc0 21:45 fc_min 27.88
2026.03.29 18:15:00.700 4: Stromboerse_connect  ur_05 :  fc0 22:45 fc_min 25.13
2026.03.29 18:15:00.700 4: Stromboerse_connect  ur_05 :  fc0 23:15 fc_min 24.44
2026.03.29 18:15:00.700 4: Stromboerse_connect  ur_05 :  fc0 23:30 fc_min 23.58
2026.03.29 18:15:00.700 4: Stromboerse_connect  ur_05 :  fc0 23:45 fc_min 22.08
2026.03.29 18:15:00.700 4: Stromboerse_connect  ur_05 :  fc1 00:45 fc_min 22.02
2026.03.29 18:15:00.700 4: Stromboerse_connect  ur_05 :  fc1 01:00 fc_min 21.99
2026.03.29 18:15:00.700 4: Stromboerse_connect  ur_05 :  fc1 01:15 fc_min 21.86
2026.03.29 18:15:00.700 4: Stromboerse_connect  ur_05 :  fc1 01:30 fc_min 21.68
2026.03.29 18:15:00.700 4: Stromboerse_connect  ur_05 :  fc1 01:45 fc_min 21.52
2026.03.29 18:15:00.701 3: Stromboerse_connect  ur_05 : berechne Minimalpreis       21.52
2026.03.29 18:15:00.701 4: Stromboerse_connect  ur_06 :  fc0 18:15 fc_max1: 31.12 fc_max2: 0.00
2026.03.29 18:15:00.701 4: Stromboerse_connect  ur_06 :  fc0 18:30 fc_max1: 33.15 fc_max2: 31.12
2026.03.29 18:15:00.701 4: Stromboerse_connect  ur_06 :  fc0 18:45 fc_max1: 35.78 fc_max2: 33.15
2026.03.29 18:15:00.701 4: Stromboerse_connect  ur_06 :  fc1 19:30 fc_max1: 36.04 fc_max2: 35.78
2026.03.29 18:15:00.701 4: Stromboerse_connect  ur_06 :  fc1 19:45 fc_max1: 37.32 fc_max2: 36.04
2026.03.29 18:15:00.702 4: Stromboerse_connect  ur_06 :  fc1 21:00 fc_max1: 37.67 fc_max2: 37.32
2026.03.29 18:15:00.702 3: Stromboerse_connect  ur_06 : berechne Maximalpreis       37.67 37.32
2026.03.29 18:15:00.703 3: Stromboerse_connect  ur_02 : fc  Current Werte gesetzt
2026.03.29 18:15:00.703 3: Stromboerse_connect  ur_02 : fc0 Startzeit der Daten gesetzt
2026.03.29 18:15:00.703 3: Stromboerse_connect  ur_02 : fc1 Startzeit der Daten gesetzt
2026.03.29 18:15:00.703 3: Stromboerse_connect  ur_07 : berechne current_level Einteilung
2026.03.29 18:15:00.703 4: Stromboerse_connect  ur_07 :  avg: 28.63 min: 21.52 max: 37.67 range: 16.15 current_price: 31.12 current_level: TEUER
2026.03.29 18:15:00.703 3: Stromboerse_connect  ur_07 : berechne Triggerpreis  net: 25.07 bat: 30.14
2026.03.29 18:15:00.704 3: Stromboerse_connect  ur_07 : Neuberechnung von fc0_trigger_net_start gesperrt (Minute 15)
2026.03.29 18:15:00.705 3: Stromboerse_connect  ur_10 : fc0_trigger_bat             off
2026.03.29 18:15:00.705 3: Stromboerse_connect  ur_10 : fc0_trigger_net             off
2026.03.29 18:15:00.706 3: Stromboerse_connect  ur_11 : Neuberechnung von fc1_trigger_net_start gesperrt (Minute 15)
2026.03.29 18:15:00.706 3: Stromboerse_connect  ur_15 : Neuberechnung von fc0_trigger_max_start gesperrt (Minute 15)
2026.03.29 18:15:00.706 3: Stromboerse_connect  ur_18 : fc0_trigger_max             off
2026.03.29 18:15:00.707 3: Stromboerse_connect  ur_19 : Neuberechnung von fc1_trigger_max_start gesperrt (Minute 15)
2026.03.29 18:15:00.708 3: Stromboerse_connect  ur_24 : Neuberechnung der Kosten gesperrt (Minute 15)
2026.03.29 18:15:00.709 3: Stromboerse_connect  ur_36 : fc*_total Daten für Tibber in die Datenbank schreiben
2026.03.29 18:15:00.709 3: Stromboerse_connect  ur_36 : fc0 Daten vom 2026-03-29 für Tibber gefunden
2026.03.29 18:15:00.709 4: Stromboerse_connect  ur_36 :   2026-03-29 02:00:00 fc0_total null - Sommerzeit-Sprung am letzten Sonntag im März
2026.03.29 18:15:00.709 4: Stromboerse_connect  ur_36 :   2026-03-29 02:15:00 fc0_total null - Sommerzeit-Sprung am letzten Sonntag im März
2026.03.29 18:15:00.709 4: Stromboerse_connect  ur_36 :   2026-03-29 02:30:00 fc0_total null - Sommerzeit-Sprung am letzten Sonntag im März
2026.03.29 18:15:00.709 4: Stromboerse_connect  ur_36 :   2026-03-29 02:45:00 fc0_total null - Sommerzeit-Sprung am letzten Sonntag im März
2026.03.29 18:15:00.709 3: Stromboerse_connect  ur_36 : fc1 Daten vom 2026-03-30 für Tibber gefunden
2026.03.29 18:15:00.710 4: Stromboerse_connect  ur_36 : Eintragen neuer Daten in die Datenbank
INSERT INTO history (TIMESTAMP,DEVICE,TYPE,READING,VALUE) VALUES ('2026-03-29 00:00:00','Stromboerse_connect','Tibber','fc0_total','36.4687'),
('2026-03-29 00:15:00','Stromboerse_connect','Tibber','fc0_total','35.7964'),
('2026-03-29 00:30:00','Stromboerse_connect','Tibber','fc0_total','34.3743'),
('2026-03-29 00:45:00','Stromboerse_connect','Tibber','fc0_total','33.8472'),
('2026-03-29 01:00:00','Stromboerse_connect','Tibber','fc0_total','34.8230'),
('2026-03-29 01:15:00','Stromboerse_connect','Tibber','fc0_total','34.2827'),
('2026-03-29 01:30:00','Stromboerse_connect','Tibber','fc0_total','34.2232'),
('2026-03-29 01:45:00','Stromboerse_connect','Tibber','fc0_total','33.8912'),
('2026-03-29 03:00:00','Stromboerse_connect','Tibber','fc0_total','33.6401'),        <<<< Stunde 02 muss fehlen
('2026-03-29 03:15:00','Stromboerse_connect','Tibber','fc0_total','33.4200'),
('2026-03-29 03:30:00','Stromboerse_connect','Tibber','fc0_total','33.5294'),
('2026-03-29 03:45:00','Stromboerse_connect','Tibber','fc0_total','33.5211'),
('2026-03-29 04:00:00','Stromboerse_connect','Tibber','fc0_total','34.5088'),
('2026-03-29 04:15:00','Stromboerse_connect','Tibber','fc0_total','33.7877'),
('2026-03-29 04:30:00','Stromboerse_connect','Tibber','fc0_total','33.9031'),
('2026-03-29 04:45:00','Stromboerse_connect','Tibber','fc0_total','33.8436'),
('2026-03-29 05:00:00','Stromboerse_connect','Tibber','fc0_total','33.8138'),
('2026-03-29 05:15:00','Stromboerse_connect','Tibber','fc0_total','33.8269'),
('2026-03-29 05:30:00','Stromboerse_connect','Tibber','fc0_total','34.0126'),
('2026-03-29 05:45:00','Stromboerse_connect','Tibber','fc0_total','34.0947'),
('2026-03-29 06:00:00','Stromboerse_connect','Tibber','fc0_total','33.6663'),
('2026-03-29 06:15:00','Stromboerse_connect','Tibber','fc0_total','34.0197'),
('2026-03-29 06:30:00','Stromboerse_connect','Tibber','fc0_total','35.0062'),
('2026-03-29 06:45:00','Stromboerse_connect','Tibber','fc0_total','35.5072'),
('2026-03-29 07:00:00','Stromboerse_connect','Tibber','fc0_total','35.7297'),
('2026-03-29 07:15:00','Stromboerse_connect','Tibber','fc0_total','35.2026'),
('2026-03-29 07:30:00','Stromboerse_connect','Tibber','fc0_total','34.9360'),
('2026-03-29 07:45:00','Stromboerse_connect','Tibber','fc0_total','34.8420'),
('2026-03-29 08:00:00','Stromboerse_connect','Tibber','fc0_total','36.0630'),
('2026-03-29 08:15:00','Stromboerse_connect','Tibber','fc0_total','36.3640'),
('2026-03-29 08:30:00','Stromboerse_connect','Tibber','fc0_total','34.4588'),
('2026-03-29 08:45:00','Stromboerse_connect','Tibber','fc0_total','33.7353'),
('2026-03-29 09:00:00','Stromboerse_connect','Tibber','fc0_total','34.8456'),
('2026-03-29 09:15:00','Stromboerse_connect','Tibber','fc0_total','32.7726'),
('2026-03-29 09:30:00','Stromboerse_connect','Tibber','fc0_total','32.0872'),
('2026-03-29 09:45:00','Stromboerse_connect','Tibber','fc0_total','31.1839'),
('2026-03-29 10:00:00','Stromboerse_connect','Tibber','fc0_total','33.1463'),
('2026-03-29 10:15:00','Stromboerse_connect','Tibber','fc0_total','31.4743'),
('2026-03-29 10:30:00','Stromboerse_connect','Tibber','fc0_total','29.8845'),
('2026-03-29 10:45:00','Stromboerse_connect','Tibber','fc0_total','27.0594'),
('2026-03-29 11:00:00','Stromboerse_connect','Tibber','fc0_total','29.8904'),
('2026-03-29 11:15:00','Stromboerse_connect','Tibber','fc0_total','28.0685'),
('2026-03-29 11:30:00','Stromboerse_connect','Tibber','fc0_total','26.5953'),
('2026-03-29 11:45:00','Stromboerse_connect','Tibber','fc0_total','22.6778'),
('2026-03-29 12:00:00','Stromboerse_connect','Tibber','fc0_total','24.6104'),
('2026-03-29 12:15:00','Stromboerse_connect','Tibber','fc0_total','22.4148'),
('2026-03-29 12:30:00','Stromboerse_connect','Tibber','fc0_total','22.0471'),
('2026-03-29 12:45:00','Stromboerse_connect','Tibber','fc0_total','21.5152'),
('2026-03-29 13:00:00','Stromboerse_connect','Tibber','fc0_total','21.6187'),
('2026-03-29 13:15:00','Stromboerse_connect','Tibber','fc0_total','21.4890'),
('2026-03-29 13:30:00','Stromboerse_connect','Tibber','fc0_total','21.4819'),
('2026-03-29 13:45:00','Stromboerse_connect','Tibber','fc0_total','21.3641'),
('2026-03-29 14:00:00','Stromboerse_connect','Tibber','fc0_total','21.3688'),
('2026-03-29 14:15:00','Stromboerse_connect','Tibber','fc0_total','21.3450'),
('2026-03-29 14:30:00','Stromboerse_connect','Tibber','fc0_total','21.2379'),
('2026-03-29 14:45:00','Stromboerse_connect','Tibber','fc0_total','21.1546'),
('2026-03-29 15:00:00','Stromboerse_connect','Tibber','fc0_total','21.2486'),
('2026-03-29 15:15:00','Stromboerse_connect','Tibber','fc0_total','21.2034'),
('2026-03-29 15:30:00','Stromboerse_connect','Tibber','fc0_total','21.2427'),
('2026-03-29 15:45:00','Stromboerse_connect','Tibber','fc0_total','21.2617'),
('2026-03-29 16:00:00','Stromboerse_connect','Tibber','fc0_total','21.4795'),
('2026-03-29 16:15:00','Stromboerse_connect','Tibber','fc0_total','21.4890'),
('2026-03-29 16:30:00','Stromboerse_connect','Tibber','fc0_total','21.4890'),
('2026-03-29 16:45:00','Stromboerse_connect','Tibber','fc0_total','21.9138'),
('2026-03-29 17:00:00','Stromboerse_connect','Tibber','fc0_total','21.7865'),
('2026-03-29 17:15:00','Stromboerse_connect','Tibber','fc0_total','23.2038'),
('2026-03-29 17:30:00','Stromboerse_connect','Tibber','fc0_total','25.5648'),
('2026-03-29 17:45:00','Stromboerse_connect','Tibber','fc0_total','31.2565'),
('2026-03-29 18:00:00','Stromboerse_connect','Tibber','fc0_total','28.3970'),
('2026-03-29 18:15:00','Stromboerse_connect','Tibber','fc0_total','31.1173'),
('2026-03-29 18:30:00','Stromboerse_connect','Tibber','fc0_total','33.1486'),
('2026-03-29 18:45:00','Stromboerse_connect','Tibber','fc0_total','35.7809'),
('2026-03-29 19:00:00','Stromboerse_connect','Tibber','fc0_total','33.2986'),
('2026-03-29 19:15:00','Stromboerse_connect','Tibber','fc0_total','34.4410'),
('2026-03-29 19:30:00','Stromboerse_connect','Tibber','fc0_total','34.4148'),
('2026-03-29 19:45:00','Stromboerse_connect','Tibber','fc0_total','34.1042'),
('2026-03-29 20:00:00','Stromboerse_connect','Tibber','fc0_total','35.7345'),
('2026-03-29 20:15:00','Stromboerse_connect','Tibber','fc0_total','34.3303'),
('2026-03-29 20:30:00','Stromboerse_connect','Tibber','fc0_total','31.1494'),
('2026-03-29 20:45:00','Stromboerse_connect','Tibber','fc0_total','30.0475'),
('2026-03-29 21:00:00','Stromboerse_connect','Tibber','fc0_total','32.9523'),
('2026-03-29 21:15:00','Stromboerse_connect','Tibber','fc0_total','31.6409'),
('2026-03-29 21:30:00','Stromboerse_connect','Tibber','fc0_total','29.0955'),
('2026-03-29 21:45:00','Stromboerse_connect','Tibber','fc0_total','27.8781'),
('2026-03-29 22:00:00','Stromboerse_connect','Tibber','fc0_total','32.9832'),
('2026-03-29 22:15:00','Stromboerse_connect','Tibber','fc0_total','30.7698'),
('2026-03-29 22:30:00','Stromboerse_connect','Tibber','fc0_total','28.8944'),
('2026-03-29 22:45:00','Stromboerse_connect','Tibber','fc0_total','25.1292'),
('2026-03-29 23:00:00','Stromboerse_connect','Tibber','fc0_total','28.0566'),
('2026-03-29 23:15:00','Stromboerse_connect','Tibber','fc0_total','24.4402'),
('2026-03-29 23:30:00','Stromboerse_connect','Tibber','fc0_total','23.5822'),
('2026-03-29 23:45:00','Stromboerse_connect','Tibber','fc0_total','22.0793'),
('2026-03-30 00:00:00','Stromboerse_connect','Tibber','fc1_total','23.6025'),
('2026-03-30 00:15:00','Stromboerse_connect','Tibber','fc1_total','22.6112'),
('2026-03-30 00:30:00','Stromboerse_connect','Tibber','fc1_total','22.1042'),
('2026-03-30 00:45:00','Stromboerse_connect','Tibber','fc1_total','22.0162'),
('2026-03-30 01:00:00','Stromboerse_connect','Tibber','fc1_total','21.9948'),
('2026-03-30 01:15:00','Stromboerse_connect','Tibber','fc1_total','21.8627'),
('2026-03-30 01:30:00','Stromboerse_connect','Tibber','fc1_total','21.6782'),
('2026-03-30 01:45:00','Stromboerse_connect','Tibber','fc1_total','21.5152'),
('2026-03-30 02:00:00','Stromboerse_connect','Tibber','fc1_total','22.1411'),
('2026-03-30 02:15:00','Stromboerse_connect','Tibber','fc1_total','22.0245'),
('2026-03-30 02:30:00','Stromboerse_connect','Tibber','fc1_total','22.0804'),
('2026-03-30 02:45:00','Stromboerse_connect','Tibber','fc1_total','22.0995'),
('2026-03-30 03:00:00','Stromboerse_connect','Tibber','fc1_total','21.8555'),
('2026-03-30 03:15:00','Stromboerse_connect','Tibber','fc1_total','21.9412'),
('2026-03-30 03:30:00','Stromboerse_connect','Tibber','fc1_total','21.9543'),
('2026-03-30 03:45:00','Stromboerse_connect','Tibber','fc1_total','22.0257'),
('2026-03-30 04:00:00','Stromboerse_connect','Tibber','fc1_total','21.7496'),
('2026-03-30 04:15:00','Stromboerse_connect','Tibber','fc1_total','21.9103'),
('2026-03-30 04:30:00','Stromboerse_connect','Tibber','fc1_total','21.9745'),
('2026-03-30 04:45:00','Stromboerse_connect','Tibber','fc1_total','22.3958'),
('2026-03-30 05:00:00','Stromboerse_connect','Tibber','fc1_total','21.9103'),
('2026-03-30 05:15:00','Stromboerse_connect','Tibber','fc1_total','22.3958'),
('2026-03-30 05:30:00','Stromboerse_connect','Tibber','fc1_total','23.5394'),
('2026-03-30 05:45:00','Stromboerse_connect','Tibber','fc1_total','26.8797'),
('2026-03-30 06:00:00','Stromboerse_connect','Tibber','fc1_total','24.5890'),
('2026-03-30 06:15:00','Stromboerse_connect','Tibber','fc1_total','29.0455'),
('2026-03-30 06:30:00','Stromboerse_connect','Tibber','fc1_total','31.9563'),
('2026-03-30 06:45:00','Stromboerse_connect','Tibber','fc1_total','32.1955'),
('2026-03-30 07:00:00','Stromboerse_connect','Tibber','fc1_total','30.1903'),
('2026-03-30 07:15:00','Stromboerse_connect','Tibber','fc1_total','32.1371'),
('2026-03-30 07:30:00','Stromboerse_connect','Tibber','fc1_total','33.4509'),
('2026-03-30 07:45:00','Stromboerse_connect','Tibber','fc1_total','33.1665'),
('2026-03-30 08:00:00','Stromboerse_connect','Tibber','fc1_total','35.3799'),
('2026-03-30 08:15:00','Stromboerse_connect','Tibber','fc1_total','34.3720'),
('2026-03-30 08:30:00','Stromboerse_connect','Tibber','fc1_total','34.3874'),
('2026-03-30 08:45:00','Stromboerse_connect','Tibber','fc1_total','33.8067'),
('2026-03-30 09:00:00','Stromboerse_connect','Tibber','fc1_total','34.7992'),
('2026-03-30 09:15:00','Stromboerse_connect','Tibber','fc1_total','33.6461'),
('2026-03-30 09:30:00','Stromboerse_connect','Tibber','fc1_total','32.9535'),
('2026-03-30 09:45:00','Stromboerse_connect','Tibber','fc1_total','30.6520'),
('2026-03-30 10:00:00','Stromboerse_connect','Tibber','fc1_total','31.7218'),
('2026-03-30 10:15:00','Stromboerse_connect','Tibber','fc1_total','30.0023'),
('2026-03-30 10:30:00','Stromboerse_connect','Tibber','fc1_total','31.2756'),
('2026-03-30 10:45:00','Stromboerse_connect','Tibber','fc1_total','28.1078'),
('2026-03-30 11:00:00','Stromboerse_connect','Tibber','fc1_total','29.9713'),
('2026-03-30 11:15:00','Stromboerse_connect','Tibber','fc1_total','27.4747'),
('2026-03-30 11:30:00','Stromboerse_connect','Tibber','fc1_total','26.1502'),
('2026-03-30 11:45:00','Stromboerse_connect','Tibber','fc1_total','24.2546'),
('2026-03-30 12:00:00','Stromboerse_connect','Tibber','fc1_total','26.1788'),
('2026-03-30 12:15:00','Stromboerse_connect','Tibber','fc1_total','24.4676'),
('2026-03-30 12:30:00','Stromboerse_connect','Tibber','fc1_total','23.8583'),
('2026-03-30 12:45:00','Stromboerse_connect','Tibber','fc1_total','22.6790'),
('2026-03-30 13:00:00','Stromboerse_connect','Tibber','fc1_total','23.5775'),
('2026-03-30 13:15:00','Stromboerse_connect','Tibber','fc1_total','23.3395'),
('2026-03-30 13:30:00','Stromboerse_connect','Tibber','fc1_total','22.6683'),
('2026-03-30 13:45:00','Stromboerse_connect','Tibber','fc1_total','21.7972'),
('2026-03-30 14:00:00','Stromboerse_connect','Tibber','fc1_total','22.6076'),
('2026-03-30 14:15:00','Stromboerse_connect','Tibber','fc1_total','22.5207'),
('2026-03-30 14:30:00','Stromboerse_connect','Tibber','fc1_total','22.3922'),
('2026-03-30 14:45:00','Stromboerse_connect','Tibber','fc1_total','22.0257'),
('2026-03-30 15:00:00','Stromboerse_connect','Tibber','fc1_total','22.6052'),
('2026-03-30 15:15:00','Stromboerse_connect','Tibber','fc1_total','22.7659'),
('2026-03-30 15:30:00','Stromboerse_connect','Tibber','fc1_total','22.8766'),
('2026-03-30 15:45:00','Stromboerse_connect','Tibber','fc1_total','23.8666'),
('2026-03-30 16:00:00','Stromboerse_connect','Tibber','fc1_total','22.6766'),
('2026-03-30 16:15:00','Stromboerse_connect','Tibber','fc1_total','24.2665'),
('2026-03-30 16:30:00','Stromboerse_connect','Tibber','fc1_total','26.7560'),
('2026-03-30 16:45:00','Stromboerse_connect','Tibber','fc1_total','28.9860'),
('2026-03-30 17:00:00','Stromboerse_connect','Tibber','fc1_total','26.8988'),
('2026-03-30 17:15:00','Stromboerse_connect','Tibber','fc1_total','29.2788'),
('2026-03-30 17:30:00','Stromboerse_connect','Tibber','fc1_total','31.8170'),
('2026-03-30 17:45:00','Stromboerse_connect','Tibber','fc1_total','34.8277'),
('2026-03-30 18:00:00','Stromboerse_connect','Tibber','fc1_total','31.6040'),
('2026-03-30 18:15:00','Stromboerse_connect','Tibber','fc1_total','33.9876'),
('2026-03-30 18:30:00','Stromboerse_connect','Tibber','fc1_total','34.5052'),
('2026-03-30 18:45:00','Stromboerse_connect','Tibber','fc1_total','35.7571'),
('2026-03-30 19:00:00','Stromboerse_connect','Tibber','fc1_total','35.0622'),
('2026-03-30 19:15:00','Stromboerse_connect','Tibber','fc1_total','35.4453'),
('2026-03-30 19:30:00','Stromboerse_connect','Tibber','fc1_total','36.0391'),
('2026-03-30 19:45:00','Stromboerse_connect','Tibber','fc1_total','37.3160'),
('2026-03-30 20:00:00','Stromboerse_connect','Tibber','fc1_total','36.3390'),
('2026-03-30 20:15:00','Stromboerse_connect','Tibber','fc1_total','36.2926'),
('2026-03-30 20:30:00','Stromboerse_connect','Tibber','fc1_total','36.6437'),
('2026-03-30 20:45:00','Stromboerse_connect','Tibber','fc1_total','36.4699'),
('2026-03-30 21:00:00','Stromboerse_connect','Tibber','fc1_total','37.6718'),
('2026-03-30 21:15:00','Stromboerse_connect','Tibber','fc1_total','36.3426'),
('2026-03-30 21:30:00','Stromboerse_connect','Tibber','fc1_total','36.7186'),
('2026-03-30 21:45:00','Stromboerse_connect','Tibber','fc1_total','35.2775'),
('2026-03-30 22:00:00','Stromboerse_connect','Tibber','fc1_total','36.9019'),
('2026-03-30 22:15:00','Stromboerse_connect','Tibber','fc1_total','35.7012'),
('2026-03-30 22:30:00','Stromboerse_connect','Tibber','fc1_total','35.7809'),
('2026-03-30 22:45:00','Stromboerse_connect','Tibber','fc1_total','35.2514'),
('2026-03-30 23:00:00','Stromboerse_connect','Tibber','fc1_total','35.2014'),
('2026-03-30 23:15:00','Stromboerse_connect','Tibber','fc1_total','34.5969'),
('2026-03-30 23:30:00','Stromboerse_connect','Tibber','fc1_total','34.2934'),
('2026-03-30 23:45:00','Stromboerse_connect','Tibber','fc1_total','33.6913') AS new ON DUPLICATE KEY UPDATE VALUE = new.VALUE;
2026.03.29 18:15:00.737 3: Stromboerse      diagram   : fc0 Daten wurden im Diagramm gesetzt
2026.03.29 18:15:00.738 3: Stromboerse      diagram   : fc1 Daten wurden im Diagramm gesetzt
2026.03.29 18:15:00.761 3: Stromboerse      set price : Setzen aktueller Preis
Du darfst diesen Dateianhang nicht ansehen.


VG  Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Zitat von: f_sieler am 29 März 2026, 18:02:16Danke ch.eick für Deine umfangreiche Arbeit. ;D

Ich bin versuchsweise von "Tibber_connect" auf "Stromboerse_connect" umgestiegen.
Auf meiner Rechnung von Tibber werden als Preisbestandteile:
"Stromverbrauch Februar ......... 22,18 Cent/kWh" das ist der verbrauchsabhängige Teil 
"Tibber Gebühr 3,35€"  monatlich
"Netznutzungsgebühr 0,24€/Tag"
"Messstellengebühr 0,06€/Tag"
aufgeführt.
Wie bringe ich das mit "conf_EVU_Tibber_Grundgebuehr_EUR_Jahr, conf_EVU_Tibber_Korrektur, conf_EVU_Tibber_Zuschlag_ct_kWh" in Übereinstimmung?
Oh je, ich habe noch nie eine Rechnung von Tibber gesehen, aber das könnte man ja anpassen :-)

Dieser Posten sollte dann wohl conf_EVU_Tibber_Zuschlag_ct_kWh sein und jeweils auf den Spot Preis addiert werden
"Stromverbrauch Februar ......... 22,18 Cent/kWh" das ist der verbrauchsabhängige Teil 

"Tibber Gebühr 3,35€"  monatlich  ==> 3.35 X 12 => conf_EVU_Tibber_Grundgebuehr_EUR_Jahr

Das hier würde ich auf 365 Tage rechnen und zu conf_EVU_Tibber_Grundgebuehr_EUR_Jahr addieren.
"Netznutzungsgebühr 0,24€/Tag"
"Messstellengebühr 0,06€/Tag"
Oder wir nehmen diese Einzelkosten ale Attribute für Tibber auf.

VG   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

f_sieler

Danke für die schnelle Antwort.
In der Zeile für den Stromverbrauch steht wörtlich:

Stromverbrauch
Februar        88,01€
396,87 kWh     22,19 Cent/kWh

Ich hoffe das ist der zusammengerechnete Spot Preis. ???
Ich rechne:   "Tibber Gebühr 3,35€" = 40,02€
              "Netznutzungsgebühr 0,24€/Tag" = 87,6€
              "Messstellengebühr 0,06€/Tag" = 21,9€
zusammen und setze conf_EVU_Tibber_Grundgebuehr_EUR_Jahr = 149,52€
conf__Tibber_Korrektur, conf_EVU_Tibber_Zuschlag_ct_kWh = 0
FHEM 5.5 auf FritzBox 7390, CUL für FS20, 8x fht80b, 7x fht80TF, 3x fs20st-4,  FB_Callmonitor

ch.eick

Zitat von: f_sieler am 29 März 2026, 19:42:29Danke für die schnelle Antwort.
In der Zeile für den Stromverbrauch steht wörtlich:

Stromverbrauch
Februar        88,01€
396,87 kWh     22,19 Cent/kWh

Ich hoffe das ist der zusammengerechnete Spot Preis. ???
Ich rechne:   "Tibber Gebühr 3,35€" = 40,02€
              "Netznutzungsgebühr 0,24€/Tag" = 87,6€
              "Messstellengebühr 0,06€/Tag" = 21,9€
zusammen und setze conf_EVU_Tibber_Grundgebuehr_EUR_Jahr = 149,52€
conf__Tibber_Korrektur, conf_EVU_Tibber_Zuschlag_ct_kWh = 0

Das sieht für mich so aus, als ob Du noch in den ersten Monaten bist und Tibber Dir einen Durchschnittspreis berechnet.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

f_sieler

Ich bin seit 6/2023 Tibber-Kunde und werde schon sehr lange erst stündlich und nun viertelstündlich abgerechnet.
Sicher, es gab Ausfälle bei der Datenübermittlung die aber nie länger als zwei Stunden waren.
Die 22,19 Cent/kWh errechnet Tibber sicher am Monatsende aus dem Gesamtpreis und dem Verbrauch.
Ich muss erst noch beobachten wie gross die Abweichung zum Preis in der Tibber-App ist.
FHEM 5.5 auf FritzBox 7390, CUL für FS20, 8x fht80b, 7x fht80TF, 3x fs20st-4,  FB_Callmonitor