Smartenergy Strompreise per API auslesen

Da Awattar die Preise meinem Geschmack nach unzulässig erhöht hat, hamma uns entschlossen ab März 2024 zu SmartEnergy zu wechseln. Tarif: SmartControl

Auf der Homepage kann ma den Strompreis des nächsten Tages vorher anschauen:


Und natürlich hat SmartEnergy auch a API - um am Vortag die stündlichen Strompreise für den nächsten Tag anzugeben. Das ist natürlich eine Herausforderung, mein Awattarscriptl zum Smartenergyscriptl zu adaptieren.


Kluge Info: API

API? Wos isn des? Hinter der etwas klobigen Bezeichnung Application Programming Interface versteckt sich einfach eine Programmschnittstelle. Das heißt, ich rufe ein (vordefiniertes) Programm - eventuell mit Parametern - auf, das Programm macht oder kalkuliert irgendwas und gibt die Daten - idealerweise strukturiert - zurück.

Smartenergy API

Auf der Seite  https://www.smartenergy.at/api-schnittstellen gibts eh eine kurze Beschreibung, aus der Linux (oder auch Windows) Konsole ruft ma die per manum mit curl -s https://apis.smartenergy.at/market/v1/price auf.


der Response (im json Format) schaut dann so aus:

{"tariff":"EPEXSPOTAT","unit":"ct/kWh","interval":15,"data":[{"date":"2024-10-13T00:00:00+02:00","value":0.000},{"date":"2024-10-13T00:15:00+02:00","value":0.000},{"date":"2024-10-13T00:30:00+02:00","value":0.000},{"date":"2024-10-13T00:45:00+02:00","value":0.000},{"date":"2024-10-13T01:00:00+02:00","value":-0.001},{"date":"2024-10-13T01:15:00+02:00","value":-0.001},{"date":"2024-10-13T01:30:00+02:00","value":-0.001},{"date":"2024-10-13T01:45:00+02:00","value":-0.001},{"date":"2024-10-13T02:00:00+02:00","value":-0.008},{"date":"2024-10-13T02:15:00+02:00","value":-0.008},{"date":"2024-10-13T02:30:00+02:00","value":-0.008},{"date":"2024-10-13T02:45:00+02:00","value":-0.008},{"date":"2024-10-13T03:00:00+02:00","value":-0.044},{"date":"2024-10-

...

...


JQ

Das Linux Kommandozeilentool jq hat ma schon beim Awattarscriptl geholfen, um JSON Antworten zu parsen und kommt auch hier zum Einsatz. mit jq kann man z.B:  JSON Antworten parsen.


Installation am Raspi oder auf Linux Mint

Konsole: sudo apt-get install jq


Kluge Info: Strompreis

Wers noch immer nicht weiß, der Strompreis ergibt sich aus der Grundgebühr + Arbeitspreis (= Menge des verbrauchten Stroms) des Stromanbieters + Netzgebühren des Netzanbieters.

Beispiele an Hand Kraweuschuastas Strombezugsgeschichte: Stromanbieter # Netzbetreiber

EVN # Netz Niederösterreich

Awattar # Netz Niederösterreich

Smart Energy # Netz Niederösterreich

Wir erkennen: den Netzanbieter kann ma sich ned aussuchen, der ist im jeweiligen Bundesland bzw. Region vorgegeben, den Stomanbieter kann ma frei wählen.

TIP: Netzgebühren

DIe Netzgebühren hab ich amal bei der Netz Niederösterreich angefragt, anteilig pro Kilowattstunde

Scriptl

Ich hab mich natürlich seit dem Awattarscriptl bashseitig etwas weitergebildet und hab eine lustige Funktion implementiert, das Scriptl kalkuliert den Durchschnittswert der Angezeigten Strompreise und das Minimum und bildet den Mittelwert aus Beiden. D.h. Wenn der Strompreis zwischen dem Minimum und der Hälfte zwischen Minimum und Mittelwert ist, schreibt es "billig" dazu.

Weiters kann man die Netzgebühren des Netzanbieters in der Variable $transmissionfee festlegen.

Ausgabe: Datum und Uhrzeit - Strompreis inkl. gebühren - (All in all Strompreis inkl Gebühren und Netzgebühren) - billig steht dabei wenn zwischen niedrig und Mittelwert, oder darunter


Ausgabe

Bissl drin rumkalkuliert und paar Werte dazugemankelt, schaut das Ganze so aus:


Download

Downloadfile hier: media/files/getsmartenergyprices.sh.tar.gz

einfach entpacken mit  tar -zxvf getsmartenergyprices.sh.tar.gz

Das Scriptl erstellt bei jedem Aufruf 2 temporäre Dateien (die ma ruhig im /tmp/ Filesystem anlegen lassen kann, diese werden immer überschrieben