Ankündigung

Einklappen
Keine Ankündigung bisher.

Tibber Strompreise in eibPC² verarbeiten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Tibber Strompreise in eibPC² verarbeiten

    Nabend in die Runde!
    Frage: Hat von euch schon einmal jemand dynamische Strompreisanbieter-Daten in den EibPC² geladen?
    Ich bin am überlegen, einen meiner beiden Stromtarifeim kommenden Jahr abzumelden und durch einen dynamsichen Tarif zu ersetzen. Tibber hat ein Kollege von mir aber ich habe mich mit ihm noch cnith über die API-Daten etc unterhalten können.Hat das heir im Forum vllt. schonmal wer gemacht? Im Allgemeinen (nicht enertex-Teil) ist das hier im Forum auch schon behandelt worden, aber da ich von html-parser etc. bislang noch keine Ahnung habe mal die Frage, ob es da vllt. schon etwas gibt

    Grüße & schöne Weihnachtstage in die Runde!

    #2
    Hallo!

    Das würde mich auch interessieren. wenn irgendwie möglich, dann über die Logik und nicht über Experte. Vor allem Sperren wären da aus meiner Sicht interessant. Bei Awattar wäre vielleicht noch besser, weil das können wir in Ösiland auch verwenden.

    API Datenfeed - Synchronisieren Sie Ihren Stromverbrauch mit der Natur (awattar.at)

    Da könnte man aus dem '"https://api.awattar.at/v1/marketdata?start=1561932000000" die Maximalwerte herausarbeiten und vielleicht Sperrzeitpunkte definieren.

    Grüße

    Kommentar


      #3
      Zitat von Distiller Beitrag anzeigen
      Da könnte man aus dem '"https://api.awattar.at/v1/marketdata?start=1561932000000" die Maximalwerte herausarbeiten und vielleicht Sperrzeitpunkte definieren.
      Wenn ich die kommenden Tage etwas langeweile habe gucke ich malk, ob ich da was gebastelt bekomme
      aWattar hat zumindest direkt https mit json im angebot und awattar.de für unseren Börsenpreis gibt es auch

      Kommentar


        #4
        Einen ersten Stand der aWATTar Daten für Deutschland habe ich fertig, aber im Experten geschrieben... Bild siehe Anhang.
        - Daten kommen von der aWATTar Hompage über deren API (€ / MWh)
        - Aus diesen berechner ich die Preise in ct / kWh -> Rohpreis
        - Dazu berechne ich dann den Realpreis (Rohpreis + Abgaben) * Steuer



        You do not have permission to view this gallery.
        This gallery has 1 photos.

        Kommentar


          #5
          Und hier mein Code dazu, gerne zur Weiterverwendung bzw. für Anmerkungen.
          Schaltzeitpunkte etc. berechne ich aktuell noch nicht, bislang ist es reines "einlesen und graphisch darstellen"

          //--------------------------------------------------------------------------------------------------------------------------------------
          //Variablen für Datenabruf von Strompreisbörse
          //--------------------------------------------------------------------------------------------------------------------------------------

          EPEX_URL = $https://api.awattar.de/v1/marketdata$
          EPEX_timeout = 10
          EPEX_priority = 128
          EPEX_status = 255
          EPEX_httpstatus = 0u16
          EPEX_header = $$
          EPEX_body_heute = $$c65534
          EPEX_body_morgen = $$c65534

          //--------------------------------------------------------------------------------------------------------------------------------------
          //Varianblen für Strompreisberechnung
          //--------------------------------------------------------------------------------------------------------------------------------------

          Strompreis_Abgaben_kWh = 13.445f16
          Strompreis_Steuer_kWh = 1.19f16

          Unix_temp = 0u64
          Unix_Tag = 86400000u64
          Unix_heute = 1672527600000u64 /* Startdatum: 01.01.2023 */
          Unix_morgen = Unix_heute + Unix_Tag
          Unix_uebermorgen = Unix_morgen + Unix_Tag

          //--------------------------------------------------------------------------------------------------------------------------------------

          //Unixzeit berechnen
          if hour() == 0 then {
          Unix_temp = utctime() / 3600000u64;
          Unix_heute = Unix_temp * 3600000u64; /* Abrunden auf volle Stunde - entsprechend 0:00 Uhr Lokalzeit */
          } endif

          //Query erzeugen
          EPEX_Query_heute = $start=$ + stringformat(Unix_heute, 0, 3, 13, 13) + $&end=$ + stringformat(Unix_morgen, 0, 3, 13, 13)
          EPEX_Query_morgen = $start=$ + stringformat(Unix_morgen, 0, 3, 13, 13) + $&end=$ + stringformat(Unix_uebermorgen, 0, 3, 13, 13)

          //Datenfabfrage - jede Stunde, bei Minute 01 (falls Neustart oder Datenverlust, Folgetag-Daten stehen täglich ab 14:00 Uhr bereit)
          if mtime(1,0) then {
          EPEX_status = httprequest(GET, EPEX_URL, EPEX_Query_heute, $$, $$, TLS_VERIFY_CERT, EPEX_timeout, EPEX_priority, EPEX_httpstatus, EPEX_header, EPEX_body_heute);
          EPEX_status = httprequest(GET, EPEX_URL, EPEX_Query_morgen, $$, $$, TLS_VERIFY_CERT, EPEX_timeout, EPEX_priority, EPEX_httpstatus, EPEX_header, EPEX_body_morgen);
          } endif

          //Rohpreise: ct / kWh
          EPEX_heute_0_roh = convert(parsejson(EPEX_body_heute, $/data/0/marketprice$, $$c10), Dummy_f16) / 10f16
          EPEX_heute_1_roh = convert(parsejson(EPEX_body_heute, $/data/1/marketprice$, $$c10), Dummy_f16) / 10f16
          ...(Stunde 2 .. 21 der Übersicht halber rausgenommen)...
          EPEX_heute_22_roh = convert(parsejson(EPEX_body_heute, $/data/22/marketprice$, $$c10), Dummy_f16) / 10f16
          EPEX_heute_23_roh = convert(parsejson(EPEX_body_heute, $/data/23/marketprice$, $$c10), Dummy_f16) / 10f16

          EPEX_morgen_0_roh = convert(parsejson(EPEX_body_morgen, $/data/0/marketprice$, $$c10), Dummy_f16) / 10f16
          EPEX_morgen_1_roh = convert(parsejson(EPEX_body_morgen, $/data/1/marketprice$, $$c10), Dummy_f16) / 10f16
          ...(Stunde 2 .. 21 der Übersicht halber rausgenommen)...
          EPEX_morgen_22_roh = convert(parsejson(EPEX_body_morgen, $/data/22/marketprice$, $$c10), Dummy_f16) / 10f16
          EPEX_morgen_23_roh = convert(parsejson(EPEX_body_morgen, $/data/23/marketprice$, $$c10), Dummy_f16) / 10f16

          //Realpreise: ct / kWh
          EPEX_heute_0 = (EPEX_heute_0_roh + Strompreis_Abgaben_kWh) * Strompreis_Steuer_kWh
          EPEX_heute_1 = (EPEX_heute_1_roh + Strompreis_Abgaben_kWh) * Strompreis_Steuer_kWh
          ...(Stunde 2 .. 21 der Übersicht halber rausgenommen)...
          EPEX_heute_22 = (EPEX_heute_22_roh + Strompreis_Abgaben_kWh) * Strompreis_Steuer_kWh
          EPEX_heute_23 = (EPEX_heute_23_roh + Strompreis_Abgaben_kWh) * Strompreis_Steuer_kWh

          EPEX_morgen_0 = (EPEX_morgen_0_roh + Strompreis_Abgaben_kWh) * Strompreis_Steuer_kWh
          EPEX_morgen_1 = (EPEX_morgen_1_roh + Strompreis_Abgaben_kWh) * Strompreis_Steuer_kWh
          ...(Stunde 2 .. 21 der Übersicht halber rausgenommen)...
          EPEX_morgen_22 = (EPEX_morgen_22_roh + Strompreis_Abgaben_kWh) * Strompreis_Steuer_kWh
          EPEX_morgen_23 = (EPEX_morgen_23_roh + Strompreis_Abgaben_kWh) * Strompreis_Steuer_kWh

          If (mod(minute(), 5) == 3) then {
          //Diagramm Strompreis heute|Graph 0 - Strompreis roh
          mpchart(Diag_Strompreis_heute, 0.0, EPEX_heute_0_roh, 0, Diag_Strompreis_heute_P);
          mpchart(Diag_Strompreis_heute, 1.0, EPEX_heute_1_roh, 0, Diag_Strompreis_heute_P);
          ...(Stunde 2 .. 21 der Übersicht halber rausgenommen)...
          mpchart(Diag_Strompreis_heute, 22.0, EPEX_heute_22_roh, 0, Diag_Strompreis_heute_P);
          mpchart(Diag_Strompreis_heute, 23.0, EPEX_heute_23_roh, 0, Diag_Strompreis_heute_P);

          //Diagramm Strompreis heute|Graph 1 - Strompreis real
          mpchart(Diag_Strompreis_heute, 0.0, EPEX_heute_0, 1, Diag_Strompreis_heute_P);
          mpchart(Diag_Strompreis_heute, 1.0, EPEX_heute_1, 1, Diag_Strompreis_heute_P);
          ...(Stunde 2 .. 21 der Übersicht halber rausgenommen)...
          mpchart(Diag_Strompreis_heute, 22.0, EPEX_heute_22, 1, Diag_Strompreis_heute_P);
          mpchart(Diag_Strompreis_heute, 23.0, EPEX_heute_23, 1, Diag_Strompreis_heute_P);

          //Diagramm Strompreis morgen|Graph 0 - Strompreis roh
          mpchart(Diag_Strompreis_morgen, 0.0, EPEX_morgen_0_roh, 0, Diag_Strompreis_morgen_P);
          mpchart(Diag_Strompreis_morgen, 1.0, EPEX_morgen_1_roh, 0, Diag_Strompreis_morgen_P);
          ...(Stunde 2 .. 21 der Übersicht halber rausgenommen)...
          mpchart(Diag_Strompreis_morgen, 22.0, EPEX_morgen_22_roh, 0, Diag_Strompreis_morgen_P);
          mpchart(Diag_Strompreis_morgen, 23.0, EPEX_morgen_23_roh, 0, Diag_Strompreis_morgen_P);

          //Diagramm Strompreis morgen|Graph 1 - Strompreis real
          mpchart(Diag_Strompreis_morgen, 0.0, EPEX_morgen_0, 1, Diag_Strompreis_morgen_P);
          mpchart(Diag_Strompreis_morgen, 1.0, EPEX_morgen_1, 1, Diag_Strompreis_morgen_P);
          ...(Stunde 2 .. 21 der Übersicht halber rausgenommen)...
          mpchart(Diag_Strompreis_morgen, 22.0, EPEX_morgen_22, 1, Diag_Strompreis_morgen_P);
          mpchart(Diag_Strompreis_morgen, 23.0, EPEX_morgen_23, 1, Diag_Strompreis_morgen_P);
          } endif​

          Kommentar


            #6
            Wenn man das direkt mit Tibber implementieren möchte, gibt der EibPC es her sich mit httprequest auch einzuloggen? Habe da nichts gefunden wo ich ein Token mitgeben könnte.

            Kommentar


              #7
              Klar, Token normalerweise als Header im Request mitsenden, z.B.
              Authorization: Bearer blablubb

              Kommentar

              Lädt...
              X