Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. FORECAST-Werte-Strompreise aus JS.0 in Grafana darstellen

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    FORECAST-Werte-Strompreise aus JS.0 in Grafana darstellen

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      GOETSCHHOFER last edited by

      @crunchip @Dutchman

      Ich hole mir über ein JS Skript im iobroker stündlich die Börsenstrompreise von Awattar.
      Die Werte werden stündlich für die nächsten 24 Stunden aktualisiert.

      Nur aktualisiert Grafana leider nur immer stündlich den Wert im Graph für die aktuelle Stunde und nicht auch die nächsten 23 Stunden, obwohl die Werte in JS.0 vorhanden sind.

      Bei der Auswahl from - to: now+24h habe ich folgendes eingegeben, aber es funktioniert nicht.1. JAVASKRIPT-AWATTAR-HOURLY-D-25.1.21.JPG

      Besten Dank im Voraus.

      2.  GRAFANA-AWATTAR-HOURLY-D-25.1.21.JPG

      /*
      MIT License - see LICENSE.md
      Copyright (c) [2020] [Matthias Boettger mboe78@gmail.com]
      */

      var addprice = 0.00;
      const url = "https://api.awattar.de/v1/marketdata";

      function requestData() {

      const options = {
          url: url,
          method: 'GET'
      };
      
      request(options, (error, response, body) => {
          
          if(error) return console.log(error);
      
          if(response.statusCode == 200) {
      
              let array = JSON.parse(body).data;
      
              for(let i = 0; i < array.length; i++) {
                  
                  let stateBaseName = "electricity.prices.de." + i + ".";
                  
                  createState(stateBaseName + "startTime", "", {
                      read: true,
                      write: true,
                      name: "Gultigkeitsbeginn (Uhrzeit)",
                      type: "string",
                      def: false
                  });
      
                  createState(stateBaseName + "startDate", "", {
                      read: true,
                      write: true,
                      name: "Gultigkeitsbeginn (Datum)",
                      type: "string",
                      def: false
                  });
      
                  createState(stateBaseName + "endTime", "", {
                      read: true,
                      write: true,
                      name: "Gultigkeitsende (Uhrzeit)",
                      type: "string",
                      def: false
                  });
      
                  createState(stateBaseName + "price", 0, {
                      read: true,
                      write: true,
                      name: "Preis",
                      type: "number",
                      def: 0
                  });
      
                  let start = new Date(array[i].start_timestamp);
                  var options = { hour12: false, hour: '2-digit', minute:'2-digit'};
                  let startTime = start.toLocaleTimeString('de-DE', options);
                  let startDate = start.toLocaleDateString('de-DE');
                   
                  let end = new Date(array[i].end_timestamp);
                  let endTime = end.toLocaleTimeString('de-DE', options);
      
                  let mwhprice = array[i].marketprice;
                  let price = ( Number(mwhprice) * 1.00 / 10 ) + addprice;
                  
                  setState(stateBaseName + "startTime", startTime);
                  setState(stateBaseName + "startDate", startDate);
                  setState(stateBaseName + "endTime", endTime);
                  setState(stateBaseName + "price", price);
              };
          };
      });
      

      }
      requestData();
      schedule("0,30 * * * *", function () {
      requestData();
      });

      crunchip 1 Reply Last reply Reply Quote 0
      • crunchip
        crunchip Forum Testing Most Active @GOETSCHHOFER last edited by crunchip

        @goetschhofer du hast alles 24 DP (Preis) geloggt und im Graphen hinterlegt? Sind auch alle aktiv?
        Ich sehe hier nur jeweils einen DP, D und Ö

        Ps. Mal so nebenbei, warum haat du bei allen DP nen blauen Schraubenschlüssel? Schreibst du alles in die Datenbank??

        G 1 Reply Last reply Reply Quote 0
        • G
          GOETSCHHOFER @crunchip last edited by GOETSCHHOFER

          @crunchip
          Es ist so, dass 00=die laufende Stunde, 01=die folgende Stunde, 02=die übernächste Stunde etc. ist.
          Dies ist auch der Grund, warum ich alle 24 Punkte (00 bis 23) mit dem Schraubenschlüssel aktiviert habe.
          Die Werte in den Feldern 00=now, 01=now+1h, 02=now+2h etc. werden praktisch jede Stunde wieder überschrieben

          Wenn ich jetzt alle 24 Datenpunkte aktiviere, so hatte ich dies am Anfang, dann bekomme ich 24 Grafen, immer um eine Stunde verschoben und übereinander gelagert.

          Jetzt habe ich mir gedacht, ich aktiviere nur 00=laufende Stunde und möchte mir aus 01=nächste Stunde, 02=übernächste Stunde gezielt diese einzelnen Werte durch Auswahl im Graphen dazuschalten.

          Die Frage ist, ob dies geht ? Kann man aus Graphen einzelne Werte, hier zB. immer den aktuellen Wert aus 01 oder 02 dazuschalten ?

          Sie sieht es aus, wenn ich mehrere Graphen aktiviere, 00=now, 01=now+1h, 02=now+2h etc.

          DankeAWATTAR-MEHRERE GRAFEN-00 bis now+2h-27.1.21.JPG

          crunchip 1 Reply Last reply Reply Quote 0
          • crunchip
            crunchip Forum Testing Most Active @GOETSCHHOFER last edited by

            @goetschhofer sagte in FORECAST-Werte-Strompreise aus JS.0 in Grafana darstellen:

            Dies ist auch der Grund, warum ich alle 24 Punkte (00 bis 23) mit dem Schraubenschlüssel aktiviert habe.

            Scheinbar aber nicht nur die Preise, sonder auch den Rest, wie start time end....

            @goetschhofer sagte in FORECAST-Werte-Strompreise aus JS.0 in Grafana darstellen:

            Wenn ich jetzt alle 24 Datenpunkte aktiviere,

            Logisch, entspricht dann 24 Grafen, wenn du alle hinterlegst. Wenn du im Dashboard unterhalb deines Graphen einen ankkickst, erscheint nur der ausgewählte. So kannst du dich durch einzelne durchklicken.

            @goetschhofer sagte in FORECAST-Werte-Strompreise aus JS.0 in Grafana darstellen:

            gezielt diese einzelnen Werte durch Auswahl im Graphen dazuschalten.

            Auch das ist möglich, (bin leider nur am Handy, daher kein Bild) oben rechts neben deinem query sind 4 Symbole, auf das "Auge" kannst du nen query de/ akitivieren.

            G 1 Reply Last reply Reply Quote 0
            • G
              GOETSCHHOFER @crunchip last edited by GOETSCHHOFER

              @crunchip

              Ja, hier kann man einzelne Graphen für das Dashboard aus- und einschalten, dann werden diese nicht mehr bei der Auswahl vorgeschlagen.

              Mein Problem ist, dass ich die zukünftigen Werte in der aktuellen Stunde 0=now, now+1h, now+2h, now+3h etc. im Dashboard brauche und das müsste ich die einzelnen Graphen dazuschalten, aber 01(=now+1h) sagt ja nur, dass dies der Werte für die nächste Stunde ist.
              In 1 Std. wird der Wert 01 durch einen neuen Wert überschrieben.
              Ich müsste irgendwie durch Auswahl eines Parameters die Vergangenheit, alle vorigen Werte in 01=now+1h, in 02=now+2h unterdrücken oder wegschalten können, damit zeigt er nur mehr die zukünftigen Werte an.

              Bei gelber Markierung ab, Beginn nächster Stunde fehlen mir die Forecast-Werte. Protokolliert habe ich diese ja in 01 bis 23.
              😕GRAFANA-AWATTAR-FORECAST-WERTE-27.1.2021.JPG

              crunchip 1 Reply Last reply Reply Quote 0
              • crunchip
                crunchip Forum Testing Most Active @GOETSCHHOFER last edited by

                @goetschhofer irgendwie blicke ich nicht ganz durch, was du möchtest. Ergibt für mich auch keinen Sinn, die Daten zu loggen was ich zu Std x für einen Strompreis hätte. Ausser vllt als Spass Beispiel
                ...Kinder, um 19Uhr wird der Strom billiger, ihr dürft 1 Stunde fernsehen.
                In die Zukunft schreiben kannst du ja schlecht, daher logisch, das ab now+ keine Werte vorliegen.

                G 1 Reply Last reply Reply Quote 0
                • G
                  GOETSCHHOFER @crunchip last edited by GOETSCHHOFER

                  @crunchip
                  Dies gibt in Bezug auf Strompreisbasiertes Laden von Elektroautos schon einen Sinn.

                  Bsp: Heute Nacht von 01.00 bis 05:00 sind die Börsenstrompreise-Hourly negativ oder extrem niedrig so gegen 0 Cent/kWh.
                  Dann macht es Sinn, dass man den Ladezeitpunkt auch so einstellt und nicht am Abend, wenn die Preis hoch sind sein E-Auto lädt.
                  Mein JS Skript ist aus folgendem Link: https://github.com/Maverick78de/SMA_forecast_charging

                  Gibt noch einen weiteren Link von Awattar: https://github.com/sirjojo69/ioBroker.awattar
                  https://www.awattar.de/services/api

                  Ich denke schon, dass er die Werte mit dem zukünftigen Zeitstempel schreibt, man sieht es ja auch im IO.
                  Habe etwas recherchiert bei Grafana, dieses Thema läuft unter dem Titel Forecasting.
                  Aber ich weiß nicht, wie man dies in Grafana umsetzen kann.

                  Danke im Voraus.

                  crunchip 1 Reply Last reply Reply Quote 0
                  • crunchip
                    crunchip Forum Testing Most Active @GOETSCHHOFER last edited by

                    @goetschhofer sagte in FORECAST-Werte-Strompreise aus JS.0 in Grafana darstellen:

                    Dann macht es Sinn, dass man den Ladezeitpunkt auch so einstellt und nicht am Abend, wenn die Preis hoch sind sein E-Auto lädt.

                    Wär mir zu umständlich, ausserdem würde ich laden wenns nahezu "leer" is und nicht wenn der Preis niedrig ist. Ob das so gut is auf Dauer, mit ständigen "Zwischenladungen"...anderes Thema, kenn mich auch nicht damit aus beziehungsweise noch nie mit befasst.

                    Wenn es dazu bestimmte Einstellungen/plugins für Grafana geben sollte, bin ich da raus. Kann dir diesbezüglich leider nicht weiterhelfen.

                    @goetschhofer sagte in FORECAST-Werte-Strompreise aus JS.0 in Grafana darstellen:

                    Ich denke schon, dass er die Werte mit dem zukünftigen Zeitstempel schreibt,

                    Wohl eher nicht, der Zeitstempel ist jetzt, der Wert liegt in der Zukunft.

                    G 1 Reply Last reply Reply Quote 0
                    • G
                      GOETSCHHOFER @crunchip last edited by

                      @crunchip
                      Trotzdem Danke für dein Bemühen. 👍

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      817
                      Online

                      32.1k
                      Users

                      80.6k
                      Topics

                      1.3m
                      Posts

                      2
                      9
                      1059
                      Loading More Posts
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes
                      Reply
                      • Reply as topic
                      Log in to reply
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                      The ioBroker Community 2014-2023
                      logo