NEWS
FORECAST-Werte-Strompreise aus JS.0 in Grafana darstellen
-
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.
Besten Dank im Voraus.
/*
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();
}); -
@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??
-
@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 überschriebenWenn 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.
Danke
-
@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.
-
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.
-
@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. -
@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_chargingGibt noch einen weiteren Link von Awattar: https://github.com/sirjojo69/ioBroker.awattar
https://www.awattar.de/services/apiIch 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.
-
@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.
-
@crunchip
Trotzdem Danke für dein Bemühen.