Seit dem 1. April 2026 dürfen Tankstellen ihre Preise nur noch einmal am Tag erhöhen, um 12 Uhr. Die Bilanz nach fünf Monaten ist ernüchternd: Das Preisniveau ist gestiegen, die Tagesschwankungen sind größer als vorher, und bis Mai hatte fast jede fünfte Tankstelle in Deutschland mindestens einmal zu unerlaubten Zeiten erhöht. Bußgelder gab es bis August so gut wie keine.
Mich hat am Sonntagnachmittag eine Statistik dazu geärgert. Am Montagmorgen um 6:32 Uhr standen die Preise aller Tankstellen rund um Gräfenberg live auf meiner Bürger-Infoseite. Dieser Beitrag beschreibt, was dazwischen passiert ist – und warum ich glaube, dass so ein Abendprojekt mehr über Software-Handwerk sagt als manche Referenzliste.
Die Datenquelle: MTS-K über Tankerkönig
Alle Spritpreise in Deutschland stammen aus einer Quelle: der Markttransparenzstelle für Kraftstoffe beim Bundeskartellamt. Tankstellen müssen jede Preisänderung innerhalb von fünf Minuten melden. Die MTS-K gibt die Daten aber nur an zugelassene Verbraucher-Informationsdienste weiter. Für ein kleines, nichtkommerzielles Projekt ist die eigene Zulassung Aufwand ohne Nutzen.
Tankerkönig ist einer dieser Dienste und stellt die Daten kostenlos als REST-API bereit, unter CC BY 4.0. Voraussetzung ist ein API-Key, der manuell freigegeben wird – Name, E-Mail, Verwendungszweck, ein Häkchen, dass man nicht für die Mineralölbranche arbeitet. Die Freigabe kam innerhalb weniger Stunden.
Die Nutzungsbedingungen sind kurz und klar, und sie haben die Architektur bestimmt:
▸ Maximal ein Request pro Minute
▸ Abfragen auf Nutzeraktion, kein regelmäßiges Polling ohne Anlass
▸ Keine Weitergabe der Rohdaten, keine Anfragen zu runden Uhrzeiten
▸ Quellenhinweis auf der Seite
Das sind vernünftige Regeln für einen kostenlosen Dienst, und sie lassen sich ohne Verrenkung einhalten.
Die Umsetzung in Frappe
Gräfenberg Aktuell läuft auf Frappe, demselben Framework, auf dem ich MDE- und BDE-Systeme für Fertigungsbetriebe baue. Das war kein Zufall bei der Wahl, sondern der Grund, warum die Seite überhaupt existiert: Ich wollte einen Ort, an dem ich Dinge ausprobiere, die später im Kundenprojekt sitzen müssen.
Für die Spritpreise brauchte es drei Bausteine:
▸ Zwei DocTypes. Tankstelle mit ID, Name, Marke, Ort und Koordinaten. Spritpreis als Zeitreihe mit Zeitstempel, E5, E10, Diesel und Öffnungsstatus. Ein neuer Datensatz entsteht nur, wenn sich ein Preis tatsächlich geändert hat – das hält die Tabelle klein und die Historie sauber.
▸ Ein serverseitiger Cache. Ruft ein Besucher die Seite auf, prüft der Server, ob die Preise älter als fünf Minuten sind. Nur dann geht ein Request an die API. Egal ob zehn oder tausend Leute die Seite öffnen: maximal ein Aufruf alle fünf Minuten, ausgelöst durch echte Nutzung. Genau das, was die Bedingungen verlangen.
▸ Ein Block auf der Seite. Alle Stationen im 15-km-Radius, sortiert nach E10, mit E5 und Diesel daneben, Entfernung und Ort darunter, die günstigste markiert. Kein Kartenwidget, kein Filter, kein Login. Wer wissen will, wo er tanken soll, sieht es in zwei Sekunden.
Das Ergebnis am ersten Morgen: 2,139 € bis 2,239 € für E10 innerhalb von zehn Kilometern. Zehn Cent Unterschied, bei 50 Litern fünf Euro. Vorher musste man dafür eine App installieren und Werbung wegklicken.
Was das mit Maschinendaten zu tun hat
Auf den ersten Blick nichts. Auf den zweiten alles.
Eine Spritzgießmaschine, die über OPC-UA ihre Zykluszeit liefert, und eine API, die Tankstellenpreise liefert, stellen dieselben Fragen: Wie oft darf ich abfragen, ohne die Quelle zu belasten? Was speichere ich, was werfe ich weg? Wie stelle ich sicher, dass der Datensatz von 6:32 Uhr auch später noch nachvollziehbar ist? Und wie zeige ich das Ergebnis so an, dass ein Mensch ohne Schulung damit etwas anfangen kann?
Die Antworten sind in beiden Fällen gleich: Änderungen speichern, nicht Zustände. Abfragen bündeln, nicht streuen. Die Quelle respektieren, auch wenn sie nichts kostet. Und die Anzeige auf das reduzieren, was jemand um halb sieben morgens wirklich wissen will.
Wer das an Spritpreisen kann, kann es auch an Maschinen. Wer es an Maschinen kann, sollte es an Spritpreisen in einem Abend schaffen.
Der nächste Schritt
Die Historie läuft seit heute. In ein paar Wochen lässt sich damit auswerten, was mich ursprünglich geärgert hat: Halten sich die Tankstellen im Landkreis Forchheim an die 12-Uhr-Regel? Welche erhöhen außerhalb des Fensters, wie oft, um wie viel? Das ist eine Frage, die kein überregionales Portal beantwortet, weil sie niemanden außer den Leuten hier interessiert.
Und genau das ist der Punkt an lokalen Projekten: Sie beantworten Fragen, für die es sonst keinen Markt gibt.
Die Seite: graefenberg.dms-iot.de/seiten – kostenlos, ohne Anmeldung, ohne Werbung. Daten: Tankerkönig / MTS-K, CC BY 4.0.